ABSTRACT
Performance evaluation of embedded software is essential in an early development phase so as to ensure that the software will run on the embedded device's limited computing resources. Prevailing approaches either require the deployment of the software on the embedded target, which can be tedious and may be impossible in an early development phase, or rely on simulation, which can be very slow. In this paper we present CProf, a customizable cross-profiler for embedded Java processors. It allows the developer to profile the embedded software in the host environment, completely decoupled from the target system, in a standard Java Virtual Machine, but the generated profiles represent the execution time metric of the target system. CProf enables calling context cross-profiling and customizable online processing of profiling data. Furthermore, it supports pluggable CPU cycle estimation and cache simulation strategies, easing the reconfiguration for different target processors. Using the Java Optimized Processor JOP as target, CProf's cross-profiles have only a small percent error below 3.3%.
- G. Ammons, T. Ball, and J. R. Larus. Exploiting hardware performance counters with flow and context sensitive profiling. In PLDI '97: Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation, pages 85--96. ACM Press, 1997. Google ScholarDigital Library
- W. Binder, J. Hulaas, and P. Moret. Advanced Java Bytecode Instrumentation. In PPPJ 2007 (5th International Conference on Principles and Practices of Programming in Java), pages 135--144, Lisbon, Portugal, 2007. ACM Press. Google ScholarDigital Library
- W. Binder, M. Schoeberl, P. Moret, and A. Villazon. Cross-profiling for embedded Java processors. In Fifth International Conference on the Quantitative Evaluation of SysTems (QEST-2008), pages 287--296, Saint-Malo, France, Sept. 2008. IEEE Computer Society. Google ScholarDigital Library
- W. Binder, A. Villazon, M. Schoeberl, and P. Moret. Cache-aware cross-profiling for Java processors. In International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES-2008), pages 127--136, Atlanta, Georgia, USA, Oct. 2008. ACM. Google ScholarDigital Library
- M. Schoeberl. A Java processor architecture for embedded real-time systems. Journal of Systems Architecture, 54/1-2:265--286, 2008. Google ScholarDigital Library
Index Terms
CProf: customizable calling context cross-profiling for embedded java processors
Recommendations
CCCP: complete calling context profiling in virtual execution environments
PEPM '09: Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulationCalling context profiling is an important technique for locating hotspots in programs. The prevailing data structure is the Calling Context Tree (CCT) that provides dynamic metrics for each calling context. Existing approaches to calling context ...
Cache-aware cross-profiling for java processors
CASES '08: Proceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systemsPerformance evaluation of embedded software is essential in an early development phase so as to ensure that the software will run on the embedded device's limited computing resources. Prevailing approaches either require the deployment of the software ...
Cross-profiling for Java processors
Performance evaluation of embedded software is essential in an early development phase so as to ensure that the software will run on the embedded device's limited computing resources. The prevailing approaches either require the deployment of the ...
Comments