元麻布春男の週刊PCホットライン

9年前のアイディアから生まれたAtom
~研究活動を紹介する「Intel@Research Day」




 6月11日、米国カリフォルニア州マウンテンビューのComputer History Museumで、Research@Intel Dayが開催された。このイベントは、Intelの研究部門が行なっている研究活動の一端をプレス向けに紹介するものだ。

 Carry Small, Live Large、Tera-scale and Visual Computing、Exploratory、Health、Enterprise、Technology for Developing Regions、Siliconの7つのテーマに沿って、約70の研究テーマに関するパネル展示やデモが紹介された。

 一般にこうした研究活動は、長期にわたるプロジェクトであり、製品として日の目を見るのに時間がかかったり、あるいは全く日の目を見ることなく消えていくものも少なくない。そういう事情もあって、研究関連の情報は、話を聞いた時には何を実現するものか具体的にイメージしづらく、製品化が果たされた時には元にどんな研究があったのかを忘れてしまっている、ということになりがちだ。イベントに先立って行なわれたIntelシニアフェローであるJustin Rattner CTOのキーノートスピーチでは、最近製品化された技術や製品と、それを生み出すことになった研究活動の結びつきについて、具体的な例が示された。

キーノートスピーチを行なうJustin Rattner CTO展示されていた32nmプロセスによるSRAMチップのウェハ

●Atomのはじまり

 この4月に正式発表されたAtomプロセッサだが、その原型となる研究がMicroprocessor Research Lab(MRL)で始まったのは、'99年のこと。P6マイクロアーキテクチャを簡素化することで、IA(x86)互換を維持しつつ実用的な性能を持つ省電力のプロセッサができるのではないかというアイデアの検討が行なわれた。

 このアイデアが具体的な形を取り始めたのが2002年。MRLのAustin研究所に所属する研究者が「Snocone」と呼ばれるマイクロアーキテクチャを開発し、省電力のIAコアが実現可能であることを示した。これをもとに2004年に省電力のIAコアプロセッサは、事業部へ移管され、Atomプロセッサの誕生へとつながっていく。最初のアイデアから製品化まで、9年の歳月を必要としたわけだ。

 企業向けクライアントPCの管理技術であるvProは、研究所(Systems Technology Lab)と事業部(当時のIntel Communications Group)が、2002年にプラットフォームの管理機能を強化するため、リモートシステム管理とネットワークインターフェイスについて着目することから始まった。2003年に技術戦略における長期計画にプラットフォームに統合される管理アーキテクチャが取り上げられ、2004年にAMT 1.0としてLANコントローラに管理プロセッサ(Manageability Engine)を統合するTekoaの開発が始まる。

 このプロジェクトは2005年にAMT 1.0として出荷が開始され、2006年にvProというブランド名が与えられた。研究所と事業部の共同であったせいもあり、3年で製品化にこぎつけたことになる。

 またWiMAXの研究は、'99年にIAL(Intel Architecture Labs)では、当時の携帯電話技術を上回る中~長距離無線技術のビジョン策定と、そのためのOFDMの研究に端を発する。2002年には、社内で立ち上げた開発グループに、開発を加速するために買収した外部企業(Lospan、Envara)のリソースを加え、Communication Technology Lab(CTL)の下でシリコンの開発がスタートする。2004年にCTLは、性能比較や技術評価に利用できるシミュレーションツールの開発を行なった。これは外部企業の買収というプロセスを用いて、研究・開発を促進した例だと考えられる。

'99年に研究が始まったAtom vProはわずか3年で実用化した 買収により研究開発プロセスの短縮をはかったWiMAX

●次は省電力と並列処理

 これらに続き、近い将来製品化が期待される技術としてRattner CTOが取り上げたのが「Platform Power Management」と「Ct」だ。

 Platform Power Managementは、現在シリコンが中心になっている省電力化を、レギュレータや回路構成などハードウェア全体を通じた省電力化に拡張すると同時に、OSによるイベント処理も含めて見直そうというもの。現在のシステムでは、何らかのイベントが起こりうることを意識し、常にハードウェアはそれに備えている(ポーリング)。OSが次に何らかのイベントを起こすタイミングが分かっていれば、ハードウェアはそれまでより深いアイドルステートに入っておくことができる。これによりアイドルステートの消費電力を現在の半分に抑えることが可能になるという。

 CtはC for throughput computingの略で、新たに並列処理可能なデータ構造を定義し、それを多くのコアに割り当てることで、ソフトウェアのスケーラビリティを向上させようというもの。と同時に、人間(プログラマ)はコアの数や並列処理を気にする必要がない。というより、プログラマが特定の数のコアを想定して並列化を記述すると、そのアプリケーションはスケーラビリティを失ってしまう。たとえば4コアを前提に書かれたコードは、それよりコア数の少ない環境だけでなく、それよりコア数の多い環境にも最適化されない。

 データの並列化はCtのランタイムがコア数に応じて行ない、JITコンパイラが、プロセッサに合わせてベクタ化(SSE、AVX、Larrabee等)も行なう。実行時にコア数に対する最適化が行なわれるため、プログラムを記述する時点でコア数を意識する必要はない。すべての種類のアプリケーションがCtの恩恵を受けることができるわけではないが、プログラマの負担を軽減するという点で、実用化が期待される技術だ。

省電力の思想をプラットフォーム全体に広げることでアイドル時の消費電力を半分にするメニーコア時代にプログラマの負担を軽減するCt

□Intelのホームページ(英文)
http://www.intel.com/
□関連記事
【6月4日】【COMPUTEX TAIPEI 2008】【Intelブース編】Intel、“Diamondville”こと「Atom」を正式発表
http://pc.watch.impress.co.jp/docs/2008/0604/comp04.htm

バックナンバー

(2008年6月13日)

[Reported by 元麻布春男]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp ご質問に対して、個別にご回答はいたしません

Copyright (c) 2008 Impress Watch Corporation, an Impress Group company. All rights reserved.