skip to main content
research-article

Unpicking the knot: teasing apart VM/application interdependencies

Published:03 March 2012Publication History
Skip Abstract Section

Abstract

Flexible and efficient runtime design requires an understanding of the dependencies among the components internal to the runtime and those between the application and the runtime. These dependencies are frequently unclear. This problem exists in all runtime design, and is most vivid in a metacircular runtime --- one that is implemented in terms of itself. Metacircularity blurs boundaries between application and runtime implementation, making it harder to understand and make guarantees about overall system behavior, affecting isolation, security, and resource management, as well as reducing opportunities for optimization. Our goal is to shed new light on VM interdependencies, helping all VM designers understand these dependencies and thereby engineer better runtimes. We explore these issues in the context of a high-performance Java-in-Java virtual machine. Our approach is to identify and instrument transition points into and within the runtime, which allows us to establish a dynamic execution context. Our contributions are: 1) implementing and measuring a system that dynamically maintains execution context with very low overhead, 2) demonstrating that such a framework can be used to improve the software engineering of an existing runtime, and 3) analyzing the behavior and runtime characteristics of our runtime across a wide range of benchmarks. Our solution provides clarity about execution state and allowable transitions, making it easier to develop, debug, and understand managed runtimes.

References

  1. B. Alpern, C. R. Attanasio, A. Cocchi, D. Lieber, S. Smith, T. Ngo, J. J. Barton, S. F. Hummel, J. C. Sheperd, and M. Mergen. Implementing Jalapeno in Java. In Proceedings of the 14th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA '99, pages 314--324. ACM, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. B. Alpern, M. Butrico, A. Cocchi, J. Dolby, S. Fink, D. Grove, and T. Ngo. Experiences Porting the Jikes RVM to Linux/IA32. In Proceedings of the 2nd Java(TM) Virtual Machine Research and Technology Symposium, JVM '02, pages 51--64. USENIX Association, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Apache. DRLVM -- Dynamic Runtime Layer Virtual Machine. http://harmony.apache.org/subcomponents/drlvm/.Google ScholarGoogle Scholar
  4. G. Back, W. C. Hsieh, and J. Lepreau. Processes in KaffeOS: Isolation, Resource Management, and Sharing in Java. In In Proceedings of the 4th Symposium on Operating Systems Design and Implementation, OSDI 2000, pages 333--346, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. M. Blackburn and K. S. McKinley. Immix: A Mark-Region Garbage Collector with Space Efficiency, Fast Collection, and Mutator Performance. In Proceedings of the 2008 ACM SIGPLAN conference on Programming Language Design and Implementation, PLDI '08, pages 22--32. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. M. Blackburn, P. Cheng, and K. S. McKinley. Oil and Water? High Performance Garbage Collection in Java with MMTk. In Proceedings of the 26th International Conference on Software Engineering, ICSE '04, pages 137--146. IEEE Computer Society, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. VanDrunen, von Dincklage, and Wiedermann}Blackburn:2006fkS. M. Blackburn, R. Garner, C. Hoffmann, A. M. Khang, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanović, T. VanDrunen, D. von Dincklage, and B. Wiedermann. The DaCapo Benchmarks: Java Benchmarking Development and Analysis. In Proceedings of the 21st annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA '06, pages 169--190. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. M. Blackburn, S. I. Salishev, M. Danilov, O. A. Mokhovikov, A. A. Nashatyrev, P. A. Novodvorsky, V. I. Bogdanov, X. F. Li, and D. Ushakov. The Moxie JVM experience. Technical Report TR-CS-08-01, Australian National University, Department of Computer Science, May 2008.Google ScholarGoogle Scholar
  9. D. R. Cheriton and K. J. Duda. A Caching Model of Operating System Kernel Functionality. In Proceedings of the First Symposium on Operating Systems Design and Implementation, pages 179--193. USENIX Association, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Frampton, S. M. Blackburn, P. Cheng, R. J. Garner, D. Grove, J. E. B. Moss, and S. I. Salishev. Demystifying Magic: High-level Low-level Programming. In Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, VEE '09, pages 81--90. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. G. Hunt, J. Larus, M. Abadi, M. Aiken, P. Barham, M. Fahndrich, 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.Google ScholarGoogle Scholar
  12. K. Ogata, D. Mikurube, K. Kawachiya, S. Trent, and T. Onodera. A Study of Java's non-Java Memory. In Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA '10, pages 191--204. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. Palacz, J. Baker, C. Flack, C. Grothoff, H. Yamauchi, and J. Vitek. Engineering a Common Intermediate Representation for the Ovm Framework. Science of Computer Programming, 57: 357--378, September 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. E. Prangsma. Why Java is practical for modern operating systems, 2005. Presentation only. See http://www.jnode.org.Google ScholarGoogle Scholar
  15. A. Rigo and S. Pedroni. PyPy's Approach to Virtual Machine Construction. In Companion to the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA '06, pages 944--953. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. D. Simon, C. Cifuentes, D. Cleal, J. Daniels, and D. White. Java on the Bare Metal of Wireless Sensor Devices: The Squawk Java Virtual Machine. In Proceedings of the 2nd International Conference on Virtual Execution Environments, VEE '06, pages 78--88. ACM, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. }Corporation:2006vnStandard Performance Evaluation Corporation. Specjvm98. http://www.spec.org/jvm98/.Google ScholarGoogle Scholar
  18. Sun Microsystems. Maxine Research Project. http://research.sun.com/projects/maxine/.Google ScholarGoogle Scholar
  19. D. Ungar, A. Spitz, and A. Ausch. Constructing a Metacircular Virtual Machine in an Exploratory Programming Environment. In Companion to the 20th annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA '05, pages 11--20. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Unpicking the knot: teasing apart VM/application interdependencies

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 47, Issue 7
      VEE '12
      July 2012
      229 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2365864
      Issue’s Table of Contents
      • cover image ACM Conferences
        VEE '12: Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual Execution Environments
        March 2012
        248 pages
        ISBN:9781450311762
        DOI:10.1145/2151024

      Copyright © 2012 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 3 March 2012

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!