2001年にIBMが開発したマルチコア搭載のPower4により「並列処理の時代」が到来した。キーワードはマルチコアとなった。パソコン向けにAMDのOpteron Dual Core(2005年)とインテルのXeon Dual Core(開発コード名はWoodcrest,2006年),ゲーム機(PlayStation)向けにCell(2006年)などが登場した。マルチコア搭載のマイクロプロセッサが並列処理用クラスタシステムにも使われ始めた。マルチコア搭載のマイクロコントローラがデジタルカメラや携帯電話の応用に広がる傾向がある。

 以前,「最近になって製品に導入された性能向上技術の中で本物になりそうなのは,Simultaneous Multi-Threading(SMT)技術やマルチCPUコア技術などである」と当ブログで述べた(該当記事)。加えて,共有メモリー並列プログラミングの標準 API であるOpenMPとSMTに対応するソフトウエア開発ツールも,新たに「インテルコンパイラーバージョン 9.0」が開発され,充実してきた(インテル コンパイラーOpenMP*入門 PDF版)。

 マルチコアやSMTやクラスタなどの並列処理技術の応用分野は従来の科学技術計算分野から一般的なプログラム分野へと徐々に広がるだろう。10年経つと,並列処理技術は当たり前の技術となる。

 Linux OSのKernelを読んでみると,いろいろの人が改良しているのでコメント・アウトしたプログラムが非常に多く,読みにくい。読みにくい箇所には何らかの不都合があったりする。また,Linux OSを使用したシステムは市場規模が小さいので,マザーボード,BIOS,各種ドライバー,OS,応用ソフト間での検証が行われていないケースが多々ある。並列処理の応用分野と市場規模の拡大のために,マイクロソフトのクラスタ向けWindows Compute Cluster Server 2003の早期安定と応用ソフトの迅速なポーティングを期待したい。

 デジタルカメラ,携帯電話,携帯型デジタル音楽プレーヤー,携帯型ゲーム機などに大量に使われているマイクロコントローラでも,マルチコアやマルチプロセッサは必須の技術となってきつつある。それらの技術は,高性能を得るためだけでなく,ソフトウエアを作りやすくし,組み込み系のソフトウエア危機を救うのに利用されるであろう。参考資料として,「日経エレクトロニクス」2007年1月1日号,NE PLUS,“マイコンの変遷と将来像:アーキテクチャはどのように決定されたか”がある。

 「時代を切り拓いた技術とシステム構築技術の進展」の連載の終わりにあたって:

 インテルと,ロバート・ノイス博士(インテルの創立者の一人)に教わったことがある。ノイス博士には個人的に随分と親切にしてもらった。ノイス博士は,トランジスタを発明したショックレイの研究所で,研究だけでは駄目だと判断した。研究所を飛び出して(Spin out)フェアチャイルドを設立し,研究と開発に集中し,ICとシリコンゲートMOSテクノロジーを開発した。素晴らしいIC製品が次々と開発されたが,生産が今一歩だった。

 ノイス博士が次に興したのがインテルだった。「研究は開発のために,開発は生産のために」を目指したが,初期のインテルでは生産は生産技術で停まってしまった。初期不良率を含めた品質も今一歩だった。顧客への対応も決して良くなかった。ただし,信頼性技術とマスクの検査システムは天下一品だった。MOSトランジスタの信頼性を研究的に追求した結果,開発したのが電子を長期間キャプチャーできるPROM(Programmable ROM)だった。4004を開発していた1970年9月に,誘われて実験室で世界初のPROMプロトタイプを見た時,製品そのものよりも,研究・開発をした技術者に感心した。「研究は開発のために」を私は“創造的開発”と解釈し開発を続けた。

 システムを構築する技術は「時代を切り拓いた技術」によって進化し続けている。今後も進化し続けるだろう。次世代の「時代を切り拓く技術」を創造的に研究・開発する大学や企業と,誕生した「時代を切り拓く技術」をいち早く創造的なシステム製品に応用する企業が勝者となる。(終わり)