In this thesis, we propose a hardware-assisted performance and energy evaluation tool - REALprof. Our approach uses FPGA to provide fast full system emulation, and it is scalable for complex multi-core embedded systems. The experimental results show that it can work at a 100 MHz quad-core emulation platform. Our approach uses hardware to sample runtime hardware information without extra software sampling overhead. It provides different granularities from coarse-grained to fine-grained. As shown in case study, multi-core embedded system with Linux operating system can use REALprof to perform effective fine-grained profiling in microsecond level. The generated system-level performance and energy report is useful for designers to optimize hardware and software in design stage.
In order to provide experimental environment of a multi-core embedded system. We construct a powerful LEON3-based quad-core MPSoC emulation platform on DE3 board.
Besides, we construct energy models of LEON3 soft-processor using gate-level power analysis with UMC 90 nm cell library. Finally, we perform a case study of profiling a SPLASH-2 multi-thread program on the target multi-core embedded system.
References
[1] NVIDIA Tegra.
http://www.nvidia.com/page/handheld.html [2] Qualcomm Snapdragon.
http://www.qctconnect.com/products/snapdragon.html [3] Texas Instruments OMAP 4 Platform.
http://www.ti.com/omap4_platform [4] ARM11 MPCore.
http://www.arm.com/products/CPUs/ARM11MPCoreMultiprocessor.html
[5] L. Shannon and P. Chow, “Using Reconfigurability to Achieve Real-Time Profiling for Hardware/Software Codesign,” Proceedings of the 12th International Symposium on Field Programmable Gate Arrays, pp. 190-199, Monterey, California, February 2004.
[6] J. G. Tong and M. A. S. Khalid, “Profiling Tools for FPGA-Based Embedded Systems:
Survey and Quantitative Comparison,” Journal of Computers, Vol. 3, No. 6, pp. 1-14, June 2008.
[7] A. Bhattacharjee, G. Contreras, and M. Martonosi, “Full-System Chip Multiprocessor Power Evaluations Using FPGA-Based Emulation,” Proceedings of the 13th International Symposium on Low Power Electronics and Design, pp. 335-340, Bangalore, India, August 2008.
[8] M. A. Ghodrat, K. Lahiri, and A. Raghunathan, “Accelerating System-on-Chip Power Analysis Using Hybrid Power Estimation,” Proceedings of the 44th Design Automation Conference, pp. 883-886, San Diego, California, June 2007.
[9] T. Austin, E. Larson, and D. Ernst, “SimpleScalar: An Infrastructure for Computer System Modeling,” IEEE Computer, Vol. 35, No. 2, pp. 59-67, February 2002.
[10] CoWare Platform Architect.
http://www.coware.com/products/platformarchitect.php
[11] M. M. K. Martin, D. J. Sorin, B. M. Beckmann, M. R. Marty, M. Xu, A. R. Alameldeen, K. E. Moore, M. D. Hill, and D. A. Wood, “Multifacet's General Execution-driven Multiprocessor Simulator (GEMS) Toolset,” ACM SIGARCH Computer Architecture News, Vol. 33, No. 4, pp. 92-99, November 2005.
[12] N. L. Binkert, R. G. Dreslinski, L. R. Hsu, K. T. Lim, A. G. Saidi, and S. K. Reinhardt,
“The M5 Simulator: Modeling Networked Systems,” IEEE Micro, Vol. 26, No. 4, pp.
52-60, July 2006.
[13] J. Renau, B. Fraguela, J. Tuck, W. Liu, M. Prvulovic, L. Ceze, S. Sarangi, P. Sack, K.
Strauss, and P. Montesinos, SESC: Cycle Accurate Architectural Simulator, January 2005.
http://sesc.sourceforge.net
[14] L. Benini, D. Bertozzi, A. Bogliolo, F. Menichelli, and M. Olivieri, “MPARM: Exploring the Multi-Processor SoC Design Space with SystemC,” Journal of VLSI Signal Processing, Vol. 41, No. 2, pp. 169-182, September 2005.
[15] J. Cong, K. Gururaj, G. Han, A. Kaplan, M. Naik, and G. Reinman, “MC-Sim: An Efficient Simulation Tool for MPSoC Designs,” Proceedings of the 2008 IEEE/ACM International Conference on Computer-Aided Design, pp. 364-371, November 2008.
[16] Intel VTune Performance Analyzer.
http://www.intel.com/cd/software/products/asmo-na/eng/vtune/239144.htm [17] OProfile - A System Profiler for Linux.
http://oprofile.sourceforge.net [18] GNU gprof.
http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html
[19] ARM11 MPCore Processor Technical Reference Manual, ARM Limited, 2008.
[20] S. Browne, J. Dongarra, N. Garner, G. Ho, and P. Mucci, “A Portable Programming Interface for Performance Evaluation on Modern Processors,” International Journal of High Performance Computing Applications, Vol. 14, No. 3, pp. 189-204, April 2000.
[21] M. E. Shobaki and L. Lindh, “A Hardware and Software Monitor for High-Level System-on-Chip Verification,” Proceedings of the 2nd International Symposium on Quality Electronic Design, pp. 56-61, San Jose, California, March 2001.
[22] Synopsys HSPICE.
http://www.synopsys.com/Tools/Verification/AMSVerification/CircuitSimulation/HSPIC E/Pages/default.aspx
[23] Synopsys PrimeTime PX.
http://www.synopsys.com/Tools/Implementation/SignOff/Pages/PrimeTime.aspx
[24] D. Shin, H. Shim, Y. Joo, H.-S. Yun, J. Kim, and N. Chang, “Energy Monitoring Tool for Low-Power Embedded Programs,” IEEE Design and Test of Computers, Vol. 19, No. 4,
[25] D. Brooks, V. Tiwari, and M. Martonosi, “Wattch: A Framework for Architectural-Level Power Analysis and Optimizations,” Proceedings of the 27th International Symposium on Computer Architecture, pp. 83-94, Vancouver, British Columbia, Canada, June 2000.
[26] W. Ye, N. Vijaykrishnan, M. Kandemir, and M. J. Irwin, “The Design and Use of SimplePower: A Cycle-Accurate Energy Estimation Tool,” Proceedings of the 37th Design Automation Conference, pp. 340-345, Los Angeles, California, June 2000.
[27] R. Ben Atitallah, S. Niar, and J.-L. Dekeyser, “MPSoC Power Estimation Framework at Transaction Level Modeling,” Proceedings of the 19th International Conference on Microelectronics, pp.245-248, Cairo, Egypt, December 2007.
[28] G. Contreras and M. Martonosi, “Power Prediction for Intel XScale Processors Using Performance Monitoring Unit Events,” Proceedings of the 10th International Symposium on Low Power Electronics and Design, pp. 221-226, San Diego, California, August 2005.
[29] G. Contreras, M. Martonosi, J. Peng, G.-Y. Lueh, and R. Ju, “The XTREM Power and Performance Simulator for the Intel XScale Core: Design and Experiences,” ACM Transactions on Embedded Computing Systems, Vol. 6, No. 1, February 2007.
[30] J. Gaisler, E. Catovic, M. Isomäki, K. Glembo, and S. Habinc, GRLIB IP Library User’s Manual Version 1.0.20, Aeroflex Gaisler, February 2009.
[31] GRMON User’s Manual Version 1.1.35, Aeroflex Gaisler, March 2009.
[32] ALTERA DE3 Development and Education Board User Manual, Terasic Technologies.
[33] Altera Quartus II.
http://www.altera.com/products/software/quartus-ii/subscription-edition
[34] D. Hellström, Manual: SnapGear Linux for LEON Version 1.38.0, March 2009.
[35] Synopsys Design Compiler.
http://www.synopsys.com/Tools/Implementation/RTLSynthesis/Pages/DesignCompilerG raphical.aspx
[36] Mentor Graphics ModelSim.
http://www.mentor.com/products/fv/modelsim
[37] S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta, “The SPLASH-2 Programs:
Characterization and Methodological Considerations,” Proceedings of the 22nd International Symposium on Computer Architecture, pp. 24-36, Santa Margherita Ligure, Italy, June 1995.