Skip to main content

Extending Standard Java Runtime Systems for Resource Management

  • Conference paper
Software Engineering and Middleware (SEM 2004)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3437))

Included in the following conference series:

  • 393 Accesses

Abstract

Resource management is a precondition to build reliable, extensible middleware and to host potentially untrusted user components. Resource accounting allows to charge users for the resource consumption of their deployed components, while resource control can limit the resource consumption of components in order to prevent denial-of-service attacks. In the approach presented here program transformations enable resource management in Java-based environments, even though the underlying runtime system may not expose information concerning the resource consumption of applications. In order to accurately monitor the resource utilization of Java applications, the application code as well as the libraries used by the application – in particular, the classes of the Java Development Kit (JDK) – have to be transformed for resource accounting. However, the JDK classes are tightly interwoven with the native code of the Java runtime system. These dependencies, which are not well documented, have to be respected in order to preserve the integrity of the Java platform. We discuss several hurdles we have encountered when rewriting the JDK classes for resource management, and we present our solutions to these problems. Performance evaluations complete this paper.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Back, G., Hsieh, W., Lepreau, J.: Processes in KaffeOS: Isolation, resource management, and sharing in Java. In: Proceedings of the Fourth Symposium on Operating Systems Design and Implementation (OSDI 2000), San Diego, CA, USA (October 2000)

    Google Scholar 

  2. Binder, W., Hulaas, J.: A portable CPU-management framework for Java. IEEE Internet Computing 8(5), 74–83 (2004)

    Article  Google Scholar 

  3. Binder, W., Hulaas, J., Villazón, A.: Resource control in J-SEAL2. Technical Report Cahier du CUI No. 124, University of Geneva (October 2000), ftp://cui.unige.ch/pub/tios/papers/TR-124-2000.pdf .

  4. Binder, W., Hulaas, J., Villazón, A., Vidal, R.: Portable resource control in Java: The J-SEAL2 approach. In: ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA-2001), USA (October 2001)

    Google Scholar 

  5. Binder, W., Lichtl, B.: Using a secure mobile object kernel as operating system on embedded devices to support the dynamic upload of applications. In: Suri, N. (ed.) MA 2002. LNCS, vol. 2535. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  6. Czajkowski, G., Daynès, L.: Multitasking without compromise: A virtual machine evolution. In: ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2001), Tampa Bay, Florida (October 2001)

    Google Scholar 

  7. Czajkowski, G., von Eicken, T.: JRes: A resource accounting interface for Java. In: Proceedings of the 13th Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA-1998), New York, USA, October 1998. ACM SIGPLAN Notices, vol. 33(10) (1998)

    Google Scholar 

  8. Dahm, M.: Byte code engineering. In: Java-Information-Tage 1999 (JIT 1999) (September 1999), http://jakarta.apache.org/bcel/

  9. Gosling, J., et al.: The Java language specification, 2nd edn. Java series. Addison-Wesley, Reading (2000)

    Google Scholar 

  10. Hulaas, J., Binder, W.: Program transformations for portable CPU accounting and control in Java. In: Proceedings of PEPM 2004 (2004 ACM SIGPLAN Symposium on Partial Evaluation & Program Manipulation), Verona, Italy, August 24–25, pp. 169–177 (2004)

    Google Scholar 

  11. Kiselev, I.: Aspect-Oriented Programming with AspectJ. Sams Publishing, Indianapolis (2003)

    Google Scholar 

  12. Lindholm, T., Yellin, F.: The Java Virtual Machine Specification, 2nd edn. Addison-Wesley, Reading (1999)

    Google Scholar 

  13. Rudys, A., Wallach, D.S.: Enforcing Java run-time properties using bytecode rewriting. In: Okada, M., Pierce, B.C., Scedrov, A., Tokuda, H., Yonezawa, A. (eds.) ISSS 2002. LNCS, vol. 2609, pp. 185–200. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  14. The Standard Performance Evaluation Corporation. SPEC JVM98 Benchmarks. Web pages at, http://www.spec.org/osg/jvm98/ .

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Binder, W., Hulaas, J. (2005). Extending Standard Java Runtime Systems for Resource Management. In: Gschwind, T., Mascolo, C. (eds) Software Engineering and Middleware. SEM 2004. Lecture Notes in Computer Science, vol 3437. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11407386_12

Download citation

  • DOI: https://doi.org/10.1007/11407386_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25328-0

  • Online ISBN: 978-3-540-31975-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics