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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
Binder, W., Hulaas, J., Moret, P., Villazón, A.: Platform-independent profiling in a virtual execution environment. Softw. Pract. Exper. 39, 47–79 (2009)
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)
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)
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)
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)
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)
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)
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)
Czajkowski, G., et al.: Java specification request 284 - resource consumption management api (2009)
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)
Gront, D., Kolinski, A.: Utility library for structural bioinformatics. Bioinformatics 24(4), 584–585 (2008)
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)
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)
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)
Microsoft. CLR Profiler for the.NET framework 2.0 (2007), http://www.microsoft.com/download/en/details.aspx?id=13382
Oracle. Java virtual machine tool interface (JVMTI), http://download.oracle.com/javase/6/docs/technotes/guides/jvmti/
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)