役に立つヒント

スーパーコンピューター用のネットワーク

Pin
Send
Share
Send
Send


分散コンピューティングは、いくつかの興味深いプロジェクトに貢献する1つの方法です。コンピューターがアイドル状態のとき、地球外文明を探しているSETIプロジェクトとその力を共有してください。この場合、コンピューターは衛星データと望遠鏡から受信した情報を分析します。

この記事は、分散コンピューティングを含むプロジェクト(SETIなど)に参加するのに役立ちます。この記事では、分散コンピューティングソフトウェアであるBOINCも紹介しています。

コンピューターが必要です。既にお持ちの場合は、[ソースとリンク]セクションに移動してBOINCソフトウェアをインストールしてください。 SETIプロジェクトに興味がない場合は、以下に他のプロジェクトのリストがあります。

たくさんのお金が

それとは別に、Intel Xeon LGA1567ソケットに搭載されている非常に高価で生産性の高いプロセッサラインに注目します。
このシリーズのトッププロセッサは、10個の2.4 GHzコアを備えたE7-8870です。その価格は4616ドルです。このようなCPUについては、HPとSupermicroがリリースされています! 8プロセッサ!サーバーシャ​​ーシ。ハイパースレッディングを備えた8つの10コアXeon E7-8870 2.4 GHzプロセッサは、8個のスレッドをサポートします。これは、Windowsタスクマネージャーでプロセッサの負荷の160グラフ、マトリックス10x16として表示されます。

8個のプロセッサがケースに収まるようにするために、それらはマザーボード上にすぐに置かれるのではなく、マザーボードにくっつく別のボードに置かれます。写真は、マザーボードにプロセッサがインストールされた4つのマザーボードを示しています(それぞれに2つ)。これはSupermicroソリューションです。 HPソリューションでは、各プロセッサに独自のボードがあります。 HPソリューションのコストは、プロセッサの数、メモリなどに応じて200万から300万です。 Supermicroシャーシの価格は10,000ドルで、これはより魅力的です。さらに、Supermicroは4枚のコプロセッサー拡張カードをPCI-Express x16ポートに挿入できます(ところで、Infinibandアダプターがこれらのクラスターを組み立てる余地があります)が、HPには2枚しかありません。したがって、スーパーコンピューターを作成するには、Supermicroの8プロセッサープラットフォームがより魅力的です。展示の次の写真は、4つのGPUボードを備えた完全なスーパーコンピューターを示しています。

しかし、それは非常に高価です。

通信ネットワーク

多くのアプリケーションでのスーパーコンピューターの有効性は、主にメモリとネットワークを操作するプロファイルによって決まります。メモリを操作するプロファイルは、通常、呼び出しの時空間的なローカリゼーションによって記述されます-呼び出しのサイズとそのアドレスの分散によって、ネットワークで動作するプロファイルは、メッセージが交換されるノードの分布、交換レート、およびメッセージサイズによって記述されます。

ノード間の集中的なデータ交換(モデリングの問題、グラフと不規則なグリッドの問題、疎行列を使用した計算)を伴うタスクでのスーパーコンピューターのパフォーマンスは、主にネットワークパフォーマンスによって決定されるため、従来の商用ソリューション(たとえば、ギガビットイーサネット)の使用は非常に非効率的です。ただし、実際のネットワークは常に妥協的なソリューションであり、その開発では、価格、性能、エネルギー消費、および主に相反する他の要件の間に優先順位が設定されます.1つの特性を改善しようとすると、他の特性が悪化する可能性があります。

通信ネットワークはノードで構成され、各ノードには1つ以上のルーターに接続されたネットワークアダプターがあり、これらのルーターは高速通信チャネル(リンク)で相互接続されています。

図1.トポロジー4Dトーラス(3x3x3x3)

システムのノードがどのように相互接続されるかを正確に決定するネットワーク構造は、ネットワークトポロジ(通常は格子、トーラスまたは太いツリー)および構造パラメーターのセットによって決定されます:測定の数、ツリーレベルの数、トーラスの側面の寸法、ツリーレベルのスイッチの数、ネットワークノードの数ルーターなどのポート図1に、4次元トーラス3x3x3x3のトポロジの例を示します。

ルーターのアーキテクチャは、ネットワークノード間のデータ転送を担当するブロックの構造と機能、およびルーティング、調停、データフロー制御アルゴリズムなど、チャネル、ネットワーク、トランスポート層のプロトコルの必要なプロパティを決定します。ネットワークアダプターのアーキテクチャは、プロセッサ、メモリ、ネットワーク間の相互作用に関与するブロックの構造と機能を決定します。特に、このレベルではRDMA(リモートダイレクトメモリアクセス-プロセッサの関与なしに別のノードのメモリに直接アクセス)でMPI操作がサポートされます。パケットの別のノードによる受信の確認、例外的な状況の処理、パケットの集約。

通信ネットワークのパフォーマンスを評価するには、次の3つの特性が最もよく使用されます。 帯域幅 (単位時間あたりに転送されるデータの量)、 通信遅延 (ネットワーク上のデータ転送時間)、 メッセージペース (通常、ルーターの内部ユニット間でパケットを送信、受信、および送信するとき、配信レートを個別に考慮します)。

完全性のために、これらの特性は、たとえば、1つのノードが他のすべてのノードにデータを送信するとき、逆に、すべてのノードが1つのノードにデータを送信するとき、またはすべてのノードがランダムな宛先にデータを送信するときなど、さまざまなタイプのトラフィックで測定されます。最新のネットワークには機能要件が課されています。

  • 一方向通信モデルをサポートするオプションとしてのShmemライブラリの効果的な実装、および多くのPGAS言語の実装のベースとなっているGASNet
  • MPIの効率的な実装(通常、これには、受信パケットのリングバッファと確認応答のメカニズムの効果的なサポートが必要です)、
  • 集合操作の効果的なサポート:ブロードキャスト(同じデータを多くのノードに同時に送信)、削減(たとえば、異なるノードから受け取った値のセットにバイナリ演算を適用)、ノードのセットに配列要素を分散(スキャッター)、要素の配列を組み立て、異なるノードにある(収集)、
  • ノード間の同期操作(少なくともバリア同期)の効果的なサポート、ノード上の多数のプロセスのネットワークとの効果的な相互作用、および信頼性の高いパケット配信を保証します。

プロセッサの関与なしにホストのメモリと直接アダプタの作業を効果的にサポートすることも重要です。

外国の高速ネットワーク

すべての通信ネットワークは、コンピュータシステムの一部として開発され、それらでのみ利用可能な商用とカスタムの2つのクラスに分類できます。商用ネットワークの中で、市場はInfiniBandとイーサネットに分かれています。Top500リスト(2011年6月)では、システムの42%がInfiniBandを使用し、45%がギガビットイーサネットを使用しています。同時に、InfiniBandが多数の通信を伴う複雑なコンピューティングタスク用に設計された高性能システムのセグメントに焦点を合わせている場合、従来、ノード間のデータ交換が重要でないニッチを占有します。スーパーコンピューターでは、イーサネットネットワークは、その低コストと可用性のために、制御トラフィックとタスクトラフィックの干渉を減らすために補助サービスネットワークとしてよく使用されます。

Inifinibandネットワークは当初、Fatツリートポロジを使用した構成に重点を置いていましたが、最新バージョンのスイッチとルーター(主にQLogicが製造)は、多次元トーラストポロジ(Torus-2QoSルーティングエンジンを使用)と3Dトーラスのハイブリッドトポロジをサポートしています太った木。 2010年の初めに組み立てられ、現在Top500で16位になっているSandia RedSkyスーパーコンピューターは、InfiniBandネットワークとトポロジー3Dトーラス(6x6x8)を備えた最初の大規模プロジェクトの1つです。また、RDMA操作とShmemライブラリ(特にQlogic Shmem)の効果的なサポートにも多くの注意が払われています。

InfiniBandの人気は、比較的低コストで、ソフトウェアのエコシステムが発達しており、MPIを効果的にサポートしているためです。ただし、InfiniBandには欠点があります:メッセージ配信の速度が遅い(Mellanoxの最新のソリューションでは1秒あたり4,000万メッセージ)、短いパケットの伝送効率が低い、比較的大きな遅延(ノード間伝送で1.5μs以上、追加の0.1-トランジットノードあたり0.5μs)、トロイダルトポロジの弱いサポート。一般に、InfiniBandは大衆ユーザー向けの製品であり、開発中に効率と汎用性の間で妥協が行われたと言えます。

ネットワークExtollも注目に値します。これは、市場での発売に向けて準備されています。UlrichBruening教授の指導の下でのハイデルベルク大学の開発です。このネットワークの開発における主な重点は、一方向通信の遅延を最小限に抑え、配信速度を上げることです。 Extollは3Dトーラストポロジーを持ち、レーンあたり10 Gb / sの帯域幅(リンク内のシリアルデータ伝送チャネル)とリンクあたり12レーンの幅の光リンクを使用する予定です。現在、FPGAにはExtollネットワークのプロトタイプがあります。R1-Virtex4ベース、R2 Ventoux-Virtex6ベースの2ノードレイアウト。リンクごとの一方向帯域幅は600 MB / s(R1の場合)です。プロセッサを備えた2つのインターフェイス(HyperTransport 3.0およびPCI Express gen3)もサポートされ、このネットワークをIntelおよびAMDプラットフォームに統合できます。 Extollは、一方向レコード、独自のMMU(メモリ管理ユニット、仮想アドレスから物理アドレスへの変換ブロック)、およびアトミック操作を整理するいくつかの方法をサポートしています。

商用ネットワークとは異なり、カスタムネットワークははるかに小さな市場シェアを占めていますが、Cray、IBM、SGI、Fujitsu、NEC、Bullの最も強力なスーパーコンピューターで使用されています。カスタムネットワークを設計する場合、開発者は最終製品の市場の魅力の重要性が低いため、より自由度が高く、より進歩的なアプローチを使用して、特定のタスククラスで最大のパフォーマンスを得るという問題を解決します。

K Computerスーパーコンピューターは、独自の豆腐(トーラスフュージョン)通信ネットワークを使用します。これは、ノードに12ノードのグループが含まれるスケーラブルな3Dトーラスです(ノードのグループは3Dトーラスで12のネットワークで接続され、このグループの各ノードには独自の出力があります) 3Dトーラスネットワーク)。各グループ内のノードは、重複リンクのない側面2x3x4の3Dトーラスによって相互接続されます。これは、側面3x4の2Dトーラスに相当します(したがって、固定2次元の5Dトーラスを取得します)。したがって、豆腐ネットワークノードには、それぞれ40 Gb / sの片方向スループットの10個のリンクがあります。ノードのバリア同期と削減(整数および浮動小数点)は、ハードウェアでサポートされています。

Tianhe-1Aスーパーコンピューターの開発における主な目標は、高いエネルギー効率を実現し、InfiniBand QDRよりも優れた独自のプロセッサーとネットワークを開発することでした。スーパーコンピューターは、独自の設計のArchネットワークと太いツリートポロジで接続された7168のコンピューティングノードで構成されています。ネットワークは、16ポートルーター、一方向リンク帯域幅-8 GB /秒、遅延-1.57μsで構築されています。 RDMA操作がサポートされ、集合操作が最適化されました。

トロイダルトポロジを使用して計算ノードを結合するシステムの古典的な代表例は、IBM Blue Geneシリーズのシステムです。最初の2世代では、Blue Gene / L(2004)およびBlue Gene / P(2007)-3Dトーラストポロジを使用しました。 Blue Gene / Pのネットワークには、片側の帯域幅が0.425 GB / sの比較的弱いリンクがあり、これは、現在のInfiniBand QDRリンクの帯域幅よりも桁違いに小さいですが、バリア同期と集合操作(​​個別のツリーのようなネットワーク上)のハードウェアベースのサポートにより、優れたスケーラビリティが実現します実際のアプリケーション。さらに、すべてのインターフェイスとルーティングユニットがBPCマイクロプロセッサ(Blue Gene / Pチップ)に統合されているため、メッセージの送信遅延が大幅に削減されます。次世代の通信ネットワークBlue Gene / Qには5D-torトポロジがあり、前身とは異なり、バリア同期と集合操作のための個別のネットワークはありません。 Blue Gene / Qチップは初めてマルチコア-マルチスレッドになりました-16コアのコアあたり4つのハードウェアスレッドにより、ネットワーク要件を緩和し、遅延耐性を確保できます。リンクのスループットは2 GB / sに増加しましたが、Cray GeminiまたはExtollと比べると依然として小さいままです。これらのシステムの低スループットは、トーラスの大きな次元(多数のリンク)と、結果としてネットワークの小さな直径(同じ数のノードを持つ3Dトーラストポロジを持つネットワークの直径よりも著しく小さい)によって平準化されます。利用可能なソースは、2つのBlue Gene / Qトランスペタフロップススーパーコンピューターの作成を報告しています:20 PFLOPSおよびMira-10 PFLOPSのパフォーマンスを備えたSequoia。 Blue Gene / Qは、「all to all」タイプのネットワークトラフィックで数万および数十万のコンピューティングノードを使用するタスクに焦点を当てていると結論付けることができます。

トロイダルトポロジで通信ネットワークを構築するアプローチのもう1つの支持者はCrayです。Crayは、3D torトポロジを引き続き使用しながら、スループットと隣接ノードを接続するリンクの数を増やします。 Crayトロイダルネットワークの現在の世代は、Cray Geminiネットワークです。 1つのGeminiルーターは、以前のSeaStar2 +世代の2つのルーターに対応します。つまり、実際には2つのネットワークノードに対応します。したがって、Geminiでは、6つのリンクの代わりに10が隣接ノードへの接続に使用されます(2つは2つのアダプターを相互に接続します)。

プロセッサとは異なり、スーパーコンピューターのネットワークのコンポーネント(ネットワークアダプター、スイッチ、ルーター)は、多くの場合より高価であり、それらへのアクセスはより制限されます。たとえば、現在、スーパーコンピューターの主要な商用ネットワークであるInfiniBandネットワークのスイッチは、2社のみが製造しており、どちらも米国によって管理されています。これは、高速ネットワークの分野で独自の開発が行われていない場合、米国、中国、日本を除くすべての国での現代のスーパーコンピューターの作成を簡単に制御できることを意味します。

国内ネットワーク

スーパーコンピューターで使用する通信ネットワークの開発は、多くの国内組織によって行われています:RFNC VNIIEF(オープンソースのこれらの開発に関する情報はほとんどありません)、ロシア科学アカデミーおよびRSK SKIFのソフトウェアシステム研究所、IPM RASおよびResearch Institute Kvant(MVS-Expressネットワーク) ")。

ロシアとイタリアのスーパーコンピューターSKIF-Auroraの3D tor通信ネットワークは、Altera Stratix IV FPGAを使用して完全に構築されています。これは、リンクあたりの帯域幅がかなり小さい1.25 GB / sを説明します(FPGAリソースは非常に限られています)。

MVS-Expressネットワークでは、PCI Express 2.0を使用してコンピューティングノードを統合し、ノードは24ポートスイッチを介して接続されます。ネットワークには、ファットツリーに近いトポロジがあります。コンピューティングノードのネットワークアダプターには、4レーン幅のポートが1つあります。その結果、リンクあたりの一方向のピークスループットは、エンコードオーバーヘッドを考慮せずに20ギガビット/秒になります。 MVS-ExpressでPCI Expressを使用する利点は、一方向通信の可能性がある共有メモリの効率的なサポートです。その結果、ネットワークはShmemライブラリとPGAS言語(UPC、CAF)の実装に便利です。

NICEVT OJSCは、ロシア連邦産業貿易省の支援を受けて、4D-torトポロジーを備えたアンガラ通信ネットワークの開発に取り組んでいます。これは、スーパーコンピューター開発のための国内技術を作成するための基盤となります。

ネットワーク「アンガラ」

アンガラネットワークの開発の主な目的:

  • 一方向通信(put / get)およびPGAS言語(並列プログラミングの主な手段として)の効果的なサポート、
  • 効果的なMPIサポート
  • 独自の水晶のリリース(高データ転送速度と低遅延を達成するため)
  • 適応型フェイルセーフパケット伝送、
  • 最新のプロセッサとチップセットを使用した効果的な作業。

このネットワークの開発の最初の段階(2006年)で、さまざまなネットワークオプションのシミュレーションが実行され、トポロジ、ルーターアーキテクチャ、ルーティングアルゴリズム、および調停に関する主な決定が行われました。トロイダルトポロジに加えて、Cayleyネットワークと「太いツリー」が考慮されました。 4次元トーラスが選択された理由は、小さいトーラスと比較して、ルーティングが単純で、スケーラビリティが高く、接続性が高いためです。ネットワークモデリングにより、ネットワークアーキテクチャのさまざまなパラメーターが主なパフォーマンス特性に与える影響を詳細に調査し、メモリへの集中的な不規則なアクセスを伴うタスクのトラフィックのパターンを理解することができました。その結果、最適なバッファサイズ、仮想チャネルの数が選択され、潜在的なボトルネックが分析されました。

2008年、FPGAルーターの最初のプロトタイプが登場しました-2x3トーラスに接続されたVirtex4上の6つのノードのネットワークレイアウトで、ルーターの基本機能がデバッグされ、フォールトトレラントなデータ伝送が行われ、ドライバーと低レベルライブラリが作成されてデバッグされ、Shmemライブラリが移植され、 MPI 2次元トーラス3x3で接続された9つのノードで構成される第3世代のレイアウトを開始しました。 Собран стенд с двумя узлами для тестирования новых разъемов и каналов передачи данных, предполагаемых к использованию с будущими кристаллами маршрутизатора ВКС. При разработке принципов работы сети ряд деталей был позаимствован из работ и , а также в том или ином виде из архитектур IBM Blue Gene и Cray SeaStar.

Сеть «Ангара» имеет топологию 4D-тор. Поддерживается детерминированная маршрутизация, сохраняющая порядок передачи пакетов и предотвращающая появление дедлоков (взаимных блокировок), а также адаптивная маршрутизация, позволяющая одновременно использовать множество путей между узлами и обходить перегруженные и вышедшие из строя участки сети. 多次元トーラスにツリーのトポロジを重ねた仮想サブネットを使用して実装された集合操作(​​ブロードキャストと削減)のサポートに特に注意が払われました。ハードウェアレベルのネットワークは、2種類のリモート書き込み、読み取り、およびアトミック操作(追加および排他的OR)をサポートします。リモート読み取り実行スキーム(要求の送信と応答の受信)を図5に示します。 2(リモート記録とアトミック操作は同様に実行されます)。別のブロックで、ネットワークから受信したメッセージを集約するロジックが実装され、ホスト(ホストはプロセッサ-メモリ-ブリッジブリッジ)とのインターフェイスを介して送信する際に、トランザクションごとに有用なデータのシェアを増やします。

図2.アンガラネットワークでのリモート読み取りのスキーム

データリンク層では、フェイルセーフパケット送信がサポートされています。ルーティングテーブルを再構築することにより、障害が発生した通信チャネルとノードをバイパスするメカニズムもあります。さまざまなサービス操作(特に、ルーティングテーブルの構成/再構築)を実行し、いくつかの計算を実行するには、サービスプロセッサが使用されます。ホストインターフェイスはPCI Expressを使用します。

図3.ネットワークアダプター/ルーター「Angara」を備えたコンピューティングノードの構造

ルーターの主なブロック:

  • ホストシステムとのインターフェース、ホストインターフェース上でパケットを送受信する役割
  • ネットワークに送信されるパケットを形成し、ネットワークからのパケットのヘッダーを解析する注入および排出ユニット
  • ホストシステムのメモリからの情報を必要とするパケットを処理するリクエスト処理ユニット(読み取りやアトミック操作など)
  • 集合操作に関連するパケットを処理する集合操作ネットワークユニット。特に、削減操作の実行、ブロードキャスト要求パケットの生成、
  • サービスコプロセッサとの間で送受信されるパケットを処理するサービスオペレーションユニット、
  • さまざまな仮想チャネルからの入力とさまざまな方向および排出装置への出力を備えた噴射装置からの入力を接続するスイッチ、
  • 特定の方向でデータを送受信するための通信チャネル、
  • 特定の方向にパケットを送信するためのデータ送信ユニット、およびパケットを受信し、それらの将来の運命を決定するための受信およびルーティングユニット。

ルーターとのホストの相互作用(中央プロセッサで実行されるコード)は、ルーターのリソース領域のアドレスにマップされたメモリアドレス(メモリマップド入力/出力)に書き込むことによって実行されます。これにより、アプリケーションはカーネルに参加せずにルーターとやり取りできます。これにより、パケットの送信オーバーヘッドが削減されます。これは、カーネルコンテキストへの切り替えに100クロックサイクル以上かかるためです。パケットを送信するために、リングバッファと見なされるメモリ領域の1つが使用されます。また、メモリとメモリをコピーせずに操作を実行するための別の領域(データはメモリから読み取られ、DMA操作を介して通信ネットワークのアダプタによって書き込まれます)と制御レジスタを持つ領域があります。ルーターの特定のリソースへのアクセスは、核モジュールによって制御されます。

効率を高めるために、1つのノードで1つの計算タスクのみを実行することを決定しました。これにより、仮想メモリの使用に伴うオーバーヘッドが排除され、タスクの干渉が回避され、完全なMMUがないためルーターのアーキテクチャが簡素化され、すべてが回避されました彼の通信遅延の作業、およびネットワークセキュリティモデルを簡素化し、1つのノード上のさまざまなタスクのプロセスのセキュリティを排除します。このソリューションは、主に大規模なタスクを対象としたネットワークの機能には影響しませんでした(InfiniBandとは異なり、さまざまなサイズのタスク用のユニバーサルネットワーク)。 IBM Blue Geneでも同様の決定が行われ、このセクションではタスクの一意性に関する制限が導入されています。

ハードウェアレベルでは、1つのタスクの多数のスレッド/プロセスのルーターとの同時作業がサポートされます。これは、パケットを記録するための複数のリングバッファーを介してプロセスが使用できる複数のインジェクションチャネルの形式で実装されます。これらのバッファの数とサイズは動的に変更できます。

Angaraネットワークの主なプログラミングモードは、MPI、OpenMP、Shmem、GASNet、UPCの併用です。

ネットワークの検証とプロトタイピングが完了した後、VLSIチップをリリースする予定です。プロトタイプVLSIバッチは、基本的な技術ソリューション、技術プロセス、およびシミュレーション結果の実験的検証をデバッグするために設計されます。プロトタイプには、すべての基本機能が含まれ、PCI Express gen2 x16インターフェースおよび75 Gb / sのスループットのリンクで動作します。

Angaraネットワークを2つのバージョンで市場に売り込む予定です:標準プロセッサとチップセットを備えたクラスタシステム用のPCI Expressカードの形の独立した商用ネットワークとして、およびNICEVTで開発されているAMDプロセッサに基づく4ソケットブレードシステムの一部として。

Pin
Send
Share
Send
Send