Skip to main content

A 2 -VM : A Cooperative Java VM with Support for Resource-Awareness and Cluster-Wide Thread Scheduling

  • Conference paper
Book cover On the Move to Meaningful Internet Systems: OTM 2011 (OTM 2011)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 7044))

Abstract

In today’s scenarios of large scale computing and service providing, the deployment of distributed infrastructures, namely computer clusters, is a very active research area. In recent years, the use of Grids, Utility and Cloud Computing, shows that these are approaches with growing interest and applicability, as well as scientific and also commercial impact.

This work presents the design and implementation issues of a cooperative VM for a distributed execution environment that is resource-aware and policy-driven. Nodes cooperate to achieve efficient management of the available local and global resources. We propose A 2 -VM , a cooperative cluster-enabled virtual execution environment for Java, to be deployed on Grid sites and Cloud data-centers that usually comprise a number of federated clusters. This cooperative VM has the ability to monitor base mechanisms (e.g. thread scheduling, garbage collection, memory or network consumptions) to assess application’s performance and reconfigure these mechanisms in run-time according to previously defined resource allocation policies.

We have designed this new cluster runtime by extending the Jikes Research Virtual Machine to incorporate resource awareness (namely resource consumption and restrictions), and extending the TerraCotta DSO with a distributed thread scheduling mechanism driven by policies that take into account resource utilization. In this paper we also discuss the cost of activating such mechanisms, focusing on the overhead of measuring/metering resource usage and performing policy evaluation.

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. Alpern, B., Augart, S., Blackburn, S.M., Butrico, M., Cocchi, A., Cheng, P., Dolby, J., Fink, S., Grove, D., Hind, M., McKinley, K.S., Mergen, M., Moss, J.E.B., Ngo, T., Sarkar, V.: The jikes research virtual machine project: building an open-source research community. IBM Syst. J. 44, 399–417 (2005)

    Article  Google Scholar 

  2. Aridor, Y., Factor, M., Teperman, A.: cJVM: a single system image of a JVM on a cluster. In: In Proceedings of the International Conference on Parallel Processing, pp. 4–11 (1999)

    Google Scholar 

  3. Back, G., Hsieh, W.C., Lepreau, J.: Processes in KaffeOS: Isolation, Resource Management, and Sharing in Java. In: In Proceedings of the 4th Symposium on Operating Systems Design and Implementation, pp. 333–346 (2000)

    Google Scholar 

  4. Binder, W., Hulaas, J., Moret, P., Villazón, A.: Platform-independent profiling in a virtual execution environment. Softw. Pract. Exper. 39, 47–79 (2009)

    Article  Google Scholar 

  5. Blackburn, S.M., Garner, R., Hoffmann, C., Khang, A.M., McKinley, K.S., Bentzur, R., Diwan, A., Feinberg, D., Frampton, D., Guyer, S.Z., Hirzel, M., Hosking, A., Jump, M., Lee, H., Moss, J.E.B., Moss, B., Phansalkar, A., Stefanović, D., Van Drunen, T., von Dincklage, D., Wiedermann, B.: The DaCapo benchmarks: Java benchmarking development and analysis. In: OOPSLA 2006: Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 169–190. ACM, New York (2006)

    Chapter  Google Scholar 

  6. Boner, J., Kuleshov, E.: Clustering the Java Virtual Machine using Aspect-Oriented Programming. In: AOSD 2007: Industry Track of the 6th international conference on Aspect-Oriented Software Development. Conference on Aspect Oriented Software Development (March 2007)

    Google Scholar 

  7. Bruneton, E., Lenglet, R., Coupaye, T.: ASM: a Code Manipulation Tool to Implement Adaptable Systems. In: Proceedings of the ASF (ACM SIGOPS France) Journées Composants 2002: Systèmes à composants adaptables et extensibles (Adaptable and Extensible Component Systems) (November 2002)

    Google Scholar 

  8. Chen, P.-C., Chang, J.-B., Liang, T.-Y., Shieh, C.-K.: A progressive multi-layer resource reconfiguration framework for time-shared grid systems. Future Gener. Comput. Syst. 25, 662–673 (2009)

    Article  Google Scholar 

  9. Czajkowski, G., Wegiel, M., Daynes, L., Palacz, K., Jordan, M., Skinner, G., Bryce, C.: Resource management for clusters of virtual machines. In: Proceedings of the Fifth IEEE International Symposium on Cluster Computing and the Grid, CCGRID 2005, vol. 01, pp. 382–389. IEEE Computer Society, Washington, DC, USA (2005)

    Chapter  Google Scholar 

  10. Czajkowski, G., Hahn, S., Skinner, G., Soper, P., Bryce, C.: A resource management interface for the Java platform. Softw. Pract. Exper. 35, 123–157 (2005)

    Article  Google Scholar 

  11. Czajkowski, G., von Eicken, T.: JRes: a resource accounting interface for Java. In: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, OOPSLA 1998, pp. 21–35. ACM, New York (1998)

    Google Scholar 

  12. Czajkowski, G., et al.: Java specification request 284 - resource consumption management api (2009)

    Google Scholar 

  13. Garrochinho, T., Veiga, L.: CRM-OO-VM: a checkpointing-enabled Java VM for efficient and reliable e-science applications in grids. In: Proceedings of the 8th International Workshop on Middleware for Grids, Clouds and e-Science, MGC 2010, pp. 1:1–1:7. ACM, New York (2010)

    Google Scholar 

  14. Gront, D., Kolinski, A.: Utility library for structural bioinformatics. Bioinformatics 24(4), 584–585 (2008)

    Article  Google Scholar 

  15. Holland, R.C.G., Down, T.A., Pocock, M.R., Prlic, A., Huen, D., James, K., Foisy, S., Dräger, A., Yates, A., Heuer, M., Schreiber, M.J.: Biojava: an open-source framework for bioinformatics. Bioinformatics 24(18), 2096–2097 (2008)

    Article  Google Scholar 

  16. Lam, K.T., Luo, Y., Wang, C.-L.: Adaptive sampling-based profiling techniques for optimizing the distributed JVM runtime. In: IEEE International Symposium on Parallel Distributed Processing (IPDPS 2010), pp. 1–11 (April 2010)

    Google Scholar 

  17. López-Arévalo, I., Bañares-Alcántara, R., Aldea, A., Rodríguez-Martínez, A.: A hierarchical approach for the redesign of chemical processes. Knowl. Inf. Syst. 12(2), 169–201 (2007)

    Article  Google Scholar 

  18. Microsoft. CLR Profiler for the.NET framework 2.0 (2007), http://www.microsoft.com/download/en/details.aspx?id=13382

  19. Oracle. Java virtual machine tool interface (JVMTI), http://download.oracle.com/javase/6/docs/technotes/guides/jvmti/

  20. Price, D.W., Rudys, A., Wallach, D.S.: Garbage collector memory accounting in language-based systems. In: Proceedings of the IEEE Symposium on Security and Privacy SP 2003, pp. 263–274. IEEE Computer Society, Washington, DC, USA (2003)

    Google Scholar 

  21. Suri, N., Bradshaw, J.M., Breedy, M.R., Groth, P.T., Hill, G.A., Saavedra, R.: State capture and resource control for java: the design and implementation of the aroma virtual machine. In: Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium, JVM 2001, vol. 1, pp. 11–11. USENIX Association, Berkeley (2001)

    Google Scholar 

  22. Zhang, H., Lee, J., Guha, R.: Vcluster: a thread-based java middleware for smp and heterogeneous clusters with thread migration support. Softw. Pract. Exper. 38, 1049–1071 (2008)

    Article  Google Scholar 

  23. Zhu, W., Wang, C.-L., Lau, F.C.M.: Jessica2: A distributed java virtual machine with transparent thread migration support. In: IEEE International Conference on Cluster Computing, p. 381 (2002)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Simão, J., Lemos, J., Veiga, L. (2011). A 2 -VM : A Cooperative Java VM with Support for Resource-Awareness and Cluster-Wide Thread Scheduling. In: Meersman, R., et al. On the Move to Meaningful Internet Systems: OTM 2011. OTM 2011. Lecture Notes in Computer Science, vol 7044. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25109-2_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-25109-2_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-25108-5

  • Online ISBN: 978-3-642-25109-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics