さあ,マルチコアプロセッサの時代です!
4
0
0
全文
(2) 解説. さあ,マルチコアプロセッサ の 時代です! グラムであれば,それらのスレッドをうまくマルチコ プログラム. プログラム. …. きる. 残念ながら,マルチコアでは,並列性を意識していな い既存のソフトウェア資産を活用することは難しい.こ. スレッド シングルスレッドプログラム. アプロセッサに割り当てて性能を向上させることがで. マルチスレッドプログラム. 図 -2 プログラムとスレッドの関係. の点は,マルチコア普及における足かせとなっている. コンピュータの性能向上について述べている. Amdahl の法則. 3). によると,実行の一定の部分を並列. 化することで得られる性能の利得分は,その並列化をど れだけの時間で使えるかという割合によって制限され ある.先のプロセッサの定義は学術的なものである.製. る.たとえば,4 個のコアを用いてプログラムの 80%. 品として出荷される場合には,パッケージ化されたチッ. を 4 倍に高速化できたとしても,全体としてのスピー. プをプロセッサと捉えることがある.たとえば,マルチ. ドアップは 1/(0.2 + 0.8/4) = 2.5 にとどまる.. コアチップはマルチコアプロセッサと呼ばれることがあ. 実際には,さまざまなオーバヘッドがあるために,. る.10 個,場合によっては数十個を超えるコアを搭載. 4 個のコアを用いても並列化の対象となる範囲を 4 倍に. するマルチコアはメニーコアと呼ばれることがある.な. 高速化することは難しい. このため, 全体のスピードアッ. お,いくつかのプロセッサチップを搭載するコンピュー. プはさらに低下する.. タはマルチプロセッサと呼ばれて区別されるので注意が. このように,マルチスレッドプログラムを作成するだ. 必要である.. けでなく,プログラムの多くの部分で効率的な並列化が. 現在では,サーバコンピュータ,デスクトップコン. 達成できなければ,全体としての高いスピードアップを. ピュータおよびノートブックコンピュータの領域におい. 得ることができない.. て,マルチコアが主流になっている.. それでは,誰が,並列性を意識しながらマルチスレッ. また,Moore の法則は依然として有効であり,搭載. ドプログラム(並列化プログラム)を作成するのだろう. されるコアの数は増加する傾向にある.Intel のプラッ. か?. トフォーム予測. 2). によれば,搭載されるコアの数は着. これを自動で行う自動並列化と呼ばれる技術の研究・. 実に増加し,100 個を超えるコアを搭載するプロセッサ. 開発が進められている .これらは, 限られたアプリケー. チップが 2012 年頃に登場するとされている.. ションプログラムにおいて成功しているが,広く普及す. 4). るまでには,もう少し時間を要するようである. ● Amdahl の法則とスレッドレベル並列性. しばらくの間は,プログラマ(人間)がコーディング. 命令レベル並列性を指向するプロセッサの性能向上に. する,あるいはコーディングを支援する必要がある.今. ついて明るい要因が見つからない中,高速化の手段とし. こそが,マルチコアプロセッサのプログラミングを始め. て注目されているのがスレッドレベルの並列性である.. る好機である.. C 言語などで記述される一般的なプログラムは,シン グルスレッドである.一方,複数のスレッドを用いるも のはマルチスレッドプログラム (図 -2) と呼ばれる.アー キテクチャ的な視点では,それぞれのスレッドはプログ. ( マルチコアプロセッサの実例 ● Cell Broadband Engine. ラムカウンタおよびいくつかのレジスタによって構成さ. Cell Broadband Engine は,SONY,東芝,IBM の. れるアーキテクチャステートを持つが,メモリ空間は個. 3 社が共同開発した高性能プロセッサである.高いピー. 別に持たずに多くのスレッドで共有される.. ク性能,独特のアーキテクチャ,将来性などから高い注. スレッドのサイズについてこれといった決まりはな. 目を集めている.PLAYSTATION3 に搭載されており,. い.シングルスレッドプログラムのように 1 つのスレッ. オペレーティングシステムとして Linux を導入するこ. ドがプログラムと同じ規模としてもよいし,C 言語の関. とで,マルチコアのプログラミング環境を安価に構築で. 数やループの処理を 1 つのスレッドとして記述しても. きることも魅力の 1 つである.. よい.. PPE と呼ばれる PowerPC アーキテクチャの汎用の. マルチスレッドプログラムとして記述され,十分なス. コアを 1 個と,SPE(Synergistic Processor Element). レッドレベルの並列性が利用できる(たくさんのスレッ. と呼ばれる独特の 8 個のコアを Element Interconnect. ドが並列に動作できる)ように注意深く作成されたプロ. Bus(EIB) と 呼 ば れ る リ ン グ 型 の バ ス で 接 続 す る. 1404. 情報処理 Vol.49 No.12 Dec. 2008.
(3) ングが必要となるため,多少,敷居は高いが,最 適化によりプログラムが高速化していく過程は SPE. SPE. SPE. PPE (PowerPC Processor Element). SPE (Synergistic Processor Element) LS (Local Store). 爽快である.余談ではあるが,Cell Broadband. Engine のプログラミング知識の蓄積などを目的 として,プログラミングコンテスト. 5). を開催し. ている.過去のコンテストのソースコードやド. EIB (Element Interconnect Bus). キュメントを公開しているので,こちらもぜひと BIC (Bus Interface Controller). SPE. SPE. SPE. SPE. MIC (Memory Interface Controller). も参照していただきたい.また,2009 年度も同 コンテストの開催を予定しているので,参加を検 討していただけると幸いである. ● Intel Core 2 / AMD Phenom X4. 図 -3 Cell Broadband Engine の構成. Cell Broadband Engine と は 異 な り,Intel と AMD はホモジニアスマルチコアの構成を採用 Core 1. Core 2. Core 3. Core 4. L1 cache. L1 cache. L1 cache. L1 cache. する. Intel Core 2 Extreme プ ロ セ ッ サ の 構 成 を 図 -4 に示す.45nm プロセス技術を用いた 4 コ ア構成のプロセッサで,それぞれのコアは占有す. L2 cache. L2 cache. FSB (Front Side Bus) 図 -4 Intel Core 2 Extreme QX9650 の構成. る L1 キャッシュを持つ.一方で,L2 キャッシュ は 2 個のコアによる共有キャッシュという構成 である.L1 キャッシュへのアクセスレイテンシ は 3 サイクル,L2 キャッシュへのアクセスレイ テンシは 15 サイクル程度である.ただし,これ らのレイテンシは,アクセスパターンなどにより 変化する.. (図 -3).ただし,製造歩留まりの問題などから,8 個. Intel Advanced Smart Cache の 採 用 に よ り,L2. の SPE がすべて利用できるわけではないので注意が必. キャッシュを用いた共有データの授受が可能である.し. 要である.. かしながら,図 -4 にあるように,L2 キャッシュによ. このように,異なる種類のコアを用いる構成はヘテロ. る Core 1 と Core 3 との間のデータ共有は不可能で,. ジニアスマルチコアと呼ばれる.そうではなく,同一の. この場合にはバス(FSB)を利用する.このように,. 種類のコアを用いる構成はホモジニアスマルチコアと呼. Intel Core 2 Extreme では均一な構成とはなっていな. ばれる.. いので,コアにスレッドを割り当てる際には注意が必要. PPE は,入出力といったオペレーティングシステム. となる.. との協調を必要とする複雑な処理や SPE のためのタス. 当たり前のように聞こえるかもしれないが,図 -4 の. ク管理を担当する. SPE は,SIMD(Single Instruction / Multiple Data). Intel Core 2 Extreme プロセッサでは 4 個のコアのプ ロセッサでたかだか 4 つのスレッドしか同時に実行で. 構成を採用しており,マルチメディア系の演算処理に強. きない.. い.Local Store(LS)と呼ばれる 256KB のメモリを. 一方,シングルコアプロセッサであっても,1 つの. 持ち,ロード命令とストア命令を用いてアクセスする.. コアにおいて複数のスレッドの同時実行を可能とする. SPE はキャッシュを持たない.このため,必要とするデー タはあらかじめ LS に転送しておく必要がある. メインメモリや他の SPE とのデータの送受信には, DMA(Direct Memory Access) 転 送 を 利 用 す る. DMA 転送では,送信すべきデータのアドレス,サイズ,. ハードウェアの仕組みとして同時マルチスレッディン. 受信するコアのアドレスなどを明示的に指定して,デー. 別のスレッドが利用できるように工夫することで,ス. タを送受信する.. ループットの向上を狙う.たとえば,シングルコアの. プログラマにとっては通信を意識した並列プログラミ. Pentium 4 で採用された Hyper-Threading(HT)は,. グ(SMT, simultaneous multithreading)と呼ばれる 技術が活用されてきた.コアが持つ実行ユニットなどの ハードウェアが常に高い利用率であることは希である. そこで,SMT では,利用されていないハードウェアを. 情報処理 Vol.49 No.12 Dec. 2008. 1405.
(4) 解説. さあ,マルチコアプロセッサ の 時代です! て,マルチコアのプログラミングも身近なものになりつ. Core 1. Core 2. Core 3. Core 4. L1/L2 cache. L1/L2 cache. L1/L2 cache. L1/L2 cache. つある.今後,搭載されるコアの数は着実に増加すると 予測されており,そのようなマルチコアおよびメニーコ アへの流れは急激な勢いでこれまでのプログラミング環 境を変化させる可能性がある.繰り返しになるが,今 こそが,マルチコアのプログラミングを始める好機で. L3 cache. ある. プロセッサアーキテクチャ研究の立場では,メニーコ. Crossbar switch. アの試作や研究開発が進められている.我々の研究グ Memory Controller. 図 -5 AMD Phenom X4 9000 の構成. ループにおいても,ディペンダビリティの向上および高 性能化を目指す技術として SmartCore システム. 6). を提. 唱している.また,次世代のメニーコアアーキテクチャ の確立を目指して Feature-Packing. 7). と呼ばれるアー. キテクチャの開発を行っている.次世代のプロセッサ この SMT の 1 つの実装である.. アーキテクチャ,メニーコアのアーキテクチャについて. 2008 年秋に出荷予定の Intel Nehalem は HT を採用. は研究課題が山積している.これらの課題に取り組む研. するマルチコアである.4 個のコアのチップであっても. 究者・開発者が必要とされている.. 最大で 8 スレッドを同時に実行できる.このため,チッ プに搭載するコアの数よりも多くのスレッドを前提とす るコーディングが必要となる. AMD Phenom X4 9000 プロセッサの構成を図 -5 に示す.Intel Core 2 Extreme と比較すると,コア内 部の構成は大きく異なっているが,マルチコアとして見 たときの相違はそれほど大きくない.それぞれのコアは 占有できる L1 キャッシュと L2 キャッシュを持つ.L3 キャッシュはすべてのコアによって共有され,効率的な データ共有を支援する.また,すべてのユニットはク ロスバースイッチを介して接続されているため,通信 によるボトルネックが生じにくい.このように,AMD. Phenom X4 はプログラマにとっては扱いやすい構成に なっている.. ( おわりに. プロセッサは劇的な性能向上を達成してきたが,依然 として,プロセッサの高速化に対する強い要求がある. この要求を満たす切り札の 1 つがマルチコアそしてメ ニーコアである. 2 から 4 個程度のコアを搭載するマルチコアが普及し. 1406. 情報処理 Vol.49 No.12 Dec. 2008. 参考文献 1)コンピュータの構成と設計 ハードウェアとソフトウェアのインタフェ ース 第 3 版,日経 BP 社. 2)Platform 2015 : Intel Processor and Platform Evolution for the. Next Decade. 3)コンピュータアーキテクチャ定量的アプローチ 第 4 版,翔泳社 (2008). 4)宮本孝道,浅香沙織,見神広紀,間瀬正啓,木村啓二,笠原博徳:情. 報家電用マルチコア上におけるマルチメディア処理のコンパイラによ る並列化,先進的計算基盤システムシンポジウム SACSIS2008 予稿集 (2008). 5)津邑公暁,吉見真聡,中田 尚,片桐孝洋,吉瀬謙二:「Cell スピー ドチャレンジ 2008」実施報告,情報処理学会研究報告 2008-ARC-179 (2008). 6)吉瀬謙二,植原 昂,佐藤真平:メニーコアプロセッサのディペンダ ビリティ向上と高性能を目指す SmartCore システム,情報処理学会 研究報告 2008-ARC-180 (2008). 7)小林良太郎,吉瀬謙二:多機能メニーコアを実現するアーキテクチ ャ技術 Feature-Packing の構想,情報処理学会研究報告 2007-ARC175 (2007). (平成 20 年 10 月 30 日受付). 吉瀬 謙二(正会員). [email protected] 2000 年東京大学大学院情報工学専攻博士課程修了.博士(工学). 同年電気通信大学大学院情報システム学研究科助手.2006 年東京 工業大学大学院情報理工学研究科講師.計算機アーキテクチャ,並 列処理に関する研究に従事.MieruPC プロジェクトリーダー..
(5)
図
関連したドキュメント
9, Tokyo: The Centre for East Asian Cultural Studies for Unesco.. 1979 The Meaninglessness
以上,日本の満洲経営の縮図ともいえる,豊 満発電所の建設と戦後の歴史変遷を考察してき
本論文の構成は、第 1 章から第 3 章で本論文の背景と問題の所在について考察し、第 4
■時刻の設定方法: 1) 秒針が12時位置にあるときに、クラウンを3の位置まで引き出します。
本論文の今ひとつの意義は、 1990 年代初頭から発動された対イラク経済制裁に関する包括的 な考察を、第 2 部第 3 章、第
WANG Bee-Lan Chan(1980), Sex and Ethnic Differences in Educational Investment in Malaysia: The Effect of Reward Structures (Special Theme: Women and Education in the Third World),
の商標です。Intel は、米国、およびその他の国々における Intel Corporation の登録商標であり、Core は、Intel Corporation の商標です。Blu-ray Disc
参考文献 1) K.Matsuoka: Sustained Oscillations Generated by Mutually.. 神経振動子の周波数が 0.970Hz