Abstract
Prescheduling algorithms are targeted at restructuring of task graphs for optimal scheduling. Task graph scheduling is a NP-complete problem. This article offers a prescheduling algorithm for tasks to be executed on the networks of homogeneous processors. The proposed algorithm merges tasks to minimize their earliest start time while reducing the overall completion time. To this end, considering each task as a player attempting to reduce its earliest time as much as possible, we have applied the idea of Nash equilibrium in game theory to determine the most appropriate merging. Also, considering each level of a task graph as a player, seeking for distinct parallel processors to execute each of its independent tasks in parallel with the others, the idea of Nash equilibrium in game theory can be applied to determine the appropriate number of processors in a way that the overall idle time of the processors is minimized and the throughput is maximized. The communication delay will be explicitly considered in the comparisons. Our experiments with a number of known benchmarks task graphs and also two well-known problems of linear algebra, LU decomposition and Gauss–Jordan elimination, demonstrate the distinguished scheduling results provided by applying our algorithm. In our study, we consider ten scheduling algorithms: min–min, chaining, A ∗, genetic algorithms, simulated annealing, tabu search, HLFET, ISH, DSH with task duplication, and our proposed algorithm (PSGT).
Similar content being viewed by others
References
Jin S, Schiavone G, Turgut D (2008) A performance study of multiprocessor task scheduling algorithms. J Supercomput 43:77–97. doi:10.1007/s11227-007-0139-z
ChoonLee Y, Zomaya A, Siegel H (2010) Robust task scheduling for volunteer computing systems. J Supercomput 53:163–181. doi:10.1007/s11227-009-0326-1
Afgan E, Bangalore P, Skala T (2012) Scheduling and planning job execution of loosely coupled applications. J Supercomput 59:1431–1454. doi:10.1007/s11227-011-0555-y
Ababneh I, Bani-Mohammad S, Ould-Khaoua M (2010) An adaptive job scheduling scheme for mesh-connected multi computers. J Supercomput 53:5–25. doi:10.1007/s11227-009-0333-2
Niemi T, Hameri A (2012) Memory-based scheduling of scientific computing clusters. J Supercomput 61:520–544. doi:10.1007/s11227-011-0612-6
Qureshi K, Majeed B, Kazmi JH, Madani SA (2012) Task partitioning, scheduling and load balancing strategy for mixed nature of tasks. J Supercomput 59:1348–1359. doi:10.1007/s11227-010-0539-3
Aronsson P, Fritzson P (2005) A task merging technique for parallelization of modelica models. In: 4th international modelica conference, Hamburg
Aronsson P, Fritzson P (2003) Task merging and replication using graph rewriting. In: 2nd international modelica conference, Germany
Aronsson P, Fritzson P (2002) Multiprocessor scheduling of simulation code from modelica models
Parsa S, Lotfi S, Lotfi N (2007) An evolutionary approach to task graph scheduling. In: Lecture notes in computer science, vol 4431, p 110
Kim S, Browne J (1988) A general approach to mapping of parallel computation upon multiprocessor architectures. In: International conference on parallel processing
McCreary C, Gill H (1989) Automatic determination of grain size for efficient parallel processing. Commun ACM 32(9):1073–1078
Yang T, Gerasoulis A (1994) DSC: scheduling parallel tasks on an unbounded number of processors. IEEE Trans Parallel Distrib Syst 5(9):951–967
Wu M, Gajski D (1990) Hypertool: a programming aid for message-passing systems. IEEE Trans Parallel Distrib Syst 1(3):330–343
Baxter J, Patel J (1989) The LAST algorithm—a heuristic-based static task allocation algorithm. In: International conference on parallel processing
Parsa S, Reza Soltan N, Shariati S (2010) Task merging for better scheduling. In: Lecture notes in computer science, pp 311–316
Abdeyazdan M, Rahmani AM (2008) Multiprocessor task scheduling using a new prioritizing genetic algorithm based on number of task children. In: Distributed and parallel system, pp 105–114
Kwok YK, Ahmad I (1999) Benchmarking and comparison of the task graph scheduling algorithms. J Parallel Distrib Comput 59:381–422
Ahmad I, Ranka S (2008) Using game theory for scheduling tasks on multi-core processors for simultaneous optimization of performance and energy. IEEE 27(2):177–194
ChouLai K, Yang CT (2008) A dominant predecessor duplication scheduling algorithm for heterogeneous systems. J Supercomput 44:126–145. doi:10.1007/s11227-007-0152-2
Gairing M, Lücking T, Mavronicolas M, Monien B (2010) Computing Nash equilibria for scheduling on restricted parallel links. Theory Comput Syst 47(2):405–432
Dummler J, Kunis R, Runger G (2012) SEParAT: scheduling support environment for parallel application task graphs. Clust Comput, online first
Baskiyar S, Abdel-Kader R (2010) Energy aware DAG scheduling on heterogeneous systems. Clust Comput 13(4):373–383
Wang W, Mok AK, Fohler G (2005) Pre-scheduling. Real-Time Syst 30(1–2):83–103
Bonyadi MR, Moghaddam ME (2009) A bipartite genetic algorithm for multi-processor task scheduling. Int J Parallel Program 37(5):462–487
Li K (2012) Energy efficient scheduling of parallel tasks on multiprocessor computers. J Supercomput 60(2):223–247
Kwok YK (2001) Fault-tolerant parallel scheduling of tasks on a heterogeneous high-performance workstation cluster. J Supercomput 19(3):299–314
Tosun S (2011) Energy- and reliability-aware task scheduling onto heterogeneous MPSoC architectures. J Supercomput, online first
Nisan N, Roughgarden T, Tardos E, Vazirani V (2007) In: Algorithmic game theory. Cambridge University, New York, pp 301–330
Sinnen O, Sousa L (2004) On task scheduling accuracy: evaluation methodology and results. J Supercomput 27(2):177–194
Mc Kelvey RD, Mc Lennan A (1996) Computation of equilibria in finite games. In: Computational economics, vol 1, pp 87–142
Nash JF (1951) Non-cooperative games. Ann Math 54(2):286–295
Papadimitriou CH (2001) Algorithms, games and the Internet. In: Proceedings of the 33rd annual ACM symposiumon theory of computing, pp 749–753
Aydin H, Melhem R, Moss D, Meja-Alvarez P (2004) Power-aware scheduling for periodic real-time tasks. IEEE Trans Comput 53(5):584–600
Deb K (2001) Multi-objective optimization using evolutionary algorithms. Wiley, New York
Kang J, Ranka S (2008) Dynamic algorithms for energy minimization on parallel machines. In: Euromicro international conference on parallel, distributed and network-based processing
Khan SU, Ahmad I (2006) Non-cooperative, semi-cooperative and cooperative games-based grid resource allocation. In: International parallel and distributed processing symposium
Schmitz MT, Al-Hashimi BM (2001) Considering power variations of DVS processing elements for energy minimisation in distributed systems. In: International symposium on system synthesis, pp 250–255
Weichen L, Zonghua G, Jiang X, Xiaowen W, Yaoyao Y (2010) Satisfiability modulo graph theory for task mapping and scheduling on multiprocessor systems. Digital object indentifier. IEEE, New York
Agarwal A, Kumar P (2009) Economical duplication based task scheduling for heterogeneous and homogeneous computing systems. In: WEE international advance comnputing conference (IACC)
Thang NK (2010) NP-hardness of pure Nash equilibrium in scheduling and connection games. In: Proceedings of the 35th international conference on current, trends in theory and practice of computer science (SOFSEM), 2009
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Abdeyazdan, M., Parsa, S. & Rahmani, A.M. Task graph pre-scheduling, using Nash equilibrium in game theory. J Supercomput 64, 177–203 (2013). https://doi.org/10.1007/s11227-012-0845-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-012-0845-z