ACM Home Page
Please provide us with feedback. Feedback
Open runtime platform: flexibility with performance using interfaces
Full text PdfPdf (301 KB)
Source Java Grande Conference archive
Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande table of contents
Seattle, Washington, USA
Pages: 156 - 164  
Year of Publication: 2002
ISBN:1-58113-599-8
Authors
Michal Cierniak  Intel Labs, Santa Clara, CA
Brian T. Lewis  Intel Labs, Santa Clara, CA
James M. Stichnoth  Intel Labs, Santa Clara, CA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 26,   Citation Count: 3
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/583810.583828
What is a DOI?

ABSTRACT

According to conventional wisdom, interfaces provide flexibility at the cost of performance. Most high-performance Java virtual machines today tightly integrate their core virtual machines with their just-in-time compilers and garbage collectors to get the best performance. The Open Runtime Platform (ORP) is unusual in that it reconciles high performance with the extensive use of well-defined interfaces between its components. ORP was developed to support experiments in dynamic compilation, garbage collection, synchronization, and other technologies. To achieve this, two key interfaces were designed: one for garbage collection and another for just-in-time compilation. This paper describes some interesting features of these interfaces and discusses lessons learned in their use. One lesson we learned was to selectively expose small but frequently accessed data structures in our interfaces; this improves performance while minimizing the number of interface crossings.


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
Open Runtime Platform. http://orp.sourceforge.net.
 
2
Orp-general mailing list. http://sourceforge.net/projects/orp.
 
3
GNU Classpath. http://www.classpath.org.
 
4
M. Cierniak, W. Washburn, R. Hudson, and G.-Y. Lueh. Open Runtime Platform Tutorial. Java Grande 2001. http://prdownloads.sourceforge.net/orp/orp-javagrande2001.pdf.
5
6
7
8
9
 
10
11
 
12
Microsoft Corp. Microsoft SDK for Java. http://www.microsoft.com/java/sdk.
 
13
 
14
 
15
P. R. Wilson. Uniprocessor Garbage Collection Techniques. Draft accepted for ACM Computing Surveys. ftp://ftp.cs.utexas.edu/pub/garbage/bigsurv.ps.
 
16
Intel Corp. Intel Architecture Software Developer's Manual, order number 243192, 1997.
 
17
Intel Corp. Intel IA-64 Architecture Software Developer's Manual, order number 245319, 2000.
 
18
 
19
Sun Microsystems. The JIT Compiler Interface Specification. http://java.sun.com/docs/jit_interface.html.
 
20
 
21
Kazuyuki Shudo. shuJIT - Java Just-in-Time Compiler for x86 Processors. http://www.shudo.net/jit/index.html.
 
22
 
23
Kazuyuki Shudo. Performance comparison of JITs (Jan 2002). http://www.shudo.net/jit/perf.
 
24
 
25
IBM. Jikes Research Virtual Machine. http://www-124.ibm.com/developerworks/oss/jikesrvm.
 
26
Standard Performance Evaluation Corporation. SPEC JVM98. http://www.specbench.org/osg/jvm98.
 
27
Standard Performance Evaluation Corporation. SPEC Java Business Benchmark 2000. http://www.specbench.org/osg/jbb2000.
28
 
29


Collaborative Colleagues:
Michal Cierniak: colleagues
Brian T. Lewis: colleagues
James M. Stichnoth: colleagues