Skip to main content

Exploring Scheduling Algorithms for Parallel Task Graphs: A Modern Game Engine Case Study

  • Conference paper
  • First Online:
Book cover Euro-Par 2022: Parallel Processing (Euro-Par 2022)

Abstract

Game engines are at the heart of the design of modern video games. One of their functions is to keep a high frame rate by scheduling the tasks required to generate each frame (image). These tasks are organized in a soft real-time, parallel task graph, which is a scenario very few works have focused on, or adapted scheduling algorithms to. In this paper, we study the scheduling problem of game engines. We model the tasks and the scheduling problem by profiling a commercial game engine, adapt and compare different scheduling algorithms, and propose two additional optimizations regarding the micro-scheduler and the parallelization of targeted tasks.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Some frame duration changes fall outside the illustrated range.

References

  1. Acun, B., et al.: Power, reliability, and performance: one system to rule them all. Computer 49(10), 30–37 (2016). https://doi.org/10.1109/MC.2016.310

    Article  Google Scholar 

  2. Adam, T.L., Chandy, K.M., Dickson, J.R.: A comparison of list schedules for parallel processing systems. Commun. ACM 17(12), 685–690 (1974). https://doi.org/10.1145/361604.361619

    Article  MATH  Google Scholar 

  3. Alfieri, B.: Intel games task scheduler, January 2019. https://github.com/GameTechDev/GTS-GamesTaskScheduler. Accessed 04 Jan 2022

  4. Beaumont, O., Eyraud-Dubois, L., Gao, Y.: Influence of tasks duration variability on task-based runtime schedulers. In: 2019 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), pp. 16–25 (2019). https://doi.org/10.1109/IPDPSW.2019.00013

  5. Benoit, A., Canon, L.-C., Elghazi, R., Héam, P.-C.: Update on the asymptotic optimality of LPT. In: Sousa, L., Roma, N., Tomás, P. (eds.) Euro-Par 2021. LNCS, vol. 12820, pp. 55–69. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-85665-6_4

    Chapter  Google Scholar 

  6. Cai, Xiaoqiang, Wu, Xianyi, Zhou, Xian: Optimal Stochastic Scheduling. ISORMS, vol. 207. Springer, Boston (2014). https://doi.org/10.1007/978-1-4899-7405-1

    Book  MATH  Google Scholar 

  7. Chaminade, C., Martin, R., McKeever, J.: When regional meets global: exploring the nature of global innovation networks in the video game industry in southern Sweden. Entrepreneurs. Reg. Deve. 33(1-2), 131–146 (2021). https://doi.org/10.1080/08985626.2020.1736184

  8. Coffman, E.G., Graham, R.L.: Optimal scheduling for two-processor systems. Acta inform. 1(3), 200–213 (1972). https://doi.org/10.1007/BF00288685

    Article  MathSciNet  MATH  Google Scholar 

  9. Dai, G., Mohaqeqi, M., Yi, W.: Timing-anomaly free dynamic scheduling of periodic DAG tasks with non-preemptive nodes. In: 2021 IEEE 27th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA), pp. 119–128 (2021). https://doi.org/10.1109/RTCSA52859.2021.00022

  10. Graham, R.L.: Bounds on multiprocessing timing anomalies. SIAM J. Appl. Math. 17(2), 416–429 (1969). https://doi.org/10.1137/0117039

    Article  MathSciNet  MATH  Google Scholar 

  11. Graham, R., Lawler, E., Lenstra, J., Kan, A.: Optimization and approximation in deterministic sequencing and scheduling: a survey. In: Discrete Optimization II, Annals of Discrete Mathematics, vol. 5, pp. 287–326. Elsevier (1979). https://doi.org/10.1016/S0167-5060(08)70356-X

  12. Gregory, J.: Game Engine Architecture, 3rd edn. Taylor and Francis Ltd., Milton Park (2018)

    Google Scholar 

  13. Horn, W.A.: Technical note-minimizing average flow time with parallel machines. Oper. Res. 21(3), 846–847 (1973). https://doi.org/10.1287/opre.21.3.846

    Article  MATH  Google Scholar 

  14. Hu, T.C.: Parallel sequencing and assembly line problems. Oper. Res. 9(6), 841–848 (1961). https://doi.org/10.1287/opre.9.6.841

    Article  MathSciNet  Google Scholar 

  15. Intelligence, M.: Global Gaming Market - Growth, Trends, Covid-19 Impact, and Forecasts (2022–2027). https://www.mordorintelligence.com/industry-reports/global-gaming-market. Accessed 26 Jan 2022

  16. Leung, J.Y.: Handbook of Scheduling: Algorithms, Models, and Performance Analysis. CRC Press, Boca Raton (2004)

    Google Scholar 

  17. Nascimento, F.M.S., Lima, G.: Effectively scheduling hard and soft real-time tasks on multiprocessors. In: 2021 IEEE 27th Real-Time and Embedded Technology and Applications Symposium (RTAS), pp. 210–222 (2021). https://doi.org/10.1109/RTAS52030.2021.00025

  18. Regragui, M., Coye, B., Lima Pilla, L., Namyst, R., Barthou, D.: Artifact and instructions to generate experimental results for the Euro-Par 2022 paper "Exploring scheduling algorithms for parallel task graphs: a modern game engine case study", June 2022. https://doi.org/10.6084/m9.figshare.19961210

  19. Regragui, M., Coye, B., Pilla, L.L., Namyst, R., Barthou, D.: Performance results of different scheduling algorithms used in the simulation of a modern game engine (2022). https://doi.org/10.5281/zenodo.6532252

  20. Trietsch, D., Mazmanyan, L., Gevorgyan, L., Baker, K.R.: Modeling activity times by the Parkinson distribution with a lognormal core: theory and validation. Eur. J. Oper. Res. 216(2), 386–396 (2012). https://doi.org/10.1016/j.ejor.2011.07.054

    Article  MathSciNet  Google Scholar 

  21. Unity User Manual 2020.3 (LTS). https://docs.unity3d.com/Manual/UnityManual.html. Accessed 26 Jan 2022

  22. Unreal Engine 4 Documentation. https://docs.unrealengine.com/4.27/en-US/. Accessed 26 Jan 2022

  23. Zhao, Z., Liang, P.: Data partition for wavefront parallelization of h.264 video encoder. In: 2006 IEEE International Symposium on Circuits and Systems (ISCAS), pp. 4, 2672 (2006). https://doi.org/10.1109/ISCAS.2006.1693173

Download references

Acknowledgments and Data Availability.

The code used for this study is available online in Figshare [18]. The dataset containing all simulation results and evaluation scripts is available online in Zenodo [19].

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Laércio L. Pilla .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Regragui, M., Coye, B., Pilla, L.L., Namyst, R., Barthou, D. (2022). Exploring Scheduling Algorithms for Parallel Task Graphs: A Modern Game Engine Case Study. In: Cano, J., Trinder, P. (eds) Euro-Par 2022: Parallel Processing. Euro-Par 2022. Lecture Notes in Computer Science, vol 13440. Springer, Cham. https://doi.org/10.1007/978-3-031-12597-3_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-12597-3_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-12596-6

  • Online ISBN: 978-3-031-12597-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics