Resource management for clusters of virtual machines

Enterprise applications are increasingly being built using type-safe programming platforms and deployed over horizontally scalable systems. Horizontal scalability depends crucially on the ability to monitor resource usage and to define and enforce resource management policies capable of guaranteeing a desired service level. However, current safe language platforms have very limited support for resource management, and their cluster-enabled versions reflect this deficiency. We describe an architecture of federated Java/spl trade/ virtual machines. Its distinguishing feature is an integrated resource management interface that addresses the above issues. It offers programmatic control over monitoring and controlling the allocation of resources to applications and their components. The scope of each policy can span multiple nodes, realizing finegrained control. New resource types can be defined and integrated into the framework. Remote management of local resources and the notion of cluster-global resources form a powerful combination capable of expressing policies that achieve effective performance isolation for cluster applications.

[1]  Grzegorz Czajkowski,et al.  Extending a J2EETM Server with Dynamic and Flexible Resource Management , 2004, Middleware.

[2]  Wilson C. Hsieh,et al.  Processes in KaffeOS: isolation, resource management, and sharing in java , 2000, OSDI.

[3]  Grzegorz Czajkowski,et al.  A resource management interface for the Java™ platform , 2005, Softw. Pract. Exp..

[4]  Michael Factor,et al.  cJVM: a single system image of a JVM on a cluster , 1999, Proceedings of the 1999 International Conference on Parallel Processing.

[5]  Alan L. Cox,et al.  Java/DSM: A Platform for Heterogeneous Computing , 1997, Concurr. Pract. Exp..

[6]  Message Passing Interface Forum MPI: A message - passing interface standard , 1994 .

[7]  Jun Li,et al.  Syntheses, Structures, Bonding, and Optical Properties of Trinuclear Cluster Iodides: M3(μ3-I)2(μ-dppm)3·I (M=Cu, Ag), dppm=bis(diphenylphosphino)methane) , 2002 .

[8]  Philip J. Hatcher,et al.  The Hyperion system: Compiling multithreaded Java bytecode for distributed execution , 2001, Parallel Comput..

[9]  Willy Zwaenepoel,et al.  Cluster reserves: a mechanism for resource management in cluster-based network servers , 2000, SIGMETRICS '00.

[10]  Yannis Smaragdakis,et al.  J-Orchestra: Automatic Java Application Partitioning , 2002, ECOOP.

[11]  R. V. van Nieuwpoort,et al.  The Grid 2: Blueprint for a New Computing Infrastructure , 2003 .

[12]  Assaf Schuster,et al.  A distributed runtime for Java: yesterday and today , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[13]  Michael Philippsen,et al.  JavaParty - Transparent Remote Objects in Java , 1997, Concurr. Pract. Exp..

[14]  Arie Shoshani,et al.  The Grid 2: Blueprint for a New Computing Infrastructure (2nd edition), , 2003 .