The Journal of Supercomputing

, Volume 64, Issue 1, pp 177–203 | Cite as

Task graph pre-scheduling, using Nash equilibrium in game theory

  • Marjan Abdeyazdan
  • Saeed Parsa
  • Amir Masoud Rahmani


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


Prescheduling Scheduling Task graph Game theory Nash equilibrium 


  1. 1.
    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 CrossRefGoogle Scholar
  2. 2.
    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 CrossRefGoogle Scholar
  3. 3.
    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 CrossRefGoogle Scholar
  4. 4.
    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 CrossRefGoogle Scholar
  5. 5.
    Niemi T, Hameri A (2012) Memory-based scheduling of scientific computing clusters. J Supercomput 61:520–544. doi: 10.1007/s11227-011-0612-6 CrossRefGoogle Scholar
  6. 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 CrossRefGoogle Scholar
  7. 7.
    Aronsson P, Fritzson P (2005) A task merging technique for parallelization of modelica models. In: 4th international modelica conference, Hamburg Google Scholar
  8. 8.
    Aronsson P, Fritzson P (2003) Task merging and replication using graph rewriting. In: 2nd international modelica conference, Germany Google Scholar
  9. 9.
    Aronsson P, Fritzson P (2002) Multiprocessor scheduling of simulation code from modelica models Google Scholar
  10. 10.
    Parsa S, Lotfi S, Lotfi N (2007) An evolutionary approach to task graph scheduling. In: Lecture notes in computer science, vol 4431, p 110 Google Scholar
  11. 11.
    Kim S, Browne J (1988) A general approach to mapping of parallel computation upon multiprocessor architectures. In: International conference on parallel processing Google Scholar
  12. 12.
    McCreary C, Gill H (1989) Automatic determination of grain size for efficient parallel processing. Commun ACM 32(9):1073–1078 CrossRefGoogle Scholar
  13. 13.
    Yang T, Gerasoulis A (1994) DSC: scheduling parallel tasks on an unbounded number of processors. IEEE Trans Parallel Distrib Syst 5(9):951–967 CrossRefGoogle Scholar
  14. 14.
    Wu M, Gajski D (1990) Hypertool: a programming aid for message-passing systems. IEEE Trans Parallel Distrib Syst 1(3):330–343 CrossRefGoogle Scholar
  15. 15.
    Baxter J, Patel J (1989) The LAST algorithm—a heuristic-based static task allocation algorithm. In: International conference on parallel processing Google Scholar
  16. 16.
    Parsa S, Reza Soltan N, Shariati S (2010) Task merging for better scheduling. In: Lecture notes in computer science, pp 311–316 Google Scholar
  17. 17.
    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 CrossRefGoogle Scholar
  18. 18.
    Kwok YK, Ahmad I (1999) Benchmarking and comparison of the task graph scheduling algorithms. J Parallel Distrib Comput 59:381–422 MATHCrossRefGoogle Scholar
  19. 19.
    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 Google Scholar
  20. 20.
    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 CrossRefGoogle Scholar
  21. 21.
    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 MathSciNetMATHCrossRefGoogle Scholar
  22. 22.
    Dummler J, Kunis R, Runger G (2012) SEParAT: scheduling support environment for parallel application task graphs. Clust Comput, online first Google Scholar
  23. 23.
    Baskiyar S, Abdel-Kader R (2010) Energy aware DAG scheduling on heterogeneous systems. Clust Comput 13(4):373–383 CrossRefGoogle Scholar
  24. 24.
    Wang W, Mok AK, Fohler G (2005) Pre-scheduling. Real-Time Syst 30(1–2):83–103 MATHCrossRefGoogle Scholar
  25. 25.
    Bonyadi MR, Moghaddam ME (2009) A bipartite genetic algorithm for multi-processor task scheduling. Int J Parallel Program 37(5):462–487 MATHCrossRefGoogle Scholar
  26. 26.
    Li K (2012) Energy efficient scheduling of parallel tasks on multiprocessor computers. J Supercomput 60(2):223–247 CrossRefGoogle Scholar
  27. 27.
    Kwok YK (2001) Fault-tolerant parallel scheduling of tasks on a heterogeneous high-performance workstation cluster. J Supercomput 19(3):299–314 MATHCrossRefGoogle Scholar
  28. 28.
    Tosun S (2011) Energy- and reliability-aware task scheduling onto heterogeneous MPSoC architectures. J Supercomput, online first Google Scholar
  29. 29.
    Nisan N, Roughgarden T, Tardos E, Vazirani V (2007) In: Algorithmic game theory. Cambridge University, New York, pp 301–330 CrossRefGoogle Scholar
  30. 30.
    Sinnen O, Sousa L (2004) On task scheduling accuracy: evaluation methodology and results. J Supercomput 27(2):177–194 MATHCrossRefGoogle Scholar
  31. 31.
    Mc Kelvey RD, Mc Lennan A (1996) Computation of equilibria in finite games. In: Computational economics, vol 1, pp 87–142 Google Scholar
  32. 32.
    Nash JF (1951) Non-cooperative games. Ann Math 54(2):286–295 MathSciNetMATHCrossRefGoogle Scholar
  33. 33.
    Papadimitriou CH (2001) Algorithms, games and the Internet. In: Proceedings of the 33rd annual ACM symposiumon theory of computing, pp 749–753 CrossRefGoogle Scholar
  34. 34.
    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 CrossRefGoogle Scholar
  35. 35.
    Deb K (2001) Multi-objective optimization using evolutionary algorithms. Wiley, New York MATHGoogle Scholar
  36. 36.
    Kang J, Ranka S (2008) Dynamic algorithms for energy minimization on parallel machines. In: Euromicro international conference on parallel, distributed and network-based processing Google Scholar
  37. 37.
    Khan SU, Ahmad I (2006) Non-cooperative, semi-cooperative and cooperative games-based grid resource allocation. In: International parallel and distributed processing symposium Google Scholar
  38. 38.
    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 Google Scholar
  39. 39.
    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 Google Scholar
  40. 40.
    Agarwal A, Kumar P (2009) Economical duplication based task scheduling for heterogeneous and homogeneous computing systems. In: WEE international advance comnputing conference (IACC) Google Scholar
  41. 41.
    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 Google Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Marjan Abdeyazdan
    • 1
  • Saeed Parsa
    • 2
  • Amir Masoud Rahmani
    • 1
  1. 1.Department of Computer Engineering, Science and Research BranchIslamic Azad UniversityTehranIran
  2. 2.Department of Computer EngineeringIran University of Science and TechnologyTehranIran

Personalised recommendations