Skip to main content

Advertisement

Log in

An efficient multi-functional duplication-based scheduling framework for multiprocessor systems

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

Abstract

Timing performance and energy consumption are the most critical performance indicators of schedules on multiprocessors. The timing performance of the schedule is limited by the inter-processor communication delay incurred by inter-task data dependence, especially for communication-intensive applications. To mitigate the negative impact of the communication delay on timing performance of the schedule, task duplication strategy, which is based on the fact that the local communication is delay-free, is often utilized. The duplication-based scheduling problem is NP-hard, in terms of optimizing both the schedule latency and energy consumption. However, obtaining the optimal solution is still useful, e.g., help to implement performance-critical system or give insights into the problem. While available works focus on limited performance metrics of the problem and have high time complexity, this paper proposes an efficient and multi-functional duplication-based scheduling framework based on the satisfiability modulo theory with boolean and integer theories, which enables solving the duplication-based scheduling problems quickly; besides, strategies for modeling the non-preemptive condition in static schedule are studied to improve the efficiency of the proposed framework. The proposed framework is applied to optimize different objectives, including the schedule length, the energy consumption, etc. The proposed framework is tested on a set of applications and platforms. The experimental results demonstrate that the proposed method is more than 10 times quicker than the available method and can reduce the energy consumption by up to 70%.

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

Similar content being viewed by others

References

  1. Wu F, Wu Q, Tan Y (2015) Workflow scheduling in cloud: a survey. J Supercomput 71(9):3373–3418

    Article  Google Scholar 

  2. Tang Z, Liu M, Ammar A, Li K (2016) An optimized MapReduce workflow scheduling algorithm for heterogeneous computing. J Supercomput 72(6):2059–2079

    Article  Google Scholar 

  3. Alkaya AF, Topcuoglu HR (2006) A task scheduling algorithm for arbitrarily-connected processors with awareness of link contention. Clust Comput 9(4):417–431

    Article  Google Scholar 

  4. Hwang J-J, Chow Y-C, Anger FD, Lee C-Y (1989) Scheduling precedence graphs in systems with interprocessor communication times. SIAM J Comput 18(2):244–257

    Article  MathSciNet  Google Scholar 

  5. Topcuoglu H, Hariri S, Wu M-Y (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distrib Syst 13(3):260–274

    Article  Google Scholar 

  6. Kwok Y-K, 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 

  7. El-Rewini H, Lewis TG (1990) Scheduling parallel program tasks onto arbitrary target machines. J Parallel Distrib Comput 9(2):138–153

    Article  Google Scholar 

  8. Sih GC, Lee EA (1993) A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures. IEEE Trans Parallel Distrib Syst 4(2):175–187

    Article  Google Scholar 

  9. Ferrandi F, Lanzi PL, Pilato C, Sciuto D, Tumeo A (2010) Ant colony heuristic for mapping and scheduling tasks and communications on heterogeneous embedded systems. IEEE Trans Comput Aided Des Integr Circuits Syst 29(6):911–924

    Article  Google Scholar 

  10. Omara FA, Arafa MM (2010) Genetic algorithms for task scheduling problem. J Parallel Distrib Comput 70(1):13–22

    Article  Google Scholar 

  11. Wang L, Zhou G, Xu Y, Wang S, Liu M (2012) An effective artificial bee colony algorithm for the flexible job-shop scheduling problem. Int J Adv Manuf Technol 60(1–4):303–315

    Article  Google Scholar 

  12. Venugopalan S, Sinnen O (2015) ILP formulations for optimal task scheduling with communication delays on parallel systems. IEEE Trans Parallel Distrib Syst 26(1):142–151

    Article  Google Scholar 

  13. Shahul AZS, Sinnen O (2010) Scheduling task graphs optimally with A*. J Supercomput 51(3):310–332

    Article  Google Scholar 

  14. Lai KC, Yang CT (2008) A dominant predecessor duplication scheduling algorithm for heterogeneous systems. J Supercomput 44(2):126–145

    Article  Google Scholar 

  15. Yao W, Xie X, You J (2004) Link-contention-aware genetic scheduling using task duplication in grid environments. Lect Notes Comput Sci 3033:822–829

    Article  Google Scholar 

  16. Bozdag D, Ozguner F, Catalyurek UV (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 

  17. Bansal S, Kumar P, Singh K (2003) An improved duplication strategy for scheduling precedence constrained graphs in multiprocessor systems. IEEE Trans Parallel Distrib Syst 14(6):533–544

    Article  Google Scholar 

  18. Ahmad I, Kwok Y-K (1998) On exploiting task duplication in parallel program scheduling. IEEE Trans Parallel Distrib Syst 9(9):872–892

    Article  Google Scholar 

  19. Bozdag D, Ozguner F, Ekici E, Catalyurek U (2005) A task duplication based scheduling algorithm using partial schedules. In: 2005 International Conference on Parallel Processing (ICPP’05), pp 630–637

  20. Bozdag D, Catalyurek U, Ozguner F (2006) A task duplication based bottom-up scheduling algorithm for heterogeneous environments. In: Proceedings of International Parallel and Distributed Processing Symposium. ACM

  21. Sinnen O, To A, Kaur M (2011) Contention-aware scheduling with task duplication. J Parallel Distrib Comput 71(1):77–86

    Article  Google Scholar 

  22. Tang Q, Wu SF, Shi JW, Wei JB (2017) Optimization of duplication-based schedules on network-on-chip based multi-processor system-on-chips. IEEE Trans Parallel Distrib Syst 28(3):826–837

    Article  Google Scholar 

  23. Mei J, Li K, Li K (2014) A resource-aware scheduling algorithm with reduced task duplication on heterogeneous computing systems. J Supercomput 68(3):1347–1377

    Article  Google Scholar 

  24. Tang X, Li K, Liao G, Li R (2010) List scheduling with duplication for heterogeneous computing systems. J Parallel Distrib Comput 70(4):323–329

    Article  Google Scholar 

  25. Singh J, Mangipudi B, Betha S, Auluck N (2012) Restricted duplication based MILP formulation for scheduling task graphs on unrelated parallel machines. In: Proceedings—International Symposium on Parallel Architectures, Algorithms and Programming, PAAP, pp 202–209

  26. Agarwal A, Kumar P (2009) Economical duplication based task scheduling for heterogeneous and homogeneous computing systems. In: 2009 IEEE International Advance Computing Conference, pp 87–93

  27. Shin K, Cha M, Jang M, Jung J, Yoon W, Choi S (2008) Task scheduling algorithm using minimized duplications in homogeneous systems. J Parallel Distrib Comput 68(8):1146–1156

    Article  Google Scholar 

  28. Song I, Yoon W, Jang E, Choi S (2011) Task scheduling algorithm with minimal redundant duplications in homogeneous multiprocessor system. In: Grid and Distributed Computing. Springer, pp 238–245

  29. Mei J, Li K (2012) Multi-copy deleting approach for duplication based scheduling on heterogeneous computing systems. In: Proceedings of the International Conference on Parallel Processing Workshops, pp 610–613

  30. Singh J, Auluck N (2017) Controlled duplication scheduling of real-time precedence tasks on heterogeneous multiprocessors. In: Desai N, Cirne W (eds) Job Scheduling Strategies for Parallel Processing. JSSPP 2015. Lecture Notes in Computer Science, vol 10353. Springer, Berlin, pp 3–21

    Google Scholar 

  31. Singh J, Auluck N (2014) DVFS and duplication based scheduling for optimizing power and performance in heterogeneous multiprocessors. Simul Ser 46(5):170–177

    Google Scholar 

  32. Tosun S, Ozturk O, Ozen M (2009) An ILP formulation for application mapping onto network-on-chips. In: International Conference on Application of Information and Communication Technologies, pp 1–5

  33. Zhang W, Hu Y, He H, Liu Y, Chen A (2019) Linear and dynamic programming algorithms for real-time task scheduling with task duplication. J Supercomput 75:494

    Article  Google Scholar 

  34. Liu W, Gu Z, Xu J, Wu X, Ye Y (2011) Satisfiability modulo graph theory for task mapping and scheduling on multiprocessor systems. IEEE Trans Parallel Distrib Syst 22(8):1382–1389

    Article  Google Scholar 

  35. Liu W, Xiao C (2016) An efficient technique of application mapping and scheduling on real-time multiprocessor systems for throughput optimization. ACM Trans Embed Comput Syst 15(4):65:1–65:25

    Article  Google Scholar 

  36. Malik A, Walker C, O’Sullivan M, Sinnen O (2018) Satisfiability modulo theory (SMT) formulation for optimal scheduling of task graphs with communication delay. Comput Oper Res 89:113–126

    Article  MathSciNet  Google Scholar 

  37. Tendulkar P, Poplavko P, Galanommatis Ioannis, Maler O (2014) Many-core scheduling of data parallel applications using SMT solvers. In: Proceedings of the 2014 17th Euromicro Conference on Digital System Design

  38. Singh J, Betha S, Mangipudi B, Auluck N (2015) Contention aware energy efficient scheduling on heterogeneous multiprocessors. IEEE Trans Parallel Distrib Syst 26(5):1251–1264

    Article  Google Scholar 

  39. De Moura L, Bjørner N (2008) Z3: an efficient SMT solver. In: Ramakrishnan CR, Rehof J (eds) Tools and Algorithms for the Construction and Analysis of Systems. TACAS 2008. Lecture Notes in Computer Science, vol 4963. Springer, Berlin, pp 337–340 (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

    Google Scholar 

  40. Tosun S (2012) Energy- and reliability-aware task scheduling onto heterogeneous mpsoc architectures. J Supercomput 62(1):265–289

    Article  Google Scholar 

  41. Mei J, Li K (2012) Energy-aware scheduling algorithm with duplication on heterogeneous computing systems. In Proceedings—IEEE/ACM International Workshop on Grid Computing, pp 122–129

  42. Mittal S (2014) A survey of techniques for improving energy efficiency in embedded computing systems. Int J Comput Aided Eng Technol 6(4):450–459

    Article  Google Scholar 

  43. Zong Z, Manzanares A, Ruan X, Qin X (2011) EAD and PEBD: two energy-aware duplication scheduling algorithms for parallel tasks on homogeneous clusters. IEEE Trans Comput 60(3):360–374

    Article  MathSciNet  Google Scholar 

  44. Ohrimenko O, Stuckey PJ, Codish M (2007) Propagation = lazy clause generation. In: Principles and practice of constraint programming, pp 1–15

  45. Martin SM, Flautner K, Mudge T, Blaauw D (2002) Combined dynamic voltage scaling and adaptive body biasing for lower power microprocessors under dynamic workloads. In: Proceedings of the 2002 IEEE/ACM International Conference on Computer-Aided Design, pp 721–725

  46. Canon LC, El Sayah M (2019) A comparison of random task graph generation methods for scheduling problems. In: Yahyapour R (ed) Euro-Par 2019: Parallel Processing. Euro-Par 2019. Lecture Notes in Computer Science, vol 11725. Springer, Cham

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Qi Tang.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Tang, Q., Zhu, LH., Lian, J. et al. An efficient multi-functional duplication-based scheduling framework for multiprocessor systems. J Supercomput 76, 9142–9167 (2020). https://doi.org/10.1007/s11227-020-03208-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-020-03208-y

Keywords

Navigation