「暗い」シリコンの時代の生活。 パート3





その他のパーツ: パート1 パート2



この投稿は、 「暗黒の「シリコン」の時代の生活」というストーリーの続きです。 前のパートでは、ストーリーはシリコンの暗い領域でユニバーサルロジックを使用することについてでした。 今回は、特殊なロジックの使用を検討してください。



「専門の騎手」または専門のソリューションの使用。



「ダークシリコンをすべて使用します

専門分野を構築するエリア

コア、それぞれに合わせて調整

手元のタスク(10〜100倍以上

エネルギー効率)、および唯一のターン

必要なものについては...」



ますます多くのマイクロプロセッサトランジスタが「暗くなる」につれて、それらが占める面積は、熱放散と電力消費の観点から指数関数的に安価なリソースになります。 この領域を使用して、並列化によりエネルギー効率を改善する方法の1つは、以前に説明されています。 ただし、このアプローチにはいくつかの制限があります。 理想的な条件下であっても、エネルギー消費を2〜2.5倍しか削減できず、占有面積は2〜3倍に増加します。 さらに、すべてのノードが原則として並列化できるわけではなく、どのプログラムでもデータ並列化を見つけることはできません...

エネルギー効率と引き換えにスペースをより効率的に使用できるアプローチの1つは、ダークシリコンを使用して専用ユニット(コプロセッサー)を実装することです。各ユニットは、汎用プロセッサーよりもはるかに高速またははるかにエネルギー効率(約100〜1000倍)です。 [1]。 さて、必要なアクションの実装は、最も好ましい方法でコプロセッサーと汎用コアの間で分散できます。 同時に、現在使用されていないコプロセッサーユニットは、エネルギーを節約するために完全にオフにすることができます。

将来の特殊なノードの完全な使用の見通しは肉眼で見ることができます。処理、グラフィックス、コンピュータービジョン、ビデオエンコーディングなどのタスク用の特殊なアクセラレータは、今日広く普及しています。 これらのアクセラレータは、特に高並列コンピューティングの場合、生産性とエネルギー効率を桁違いに向上させることができます。

研究者[2]は、この傾向を外挿し、近い将来、大部分が汎用原子核ではなく、特殊化されたユニットで構成されるシステムを目にすることになると予想しています。 文献では、そのようなシステムはコプロセッサー支配アーキテクチャ、またはCoDAと呼ばれます。

以下に示すIntel Medfieldマイクロプロセッサ回路を見ると、この「近い将来」が見た目よりはるかに近いことがわかります。 これは、Intel Mint(x86アーキテクチャに基づく最初のスマートフォン)で使用されているのと同じプロセッサです。 そして、ご覧のとおり、プロセッサコア自体に加えて、クリスタルには多くの異なる特殊ブロックが含まれています。





Intel Medfieldプラットフォーム



ただし、ダークシリコンの問題に対処するための特殊なノードの使用の増加により、開発者(だけでなく)が「バベルの塔の危機」 (バベルの塔の問題)と総称される多くの問題に直面します。 これは、「バベルの混雑」についての聖書の物語の現代の解釈への参照です。言語の混合により、人々はお互いを理解しなくなり、構築を続けることができませんでした。 アクセラレーターの使用により、汎用コンピューティングのアイデアはより断片化され、最終的に計算を実行するソフトウェア開発者、ソフトウェア、ハードウェア間の従来の明確な境界はますます曖昧になっています。 以下に例を示します。

現在、特定のハードウェア向けに設計されており、同様のアーキテクチャ(AMD)にも転送できないCUDAなどの専門化された言語が人気を博しています。 (CUDAには代替手段がありますが、それについてではありません)

アクセラレータの専門化が過剰であるという問題があり、そのため、主な目的に密接に関連するタスクにも適用できません。 たとえば、科学的な目的で実行された二重計算が、グラフィックタスクに特化した浮動小数点ユニットを持つGPUで誤った結果を与える場合があります。

また、異種ハードウェアをプログラミングするための過度の努力による開発の導入に関する問題が知られています。 たとえば、ゲームの移植やCellプロセッサアーキテクチャのプログラミング機能の使用が困難なため、Sony Playstation 3の人気は徐々に高まっています。

そして最後に、特殊なハードウェアノードは陳腐化のリスクにさらされています。 標準は時々改訂され(たとえば、JPEG標準の更新)、デバイスの交換以外のハードウェア実装の変更は失敗します。



システムの複雑さから人々を隔離します 。 上記のすべての要因は、CoDAの開発とプログラミングに必要な労力が指数関数的に増加する可能性があることを示しています。 バベルの塔の危機との戦いには、特殊化を表現する手段と、将来の処理システムでの特殊化の使用方法に対する新しいアプローチの出現が必要です。 電力消費を最小限に抑え、パフォーマンスを最大化するために、特殊なノードを普遍的に使用する新しいスケーラブルなアーキテクチャソリューションが必要です。



アムダールの法律によって専門化に課せられた制限を克服するアムダールの法則は、コンピューターの数の増加に伴うコンピューターシステムの生産性の成長の制限を示しています。 専門化とエネルギー消費に関するその解釈は、たとえば、実行された計算の半分しかアクセラレーターに転送できない場合、エネルギー消費は2倍以下に削減できることを意味します(アクセラレーターによる)。 これは、専門化に対する追加の障害として機能し、定期的、並列的、予測可能なだけでなく、不規則なほとんどの計算でエネルギーを節約できる方法を探します。

現在、プログラムコードの断片からアクセラレータを自動生成する分野で研究が行われています。 目標は、プログラムの頻繁に使用される、低速またはエネルギーを消費するセクション、つまり「ホットスポット」を検出することです。 そして、同じアクションを実行するが、はるかに高速であるか、エネルギー消費が少ない特殊なカーネルの記述を合成します。 このような特殊なカーネルは、 保存コアまたはc-coreと呼ばれます。







規則的な計算と不規則な計算の両方を目的としたCoDAシステムを構築するこのアプローチの例は、UCSD GreenDroidプロセッサです[3]。 このアプローチは、Androidモバイル環境での「ホットスポット」の検出と、コンパイラがコードの「ホット」セクションの実行を転送する何百もの保護コアの使用に基づいています。 このアプローチにより、プログラマー側の追加作業なしで、エネルギー効率の8〜10倍のゲインを達成できます。 (もちろん、このトピックは別の投稿に値する:))





GreenDroid Conservation Coresのライフサイクル



NTVプロセッサとは異なり、このアプローチでは、シリアル実行でのパフォーマンスの損失をカバーするために追加の同時実行性を探す必要はありません。 その結果、シーケンシャルタスクを含む幅広いタスクでc-coreが使用される可能性が高くなります。 ただし、高度な並列ロードの場合、NTVプロセッサには利点があります。



これで、「ダーク」シリコンとは何か、そしてその使用への主なアプローチは何かという話は終わりです。 ムーアの法則の世代ごとにシリコンが暗くなっているという事実にもかかわらず、この分野の研究者にとって、未来は明るく刺激的なものに見えます。 時間の経過とともに、ダークシリコンはコンピューティングスタック全体を変化させます。 そして、これらの変更は、さらなる研究と改善のための多くの機会をもたらします。

*また、システムレベルの最適化など、「ダーク」シリコン、エネルギー、温度の問題に関連する「非古典的な」テーマもあります。 このトピックに関心がある場合は、関連する継続があります。

UPD: 続編が登場します。



ソース



1. Venkatesh、Sampson、Goulding、Garcia、Bryksin、Lugo-Martinez、S。Swanson、およびMB Taylor。 「保全コア:成熟した計算のエネルギーを削減します。」ASPLOS、2010年。

2. N. Hardavellas、M。Ferdman、B。Falsa_、およびA. Ailamaki。 「サーバーのダークシリコンに向けて」IEEE Micro、2011年。

3. N. Goulding-Hottaほか「GreenDroidモバイルアプリケーションプロセッサ:シリコンの暗い未来のためのアーキテクチャ」Micro、IEEE、2011年3月。



All Articles