Skip to main content
Log in

Efficient task scheduling algorithms for heterogeneous multi-cloud environment

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  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–616

    Article  Google Scholar 

  2. Durao F, Carvalho JFS, Fonseka A, Garcia VC (2014) A systematic review on cloud computing. J Supercomput 68(3):1321–1346

    Article  Google Scholar 

  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–51

  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–3055

    Article  Google Scholar 

  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. http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.html

  6. Begnum K (2012) Simplified cloud-oriented virtual machine management with MLN. J Supercomput 61(2):251–266

    Article  Google Scholar 

  7. Ullman JD (1975) NP-complete scheduling problems. J Comput Syst Sci 10(3):384–393

    Article  MATH  MathSciNet  Google Scholar 

  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–837

    Article  Google Scholar 

  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–131

    Article  Google Scholar 

  10. Ibarra OH, Kim CE (1977) Heuristic algorithms for scheduling independent tasks on nonidentical processors. J Assoc Comput Mach 24(2):280–289

    Article  MATH  MathSciNet  Google Scholar 

  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–87

  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–199

  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–521

    Article  Google Scholar 

  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–274

    Article  Google Scholar 

  15. Bajaj R, Agrawal DP (2004) Improving scheduling of tasks in a heterogeneous environment. IEEE Trans Parallel Distrib Syst 15(2):107–118

    Article  Google Scholar 

  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–677

    Article  Google Scholar 

  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–36

  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–168

  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–113

  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–848

    Article  Google Scholar 

  21. Rai A, Bhagwan R, Guha S (2012) Generalized resource allocation for the cloud. 3rd ACM symposium on cloud computing

  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–96

  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–68

  24. Akhani J, Chuadhary S, Somani G (2011) Negotiation for resource allocation in IaaS cloud. 4th annual ACM bangalore conference

  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–871

    Article  Google Scholar 

  26. Xu Y, Hu H, Yihe S (2010) Data dependence graph directed scheduling for clustered VLIW architectures. Tsinghua Sci Technol IEEE 15(3):299–306

    Article  Google Scholar 

  27. Bittencourt LF, Madeira ERM, Fonseca NLSD (2012) Scheduling in hybrid clouds. IEEE Commun Mag 50(9):42–47

    Article  Google Scholar 

  28. Nathani A, Chaudhary S, Somani G (2012) Policy based resource allocation in IaaS cloud. Future Gen Comput Syst Elsevier 28:94–103

    Article  Google Scholar 

  29. Xhafa F, Carretero J, Barolli L, Durresi A (2007) Immediate mode scheduling in grid systems. Int J Web Grid Serv 3(2):219–236

    Article  Google Scholar 

  30. Xhafa F, Barolli L, Durresi A (2007) Batch mode scheduling in grid systems. Int J Web Grid Serv 3(1):19–37

    Article  Google Scholar 

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

  32. Kwok Y, Ahmad I (1999) Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput Surv (CSUR) 31(4):406–471

    Article  Google Scholar 

  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–985

    Article  Google Scholar 

  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–670

    Article  Google Scholar 

  35. Lawler EL, Labetoulle J (1978) On preemptive scheduling of unrelated parallel processors by linear programming. J Assoc Comput Mach 25(4):612–619

    Article  MATH  MathSciNet  Google Scholar 

  36. Liu C, Yang S (2011) A heuristic serial schedule algorithm for unrelated parallel machine scheduling with precedence constraints. J Softw 6(6):1146–1153

    Article  Google Scholar 

  37. Kumar VSA, Marathe MV, Parthasarathy S, Srinivasan A (2009) Scheduling on unrelated machines under tree-like precedence constraints. Algorithmica 55:205–226

    Article  MATH  MathSciNet  Google Scholar 

  38. Lenstra JK, Shmoys DB, Tardos E (1990) Approximation algorithms for scheduling unrelated parallel machines. Math Program 46(1–3):259–271

    Article  MATH  MathSciNet  Google Scholar 

  39. Leighton FT, Maggs BM, Rao SB (1994) Packet routing and job-shop scheduling in \(O\) (Congestion + Dilation) steps. Combinatorica 14:167–186

    Article  MATH  MathSciNet  Google Scholar 

  40. Smith W, Foster I, Taylor V (2000) Scheduling with advanced reservations. 14th international parallel and distributed processing symposium. pp 127–132

  41. Haizea (2014) http://haizea.cs.uchicago.edu/whatis.html. Accessed 9 Jan 2014

  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–51

  43. Hou E, Ansari N, Ren H (1994) A genetic algorithm for multiprocessor scheduling. IEEE Trans Parallel Distrib Syst 5(2):113–120

    Article  Google Scholar 

  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–1417

    Article  Google Scholar 

  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–1214

    Article  Google Scholar 

  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–320

    Article  Google Scholar 

  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–188

    Article  Google Scholar 

  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–101

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Prasanta K. Jana.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-014-1376-6

Keywords

Navigation