【レポート】

CEDEC2005 - デュアルコアプロセッサのためのマルチスレッド対応ゲームの開発事例

1 マルチコア時代のソフトウェアパラダイム

西川善司  [2005/09/10]
  • <<
  • <

1/5

PCのCPUも家庭用ゲーム機のCPUも、今世代はともにマルチコアの方向へ進化している。この流れに乗るためにはソフトウェアの設計方針もマルチコアを意識する必要が出てくる。CEDEC2005では、Intelがこのテーマに関連したセッションを開催した。

Intelの主力CPU製品は今後その大半がマルチコア。マルチスレッド化されたアプリケーションの開発への啓蒙は重大任務だ

マルチコアが導く「タダ飯時代」の終焉

現在、PCゲームの世界では、すでに多くのタイトルでCPUで実行されるソフトウェアがボトルネックになりつつあることが広く知られている。

Intel, Graphics Algorithms and 3D Technologies,Senior Software Engineer, Adam Lake氏

AIシステムの複雑化、キャラクタやマップ管理の大規模化、ゲーム内物理処理の高度化等々、様々な理由が考えられるが、登壇者のIntelのAdam Lake氏は「CPUに依存度の高いソフトウェア部分の最適化がなされていないことが大きな原因の一つである」とした。

ここでAdam Lake氏が引用したのは「The Free Lunch Is Over:A Fundamental Turn Toward Concurrency in Software」(by Herb Sutter,Dr.Dobb's Journal,March 2005)の論文だ。

これは「今後とも継続的にCPU性能は向上する見通しが立っているが、ソフトウェアパラダイムをCPUの進化の方向性に合わせていかないと、ソフトウェアのパフォーマンス向上が得られにくくなる」という主旨のもので、要するに「マルチコアCPU時代にはマルチスレッド対応のソフトウェア設計をしないとだめだぞ」ということを言っている。

これまでは、クロックが上がり、スーパースカラ実行率が高くなり、キャッシュ性能も向上して、あらゆるソフトウェアがどんどん高速化されてきた。これを「Free Lunch」(タダ飯)とするならば、マルチコア時代は「Free Lunch is Over」(タダ飯時代の終焉)というわけだ。

これまでのCPUの進化の歴史を簡単に振り返ると、初代Pentiumでは命令実行ユニットを増やしスーパースカラ実行を可能にすることで命令の並列実行性能(ILP)を高め、Pentium IIIではベクトル演算性能をSSEで向上させた。Pentium 4+Hyper-ThreadingやデュアルコアPentium 4ではマルチスレッド性能の強化を行っている。

グラフを見ると分かるようにクロック性能向上率は停滞し、今後のCPUはこのマルチスレッド性能向上に注力していく見通しが立つ。

CPU性能向上の歴史。「クロック周波数→ILP向上→ベクトル演算性能強化→マルチスレッド性能向上」という流れの中で現在は「マルチスレッド性能向上トレンドのまっただ中」

2006年終盤にはデスクトップPC、サーバー、ノートPCの全てのレンジにマルチコア/デュアルコアCPUが投入される

Intelとしては「ゲームの実行パフォーマンスのボトルネックはCPU性能」という認識が広まる中で、「マルチコアCPU時代の正しいゲームエンジンの設計」を啓蒙していく必要性が出てきたと言うことなのだろう。

  • <<
  • <

1/5

インデックス

目次
(1) マルチコア時代のソフトウェアパラダイム
(2) マルチコアCPUに特化したゲームエンジンの最適化手法とは
(3) マルチスレッド化の3つの手法
(4) 実際のゲームではどのようにマルチスレッド化が実装されているのか?
(5) まとめ

特別企画 PR

人気記事

一覧

イチオシ記事

新着記事

ロボホン、ついに発売 - 期間限定のロボホンカフェに行ってきた
[15:50 5/26] 家電
上野樹里、トライセラ和田唱と結婚「私は幸せ」「素敵なパートナーと」
[15:47 5/26] エンタメ
ファイルメーカー、カスタム App構築を支援するハウツーガイドを無料公開
[15:45 5/26] パソコン
旭硝子、「C12A7エレクトライド」のスパッタリングターゲット材を量産開始
[15:19 5/26] テクノロジー
平岡祐太、貫地谷しほりと思い出話で意気投合「役に生きてくるのでは」
[15:18 5/26] エンタメ

特別企画 PR