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%.
Similar content being viewed by others
References
Wu F, Wu Q, Tan Y (2015) Workflow scheduling in cloud: a survey. J Supercomput 71(9):3373–3418
Tang Z, Liu M, Ammar A, Li K (2016) An optimized MapReduce workflow scheduling algorithm for heterogeneous computing. J Supercomput 72(6):2059–2079
Alkaya AF, Topcuoglu HR (2006) A task scheduling algorithm for arbitrarily-connected processors with awareness of link contention. Clust Comput 9(4):417–431
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
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
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
El-Rewini H, Lewis TG (1990) Scheduling parallel program tasks onto arbitrary target machines. J Parallel Distrib Comput 9(2):138–153
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
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
Omara FA, Arafa MM (2010) Genetic algorithms for task scheduling problem. J Parallel Distrib Comput 70(1):13–22
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
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
Shahul AZS, Sinnen O (2010) Scheduling task graphs optimally with A*. J Supercomput 51(3):310–332
Lai KC, Yang CT (2008) A dominant predecessor duplication scheduling algorithm for heterogeneous systems. J Supercomput 44(2):126–145
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
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
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
Ahmad I, Kwok Y-K (1998) On exploiting task duplication in parallel program scheduling. IEEE Trans Parallel Distrib Syst 9(9):872–892
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
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
Sinnen O, To A, Kaur M (2011) Contention-aware scheduling with task duplication. J Parallel Distrib Comput 71(1):77–86
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
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
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
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
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
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
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
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
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
Singh J, Auluck N (2014) DVFS and duplication based scheduling for optimizing power and performance in heterogeneous multiprocessors. Simul Ser 46(5):170–177
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
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
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
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
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
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
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
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)
Tosun S (2012) Energy- and reliability-aware task scheduling onto heterogeneous mpsoc architectures. J Supercomput 62(1):265–289
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
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
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
Ohrimenko O, Stuckey PJ, Codish M (2007) Propagation = lazy clause generation. In: Principles and practice of constraint programming, pp 1–15
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
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
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-020-03208-y