added a research item
The ability to provision resources on the fly and their pay-as-you-go nature has made cloud computing platforms a staple of modern computer infrastructure. Such platforms allow for new scheduling strategies for the execution of computing workloads. Finding a strategy that satisfies a user’s cost and time constraints is a difficult problem that requires a prediction tool. However the inherent variability of these platforms makes building such a tool a complex endeavor. Our thesis is that, by producing probability distributions of possible outcomes, stochastic simulation can be used to produce predictions that account for the variability. To demon- strate this we used Monte Carlo methods to produce a stochastic simulation by repeatedly running deterministic simulations. We show that this method used in conjunction with specific input models can model the variability of a platform using a single parameter. To validate our method we compare our results to real executions of scientific workloads. Our experiments show that our method produces predictions capable of representing the observed real executions.
More and more attention is focused on cloud computing and on bridging the gap between various providers. Clouds have the benefit of offering pay-per-use on-demand virtualized resources. In this context efficiently scheduling tasks on resources that are heterogeneous in terms of characteristics, diverse in what service level agreements are concerned and elastic based on user demand is of extreme importance. The state of the art for this field has been continuously growing for the last years and has now reached a point in which a comprehensive overview indicating current solutions and ongoing challenges is of extreme importance for researchers trying to address the problem. This paper aims to offer this analysis from a client-side scheduling perspective in which emphasis is not put on physical resource selection but on task to virtual machine mappings and virtual machine allocation. It provides one taxonomy for the current state of the art and one unified model concerning the various metrics and goals used throughout literature. This model is designed to be sufficiently generic and comprehensive to support most of the future work in the field while being extensible to new needs. Based on the current state we then identify several promising research directions and describe some of the challenges they face.
In the field of cloud computing, Infrastructure as a Service (IaaS) provides virtualized on-demand computing resources on a pay-per-use model. IaaS Cloud differ from traditional mutualized infrastructures in that the resources can be dynamically claimed and released, and the real hardware infrastructure is unknown to its users. These properties drastically changes the way resource provisioning and job scheduling can be addressed by the user because i) the large number of jobs and resources to handle becomes rapidly overwhelming for human operators, and ii) the real performances of the platform should be inferred from observations to make robust scheduling decisions. In order to optimizethe resources usage by the client, we advocate the need for brokers on the client-side. This article presents our work based on Schlouder, a broker of IaaS cloud resources able to provision and schedule independent jobs or static workflows according to strategies chosen by the client. Further, we advocate that simulation can be a precious auxiliary to help the user to choose between provisioning strategies. Schlouder brings a unique feature which is to predict through simulation the makespan and cost of executions under various strategies. The contribution of this work is twofold. First, it presents the broker, available as an open source project, in which new provisioning strategies can be plugged in by third parties. The effectiveness of the tool is demonstrated through experiments involving actual applications and platforms. Second, we show that simulation produces accurate predictions making this feature a helpful means for the user to choose the appropriate strategy.