ACM Home Page
Please provide us with feedback. Feedback
Cache-aware cross-profiling for java processors
Full text PdfPdf (390 KB)
Source
International Conference on Compilers, Architecture and Synthesis for Embedded Systems archive
Proceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems table of contents
Atlanta, GA, USA
SESSION: Caching and its impact table of contents
Pages 127-136  
Year of Publication: 2008
ISBN:978-1-60558-469-0
Authors
Walter Binder  University of Lugano, Lugano, Switzerland
Alex Villazón  University of Lugano, Lugano, Switzerland
Martin Schoeberl  Vienna University of Technology, Vienna, Austria
Philippe Moret  University of Lugano, Lugano, Switzerland
Sponsors
SIGDA: ACM Special Interest Group on Design Automation
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 92,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1450095.1450116
What is a DOI?

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 introduce a customizable cross-profiling framework for embedded Java processors, including processors featuring a method cache. The developer profiles the embedded software in the host environment, completely decoupled from the target system, on any standard Java Virtual Machine, but the generated profiles represent the execution time metric of the target system. Our cross-profiling framework is based on bytecode instrumentation. We identify several pointcuts in the execution of bytecode that need to be instrumented in order to estimate the CPU cycle consumption on the target system. An evaluation using the JOP embedded Java processor as target confirms that our approach reconciles high profile accuracy with moderate overhead. Our cross-profiling framework also enables the rapid evaluation of the performance impact of possible optimizations, such as different caching strategies.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
W. Binder. A portable and customizable profiling framework for Java based on bytecode instruction counting. In Third Asian Symposium on Programming Languages and Systems (APLAS 2005), volume 3780 of Lecture Notes in Computer Science, pages 178--194, Tsukuba, Japan, Nov. 2005. Springer Verlag.
 
4
5
6
 
7
W. Binder, J. G. Hulaas, and A. Villazón. Portable resource control in Java. ACM SIGPLAN Notices, 36(11):139--155, Nov. 2001. Proceedings of the 2001 ACM SIGPLAN Conference on Object Oriented Programming, Systems, Languages and Applications (OOPSLA'01).
 
8
 
9
G. Bollella, B. Brosgol, P. Dibble, S. Furr, J. Gosling, D. Hardin, and M. Turnbull. The Real-Time Specification for Java. Addison-Wesley, Reading, MA, USA, 2000.
10
 
11
R. Covington, S. Dwarkadas, J. Jump, J. Sinclair, and S. Madala. The efficient simulation of parallel computer systems. International Journal in Computer Simulation, 1:31--58, 1991.
12
 
13
 
14
15
 
16
 
17
Imsys. Im1101c (the cjip) technical reference manual / v0.25, 2004.
 
18
G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In M. Akşit and S. Matsuoka, editors, Proceedings of European Conference on Object-Oriented Programming, volume 1241, pages 220--242. Springer-Verlag, Berlin, Heidelberg, and New York, 1997.
 
19
J. Kreuzinger, U. Brinkschulte, M. Pfeffer, S. Uhrig, and T. Ungerer. Real-time event-handling and scheduling on a multithreaded Java microcontroller. Microprocessors and Microsystems, 27(1):19--31, 2003.
 
20
 
21
Mentor Graphic Inc. ModelSim. Web pages at http://www.model.com/.
 
22
23
 
24
ProSyst. JProfiler. Web pages at http://www.prosyst.com/products/tools_jprofiler.html.
25
 
26
M. Schoeberl. A time predictable instruction cache for a Java processor. In On the Move to Meaningful Internet Systems 2004: Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES 2004), volume 3292 of LNCS, pages 371--382, Agia Napa, Cyprus, October 2004. Springer.
 
27
28
 
29
Sun Microsystems, Inc. Java Virtual Machine Profiler Interface (JVMPI). Web pages at http://java.sun.com/j2se/1.4.2/docs/guide/jvmpi/, 2000.
 
30
Sun Microsystems, Inc. JVM Tool Interface (JVMTI) version 1.1. Web pages at http://java.sun.com/javase/6/docs/technotes/guides/jvmti/index.html, 2006.
 
31
S. Tallam and R. Gupta. Profile-guided Java program partitioning for power aware computing. In 18th International Parallel and Distributed Processing Symposium (IPDPS), page 156b, Los Alamitos, CA, USA, 2004. IEEE Computer Society.
32


Collaborative Colleagues:
Walter Binder: colleagues
Alex Villazón: colleagues
Martin Schoeberl: colleagues
Philippe Moret: colleagues