Abstract

Cloud computing is a scalable computing infrastructure in which the number of resources and requests change dynamically. There are usually a huge number of tasks and resources in cloud computing. A scheduler does allocating resources to tasks, which is an operation with a large number of parameters that is of NP-hard problems. Approaches such as metaheuristic, simulation-based optimization (SBO), predictive algorithms, etc. are applied to mitigate the complexity of scheduling. Reactive scheduling methods are able to adapt their behavior based on a feedback loop from runtime environment, while proactive scheduling methods try to predict future events to adapt their behavior as well. These algorithms suffer from two problems: (1) they require additional information, like the execution time of tasks that are not usually available in practice and (2) they use the history of past activities that is not easy to maintain and process in order to make future decisions. To address the problems, this paper presents a reactive/proactive scheduling framework, dubbed RePro-Active that presents an iterative reactive/proactive scheduling algorithm called RePro-Active.SB runs periodically. It includes the algorithm called ReactiveScheduling to support reactive behavior, and the algorithms called ProactiveSSLB/ProactiveSSELB to reinforce proactive actions in which the algorithm called Simulate predicts future by simulating possible prospective events. First, the presented scheduling algorithms have the least dependence on prior knowledge about tasks. They are extracted from the category of round-robin methods that are more realistic and do not need extra information about the tasks that is not available in practice. Second, they also begin from current conditions (rather than relying on the history of data) and use SBO techniques that try to simulate possible prospective events to make better decisions. In order to realize the idea, RePro-Active is used to improve both task scheduling and load balancing in the cloud-computing environment. In comparison to the base methods, the results indicate that the completion time of tasks decreased by 30%, and average resource utilization ratio increased by 20%; while, throughput increased by 19%.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call