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%.



















Similar content being viewed by others
Notes
Proactive simulation-based scheduling and load balancing.
Proactive simulation-based scheduling and enhanced load balancing.
First come first serve.
References
Buyya R, Yeo CS, Venugopal S, Broberg J, Brandic I (2009) Cloud computing and emerging IT platforms: vision, hype, and reality for delivering computing as the 5th utility. Future Gener Comput Syst 25:599–616
Calheiros RN, Ranjan R, Beloglazov A, De Rose CA, Buyya R (2011) CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw Pract Exp 41:3–50
Casavant TL, Kuhl JG (1988) A taxonomy of scheduling in general-purpose distributed computing systems. IEEE Trans Softw Eng 14:141–154
Arora M, Das SK, Biswas R (2002) A de-centralized scheduling and load balancing algorithm for heterogeneous grid environments. In: International Conference on Parallel Processing Workshops, Proceedings, pp 499–505
Tang Q, Gupta SK, Varsamopoulos G (2007) Thermal-aware task scheduling for data centers through minimizing heat recirculation. In: IEEE International Conference on Cluster Computing 2007:129–138
Van den Bossche R, Vanmechelen K, Broeckhove J (2013) Online cost-efficient scheduling of deadline-constrained workloads on hybrid clouds. Future Gener Comput Syst 29:973–985
Pop F, Dobre C, Cristea V, Bessis N (2013) Scheduling of sporadic tasks with deadline constrains in cloud environments. In: IEEE 27th International Conference on Advanced Information Networking and Applications (AINA), 2013, pp 764–771
Zuo X, Zhang G, Tan W (2014) Self-adaptive learning PSO-based deadline constrained task scheduling for hybrid IaaS cloud. IEEE Trans Autom Sci Eng 11:564–573
Donyadari E, Safi-Esfahani F, Nourafza N (2015) Scientific workflow scheduling based on deadline constraints in cloud environment. Int J Mechatron Electr Comput Technol (IJMEC) 5:1–15
Motavaselalhagh F, Esfahani FS, Arabnia HR (2015) Knowledge-based adaptable scheduler for SaaS providers in cloud computing. Hum Centric Comput Inf Sci 5:16
Salimian L, Esfahani FS, Nadimi-Shahraki M-H (2016) An adaptive fuzzy threshold-based approach for energy and performance efficient consolidation of virtual machines. Computing 98:641–660
Haratian P, Safi-Esfahani F, Salimian L, Nabiollahi A (2017) An adaptive and fuzzy resource management approach in cloud computing. IEEE Trans Cloud Comput. doi:10.1109/TCC.2017.2735406
Khorsand R, Safi-Esfahani F, Nematbakhsh N, Mohsenzade M (2017) ATSDS: adaptive two-stage deadline-constrained workflow scheduling considering run-time circumstances in cloud computing environments. J Supercomput 73:2430–2455
He X, Sun X, Von Laszewski G (2003) QoS guided min-min heuristic for grid task scheduling. J Comput Sci Technol 18:442–451
Kamalam G, Muralibhaskaran V (2010) A new heuristic approach: Min-Mean algorithm for scheduling meta-tasks on heterogeneous computing systems. Int J Comput Sci Netw Secur 10:24–31
Chauhan SS, Joshi R (2010) QoS guided heuristic algorithms for grid task scheduling. Int J Comput Appl 2:24–31
Singh M, Suri P (2008) QPS Max-Min\(<>\) Min-Min: a QoS based predictive Max-Min, Min-Min switcher algorithm for job scheduling in a grid. Inf Technol J 7:1176–1181
Kokilavani T, Amalarethinam DDG (2011) Load balanced min-min algorithm for static meta-task scheduling in grid computing. Int J Comput Appl 20:43–49
Zhong H, Tao K, Zhang X (2010) An approach to optimized resource scheduling algorithm for open-source cloud systems. In: Fifth Annual China Grid Conference 2010:124–129
Patel G, Mehta R, Bhoi U (2015) Enhanced load balanced min-min algorithm for static meta task scheduling in cloud computing. Proc Comput Sci 57:545–553
Pandey S, Wu L, Guru SM, Buyya R (2010) A particle swarm optimization-based heuristic for scheduling workflow applications in cloud computing environments. In: 2010 24th IEEE International Conference on Advanced Information Networking and Applications, 2010, pp 400–407
Lin C, Lu S (2011) Scheduling scientific workflows elastically for cloud computing. In: IEEE International Conference on Cloud Computing (CLOUD) 2011:746–747
Sakellariou R, Zhao H (2004) A hybrid heuristic for DAG scheduling on heterogeneous systems. In: Parallel and Distributed Processing Symposium, 2004. Proceedings. 18th International, p 111
Jayarani R, Sadhasivam S, Nagaveni N (2009) Design and implementation of an efficient two-level scheduler for cloud computing environment. In: International Conference on Advances in Recent Technologies in Communication and Computing, ARTCom’09. 2009, pp 884–886
Calheiros RN, Ranjan R, De Rose CA, Buyya R (2009) Cloudsim: a novel framework for modeling and simulation of cloud computing infrastructures and services. arXiv preprint arXiv:0903.2525
Singh J (2010) An algorithm to reduce the time complexity of earliest deadline first scheduling algorithm in real-time system. arXiv preprint arXiv:1101.0056
Kuribayashi S (2011) Optimal joint multiple resource allocation method for cloud computing environments. arXiv preprint arXiv:1110.1730
Avanes A, Freytag J-C (2008) Adaptive workflow scheduling under resource allocation constraints and network dynamics. Proc VLDB Endow 1:1631–1637
Menasce DA, Casalicchio E (2004) A framework for resource allocation in grid computing. In: MASCOTS, pp 259–267
Borja S, Ruben M, Ignacio M (2009) An open source solution for virtual infrastructure management in private and hybrid clouds. IEEE Internet Comput 1:14–22
Yu J, Buyya R (2006) Scheduling scientific workflow applications with deadline and budget constraints using genetic algorithms. Sci Program 14:217–230
Chien NK, Son NH, Loc HD (2016) Load balancing algorithm based on estimating finish time of services in cloud computing. In: 2016 18th International Conference on Advanced Communication Technology (ICACT), pp 228–233
Al Salami NM (2009) Ant colony optimization algorithm. UbiCC J 4:823–826
Sakellariou R, Zhao H, Tsiakkouri E, Dikaiakos MD (2007) Scheduling workflows with budget constraints. In: Gorlatch S, Danelutto M (eds) Integrated research in GRID computing. Springer, Berlin, pp 189–202
Chen H, Wang F, Helian N, Akanmu G (2013) User-priority guided Min-Min scheduling algorithm for load balancing in cloud computing. In: National Conference on Parallel Computing Technologies (PARCOMPTECH) 2013:1–8
Zhang F, Cao J, Tan W, Khan SU, Li K, Zomaya AY (2014) Evolutionary scheduling of dynamic multitasking workloads for big-data analytics in elastic cloud. IEEE Trans Emerg Topics Comput 2:338–351
Tsai SC, Fu SY (2014) Genetic-algorithm-based simulation optimization considering a single stochastic constraint. Eur J Oper Res 236:113–125
Xhafa F, Abraham A (2010) Computational models and heuristic methods for Grid scheduling problems. Future Gener Comput Syst 26:608–621
El-Rewini H, Ali HH, Lewis T (1995) Task scheduling in multiprocessing systems. Computer 28:27–37
Amalarethinam DG, Muthulakshmi P (2011) An overview of the scheduling policies and algorithms in Grid Computing. Int J Res Rev Comput Sci 2:280–294
Armstrong R, Hensgen D, Kidd T (1998) The relative performance of various mapping algorithms is independent of sizable variances in run-time predictions. In: Seventh Heterogeneous Computing Workshop, 1998. (HCW 98) Proceedings, pp 79–87
Singh A, Goyal P, Batra S (2010) An optimized round robin scheduling algorithm for CPU scheduling. Int J Comput Sci Eng 2:2383–2385
Roy N, Dubey A, Gokhale A (2011) Efficient autoscaling in the cloud using predictive models for workload forecasting. In: IEEE International Conference on Cloud Computing (CLOUD) 2011:500–507
Gong Z, Gu X, Wilkes J (2010) Press: Predictive elastic resource scaling for cloud systems. In: International Conference on Network and Service Management 2010:9–16
Kong X, Lin C, Jiang Y, Yan W, Chu X (2011) Efficient dynamic task scheduling in virtualized data centers with fuzzy prediction. J Netw Comput Appl 34:1068–1077
Freund RF, Gherrity M, Ambrosius S, Campbell M, Halderman M, Hensgen D (1998) Scheduling resources in multi-user, heterogeneous, computing environments with SmartNet. In: Seventh Heterogeneous Computing Workshop (HCW 98), Proceedings 1998, pp 184–199
Mohialdeen IA (2013) Comparative study of scheduling algorithms in cloud computing environment. J Comput Sci 9:252
Rasmussen RV, Trick MA (2008) Round robin scheduling-a survey. Eur J Oper Res 188:617–636
Calheiros RN, Ranjan R, Buyya R (2011) Virtual machine provisioning based on analytical performance and QoS in cloud computing environments. In: International Conference on Parallel Processing 2011:295–304
Elzeki O, Reshad M, Elsoud M (2012) Improved max-min algorithm in cloud computing. Int J Comput Appl 50:22–27
Tanenbaum AS, Van Steen M (2007) Distributed systems. Prentice-Hall, Englewood Cliffs
Lee LT, Liang CH, Chang HY, (2006) An adaptive task scheduling system for Grid Computing. In: The Sixth IEEE International Conference on Computer and Information Technology (CIT’06), pp 57–57
Lim HC, Babu S, Chase JS, Parekh SS (2009) Automated control in cloud computing: challenges and opportunities. In: Proceedings of the 1st Workshop on Automated Control for Datacenters and Clouds, pp 13–18
Marshall P, Keahey K, Freeman T (2010) Elastic site: using clouds to elastically extend site resources. In: Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing, pp 43–52
Dawoud W, Takouna I, Meinel C (2011) Elastic vm for cloud resources provisioning optimization. In: International Conference on Advances in Computing and Communications, pp 431–445
Meinel C, Dawoud W, Takouna I (2011) Elastic vm for dynamic virtualized resources provisioning and optimization
Vasić N, Novaković D, Miučin S, Kostić D, Bianchini R (2012) Dejavu: accelerating resource allocation in virtualized environments. In: ACM SIGARCH Computer Architecture News, pp 423–436
Shen Z, Subbiah S, Gu X, Wilkes J (2011) Cloudscale: elastic resource scaling for multi-tenant cloud systems. In: Proceedings of the 2nd ACM Symposium on Cloud Computing, p 5
Sharma U, Shenoy P, Sahu S Shaikh A (2011) A cost-aware elasticity provisioning system for the cloud. In: 2011 31st International Conference on Distributed Computing Systems (ICDCS), pp 559–570
Zhou L, Zhang L (2016) A dynamic task scheduling method based on simulation in cloud manufacturing. In: Asian Simulation Conference, pp 20–24
Metropolis N, Ulam S (1949) The Monte Carlo method. J Am Stat Assoc 44:335–341
Prajapati KD (2013) Comparison of virtual machine scheduling algorithms in cloud computing. Int J Comput Appl 83:12–14
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Alaei, N., Safi-Esfahani, F. RePro-Active: a reactive–proactive scheduling method based on simulation in cloud computing. J Supercomput 74, 801–829 (2018). https://doi.org/10.1007/s11227-017-2161-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-017-2161-0