ゲーム理論からコヒーレンシの統一理論へ

  • By Rajesh Ramanujam
  • 30th 6 2016
  • 2

Adam Smithは、各自にとって最良のことをしている集団は、全員から最良の結果を得られると述べました。しかし、彼の言ったことは半分しか当たっていません。各自および集団にとって最良のことをしている集団は、全員から最良の結果を得られるからです。

この言葉を以前どこで聞いたのだろうと思われたとしたら、「ビューティフルマインド」という映画でジョン・ナッシュを演じたラッセル・クロウが言っていたのです。ジョン・ナッシュはアメリカ人の数学者であり、ゲーム理論に基礎的な貢献を行ったノーベル賞受賞者です。形式的に言うと、ナッシュ均衡は、意思決定者が他者の決定を考慮した最良の戦略を選択したときに発生します。

ゲーム理論からインターコネクトに話を移すと、異機種が混在する機能だけでなくスケーラビリティの観点から、私たちはコヒーレンシの要件の嵐に巻き込まれています。数十種類のプロトコル、バンド幅の適用、リオーダバッファ、順序付けの要件、およびQoSに対処する必要がある非コヒーレントなインターコネクトの複雑な世界では、全体像を見失いがちです。また、コヒーレンシが追加分として扱われる場合、競合する非コヒーレントな要件とコヒーレントな要件に合わせて最適化されたまとまりのないソリューションとなる可能性があります。誤解しないでください。これについて余地はありますが、後ほどご説明する非常に特殊なユースケースに限られています。

ノーベル賞受賞者をあえて無視する場合に生じるいくつかの問題について考えましょう。メッセージを伝えるために、以下に2つのシステムの大まかなブロック図を示します。図1は、コヒーレントなトラフィックと非コヒーレントなトラフィックに別々のインターコネクトを使用したシステムの代表的な論理図を示します。図2は、1つの論理ネットワークでコヒーレントな要件と非コヒーレントな要件の両方を統合したNetSpeedのGeminiを示します。

netspeed1

検討すべき要因には、以下が含まれます。

コヒーレントなバンド幅と非コヒーレントなバンド幅「最も弱い環の原則が当てはまります。」マルチインターコネクトソリューションでは、最も弱い環はインターコネクト間の接続です。たとえば図1では、コヒーレント側に入る非コヒーレントなトラフィックは制約を受け、高いアービトレーションに対処する必要があるため、レイテンシの増加とバンド幅の低下の原因となります。マスタ数の増加に伴い、このソリューションはスケーラビリティが失われる傾向があります。その解決策として、非コヒーレントなトラフィックの間とコヒーレントなトラフィックの間だけでなく、両方のトラフィックの間でも設計時に静的なバンド幅割り当てを行います。それにより、物理的に分離する必要なく、コンフィグラブルな論理的分離が実現します。

動的コヒーレンシ参加:物理的に分割されたインターコネクトでは、それが属している島をベースにしてトラフィックの処理を判別するよう決定が行われていました。ワークロードが動的に変化する現在の異機種混在システムでは、実行時にコヒーレンシ、スヌープ、キャッシュ、IPの機能を更新する必要があります。

システムキャッシュマルチインターコネクトソリューションで使用可能なL3だけが、コヒーレントスペースのニーズに対応できます。RAMは高価な構成要素であり、これを異機種間で共有して再利用することが望まれます。

レイテンシの影響を受けやすいIP非コヒーレントなインターコネクトを組み込んだ一部のスレーブIP(割り込みコントローラーやOCRAMなど)には、CPUの特定の低レイテンシ要件がいくつか適用される場合があります。コヒーレントソリューションによっては、レイテンシの影響を受けやすいスレーブIPのすべてに対応するスレーブポートが十分にあるわけではありません。インターコネクトを通過して、これらのレイテンシの影響を受けやすいIPに到達することは逆効果であり、ピーク使用時に複雑になります。

インターコネクトのデッドロックデッドロックは、プロトコル、ルーティング、トランスポートと、さまざまな層で発生する可能性があります。インターコネクトの間を行き来するトラフィックは、ネットワーク間の依存関係により、デッドロックの危険性が高まります。これを回避する方法の1つは、構成時にデッドロックを排除する、アルゴリズムによる依存関係グラフです。これによって、ネットワークレベルとプロトコルレベルでのデッドロックフリーのインターコネクトが生成されます。

消費電力の管理消費電力は主要な指標の1つとなっており、インターフェイスとポートをシャットダウンする機能は重要な機能です。CPUまたはマスタは、トラフィックをフラッシュすることによって、速やかにインターフェイスをシャットダウンできる必要があります。理想的には、トラフィックはできるだけマスタの近くで終端される必要があります。インターコネクトにまとまりがないため、さまざまなインターコネクトでインターフェイスをシャットダウンするタスクは、不可能でないにしても、複雑になります。

性能追跡インターコネクトはSoCの中心にあるため、性能追跡によって動作をあらかじめ予測できる機能は、SoC開発プロセスの重要な部分となっています。また、これに使用するトラフィックパターンは複雑になり、実際のユースケースを模倣したものになっています。分離した複数のインターコネクトの段階的な性能追跡では、インターコネクト全体の依存関係に対して最も的確な洞察が得られない可能性があります。

プログラミングモデルコヒーレントシステムと非コヒーレントシステムを区別しない、トラフィック全体にわたって統一されたプログラミングモデルを目標としています。

開発時間最後に重要なこととして、マルチインターコネクトにより、設計、検証、および物理的実装の観点から開発時間が増えています。

現在、さまざまな抽象化レベルでマルチインターコネクトが必要な可能性のある特定のシステムがありますが、その理由は以下のとおりです。

      1. 特定のセキュリティまたは安全性の要件による分離

      2. 特定のローカルな接続要件に基づく分割

      3.さまざまな設計チームとサブシステムの所有権により形成された階層

アーキテクチャ設計者が1つのインターコネクトソリューションを視覚化および設計できると同時に、分割できるようにすることを目標としています。

最後に、勝手ながらブッダの言葉を引用させていただきます。「すべての物事は、理由と条件が同時に発生しために現れたり、消えたりするのです。それだけで存在するものなどありません。すべての物事は他のあらゆる物事と関連しているのです。」

Request A Demo

ajaxloader

Crafted @ Lollypop.biz