Communications of the ACM
JRes: a resource accounting interface for Java
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Using hardware performance monitors to understand the behavior of java applications
VM'04 Proceedings of the 3rd conference on Virtual Machine Research And Technology Symposium - Volume 3
Heuristic for resources allocation on utility computing infrastructures
Proceedings of the 6th international workshop on Middleware for grid computing
Proceedings of the 7th international conference on Autonomic computing
Software—Practice & Experience
Dynamic knobs for responsive power-aware computing
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
Performance profiling of virtual machines
Proceedings of the 7th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
A2-VM: a cooperative Java VM with support for resource-awareness and cluster-wide thread scheduling
OTM'11 Proceedings of the 2011th Confederated international conference on On the move to meaningful internet systems - Volume Part I
Prediction-based auto-scaling of scientific workflows
Proceedings of the 9th International Workshop on Middleware for Grids, Clouds and e-Science
Understanding scheduling implications for scientific applications in clouds
Proceedings of the 9th International Workshop on Middleware for Grids, Clouds and e-Science
Concurrency and Computation: Practice & Experience
Hi-index | 0.00 |
Cloud platforms are becoming more prevalent in e-Science domains, also by encompassing new and existing Grid infrastructures into private, hybrid and federated clouds. Clouds are inherently multi-tenant as they run workloads from multiple users. Resources can be initially allocated statically, as for job scheduling in Grids previously, but they can also be changed elastically at runtime to meet the application effective needs. When allocation needs to be changed, and resources are scarce, determining from which tenants resources must be taken to impact performance the least is a non-trivial and often deemed intractable problem, when outside the realm of batch scheduling and full prior information on resource requirements for each task, job, or VM instance. In this paper we present a Java-based platform for cloud environments that is able to: i) monitor application progress with different levels-of-detail and allowing full applications transparency, ii) account and restrict resource consumption, such as CPU and memory, by applications, and iii) A cluster-wide and decentralized algorithm that, based on the progress of different workloads, can redistribute resources among different JVM instances. Evaluation shows it is able to improve resource-efficiency and fairness across e-Science private cloud infrastructures, by managing and migrating resources according to the previous criteria, driven by a number of novel proposed metrics inspired in Economics.