Skip to main content

Advertisement

Log in

GPU implementation of a cellular genetic algorithm for scheduling dependent tasks of physical system simulation programs

  • Published:
Journal of Combinatorial Optimization Aims and scope Submit manuscript

Abstract

This paper studies the problem of efficiently scheduling dependent computational tasks on heterogeneous computing systems. Computational tasks with precedence constraints are commonly represented by a directed acyclic graph (DAG). Four commonly used algorithms including a cellular genetic algorithm (CGA) are performed for scheduling a special type of DAGs derived from physical system simulation programs. Experimental results show that CGA outperforms the other three algorithms. However, when solving large instances of the dependent task scheduling problem, which are often the case for physical system simulation programs, a CPU implementation of the genetic algorithms can be extremely time consuming. The time complexity of producing a generation with a CPU is \(O(n_{cell} \; n^{2})\), where n is the size of DAG, and \(n_{cell}\) is the size of population. To improve runtimes, this paper presents a graphics processing unit (GPU) based implementation of the genetic algorithms. The time complexity of creating a new generation with a GPU is reduced to O(n). The experimental results show that significant speedups can be achieved by harnessing the power of a modern GPU.

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

Similar content being viewed by others

References

  • Ahmad SG, Munir EU, Nisar W (2012) PEGA: a performance effective genetic algorithm for task scheduling in heterogeneous systems. In: 2012 IEEE 14th international conference on high performance computing and communication & 2012 IEEE 9th international conference on embedded software and systems (HPCC-ICESS), 2012. IEEE, pp 1082–1087

  • Alba E, Dorronsoro B (2005) The exploration/exploitation tradeoff in dynamic cellular genetic algorithms. IEEE Trans Evol Comput 9(2):126–142

    Article  Google Scholar 

  • Alba E, Dorronsoro B (2009) Cellular genetic algorithms, vol 42. Springer, Heidelberg

    MATH  Google Scholar 

  • Carl JD et al (2014) An approach to parallelizing the simulation of complicated modelica models. In: Proceedings of the 2014 summer simulation multiconference, 2014. Society for Computer Simulation International, San Diego, p 17

  • Casella F (2013) A strategy for parallel simulation of declarative object-oriented models of generalized physical networks. In: 5th workshop on equation-based object-oriented modeling languages and tools EOOLT. Linköping Univ. Electronic Press, Nottingham, UK, 2013, pp 45–51

  • Coffman EG, Bruno JL (1976) Computer and job-shop scheduling theory. Wiley, New York

    MATH  Google Scholar 

  • Derler P, Lee E, Vincentelli AS (2012) Modeling cyber-physical systems. Proc IEEE 100(1):13–28

    Article  Google Scholar 

  • Elmqvist H, Mattsson SE, Olsson H (2014) Parallel model execution on many cores. In: The 10th international modelica conference, Lund, Sweden, 2014, vol 2, pp 363–370

  • Garey MR, Johnson DS (1979) Computers and intractability: a guide to the theory of NP-completeness. Freeman, San Francisco

    MATH  Google Scholar 

  • Gebremedhin M (2015) Automatic and explicit parallelization approaches for mathematical simulation models. Thesis

  • Gebremedhin M, Fritzson P (2014) Automatic task based analysis and parallelization in the context of equation based languages. In: Proceedings of the 6th international workshop on equation-based object-oriented modeling languages and tools, 2014. ACM, New York, pp 49–52

  • Gupta S, Agarwal G, Kumar V (2010) Task scheduling in multiprocessor system using genetic algorithm. In: 2010 second international conference on machine learning and computing (ICMLC), 2010. IEEE, New York, pp 267–271

  • Hassani A, Treijs J (2009) An overview of standard and parallel genetic algorithms. In: IDT workshop on interesting results in computer science and engineering. Mälardalen University, Västerĺs, pp 1–7

  • Holland JH (1992) Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control, and artificial intelligence. MIT Press, Cambridge

    Google Scholar 

  • Hou ESH, Ansari N, Ren H (1994) A genetic algorithm for multiprocessor scheduling. IEEE Trans Parallel Distrib Syst 5(2):113–120

    Article  Google Scholar 

  • Kyriakidis TS, Kopanos GM, Georgiadis MC (2012) MILP formulations for single- and multi-mode resource-constrained project scheduling problems. Comput Chem Eng 36:369–385

  • Lenstra JK, Rinnooy Kan AHG (1978) Complexity of scheduling under precedence constraints. Oper Res 26(1):22–35

    Article  MathSciNet  MATH  Google Scholar 

  • Liu Y et al (2014) Novel list scheduling strategies for data parallelism task graphs. Int J Netw Comput 4(2):279–290

    Article  Google Scholar 

  • Manderick B, Spiessens P (1989) Fine-grained parallel genetic algorithms. In: Proceedings of the third international conference on Genetic algorithms, 1989. Morgan Kaufmann Publishers Inc, Burlington, pp 428–433

  • Naderi B, Azab A (2014) Modeling and heuristics for scheduling of distributed job shops. Expert Syst Appl 41(17):7754–7763

    Article  Google Scholar 

  • NVIDIA (2014) Cuda programming guide

  • Pan C-H (1997) A study of integer programming formulations for scheduling problems. Int J Syst Sci 28(1):33–41

    Article  MATH  Google Scholar 

  • Pinel F, Dorronsoro B, Bouvry P (2013) Solving very large instances of the scheduling of independent tasks problem on the GPU. J Parallel Distrib Comput 73(1):101–110

    Article  Google Scholar 

  • Reeves CR (1995) A genetic algorithm for flowshop sequencing. Comput Oper Res 22(1):5–13

    Article  MATH  Google Scholar 

  • Schulze C, Huhn M, Schüler M (2010) Profiling of modelica real-time models. EOOLT 2010:23–31

    Google Scholar 

  • Sinnen O (2014) Reducing the solution space of optimal task scheduling. Comput Oper Res 43:201–214

    Article  MathSciNet  MATH  Google Scholar 

  • Tiller M (2012) Introduction to physical modeling with Modelica, vol 615. Springer, New York

    Google Scholar 

  • Topcuoglu H, Hariri S, Min-you W (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distrib Syst 13(3):260–274

    Article  Google Scholar 

  • 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 

  • Xie G et al. (2014) A high-performance DAG task scheduling algorithm for heterogeneous networked embedded systems. In: 2014 IEEE 28th international conference on advanced information networking and applications (AINA), 2014. IEEE, pp 1011–1016

  • Xu Y et al (2013) A DAG scheduling scheme on heterogeneous computing systems using double molecular structure-based chemical reaction optimization. J Parallel Distrib Comput 73(9):1306–1322

    Article  Google Scholar 

  • Xu Y et al (2014) A genetic algorithm for task scheduling on heterogeneous computing systems using multiple priority queues. Inform Sci 270:255–287

    Article  MathSciNet  MATH  Google Scholar 

  • Zhao Y et al (2014) Preliminary study in parallel simulation of equation-based system-level physical models. In: ASME 2014 international design engineering technical conferences and computers and information in engineering conference, 2014. American Society of Mechanical Engineers, New York, pp V01AT02A023–V01AT02A023

Download references

Acknowledgments

This research is partially supported by the National Natural Science Foundation under Grant No. 61370182, the National Science & Technology Pillar Program under Grant 2012BAF16G02 and the National High Technology Research and Development Program of China (863 Program) under Grant 2013AA041301.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jianwan Ding.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zhao, Y., Chen, L., Xie, G. et al. GPU implementation of a cellular genetic algorithm for scheduling dependent tasks of physical system simulation programs. J Comb Optim 35, 293–317 (2018). https://doi.org/10.1007/s10878-016-0007-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10878-016-0007-y

Keywords

Navigation