スケーラブルなコヒーレントインターフェース

スケーラブルコヒーレントインターフェースおよびシリアルエクスプレスユーザー、開発者、および製造業者協会
略語SCIzzL
形成1996
タイプ非営利
Webサイトwww.scizzl.com

スケーラブル・コヒーレント・インターフェース(Scalable Coherent Interface )またはスケーラブル・コヒーレント・インターコネクトSCI)は、共有メモリ・マルチプロセッシングおよびメッセージパッシングのための高速相互接続規格です。その目標は、優れたスケーラビリティ、システム全体にわたるメモリの一貫性、そしてシンプルなインターフェースを提供することでした。つまり、マルチプロセッサシステムにおける既存のバスを、スケーラビリティやパフォーマンスの制限のないバスに置き換える規格です。

IEEE Std 1596-1992、スケーラブルコヒーレントインタフェース(SCI)のIEEE標準は、1992年3月19日にIEEE標準委員会によって承認されました。[ 1 ] 1990年代には多少使用されましたが、広く使用されることはなく、2000年代初頭から他のシステムに置き換えられました。

歴史

1987年にFastbus(IEEE 960)の後継となるFuturebus (IEEE 896)プロジェクトが開始された直後、一部の技術者は、1990年代初頭にリリースされる時点で既に高性能コンピューティング市場にとって遅すぎるだろうと予測した。これを受けて、1987年11月に「Superbus」研究グループが結成された。電気電子学会(IEEE)の標準化団体から別のワーキンググループが分離し、1988年7月にこの市場を対象とした標準を策定した。[ 2 ] これは本質的にFuturebusの機能のサブセットであり、高速で容易に実装でき、VMEbusなどの他のシステムとの接続を容易にするための小さな追加が加えられていた。開発者のほとんどは高速コンピュータバスの開発経験を持っていた。コンピュータ業界および研究コミュニティの企業からの代表者には、Amdahl、Apple Computer、BB&NHewlett-Packard、CERN、Dolphin Server Technology、Cray Research、Sequent、AT&T、Digital Equipment Corporation、McDonnell Douglas、National Semiconductor、Stanford Linear Accelerator Center、Tektronix、Texas Instruments、Unisys、オスロ大学、ウィスコンシン大学が含まれていました。

当初の意図は、コンピュータ内のすべてのバスに単一の標準を適用することでした。[ 3 ] ワーキンググループはすぐに、挿入リングの形でポイントツーポイント通信を使用するというアイデアを思いつきました。これにより、集中容量、物理的な長さ/光速の制限、スタブ反射を回避できるだけでなく、並列トランザクションも可能になりました。挿入リングの使用は、ワーキンググループの初期の会議で提案したマノリス・カテベニスによるものです。この標準策定ワーキンググループは、デビッド・B・グスタフソン(議長)とデビッド・V・ジェームズ(副議長)が主導しました。[ 4 ]

David V. Jamesは、実行可能なCコードを含む仕様の策定に大きく貢献しました。オスロ大学のSte​​in Gjessingのグループは形式手法を用いてコヒーレンスプロトコルを検証し、Dolphin Server Technologyはキャッシュコヒーレンスロジックを含むノードコントローラチップを実装しました。

一例のブロック図

SCIの異なるバージョンと派生製品は、Dolphin Interconnect Solutions、Convex、Data General AViiON(Dolphinのキャッシュコントローラとリンクコントローラチップを使用)、Sequent、Cray Researchなどの企業によって実装されました。Dolphin Interconnect Solutionsは、非コヒーレントな共有メモリアクセスを提供するPCIおよびPCI-Express接続のSCI派生製品を実装しました。この実装は、Sun Microsystemsのハイエンドクラスタ、Thales Group 、HPCクラスタリングと医療用画像処理におけるメッセージパッシングのボリュームアプリケーションなど、いくつかの企業で使用されました。SCIは、非均一メモリアクセスアーキテクチャの実装によく使用されました。また、Sequent Computer SystemsのNUMA-Qシステムのプロセッサメモリバスとしても使用されました。Numascaleは、コヒーレントなHyperTransportと接続するための派生製品を開発しました。

標準

この標準では、次の 2 つのインターフェース レベルが定義されています。

  • 電気信号、コネクタ、機械的および熱的条件を扱う物理的なレベル
  • アドレス空間、データ転送プロトコル、キャッシュ コヒーレンス メカニズム、同期プリミティブ、制御およびステータス レジスタ、および初期化とエラー回復機能を記述する論理レベル。

この構造により、論理レベルでの再設計なしに、物理インターフェース技術の新しい開発を簡単に適応させることができました。

大規模システムのスケーラビリティは、分散ディレクトリベースのキャッシュコヒーレンスモデルによって実現されます。(キャッシュコヒーレンスの他の一般的なモデルは、システム全体のメモリトランザクションの盗聴(スヌーピング)に基づいていますが、これはあまりスケーラブルではありません。)SCIでは、各ノードにディレクトリが含まれ、そのディレクトリには、特定のキャッシュラインを共有するリンクリスト内の次のノードへのポインタが含まれています。

SCIは64ビットのフラットアドレス空間(16エクサバイト)を定義します。このうち16ビットはノード(65,536ノード)の識別に、48ビットはノード内のアドレス(256テラバイト)に使用されます。ノードには多数のプロセッサやメモリを含めることができます。SCI規格はパケット交換ネットワークを定義します。

トポロジー

SCI は、集中型スイッチングから完全分散型スイッチングまで、さまざまなタイプのスイッチング トポロジを持つシステムを構築するために使用できます。

  • 中央スイッチの場合、各ノードはリングレット (この場合は 2 ノード リング) を介してスイッチに接続されます。
  • 分散スイッチング システムでは、各ノードを任意の長さのリングに接続でき、すべてのノードまたは一部のノードを 2 つ以上のリングに接続できます。

これらの多次元トポロジーを記述する最も一般的な方法は、k元nキューブ(またはトーラス)です。SCI標準仕様では、このようなトポロジーが例としていくつか挙げられています。

2次元トーラスは、2次元のリングの組み合わせです。2次元間の切り替えには、ノードに小さな切り替え機能が必要です。これは3次元以上に拡張可能です。折り畳みリングの概念は、トーラストポロジにも適用でき、長い接続セグメントを回避することができます。

取引

SCIは情報をパケットで送信します。各パケットは、16ビットのシンボルの連続したシーケンスで構成されます。シンボルにはフラグビットが付随します。フラグビットの0から1への遷移は、パケットの開始を示します。1から0への遷移は、パケット終了の1シンボル前(エコーの場合)または4シンボル前に発生します。パケットには、アドレスコマンドとステータス情報を含むヘッダー、ペイロード(0から任意のデータ長まで)、およびCRCチェックシンボルが含まれます。パケットヘッダーの最初のシンボルには、宛先ノードのアドレスが含まれます。アドレスが受信ノードが処理するドメイン内にない場合、パケットはバイパスFIFOを介して出力に渡されます。それ以外の場合、パケットは受信キューに送られ、別の次元のリングに転送される可能性があります。すべてのパケットは、スクラバーを通過するときにマークされます(リングが初期化されると、ノードはスクラバーとして確立されます)。有効な宛先アドレスを持たないパケットは、スクラバーを2回目に通過するときに削除されます。これにより、リングがパケットで埋め尽くされ、無限に循環してしまうのを防ぎます。

キャッシュコヒーレンス

キャッシュ コヒーレンスは、マルチプロセッサ システムにおけるデータの一貫性を保証します。初期のシステムで適用されていた最も単純な形式は、コンテキスト スイッチ間でキャッシュの内容をクリアし、2 つ以上のプロセッサ間で共有されるデータのキャッシュを無効にするというものでした。これらの方法は、キャッシュとメモリのパフォーマンス差が 1 桁未満の場合に実行可能でした。メイン メモリよりも 2 桁以上高速なキャッシュを備えた最新のプロセッサでも、データの一貫性を確保するためのより高度な方法がなければ、最適なパフォーマンスにはほど遠いものになります。バス ベースのシステムでは、バスは本質的にブロードキャストであるため、盗聴 (スヌーピング) 手法が使用されます。ポイントツーポイント リンクを備えた最新のシステムでは、スヌープ フィルタ オプションを使用してパフォーマンスを向上させます。ブロードキャストと盗聴は本質的にスケーラブルではないため、SCI では使用されません。

代わりに、SCI は、特定のキャッシュ ラインを共有するプロセッサを含むノードのリンク リストを使用して、分散ディレクトリベースのキャッシュ コヒーレンス プロトコルを使用します。各ノードは、各メモリ ライン (キャッシュ ラインと同じライン長) のタグが付いた、ノードのメイン メモリのディレクトリを保持します。メモリ タグには、リンク リストの先頭へのポインタと、ラインの状態コード (ホーム、フレッシュ、ゴーンの 3 つの状態) が保持されます。各ノードには、キャッシュ ラインを共有するリンク リスト内のノードへの前方および後方ポインタを含むディレクトリを持つ、リモート データを保持するキャッシュも関連付けられています。キャッシュのタグには、7 つの状態 (無効、フレッシュのみ、ヘッド フレッシュ、ダーティのみ、ヘッド ダーティ、ミッド有効、テール有効) があります。

分散ディレクトリはスケーラブルです。ディレクトリベースのキャッシュコヒーレンスのオーバーヘッドは、ノードのメモリとキャッシュの一定割合で発生します。この割合は、メモリで4%、キャッシュで7%程度です。

遺産

SCIは、マルチプロセッサ・コンピュータシステム内の異なるリソースを接続するための標準規格ですが、例えば異なるシステムを接続するイーサネット・ファミリほど広く一般には知られていません。各システムベンダーは、自社のシステムインフラストラクチャ向けに、異なるSCIのバリエーションを実装しています。これらの異なる実装は、プロセッサやメモリシステムの非常に複雑なメカニズムとインターフェースするため、各ベンダーはハードウェアとソフトウェアの両方である程度互換性を維持する必要があります。

グスタフソンは、スケーラブル コヒーレント インターフェイスおよびシリアル エクスプレス ユーザー、開発者、および製造業者協会と呼ばれるグループを率いて、1996 年からこの技術の Web サイトを運営しました。[ 3 ]一連のワークショップが 1999 年を通じて開催されました。1992 年の最初の版の後、[ 1 ]後続のプロジェクトで 1993 年に共有データ形式が定義され、[ 5 ] 1996 年には低電圧差動信号を使用するバージョンが、[ 6 ] 1996 年後半には Ramlink として知られるメモリ インターフェイスが定義されました。 [ 7 ] 1998 年 1 月、SLDRAM社が設立され、SerialExpress または Local Area Memory Port と呼ばれる別のワーキング グループに関連する新しいメモリ インターフェイスを定義する試みに関する特許を取得しました。[ 8 ] [ 9 ] しかし、1999 年初頭までにこの新しいメモリ規格は廃止されました。[ 10 ]

1999年にSCIに関する一連の論文が書籍として出版されました。[ 11 ] 更新された仕様は、国際標準化機構(ISO)の国際電気標準会議(IEC)によって2000年7月にISO/IEC 13961として出版されました。 [ 12 ]

参照

参考文献

  1. ^ a b IEEE標準スケーラブルコヒーレントインタフェース(SCI) . IEEE規格委員会. 1992. ISBN 9780738129501
  2. ^ David B. Gustavson (1991年9月). 「スケーラブル・コヒーレント・インターフェースと関連標準化プロジェクト」(PDF) . SLAC Publication 5656.スタンフォード線形加速器センター. 2013年8月31日閲覧.
  3. ^ a b「Scalable Coherent Interface and Serial Express Users, Developers, and Manufacturers Association」グループのウェブサイト. 2013年8月31日閲覧
  4. ^ 「1596 WG - スケーラブルコヒーレントインターフェースワーキンググループ」ワーキンググループのウェブサイト。 2016年3月4日時点のオリジナルからアーカイブ。 2013年8月31日閲覧
  5. ^ IEEE標準「スケーラブルコヒーレントインターフェース(SCI)プロセッサ向けに最適化された共有データフォーマット」 IEEE標準委員会1994年4月25日ISBN 9780738112091
  6. ^ IEEE スケーラブルコヒーレントインタフェース(SCI)用低電圧差動信号(LVDS)の標準規格。IEEE 標準委員会。1996年7月31日。ISBN 9780738131368
  7. ^スケーラブル・コヒーレント・インターフェース(SCI)シグナリング技術(RamLink)に基づく高帯域幅メモリ・インターフェースのEEE標準。IEEE標準化委員会。1996年9月16日。ISBN 9780738131375
  8. ^ David B. Gustavson (1999年2月10日). 「オルタナティブのための組織化」 .
  9. ^ David V. James; David B. Gustavson; B. Fleischer (1998年5月~6月). 「SerialExpress - 高性能ワークステーション相互接続」. IEEE Micro . 18 (3). IEEE: 54– 65. doi : 10.1109/40.683105 .
  10. ^ David Lammers (1999年2月19日). 「ISSCC: SLDRAMグループがDDR IIに変貌」 . EE Times .
  11. ^ヘルマン・ヘルワーグナー、アレクサンダー・ラインフェルド編 (1999). SCI: スケーラブル・コヒーレント・インターフェース:高性能コンピューティング・クラスターのアーキテクチャとソフトウェア. コンピュータサイエンス講義ノート. シュプリンガー. ISBN 978-3540666967
  12. ^スケーラブルコヒーレントインタフェース(SCI)(PDF)国際規格ISO/IEC 13961 IEEE Std 1596。2000年7月10日。