skip to main content
10.1145/1254810.1254817acmconferencesArticle/Chapter ViewAbstractPublication PagesveeConference Proceedingsconference-collections
Article

Libra: a library operating system for a jvm in a virtualized execution environment

Published: 13 June 2007 Publication History

Abstract

If the operating system could be specialized for every application, many applications would run faster. For example, Java virtual machines (JVMs) provide their own threading model and memory protection, so general-purpose operating system implementations of these abstractions are redundant. However, traditional means of transforming existing systems into specialized systems are difficult to adopt because they require replacing the entire operating system. This paper describes Libra, an execution environment specialized for IBM's J9 JVM. Libra does not replace the entire operating system. Instead, Libra and J9 form a single statically-linked image that runs in a hypervisor partition. Libra provides the services necessary to achieve good performance for the Java workloads of interest but relies on an instance of Linux in another hypervisor partition to provide a networking stack, a filesystem, and other services. The expense of remote calls is offset by the fact that Libra's services can be customized for a particular workload; for example, on the Nutch search engine, we show that two simple customizations improve application throughput by a factor of 2.7.

References

[1]
G. Almási, R. Bellofatto, J. Brunheroto, C. Caşcaval, J. G. Castaños, L. Ceze, P. Crumley, C. C. Erway, J. Gagliano, D. Lieber, X. Martorell, J. Moreira, A. Sanomiya, and K. Strauss. An overview of the Blue Gene/L system software organization. In Proceedings of the Euro-Par Conference on Parallel and Distributed Computing, 2003.
[2]
W. J. Armstrong, R. L. Arndt, D. C. Boutcher, R. G. Kovacs, D. Larson, K. A. Lucke, N. Nayar, and R. C. Swanberg. Advanced virtualization capabilities of POWER5 systems. IBM Journal of Research and Development, 49(4):523--540, 2005.
[3]
D. F. Bacon, P. Cheng, and V. T. Rajan. A real-time garbage collector with low overhead and consistent utilization. In Proceedings of the 30th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 285--298, Jan. 2003.
[4]
C. Bailey. Java technology, IBM style: Introduction to the IBM developer kit. http://www-128.ibm.com/developerworks/java/library/j-ibmjava1.html, May 2006.
[5]
P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the art of virtualization. In Proceedings of the Symposium on Operating System Principles, Bolton Landing, New York, U.S.A., 2003.
[6]
M. Baskey, M. Eder, D. Elko, B. Ratcliff, and D. Schmidt. zSeries features for optimized sockets-based messaging: Hipersockets and OSA-Express. IBM Journal of Research and Development, 46(4/5), April 2002.
[7]
B. N. Bershad, S. Savage, P. Pardyak, E. G. Sirer, M. E. Fiuczynski, D. Becker, C. Chambers, and S. Eggers. Extensibility, safety and performance in the SPIN operating system. In SOSP '95: Proceedings of the Fifteenth ACM Symposium on Operating systems Principles, pages 267--283. ACM Press, 1995.
[8]
M. Cafarella and D. Cutting. Building Nutch: Open source search. Queue, 2(2):54--61, 2004.
[9]
M. J. Cafarella and O. Etzioni. A search engine for natural language applications. In WWW '05: Proceedings of the 14th International World Wide Web Conference, pages 442--452. ACM Press, 2005.
[10]
G. Clarke. BEA adopts virtual strategy with VMware. The Register, December 2006.
[11]
C. Click, G. Tene, and M. Wolf. The pauseless GC algorithm. In VEE'05: Proceedings of the 1st ACM/USENIX International Conference on Virtual Execution Environments, pages 46--56. ACM Press, 2005.
[12]
S. Crosby and D. Brown. The virtualization reality. Queue, 4(10):34--41, 2007.
[13]
D. Deese. Introduction to zSeries Application Assist Processor (zAAP). In Proceedings of the 32nd International Conference for the Resource Management and Performance Evaluation of Enterprise Computing Systems, pages Vol 2, 517--528. Computer Measurement Group, 2005.
[14]
R. Figueiredo, P. A. Dinda, and J. Fortes. Resource virtualization renaissance. IEEE Computer, 38(5):28--69, 2005.
[15]
General parallel file system (GPFS). http://www.almaden.ibm.com/StorageSystems/File_Systems/GPFS/.
[16]
G. Guardiola, R. Cox, and E. V. Hensbergen. Persistent 9P sessions for Plan 9. In Proceedings of 1st International Workshop on Plan 9, December 2006.
[17]
E. Hatcher and O. Gospodnetic. Lucene in Action. Manning Publications, 2004.
[18]
E. V. Hensbergen. The effect of virtualization on OS interference. In Proceedings of the 1st Annual Workshop on Operating System Interference in High Performance Applications, August 2005.
[19]
E. V. Hensbergen. Partitioned reliable operating system environment. Operating Systems Review, 40(2), April 2006.
[20]
E. V. Hensbergen and K. Goss. PROSE I/O. In Proceedings of 1st International Workshop on Plan 9, December 2006.
[21]
G. C. Hunt, J. R. Larus, M. Abadi, M. Aiken, P. Barham, M. Fähndrich, C. Hawblitzel, O. Hodson, S. Levi, N. Murphy, B. Steensgaard, D. Tarditi, T. Wobber, and B. Zill. An overview of the Singularity project. Technical Report MSR-TR-2005-135, Microsoft Research, 2005.
[22]
IBM Corporation. BladeCenter JS21. http://www-03.ibm.com/systems/bladecenter/js21/.
[23]
IBM Corporation. WebSphere Real-Time User's Guide, 2006.
[24]
Java Grande Forum. Java Grande Forum Benchmark Suite. http://www2.epcc.ed.ac.uk/javagrande/index_1.html.
[25]
M. F. Kaashoek, D. R. Engler, G. R. Ganger, H. M. Briceño, R. Hunt, D. Mazières, T. Pinckney, R. Grimm, J. Jannotti, and K. Mackenzie. Application performance and flexibility on exokernel systems. In SOSP '97: Proceedings of the Sixteenth ACM Symposium on Operating Systems Principles, pages 52--65, 1997.
[26]
O. Krieger, M. Auslander, B. Rosenburg, R. W. Wisniewski, J. Xenidis, D. D. Silva, M. Ostrowski, J. Appavoo, M. Butrico, M. Mergen, A. Waterland, and V. Uhlig. K42: Building a complete operating system. In Proceedings of EuroSys'2006, pages 133--145. ACM SIGOPS, April 2006.
[27]
Linux: KVM paravirtualization. http://kerneltrap.org/node/ 7545, January 2007.
[28]
D. Mosberger and L. L. Peterson. Making paths explicit in the Scout operating system. In Symposium on Operating Systems Design and Implementation, volume 30, pages 153--167. ACM, 1996.
[29]
The Open Group Base Specifications Issue 6, IEEE Std 1003.1. http://www.opengroup.org/onlinepubs/009695399/, 2004.
[30]
R. Pike, D. Presotto, S. Dorward, B. Flandrena, K. Thompson, H. Trickey, and P. Winterbottom. Plan 9 from Bell Labs. Computing Systems, 8(3):221--254, Summer 1995.
[31]
R. Pike, D. Presotto, S. Dorward, D. M. Ritchie, H. Trickey, and P. Winterbottom. The Inferno operating system. Bell Labs Technical Journal, 2(1), Winter 1997.
[32]
R. Pike, D. Presotto, K. Thompson, H. Trickey, and P. Winterbottom. The use of name spaces in Plan 9. In Proceedings of the 5th ACM SIGOPS Workshop, Mont Saint-Michel, 1992.
[33]
C. Pu, T. Autrey, A. Black, C. Consel, C. Cowan, J. Inouye, L. Kethana, J. Walpole, and K. Zhang. Optimistic incremental specialization: streamlining a commercial operating system. In ACM Symposium on Operating System Principles, volume 29, 3--6 December 1995.
[34]
C. Pu, H. Massalin, and J. Ioannidis. The Synthesis kernel. Computing Systems, 1(1):11--32, Winter 1988.
[35]
M. Seltzer, Y. Endo, C. Small, and K. A. Smith. An introduction to the architecture of the VINO kernel. Technical report, Harvard University, 1994.
[36]
D. Spoonhower, J. Auerbach, D. F. Bacon, P. Cheng, and D. Grove. Eventrons: a safe programming construct for high-frequency hard real-time applications. In PLDI '06: Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 283--294, 2006.
[37]
R. M. Stallman, R. Pesch, and S. Shebs. Debugging with GDB: The GNU Source-Level Debugger. January 2002.
[38]
Standard Performance Evaluation Corporation. SPECjbb2000 Java Business Benchmark. http://www.spec.org/jbb2000.
[39]
Standard Performance Evaluation Corporation. SPECjvm98 Bench-marks. http://www.spec.org/jvm98.
[40]
Sun MicroSystems. Connection limited device configuration; JSR 30, JSR 139. http://java.sun.com/javame/reference/apis.jsp.
[41]
R. Ta-Min, L. Litty, and D. Lie. Splitting interfaces: Making trust between applications and operating systems configurable. In Proceedings of the 16th USENIX Symposium on Operating System design and Implementation, pages 279--292, November 2006.
[42]
B. Walters. VMware virtual platform. Linux J., 1999(63es):6, 1999.
[43]
XenSource. XenPPC. http://wiki.xensource.com/xenwiki/XenPPC.
[44]
System z9 integrated information processor (zIIP). http://www.ibm.com/systems/z/ziip, 2006.
[45]
Integrated facility for Linux. http://www.ibm.com/systems/z/os/linux/ifl.html, 2006.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
VEE '07: Proceedings of the 3rd international conference on Virtual execution environments
June 2007
210 pages
ISBN:9781595936301
DOI:10.1145/1254810
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 June 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. JVM
  2. exokernels
  3. virtualization
  4. xen

Qualifiers

  • Article

Conference

VEE07
VEE07: International Conference on Virtual Execution Environments
June 13 - 15, 2007
California, San Diego, USA

Acceptance Rates

Overall Acceptance Rate 80 of 235 submissions, 34%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)20
  • Downloads (Last 6 weeks)2
Reflects downloads up to 18 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media