Abstract
Cloud Computing has grown exponentially in the business and research community over the last few years. It is now an emerging field and becomes more popular due to recent advances in virtualization technology. In Cloud Computing, various applications are submitted to the datacenters to obtain some services on pay-per-use basis. However, due to limited resources, some workloads are transferred to other data centers to handle peak client demands. Therefore, scheduling workloads in heterogeneous multi-cloud environment is a hot topic and very challenging due to heterogeneity of the cloud resources with varying capacities and functionalities. In this paper, we present three task scheduling algorithms, called MCC, MEMAX and CMMN for heterogeneous multi-cloud environment, which aim to minimize the makespan and maximize the average cloud utilization. The proposed MCC algorithm is a single-phase scheduling whereas rests are two-phase scheduling. We perform rigorous experiments on the proposed algorithms using various benchmark as well as synthetic datasets. Their performances are evaluated in terms of makespan and average cloud utilization and experimental results are compared with that of existing single-phase and two-phase scheduling algorithms to demonstrate the efficacy of the proposed algorithms.
Similar content being viewed by others
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 Gen Comput Syst Elsevier 25:599–616
Durao F, Carvalho JFS, Fonseka A, Garcia VC (2014) A systematic review on cloud computing. J Supercomput 68(3):1321–1346
Rimal BP, Choi E, Lumb I (2009) A taxonomy and survey of cloud computing systems. Fifth international joint conference on INC, IMS and IDC, pp 44–51
Tsai J, Fang J, Chou J (2013) Optimized task scheduling and resource allocation on cloud computing environment using improved differential evolution algorithm. Comput Oper Res Elsevier 40(12):3045–3055
Armbrust M, Fox A, Griffith R, Joseph AD, Katz RH, Konwinski A, Lee G, Patterson DA, Rabkin A, Stoica I, Zaharia M (2009) Above the clouds: a berkeley view of cloud computing. Technical report no. USB/EECS-2009-28. http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.html
Begnum K (2012) Simplified cloud-oriented virtual machine management with MLN. J Supercomput 61(2):251–266
Ullman JD (1975) NP-complete scheduling problems. J Comput Syst Sci 10(3):384–393
Braun TD, Siegel HJ, Beck N, Boloni LL, Maheswaran M, Reuther AI, Robertson JP, Theys MD, Yao B, Hensgen D, Freund RF (2001) A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems. J Parallel Distrib Comput 61(6):810–837
Maheswaran M, Ali S, Siegel HJ, Hensgen D, Freund RF (1999) Dynamic mapping of a class of independent tasks onto heterogeneous computing systems. J Parallel Distrib Comput 59:107–131
Ibarra OH, Kim CE (1977) Heuristic algorithms for scheduling independent tasks on nonidentical processors. J Assoc Comput Mach 24(2):280–289
Armstrong R, Hensgen D, Kidd T (1998) The relative performance of various mapping algorithms is independent of sizable variances in run-time predictions. 7th IEEE heterogeneous computing workshop. pp 79–87
Freund RF, Gherrity M, Ambrosius S, Campbell M, Halderman M, Hensgen D, Keith E, Kidd T, Kussow M, Lima JD, Mirabile F, Moore L, Rust B, Siegel HJ (1998) Scheduling resources in multi-user, heterogeneous, computing environments with smartNet. 7th IEEE heterogeneous computing workshop. pp 184–199
Kwok Y, Ahmad I (1996) Dynamic critical-path scheduling: an effective technique for allocating task graphs to multiprocessors. IEEE Trans Parallel Distrib Syst 7(5):506–521
Topcuoglu H, Hariri S, Wu M (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distrib Syst 13(3):260–274
Bajaj R, Agrawal DP (2004) Improving scheduling of tasks in a heterogeneous environment. IEEE Trans Parallel Distrib Syst 15(2):107–118
Li J, Qiu M, Ming Z, Quan G, Qin X, Gu Z (2012) Online optimization for scheduling preemptable tasks on IaaS cloud system. J Parallel Distrib Comput Elsevier 72:666–677
Li J, Qiu M, Niu JW, Chen Y, Ming Z (2010) Adaptive resource allocation for preemptable jobs in cloud systems (2010) 10th IEEE international conference on intelligent systems design and applications. pp 31–36
Wen H, Hai-ying Z, Chuang L, Yang Y (2011) Effective load balancing for cloud-based multimedia system (2011) International conference on electronic and mechanical engineering and information technology, pp 165–168
Wang S, Yan K, Liao W, Wang S (2010) Towards a load balancing in a three-level cloud computing network. 3rd IEEE international conference on computer science and information technology. vol 1. pp 108–113
Ergu D, Kou G, Peng Y, Shi Y, Shi Y (2013) The analytic hierarchy process: task scheduling and resource allocation in cloud computing environment. J Supercomput Springer 64:835–848
Rai A, Bhagwan R, Guha S (2012) Generalized resource allocation for the cloud. 3rd ACM symposium on cloud computing
Sotomayor B, Keahey K, Foster I (2008) Combining batch execution and leasing using virtual machines (2008) 17th international symposium on high performance distributed computing, ACM pp 87–96
Sotomayor B, Montero RS, Llorente IM, Foster I (2011) Resource leasing and the art of suspending virtual machines. 11th IEEE international conference on high performance computing and communications. pp 59–68
Akhani J, Chuadhary S, Somani G (2011) Negotiation for resource allocation in IaaS cloud. 4th annual ACM bangalore conference
Bozdag D, Ozguner F, Catalyurek U (2009) Compaction of schedules and a two-stage approach for duplication-based DAG scheduling. IEEE Trans Parallel Distrib Syst 20(6):857–871
Xu Y, Hu H, Yihe S (2010) Data dependence graph directed scheduling for clustered VLIW architectures. Tsinghua Sci Technol IEEE 15(3):299–306
Bittencourt LF, Madeira ERM, Fonseca NLSD (2012) Scheduling in hybrid clouds. IEEE Commun Mag 50(9):42–47
Nathani A, Chaudhary S, Somani G (2012) Policy based resource allocation in IaaS cloud. Future Gen Comput Syst Elsevier 28:94–103
Xhafa F, Carretero J, Barolli L, Durresi A (2007) Immediate mode scheduling in grid systems. Int J Web Grid Serv 3(2):219–236
Xhafa F, Barolli L, Durresi A (2007) Batch mode scheduling in grid systems. Int J Web Grid Serv 3(1):19–37
Braun FN (2014) Accessed on 9 Jan 2014. https://code.google.com/p/hcsp-chc/source/browse/trunk/AE/ProblemInstances/HCSP/Braun_et_al/u_c_hihi.0?r=93
Kwok Y, Ahmad I (1999) Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput Surv (CSUR) 31(4):406–471
Zhang Y, Sivasubramaniam A, Moreira J, Franke H (2001) Impact of workload and system parameters on next generation cluster scheduling mechanisms. IEEE Trans Parallel Distrib Syst 12(9):967–985
Hagras T, Janecek J (2005) A high performance, low complexity algorithm for compile-time task scheduling in heterogeneous systems. Parallel Comput 31(7):653–670
Lawler EL, Labetoulle J (1978) On preemptive scheduling of unrelated parallel processors by linear programming. J Assoc Comput Mach 25(4):612–619
Liu C, Yang S (2011) A heuristic serial schedule algorithm for unrelated parallel machine scheduling with precedence constraints. J Softw 6(6):1146–1153
Kumar VSA, Marathe MV, Parthasarathy S, Srinivasan A (2009) Scheduling on unrelated machines under tree-like precedence constraints. Algorithmica 55:205–226
Lenstra JK, Shmoys DB, Tardos E (1990) Approximation algorithms for scheduling unrelated parallel machines. Math Program 46(1–3):259–271
Leighton FT, Maggs BM, Rao SB (1994) Packet routing and job-shop scheduling in \(O\) (Congestion + Dilation) steps. Combinatorica 14:167–186
Smith W, Foster I, Taylor V (2000) Scheduling with advanced reservations. 14th international parallel and distributed processing symposium. pp 127–132
Haizea (2014) http://haizea.cs.uchicago.edu/whatis.html. Accessed 9 Jan 2014
Rimal BP, Choi E, Lumb I (2009) A taxonomy and survey of cloud computing systems. International joint conference on INC, IMS and IDC. pp 44–51
Hou E, Ansari N, Ren H (1994) A genetic algorithm for multiprocessor scheduling. IEEE Trans Parallel Distrib Syst 5(2):113–120
Yang Q, Peng C, Zhao H, Yu Y, Zhou Y, Wang Z, Du S (2014) A new method based on PSR and EA-GMDH for host load prediction in cloud computing system. J Supercomput 68(3):1402–1417
Gil J, Park JH, Jeong Y (2013) Data center selection based on neuro-fuzzy inference systems in cloud computing environments. J Supercomput 66(3):1194–1214
Zhang F, Cao J, Li K, Khan SU, Hwang K (2014) Multi-objective scheduling of many tasks in cloud platforms. Future Gen Comput Syst Elsevier 37:309–320
Su S, Li J, Huang Q, Huang X, Shuang K, Wang J (2013) Cost-efficient task scheduling for executing large programs in the cloud. Parallel Comput 39(4–5):177–188
Wang X, Wang Y, Cui Y (2014) A new multi-objective Bi-level programming model for energy and locality aware multi-job scheduling in cloud computing. Future Gen Comput Syst Elsevier 36:91–101
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Panda, S.K., Jana, P.K. Efficient task scheduling algorithms for heterogeneous multi-cloud environment. J Supercomput 71, 1505–1533 (2015). https://doi.org/10.1007/s11227-014-1376-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-014-1376-6