The Journal of Supercomputing

, Volume 71, Issue 4, pp 1505–1533 | Cite as

Efficient task scheduling algorithms for heterogeneous multi-cloud environment

  • Sanjaya K. Panda
  • Prasanta K. Jana


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.


Cloud computing Multi-cloud environment Task scheduling Makespan Cloud utilization 


  1. 1.
    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–616CrossRefGoogle Scholar
  2. 2.
    Durao F, Carvalho JFS, Fonseka A, Garcia VC (2014) A systematic review on cloud computing. J Supercomput 68(3):1321–1346CrossRefGoogle Scholar
  3. 3.
    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–51Google Scholar
  4. 4.
    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–3055CrossRefGoogle Scholar
  5. 5.
    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.
  6. 6.
    Begnum K (2012) Simplified cloud-oriented virtual machine management with MLN. J Supercomput 61(2):251–266CrossRefGoogle Scholar
  7. 7.
    Ullman JD (1975) NP-complete scheduling problems. J Comput Syst Sci 10(3):384–393CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    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–837CrossRefGoogle Scholar
  9. 9.
    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–131CrossRefGoogle Scholar
  10. 10.
    Ibarra OH, Kim CE (1977) Heuristic algorithms for scheduling independent tasks on nonidentical processors. J Assoc Comput Mach 24(2):280–289CrossRefzbMATHMathSciNetGoogle Scholar
  11. 11.
    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–87Google Scholar
  12. 12.
    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–199Google Scholar
  13. 13.
    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–521CrossRefGoogle Scholar
  14. 14.
    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–274CrossRefGoogle Scholar
  15. 15.
    Bajaj R, Agrawal DP (2004) Improving scheduling of tasks in a heterogeneous environment. IEEE Trans Parallel Distrib Syst 15(2):107–118CrossRefGoogle Scholar
  16. 16.
    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–677CrossRefGoogle Scholar
  17. 17.
    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–36Google Scholar
  18. 18.
    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–168Google Scholar
  19. 19.
    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–113Google Scholar
  20. 20.
    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–848CrossRefGoogle Scholar
  21. 21.
    Rai A, Bhagwan R, Guha S (2012) Generalized resource allocation for the cloud. 3rd ACM symposium on cloud computingGoogle Scholar
  22. 22.
    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–96Google Scholar
  23. 23.
    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–68Google Scholar
  24. 24.
    Akhani J, Chuadhary S, Somani G (2011) Negotiation for resource allocation in IaaS cloud. 4th annual ACM bangalore conferenceGoogle Scholar
  25. 25.
    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–871CrossRefGoogle Scholar
  26. 26.
    Xu Y, Hu H, Yihe S (2010) Data dependence graph directed scheduling for clustered VLIW architectures. Tsinghua Sci Technol IEEE 15(3):299–306CrossRefGoogle Scholar
  27. 27.
    Bittencourt LF, Madeira ERM, Fonseca NLSD (2012) Scheduling in hybrid clouds. IEEE Commun Mag 50(9):42–47CrossRefGoogle Scholar
  28. 28.
    Nathani A, Chaudhary S, Somani G (2012) Policy based resource allocation in IaaS cloud. Future Gen Comput Syst Elsevier 28:94–103CrossRefGoogle Scholar
  29. 29.
    Xhafa F, Carretero J, Barolli L, Durresi A (2007) Immediate mode scheduling in grid systems. Int J Web Grid Serv 3(2):219–236CrossRefGoogle Scholar
  30. 30.
    Xhafa F, Barolli L, Durresi A (2007) Batch mode scheduling in grid systems. Int J Web Grid Serv 3(1):19–37CrossRefGoogle Scholar
  31. 31.
  32. 32.
    Kwok Y, Ahmad I (1999) Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput Surv (CSUR) 31(4):406–471CrossRefGoogle Scholar
  33. 33.
    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–985CrossRefGoogle Scholar
  34. 34.
    Hagras T, Janecek J (2005) A high performance, low complexity algorithm for compile-time task scheduling in heterogeneous systems. Parallel Comput 31(7):653–670CrossRefGoogle Scholar
  35. 35.
    Lawler EL, Labetoulle J (1978) On preemptive scheduling of unrelated parallel processors by linear programming. J Assoc Comput Mach 25(4):612–619CrossRefzbMATHMathSciNetGoogle Scholar
  36. 36.
    Liu C, Yang S (2011) A heuristic serial schedule algorithm for unrelated parallel machine scheduling with precedence constraints. J Softw 6(6):1146–1153CrossRefGoogle Scholar
  37. 37.
    Kumar VSA, Marathe MV, Parthasarathy S, Srinivasan A (2009) Scheduling on unrelated machines under tree-like precedence constraints. Algorithmica 55:205–226CrossRefzbMATHMathSciNetGoogle Scholar
  38. 38.
    Lenstra JK, Shmoys DB, Tardos E (1990) Approximation algorithms for scheduling unrelated parallel machines. Math Program 46(1–3):259–271CrossRefzbMATHMathSciNetGoogle Scholar
  39. 39.
    Leighton FT, Maggs BM, Rao SB (1994) Packet routing and job-shop scheduling in \(O\) (Congestion + Dilation) steps. Combinatorica 14:167–186CrossRefzbMATHMathSciNetGoogle Scholar
  40. 40.
    Smith W, Foster I, Taylor V (2000) Scheduling with advanced reservations. 14th international parallel and distributed processing symposium. pp 127–132Google Scholar
  41. 41.
    Haizea (2014) Accessed 9 Jan 2014
  42. 42.
    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–51Google Scholar
  43. 43.
    Hou E, Ansari N, Ren H (1994) A genetic algorithm for multiprocessor scheduling. IEEE Trans Parallel Distrib Syst 5(2):113–120CrossRefGoogle Scholar
  44. 44.
    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–1417CrossRefGoogle Scholar
  45. 45.
    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–1214CrossRefGoogle Scholar
  46. 46.
    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–320CrossRefGoogle Scholar
  47. 47.
    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–188CrossRefGoogle Scholar
  48. 48.
    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–101CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringVeer Surendra Sai University of TechnologyBurlaIndia
  2. 2.Indian School of MinesDhanbadIndia

Personalised recommendations