<胎動>
並列性を引き出す力が
機器の新たな地平を拓く
ソフトウエアの開発者の腕次第で,機器の処理性能に何倍も差がつく時代がやって来る。パソコンから据置型民生機器に至るまで,さまざまな分野のマイクロプロセサがCPUコアの数を増やす方向に進化し始めたからだ。今後は処理を複数のCPUコアに効率よく割り当てられるソフトウエアの開発が欠かせなくなる。所望の機能を実現するソフトウエアが内在する並列性をあの手この手で引き出す──。マルチコアを前提に,こうした観点からソフトウエアを開発する手法を今から磨いておくことが将来の機器の競争力を支えることになる。
<成長>
スレッドを効果的に動かし
増えるコアを使い切る
2010年以降には16個や32個といった多数のCPUコアを集積するマイクロプロセサが登場しそうだ。ソフトウエア開発者はこうした時代に向け,マルチコア型マイクロプロセサへの移行を進めておく必要がある。まずはマルチコアに既存のソフトウエアを移植する方法を確立しその後は演算性能を引き出すために,並列に実行できるスレッド数を増やしていくことになる。16個以上のCPUコアを集積するマイクロプロセサが数多く登場するころには並列に実行できるスレッド数を増やしても,コア数に見合った性能が得られないという課題が浮上しそうだ。こうした将来を見据え,さまざまな技術開発が始まっている。
<事例編>
マルチコアに向けた
ソフト開発の現場から
並列処理を意識したソフトウエア開発によってマルチコア型マイクロプロセサの性能を引き出した例が民生機器で登場しつつある。事例から見えてきたのは,ソフトウエア開発者がスレッドの粒度や同期の在り方にまで気を配ることの大切さである。