A Design Pattern for Parallel Programming of Games

被引:1
|
作者
AlBahnassi, Wessam [1 ]
Mudur, Sudhir P. [1 ]
Goswami, Dhrubajyoti [1 ]
机构
[1] Concordia Univ, Dept Comp Sci & Software Engn, Montreal, PQ, Canada
来源
2012 IEEE 14TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS & 2012 IEEE 9TH INTERNATIONAL CONFERENCE ON EMBEDDED SOFTWARE AND SYSTEMS (HPCC-ICESS) | 2012年
关键词
parallel programming design pattern; games; realtime simulation; data-flow; dynamic task graph;
D O I
10.1109/HPCC.2012.147
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We present a new design pattern, Sayl, for parallel programming of games and real-time simulation applications to make effective use of the multiple cores of CPUs which are becoming commonplace in today's host machines. Sayl is a specialization of the more generic Task Parallelism pattern. The specialization addresses three important requirements of programs in this domain - heterogeneity of tasks, data flow type dependency amongst tasks, and dynamically changing set of active tasks in different frames of the game. Our main claim is that use of Sayl involves less programmer work. Further, by enabling the creation of dynamic task graphs, Sayl can enable parallel execution of tasks both within and across frames; the latter is one significant advantage of Sayl which seems not possible in most other parallelization approaches targeted to this domain. Sayl was used in a case study to convert the serial code of a small game into a parallel version and compared with another game parallelization framework. The Sayl version was simpler to code and had better run-time performance.
引用
收藏
页码:1007 / 1014
页数:8
相关论文
共 50 条
  • [1] Expanding design pattern to support parallel programming
    Wan, J.Y.
    Sun, Y.Q.
    Xue, J.Y.
    Proceedings of the Conference on Technology of Object-Oriented Languages and Systems, TOOLS, 2000, (TOOL 36): : 24 - 31
  • [2] Expanding design pattern to support parallel programming
    Wan, JY
    Sun, YQ
    Xue, JY
    36TH INTERNATIONAL CONFERENCE ON TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES AND SYSTEMS, PROCEEDINGS, 2000, : 24 - 31
  • [3] Parallel programming with a pattern language *
    Massingill B.L.
    Mattson T.G.
    Sanders B.A.
    International Journal on Software Tools for Technology Transfer, 2001, 3 (2) : 217 - 234
  • [4] Design-pattern-based three phase parallel programming method
    Wan, Jian-Yi
    Sun, Yong-Qiang
    Xue, Jin-Yun
    Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2002, 39 (03):
  • [5] Design-Pattern based Parallel Programming Model and System Implementation
    Wu, Huabei
    2008 4TH INTERNATIONAL CONFERENCE ON WIRELESS COMMUNICATIONS, NETWORKING AND MOBILE COMPUTING, VOLS 1-31, 2008, : 12500 - 12504
  • [6] Pattern-based parallel programming
    Bromling, S
    MacDonald, S
    Anvik, J
    Schaeffer, J
    Szafron, D
    Tan, K
    2002 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, PROCEEDING, 2002, : 257 - 265
  • [7] Testing for conformance of parallel programming pattern languages
    Garstecki, L
    Kaczmarek, P
    De Kergommeaux, JC
    Krawczyk, H
    Wiszniewski, B
    PARALLEL PROCESSING APPLIED MATHEMATICS, 2002, 2328 : 323 - 330
  • [8] On Generalizing Divide and Conquer Parallel Programming Pattern
    Niculescu, Virginia
    MATHEMATICS, 2022, 10 (21)
  • [9] Genetic parallel programming: Design and implementation
    Cheang, Sin Man
    Leung, Kwong Sak
    Lee, Kin Hong
    EVOLUTIONARY COMPUTATION, 2006, 14 (02) : 129 - 156
  • [10] Design and monitoring systems for parallel programming
    Katalov, AJ
    Katalov, VJ
    Nikolaev, VK
    ARCHITECTURES, LANGUAGES AND PATTERNS FOR PARALLEL AND DISTRIBUTED APPLICATIONS, 1998, 52 : 231 - 258