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

  • José Simão
  • João Lemos
  • Luís Veiga
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7044)


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.


Virtual Machine Resource Usage Garbage Collection Java Virtual Machine Large Scale Computing 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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)CrossRefGoogle Scholar
  2. 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. 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. 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)CrossRefGoogle Scholar
  5. 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)CrossRefGoogle Scholar
  6. 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. 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. 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)CrossRefGoogle Scholar
  9. 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)CrossRefGoogle Scholar
  10. 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)CrossRefGoogle Scholar
  11. 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. 12.
    Czajkowski, G., et al.: Java specification request 284 - resource consumption management api (2009)Google Scholar
  13. 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. 14.
    Gront, D., Kolinski, A.: Utility library for structural bioinformatics. Bioinformatics 24(4), 584–585 (2008)CrossRefGoogle Scholar
  15. 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)CrossRefGoogle Scholar
  16. 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. 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)CrossRefGoogle Scholar
  18. 18.
    Microsoft. CLR Profiler for the.NET framework 2.0 (2007),
  19. 19.
    Oracle. Java virtual machine tool interface (JVMTI),
  20. 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. 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. 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)CrossRefGoogle Scholar
  23. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • José Simão
    • 1
    • 2
  • João Lemos
    • 1
  • Luís Veiga
    • 1
  1. 1.Instituto Superior TécnicoTechnical University of Lisbon / INESC-ID LisboaPortugal
  2. 2.Instituto Superior de Engenharia de LisboaPortugal

Personalised recommendations