ACM Home Page
Please provide us with feedback. Feedback
Cloneable JVM: a new approach to start isolated java applications faster
Full text PdfPdf (251 KB)
Source
ACM/Usenix International Conference On Virtual Execution Environments archive
Proceedings of the 3rd international conference on Virtual execution environments table of contents
San Diego, California, USA
SESSION: Faster high-level language virtual machines table of contents
Pages: 1 - 11  
Year of Publication: 2007
ISBN:978-1-59593-630-1
Authors
Kiyokuni Kawachiya  IBM Research, Tokyo Research Laboratory, Tokyo, Japan
Kazunori Ogata  IBM Research, Tokyo Research Laboratory, Tokyo, Japan
Daniel Silva  IBM Research, Tokyo Research Laboratory, Tokyo, Japan
Tamiya Onodera  IBM Research, Tokyo Research Laboratory, Tokyo, Japan
Hideaki Komatsu  IBM Research, Tokyo Research Laboratory, Tokyo, Japan
Toshio Nakatani  IBM Research, Tokyo Research Laboratory, Tokyo, Japan
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGOPS: ACM Special Interest Group on Operating Systems
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 15,   Downloads (12 Months): 181,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1254810.1254812
What is a DOI?

ABSTRACT

Java has been successful particularly for writing applications in the server environment. However, isolation of multiple applications hasnot been efficiently achieved in Java. Many customers require that their applications are guarded by independent OS processes, but starting a Java application with a new process results in a long sequence of initializations being repeated each time. To date, there has been no way to quickly start a new Java application as an isolated OS process. In this paper, we propose a new isolation approach called Cloneable JVM to eliminate this startup overhead in Java. The key idea is to createa new Java application by copying, or cloning, the already-initialized image of the primary JVM process. Since the clone is already initialized, it can begin actual operations immediately as a new isolated process. This cloning abstraction can support new scenarios for Java, such as user isolation and transaction isolation. We implemented a prototype of the Cloneable JVM by modifying a production JVM on Linux, which provides a new API for cloning constructed on the Isolate API defined in JSR 121. Using this cloning API, several Java applications, including a large production J2EE application server, we remodified to demonstrate the isolation scenarios. Evaluations using these prototypes showed that new ready-to-serve Java applications can start up as a new process in less than 5 seconds, which is 4 to 170 times faster than starting these applications from scratch.


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
[3] Apple Computer. Mac OS X Java Shared Archive. Java Development Guide for Mac OS X, May 2006. http://developer.apple.com/documentation/Java/ Conceptual/Java14Development/Java14Development.pdf
 
4
5
 
6
 
7
[7] S. Borman, S. Paice, M. Webster, M. Trotter, R. McGuire, A. Stevens, B. Hutchison, and R. Berry. A Serially Reusable Java Virtual Machine Implementation for High Volume, Highly Reliable, Transaction Processing. Technical Report TR 29.3406, IBM.
 
8
 
9
[9] B. Corrie. Java Technology, IBM Style: Class Sharing, IBM, May 2006. http://www.ibm.com/developerworks/java/library/ j-ibmjava4/
10
11
 
12
 
13
[13] J. Dahlstedt. "Bare Metal" - Speeding Up Java Technology in a Virtualized Environment. Presentation in JavaOne '06, TS- 3792, San Francisco, May 2006. http://developers.sun.com/ learning/javaoneonline/2006/coolstuff/TS-3792.pdf
 
14
 
15
 
16
[16] GNU Project. GNU Emacs. http://www.gnu.org/software/emacs/
 
17
[17] R. Goldberg. Survey of Virtual Machine Research. IEEE Computer, 7(6), 34-45, June 1974.
 
18
 
19
 
20
[20] J. J. Heiss. The Multi-Tasking Virtual Machine: Building a Highly Scalable JVM, Sun Developer Network, March 2005. http://java. sun.com/developer/technicalArticles/Programming/mvm/
 
21
[21] IBM Corporation. Persistent Reusable Java Virtual Machine User's Guide, SC34-6201-01, 2001. http://www.ibm.com/servers/ eserver/zseries/software/java/pdf/prjvm14.pdf
 
22
[22] IBM Corporation. WebSphere Application Server: Product Overview. http://www.ibm.com/software/webservers/appserv/was/
 
23
[23] IBM Corporation. WebSphere Real Time. http://www.ibm.com/software/webservers/realtime/
 
24
[24] Java Community Process. JSR 3: Java Management Extensions (JMX) Specification. http://jcp.org/en/jsr/detail?id=3
 
25
[25] Java Community Process. JSR 20: Orthogonal Persistence for the Java Platform. http://jcp.org/en/jsr/detail?id=121
 
26
[26] Java Community Process. JSR 121: Application Isolation API Specification. http://jcp.org/en/jsr/detail?id=20
 
27
 
28
 
29
 
30
[30] C. Laffra, S. Foley, and J. McAffer. Packaging Eclipse RCP Applications. EclipseCON 2005, Burlingame, February 2005. http://www.eclipsecon.org/2005/
 
31
 
32
 
33
 
34
[34] OSGi Alliance. About the OSGi Service Platform: Technical Whitepaper, November 2005. http://www.osgi.org/documents/collateral/ TechnicalWhitePaper2005osgi-sp-overview.pdf
35
 
36
 
37
[37] Qumranet Inc. KVM: Kernel-based Virtual Machine for Linux. http://kvm.qumranet.com/kvmwiki
38
 
39
40
 
41
[41] T. Smits. Unbreakable Java: The Java Server that Never Goes Down, SAP AG, 2004. https://www.sdn.sap.com/irj/servlet/ prt/portal/prtroot/com.sap.km.cm.docs/library/webas/ Unbreakable%20Java.pdf
42
43
 
44
[44] Sun Microsystems. Class Data Sharing, 2004. http://java.sun.com/j2se/1.5.0/docs/guide/vm/ class-data-sharing.html
 
45
[45] Sun Microsystems. Java 2 Platform, Enterprise Edition (J2EE) Overview. http://java.sun.com/j2ee/overview.html
 
46
[46] P. Tullmann, M. Hibler, and J. Lepreau. Janos: A Java-Oriented OS for Active Network Nodes. IEEE Journal on Selected Areas in Communications, 19(3), 501-510, March 2001.
 
47
[47] VMware Inc. Using the Snapshot. VMware Workstation 4 User's Manual. http://www.vmware.com/pdf/ws40_manual.pdf
48
 
49
[49] World Wide Web Consortium. Jigsaw - W3C's Server. http://www.w3.org/Jigsaw/
 
50
[50] World Wide Web Consortium. XML Schema. http://www.w3.org/XML/Schema


Collaborative Colleagues:
Kiyokuni Kawachiya: colleagues
Kazunori Ogata: colleagues
Daniel Silva: colleagues
Tamiya Onodera: colleagues
Hideaki Komatsu: colleagues
Toshio Nakatani: colleagues