Zusammenfassung
Die Nutzung von Java zur Entwicklung von Anwendungen für Hochleistungstransaktionssysteme stellt besondere Anforderungen an die Isolation und das Leistungsverhalten in der transaktionalen Ausführung.
In dem vorliegenden Beitrag wird eine neuartige Technologie beschrieben, die verbesserte Isolationseigenschaften und eine erhebliche Leistungssteigerung ermöglicht. Die Persistent Reusable Java Virtual Machine erweitert eine normale Java Virtual Machine um gemeinsam genutzte Klassen und um eine Reset-Funktionalität, die eine serielle Wiederverwendbarkeit ermöglicht.
In einer Benchmark-Untersuchung unter z/OS wurde hiermit ein Performance-Gewinn um einen Faktor 325 im Vergleich mit einer normalen JVM erreicht. Für das Erstellen von Transaktionsanwendungen unter dem Betriebssystem z/OS sind Enterprise Java Beans damit eine ernstzunehmende Alternative zu bisherigen Programmiermodellen.
Abstract
The use of Java for the development of new applications in high-end transaction systems generates special isolation and performance requirements.
A new technology offering improved isolation and a significant performance improvement is discussed in this article. The Persistent Reusable Java Virtual Machine extends a regular Java Virtual Machine by adding the facility to share classes and by providing a reset functionality, which permits serial reuse of the JVM.
A z/OS benchmark demonstrated a performance improvement by a factor of 325, compared to a regular JVM. Thus the use of Enterprise Java Beans has to be considered as a serious alternative when developing new transactional applications under the z/OS operating system.
Literatur
Appel AW (1989) Simple generational garbage collection and fast allocation. Source Software – Practice & Experience 19(2):171–183, February 1989
Back G, Tullmann P, Stoller L, Hsieh W, Lepreau J (2000) Techniques for the Design of Java Operating Systems. USENIX Annual Technical Conference, June 2000
Bagwell D (2003) An Introduction to WebSphere for z/OS Version 5. IBM Washington Systems Center, Gaithersburg, MD, USA, September 2003. http://www-1.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP100339
Bagwell D (2004) WebSphere for z/OS Version 5 – “Gen 5” Wildfire Workshop Presentations, Unit 1, WebSphere for z/OS Version 5 Overview. IBM Washington Systems Center, Gaithersburg, MD, USA, May 2004. http://www-1.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/PRS708
Barabash K, et al. (2001) Mostly Accurate Stack Scanning. In: Proceedings of the Java Virtual Machine Research and Technology Symposium, Monterey, California, April 23–24, 2001
Beyerle M (2003) Architekturanalyse der Java Virtual Machine unter z/OS und Linux. Diplomarbeit, Wilhelm-Schickard Institut für Informatik, Universität Tübingen
Borman S, Paice S, Webster M, Trotter M, McGuire R, Stevens A, Hutchison B, Berry R. A Serially Reusable Java(tm) Virtual Machine Implementation for High Volume, Highly Reliable, Transaction Processing. Technical Report TR 29.3406, IBM Corporation, Hursley, United Kingdom
Czajkowski G, Daynès L (2001) Multitasking without Compromise: a Virtual Machine Evolution. ACM OOPSLA’01, Tampa, FL. http://research.sun.com/projects/barcelona/papers/oopsla01.pdf
Dillenberger D, Bordawekar R, Clark CW, Durand D, Emmes D, Gohda O, Howard S, Oliver MF, Samuel F, St. John RW (2000) Building a Java virtual machine for server applications: The JVM on OS/390. IBM Systems Journal 39(1)
Echidna – A free multiprocess system in Java. http://www.javagroup.org/echidna/
Herrmann P, Kebschull U, Spruth WG (2004) Einführung in z/OS und OS/390. Oldenbourg-Verlag, 2. Auflage, ISBN 3-486-27393-0
MVS Programming: Workload Management Services. IBM Form No GC28-1773-08, September 2000
WebSphere Scalability: WLM and Clustering. IBM Form No. SG24-6153-00, September 2000
New IBM Technology featuring Persistent Reusable Java Virtual Machines. IBM Form No. SC34-6034-01, October 2001
Enterprise JavaBeans for z/OS and OS/390, CICS Transaction Server V2.2. IBM Form No. SG24-6284-01, July 2002
CICS Transaction Server Version 2.2 (tutorial). http://www-306.ibm.com/software/webservers/learn/cs04/
Persistent Reusable Java Virtual Machine User ’s Guide. IBM Form No. SC34-6201-01, Fifth Edition (September 2003). www-1.ibm.com/servers/eserver/zseries/software/java/pdf/prjvm14.pdf
Janos Virtual Machine. http://www.cs.utah.edu/flux/janos/janosvm.html
Java Community Process: JSR 121 Application Isolation API Specification. http://www.jcp.org/en/jsr/detail?id=121
JKernel and JServer Overview. http://www.cs.cornell.edu/slk/jk-0.91/doc/Default.html
Jordan M, Daynès L, Czajkowski G, Jarzab M, Bryce C. Scaling J2EE Application Servers with the Multi-Tasking Virtual Machine. http://research.sun.com/techrep/2004/abstract-135.html
Klein B () IMS Integration Strategy for On Demand Service Oriented Architecture. http://www-306.ibm.com/software/data/ims/shelf/presentations
Lepreau J. The Janos Project. http://www.cs.utah.edu/flux/janos/index.html
Min H, Wanish P, Muckenhaupt K (2003) A CICS to Linux Grid Implementation. IBM Redbooks Paper. www-900.ibm.com/developerWorks/cn/grid/gr-redbook/redp3758.pdf
Min H, Wanish P (2004) Linux Grid Implementation from DB2 on z/OS. IBM Redbooks Paper. www.redbooks.ibm.com/redpapers/pdfs/redp3933.pdf
Prochazka M (2001) Advanced Transactions in Enterprise JavaBeans. In: Emmerich W, Tai S (eds) EDO 2000, LNCS, vol 1999. Springer-Verlag Berlin Heidelberg, pp 215–230
Raible O (2003) Transaktionsverarbeitung in J2EE-Systemen. Diplomarbeit, Wilhelm-Schickard Institut für Informatik, Universität Tübingen
Sandén B (2004) Coping with Java Threads. IEEE Computer 37(4):20, April 2004
Spruth WG, Franz J (2003) Reengineering von Kernanwendungssystemen auf Großrechnern. Informatik Spektrum 26:83, April 2003
The Java HotSpot™ Virtual Machine. v1.4.1 (2002) Sun Technical White Paper, September 2002. http://java.sun.com/products/hotspot/docs/whitepaper/Java_Hotspot_v1.4.1/Java_HSpot_WP_v1.4.1_1002_1.html
Tullmann P (1999) The Alta Operating Syystem. Master Thesis, Department of Computer Science, University of Utah. http://www.cs.utah.edu/flux/papers/tullmann-thesis-base.html
von Eicken T (1999) J-Kernel: a Capability-Based Operating System for Java. Department of Computer Science, Cornell University. www.cs.cornell.edu/Info/People/chichao/sip99.pdf
Webster M (2002) The IBM Persistent Reusable JVM. SHARE Technical Conference, Nashville, TN, March 3–8, 2002. http://www.share.org/proceedings/sh98/data/S8351.PDF
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Beyerle, M., Franz, J. & Spruth, W. Persistent Reusable Java Virtual Machine unter z/OS und Linux. Informatik Forsch. Entw. 20, 102–111 (2005). https://doi.org/10.1007/s00450-005-0195-7
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00450-005-0195-7