理想的なインターコネクトの特性とは:オープンコンピューティング向けインターコネクト[前編](4/4 ページ)
あらゆるコンピューティングで必要なインターコネクト。インターコネクトの消費電力は増大の一途をたどっており、その効率性を高めることが重要視されている。本稿では、オープンな高性能コンピューティングのための「理想的な」効率の高いインターコネクトの特性を紹介する。
トポロジ
大規模なシステム向けの最適な構成は、アプリケーションによって異なります。理想的なインターコネクトは、トポロジに対応するルーティングスキームを持たなければならなく、キャッシュコヒーレンシ、リード/ライト、メッセージングにおいて一貫性があります。これは、メッセージングではメモリアドレスがないため、トランザクションルーティングは、キャッシュコヒーレンシ、リードとライトのトランザクションに使用されるメモリアドレスから独立していなければならないことを暗示しています。
メモリアドレスからルーティングを分離することで、ルーティングスキームの効率と拡張性に影響することなく、さまざまなタイプのノードが対応するインターコネクトメモリスペースの量を大きく変更できます。ルーティングスキームは、数十から最大数百万ものノードを持つシステムに効率的に対応しなければなりません。さらに、理想的なインターコネクトルーティングスキームは、全て最小限のレイテンシと低電力で、同じ宛先へのブロードキャスト、マルチキャスト、複数ルートに対応します。
グッドプット
キャッシュコヒーレンシ・トランザクション対応の議論から見ると、コミュニケーションに対する要求が急激に拡大する可能性があるため、システムの規模が大きくなるにつれ、効率が低下することがあります。システムサイズおよび間接的に消費総電力を最小限に抑える1つの方法は、システムの各要素のグッドプットを増加することです。
プロセッサにおいて、内部クロック速度とメモリインタフェース速度を高めた結果、特定の時間単位で実行されるオペレーションが増える場合があります。グッドプットの増加は、電力増加に比例します。当然、プロセッサが実行していることが、これまで以上に迅速にメモリアクセスを行うために待機しているにすぎない場合、同じグッドプットを生み出すためにより多くの電力が使用されます。プロセッサの電力管理はますます洗練され、グッドプットと消費電力の最適な量を実現するために、自動的に内部クロック速度を変更します。
図6で示されるように、インターコネクトの実効帯域幅を高めるにはより多くの電力が必要ですが、対応するグッドプットの増加は保証されません。理想的なインターコネクトについては、グッドプットは実効帯域幅に比例して増加します。理想的なインターコネクトは、インターコネクト電力が演算の制約やI/Oの制約があるアプリケーションのために最適化されるように、複数の実効帯域幅オプションを可能にしなければなりません。
理想的なインターコネクトでは、実効帯域幅の量は、通信の各方向に合わせて最適化できます。トポロジによって、リンクの1つの方向に必要なグッドプットの量は、他の方向に必要な量とは大幅に異なることがあります。アプリケーションにもよりますが、ファイルサーバは受信よりはるかに多くのデータを送信できます。理想的なインターコネクトによって提供される、非対称的なリンクはこれらのアプリケーションに最適です。
フォールトトレランス
障害発生のリスクは、システムの規模に直接比例しています。システムは、電力を消費していても、障害が原因で役に立つ作業ができない場合、最も効率が低くなります。このため、理想的なインターコネクトはフォールトトレランスに対応します。
フォールトトレランスは、即時検出と透過的復旧により、過渡的なエラーの影響を制限することから始まります。理想的なインターコネクトは、迅速な検出、隔離、通知、診断、トランザクションを交換できないリンク状況からの復旧に対応します。理想的なインターコネクトは、冗長なし、コールド/ウォーム/ホットスペア、N+M冗長、並列/重複実行を含む、さまざまな冗長戦略に対応しなければなりません。
ソフトウェア
理想的なインターコネクトは、理想的なインターコネクトの全ての特性に対応するソフトウェアエコシステムを備えています。ソフトウェアは、複数のさまざまなデバイスベンダー間で相互運用可能でなければなりません。統合されたオンチップキャッシュコヒーレンシとアクセラレーションエンジンの利用に対応する必要もあります。また、オフチップキャッシュコヒーレンシ、リード/ライト、メッセージングオペレーションをサポートしなければならず、効率的なRDMAサポートにこれらを統合できることが理想的です。さらに、さまざまなシステムトポロジ、グッドプット最適化、フォールトトレランスに対応しなければなりません。
最適なパフォーマンスに最も関心があるアプリケーションは、理想的なインターコネクトソフトウェアを直接使用できるでしょう。しかし、その他のインターコネクトからの移行に対応するために、理想的なインターコネクト向けソフトウェアは、共通のソフトウェアプラットフォームに統合しなければなりません。例えば、多くの高性能コンピューティング・アプリケーションは、複数の異なるインターコネクトに対応するOpenMPIなどのソフトウェアプラットフォーム上に構築されます。同様に、Hadoopのさまざまなフレーバがビッグデータアプリケーションで使用されます。ユビキタスな「ソケット」インタフェース対応も必要です。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ユニットレベルのクロックゲーティングで消費電力が下がる! モジュール方式のSoCインターコネクト
SoCの低消費電力化で見過ごされがちな“インターコネクト”。ここでは、SoCのダイサイズを縮小し、消費電力を低減できるモジュール方式のSoCインターコネクト技術について紹介する。 - SoCでもマルチコア化は進むのか?
サーバー機器向けのプロセッサは、1つのチップに複数のプロセッサコアを搭載する方向に進化している。この流れはしばらく継続することになりそうだ。では、これと同じ流れが、組み込み機器向けのSoCにも適用されるのだろうか。本稿では、SoCの進化の方向性について考察する。 - FPGAの可能性を広げるプロセッサコア(後編)
FPGAに実装できるプロセッサコアは、FPGAベンダーやIPベンダーから、さまざまなプロダクトが提供されている。それらは、ハードコアやソフトコアという違いだけでなく、機能、回路規模、コストなどについても異なっている。後編では、これらのプロセッサコアをFPGAに実装する際の課題について、インターコネクト、メモリー、アクセラレータ、デバッグという4つの観点に分けて解説する。 - SoC vs.マルチチップ
1つのシステムを1つのICで実現――SoCのコンセプトは明解で、非常に魅力的なものであることに間違いはない。しかしながら、実際にはSoCのように、1つのICにすべてを集積することが最適であるとは限らない。複数のICに機能を分割し、マルチチップでシステムを構築するほうが、SoCを用いるよりも賢明な場合が少なからず存在するのだ。