Skip to main content

Advertisement

Log in

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

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

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

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
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

References

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  7. Aronsson P, Fritzson P (2005) A task merging technique for parallelization of modelica models. In: 4th international modelica conference, Hamburg

    Google Scholar 

  8. Aronsson P, Fritzson P (2003) Task merging and replication using graph rewriting. In: 2nd international modelica conference, Germany

    Google Scholar 

  9. Aronsson P, Fritzson P (2002) Multiprocessor scheduling of simulation code from modelica models

  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. 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. McCreary C, Gill H (1989) Automatic determination of grain size for efficient parallel processing. Commun ACM 32(9):1073–1078

    Article  Google Scholar 

  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

    Article  Google Scholar 

  14. Wu M, Gajski D (1990) Hypertool: a programming aid for message-passing systems. IEEE Trans Parallel Distrib Syst 1(3):330–343

    Article  Google Scholar 

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

    Chapter  Google Scholar 

  18. Kwok YK, Ahmad I (1999) Benchmarking and comparison of the task graph scheduling algorithms. J Parallel Distrib Comput 59:381–422

    Article  MATH  Google Scholar 

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

    Article  Google Scholar 

  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

    Article  MathSciNet  MATH  Google Scholar 

  22. Dummler J, Kunis R, Runger G (2012) SEParAT: scheduling support environment for parallel application task graphs. Clust Comput, online first

  23. Baskiyar S, Abdel-Kader R (2010) Energy aware DAG scheduling on heterogeneous systems. Clust Comput 13(4):373–383

    Article  Google Scholar 

  24. Wang W, Mok AK, Fohler G (2005) Pre-scheduling. Real-Time Syst 30(1–2):83–103

    Article  MATH  Google Scholar 

  25. Bonyadi MR, Moghaddam ME (2009) A bipartite genetic algorithm for multi-processor task scheduling. Int J Parallel Program 37(5):462–487

    Article  MATH  Google Scholar 

  26. Li K (2012) Energy efficient scheduling of parallel tasks on multiprocessor computers. J Supercomput 60(2):223–247

    Article  Google Scholar 

  27. Kwok YK (2001) Fault-tolerant parallel scheduling of tasks on a heterogeneous high-performance workstation cluster. J Supercomput 19(3):299–314

    Article  MATH  Google Scholar 

  28. Tosun S (2011) Energy- and reliability-aware task scheduling onto heterogeneous MPSoC architectures. J Supercomput, online first

  29. Nisan N, Roughgarden T, Tardos E, Vazirani V (2007) In: Algorithmic game theory. Cambridge University, New York, pp 301–330

    Chapter  Google Scholar 

  30. Sinnen O, Sousa L (2004) On task scheduling accuracy: evaluation methodology and results. J Supercomput 27(2):177–194

    Article  MATH  Google Scholar 

  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. Nash JF (1951) Non-cooperative games. Ann Math 54(2):286–295

    Article  MathSciNet  MATH  Google Scholar 

  33. Papadimitriou CH (2001) Algorithms, games and the Internet. In: Proceedings of the 33rd annual ACM symposiumon theory of computing, pp 749–753

    Chapter  Google Scholar 

  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

    Article  Google Scholar 

  35. Deb K (2001) Multi-objective optimization using evolutionary algorithms. Wiley, New York

    MATH  Google Scholar 

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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marjan Abdeyazdan.

Rights and permissions

Reprints 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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-012-0845-z

Keywords

Navigation