JP2023517172A - 3次元メッシュ・トポロジにおけるコンピューティング・ノードの構成 - Google Patents

3次元メッシュ・トポロジにおけるコンピューティング・ノードの構成 Download PDF

Info

Publication number
JP2023517172A
JP2023517172A JP2022546577A JP2022546577A JP2023517172A JP 2023517172 A JP2023517172 A JP 2023517172A JP 2022546577 A JP2022546577 A JP 2022546577A JP 2022546577 A JP2022546577 A JP 2022546577A JP 2023517172 A JP2023517172 A JP 2023517172A
Authority
JP
Japan
Prior art keywords
computing nodes
topology
mesh
node
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022546577A
Other languages
English (en)
Inventor
アッセマン、アレクシス
オズカン、アーメット
コックス、チャールズ
ナラヤナン、プリティッシュ
アントワーヌ、ニコラス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2023517172A publication Critical patent/JP2023517172A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/247Multipath using M:N active or standby paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Advance Control (AREA)

Abstract

N×M×Zトポロジのメッシュ内に配置されたコンピューティング・ノードの集合体を有する再構成可能な計算デバイスで使用するためのコンピュータ実施方法が提供され、コンピューティング・ノードは、計算ハードウェアを含み、Z<NかつZ<Mであり、NおよびMは、少なくとも4に等しい。方法は、計算デバイスを使用して、(i)初期のシステムI/O帯域幅および(ii)初期のシステム・ノード間レイテンシを特徴とする計算を実行することと、デバイスをN’×M’×Z’トポロジのメッシュに再構成することであって、N、M、およびZの値のうちの少なくとも2つが、それらの対応するN’、M’、およびZ’の値とは異なり、N×M×ZがN’×M’×Z’に等しい、再構成することと、デバイスを使用して、(i)修正されたシステムI/O帯域幅および(ii)修正されたシステム・ノード間レイテンシを特徴とする計算を実行することとを含む。

Description

本発明は、並列処理システムに関し、より詳細には、本発明は、並列処理システム内の入力/出力(I/O)帯域幅およびノード間レイテンシ(node-to-node latency)を最適化することに関する。
並列処理システムは、多くの異なるタイプおよび量のデータに対する計算の実行に有用である。例えば、並列処理システムを使用して、1つまたは複数のニューラル・ネットワークを実装してもよい。しかしながら、並列処理システムは現在、ワークロードの要求の変化に応じてその性能特性を調整することができない。
一実施形態によるコンピュータ実施方法は、N×M×Zトポロジの3次元(3D)メッシュ内に配置された複数のコンピューティング・ノードを最初に有する処理デバイスによって実行されるべき所定の動作を識別することであって、Z<NかつZ<Mであり、NおよびMが少なくとも4に等しい、識別することと、所定の動作の実行中に使用される複数のコンピューティング・ノードにとって最適な入力/出力(I/O)帯域幅または最適なノード間レイテンシあるいはその両方を決定することと、複数のコンピューティング・ノードにとって最適なI/O帯域幅および最適なノード間レイテンシを可能にする調整された3Dメッシュ・トポロジを取得するために3Dメッシュ・トポロジの寸法を調整することであって、前記調整することが、複数のコンピューティング・ノードをN’×M’×Z’トポロジの3Dメッシュに再構成することを含み、N、M、およびZの値のうちの少なくとも2つが、それらの対応するN’、M’、およびZ’の値とは異なり、N×M×Zが、N’×M’×Z’に等しい、調整することと、複数のコンピューティング・ノードがN’×M’×Z’トポロジの調整された3Dメッシュ内に配置された状態で、所定の動作を実行することとを含む。
別の実施形態によれば、3次元(3D)メッシュ・トポロジにおいてコンピューティング・ノードを構成するためのコンピュータ・プログラム製品は、プログラム命令が具現化されたコンピュータ可読記憶媒体を含み、コンピュータ可読記憶媒体は、一過性の信号自体ではなく、プログラム命令は、プロセッサに、処理デバイスによって、N×M×Zトポロジの3次元(3D)メッシュ内に配置された複数のコンピューティング・ノードを最初に有する処理デバイスによって実行されるべき所定の動作を識別することであって、Z<NかつZ<Mであり、NおよびMが少なくとも4に等しい、識別することと、処理デバイスによって、所定の動作の実行中に使用される複数のコンピューティング・ノードにとって最適な入力/出力(I/O)帯域幅または最適なノード間レイテンシあるいはその両方を決定することと、複数のコンピューティング・ノードにとって最適なI/O帯域幅および最適なノード間レイテンシを可能にする調整された3Dメッシュ・トポロジを取得するために、処理デバイスによって3Dメッシュ・トポロジの寸法を調整することであって、前記調整することが、処理デバイスによって複数のコンピューティング・ノードをN’×M’×Z’トポロジのメッシュに再構成することを含み、N、M、およびZの値のうちの少なくとも2つが、それらの対応するN’、M’、およびZ’の値とは異なり、N×M×Zが、N’×M’×Z’に等しい、調整することと、複数のコンピューティング・ノードがN’×M’×Z’トポロジの調整された3Dメッシュ内に配置された状態で、処理デバイスによって所定の動作を実行することとを含む方法を実行させるように、プロセッサによって実行可能である。
別の実施形態によれば、システムは、N×M×Zトポロジのメッシュ内に配置されたコンピューティング・ノードの集合体であって、ノードが、計算ハードウェアを含み、Z<NかつZ<Mであり、NおよびMが少なくとも4に等しい、コンピューティング・ノードの集合体と、メッシュの側面のうちの1つとインターフェースされたI/O接続の集合体であって、前記側面が、N×Mのノードを有し、I/O接続の各々が、前記側面内のノードのうちの一意の1つに結び付けられる、I/O接続の集合体と、I/O接続に結び付けられたI/Oカードとを含む。
別の実施形態によれば、N×M×Zトポロジのメッシュ内に配置されたコンピューティング・ノードの集合体を有する再構成可能な計算デバイスで使用するためのコンピュータ実施方法が提供され、コンピューティング・ノードは、計算ハードウェアを含み、Z<NかつZ<Mであり、NおよびMは、少なくとも4に等しい。方法は、計算デバイスを使用して、(i)初期のシステムI/O帯域幅および(ii)初期のシステム・ノード間レイテンシを特徴とする計算を実行することと、デバイスをN’×M’×Z’トポロジのメッシュに再構成することであって、N、M、およびZの値のうちの少なくとも2つが、それらの対応するN’、M’、およびZ’の値とは異なり、N×M×ZがN’×M’×Z’に等しい、再構成することと、デバイスを使用して、(i)修正されたシステムI/O帯域幅および(ii)修正されたシステム・ノード間レイテンシを特徴とする計算を実行することとを含む。
本発明の原理を例として説明した以下の詳細な説明を図面と併用することにより、本発明の他の態様および実施形態が明らかになるであろう。
本発明の一実施形態による、ネットワーク・アーキテクチャを示す図である。 本発明の一実施形態による、図1のサーバまたはクライアントあるいはその両方に関連し得る代表的なハードウェア環境を示す図である。 本発明の一実施形態による、階層型データ・ストレージ・システムを示す図である。 本発明の一実施形態による、個々のハードウェア・カードの例示的な3×3×3メッシュ・トポロジを示す図である。 本発明の一実施形態による、例示的な12×12×3メッシュ・トポロジを示す図である。 本発明の一実施形態による、ユニバーサル高帯域幅接続カード(universal high-bandwidth connectivity card)の例示的な実装を示す図である。 本発明の一実施形態による、面のうちの1つを介して入力を受け取る例示的な3Dメッシュ・トポロジを示す図である。 本発明の一実施形態による、3次元(3D)メッシュ・トポロジにおいてコンピューティング・ノードを構成するための方法を示す図である。 本発明の一実施形態による、N×M×Zトポロジのメッシュ内に配置されたコンピューティング・ノードの集合体を有する計算デバイスを再構成するための方法を示す図である。
以下の説明は、本発明の一般的な原理を説明することを目的としてなされており、本明細書で特許請求される本発明の概念を限定することを意味するものではない。さらに、本明細書に記載の特定の特徴は、様々な可能な組合せおよび置換えの各々において、他の記載されている特徴と組み合わせて使用することができる。
本明細書において別途明確な定義がない限り、用語はすべて、本明細書から暗示される意味、ならびに当業者によって理解される意味または辞書、論文などで定義される意味あるいはその両方を含む、可能な限り広い解釈を与えられるべきである。
本明細書および添付の特許請求の範囲で使用する単数形「a」、「an」および「the」は、別途指示がない限り複数のものを含むことにも留意されたい。本明細書で使用する「含む(includes)」という用語または「備えている(comprising)」という用語あるいはその両方は、記載された特徴、整数、ステップ、動作、要素、または構成要素あるいはその組合せの存在を指定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、またはそれらのグループあるいはその組合せの存在または追加を排除するものではないことがさらに理解されよう。
以下の説明では、3次元(3D)メッシュ・トポロジにおいてコンピューティング・ノードを構成するためのシステム、方法、およびコンピュータ・プログラム製品のいくつかの好ましい実施形態を開示する。
一般的な一実施形態では、コンピュータ実施方法は、N×M×Zトポロジの3次元(3D)メッシュ内に配置された複数のコンピューティング・ノードを最初に有する処理デバイスによって実行されるべき所定の動作を識別することであって、Z<NかつZ<Mであり、NおよびMが少なくとも4に等しい、識別することと、所定の動作の実行中に使用される複数のコンピューティング・ノードにとって最適な入力/出力(I/O)帯域幅または最適なノード間レイテンシあるいはその両方を決定することと、複数のコンピューティング・ノードにとって最適なI/O帯域幅および最適なノード間レイテンシを可能にする調整された3Dメッシュ・トポロジを取得するために3Dメッシュ・トポロジの寸法を調整することであって、前記調整することが、複数のコンピューティング・ノードをN’×M’×Z’トポロジの3Dメッシュに再構成することを含み、N、M、およびZの値のうちの少なくとも2つが、それらの対応するN’、M’、およびZ’の値とは異なり、N×M×Zが、N’×M’×Z’に等しい、調整することと、複数のコンピューティング・ノードがN’×M’×Z’トポロジの調整された3Dメッシュ内に配置された状態で、所定の動作を実行することとを含む。
別の一般的な実施形態では、3次元(3D)メッシュ・トポロジにおいてコンピューティング・ノードを構成するためのコンピュータ・プログラム製品は、プログラム命令が具現化されたコンピュータ可読記憶媒体を含み、コンピュータ可読記憶媒体は、一過性の信号自体ではなく、プログラム命令は、プロセッサに、処理デバイスによって、N×M×Zトポロジの3次元(3D)メッシュ内に配置された複数のコンピューティング・ノードを最初に有する処理デバイスによって実行されるべき所定の動作を識別することであって、Z<NかつZ<Mであり、NおよびMが少なくとも4に等しい、識別することと、処理デバイスによって、所定の動作の実行中に使用される複数のコンピューティング・ノードにとって最適な入力/出力(I/O)帯域幅または最適なノード間レイテンシあるいはその両方を決定することと、複数のコンピューティング・ノードにとって最適なI/O帯域幅および最適なノード間レイテンシを可能にする調整された3Dメッシュ・トポロジを取得するために、処理デバイスによって3Dメッシュ・トポロジの寸法を調整することであって、前記調整することが、処理デバイスによって複数のコンピューティング・ノードをN’×M’×Z’トポロジのメッシュに再構成することを含み、N、M、およびZの値のうちの少なくとも2つが、それらの対応するN’、M’、およびZ’の値とは異なり、N×M×Zが、N’×M’×Z’に等しい、調整することと、複数のコンピューティング・ノードがN’×M’×Z’トポロジの調整された3Dメッシュ内に配置された状態で、処理デバイスによって所定の動作を実行することとを含む方法を実行させるように、プロセッサによって実行可能である。
別の一般的な実施形態では、システムは、N×M×Zトポロジのメッシュ内に配置されたコンピューティング・ノードの集合体であって、ノードが、計算ハードウェアを含み、Z<NかつZ<Mであり、NおよびMが少なくとも4に等しい、コンピューティング・ノードの集合体と、メッシュの側面のうちの1つとインターフェースされたI/O接続の集合体であって、前記側面が、N×Mのノードを有し、I/O接続の各々が、前記側面内のノードのうちの一意の1つに結び付けられる、I/O接続の集合体と、I/O接続に結び付けられたI/Oカードとを含む。
別の一般的な実施形態では、N×M×Zトポロジのメッシュ内に配置されたコンピューティング・ノードの集合体を有する再構成可能な計算デバイスで使用するためのコンピュータ実施方法が提供され、コンピューティング・ノードは、計算ハードウェアを含み、Z<NかつZ<Mであり、NおよびMは、少なくとも4に等しい。方法は、計算デバイスを使用して、(i)初期のシステムI/O帯域幅および(ii)初期のシステム・ノード間レイテンシを特徴とする計算を実行することと、デバイスをN’×M’×Z’トポロジのメッシュに再構成することであって、N、M、およびZの値のうちの少なくとも2つが、それらの対応するN’、M’、およびZ’の値とは異なり、N×M×ZがN’×M’×Z’に等しい、再構成することと、デバイスを使用して、(i)修正されたシステムI/O帯域幅および(ii)修正されたシステム・ノード間レイテンシを特徴とする計算を実行することとを含む。
図1は、一実施形態による、アーキテクチャ100を示す。図1に示すように、第1のリモート・ネットワーク104と第2のリモート・ネットワーク106とを含む複数のリモート・ネットワーク102が提供される。リモート・ネットワーク102と近接ネットワーク108との間にゲートウェイ101が結合されてもよい。本アーキテクチャ100の文脈において、ネットワーク104、106はそれぞれ、LAN、インターネットなどのWAN、公衆交換電話網(PSTN:public switched telephone network)、内部電話網などを含むがこれらに限定されない任意の形式であってもよい。
使用中、ゲートウェイ101は、リモート・ネットワーク102から近接ネットワーク108への入口点として機能する。したがって、ゲートウェイ101は、ゲートウェイ101に到着するデータの所与のパケットを方向付ける(direct)ことが可能なルータとして、また所与のパケットに対してゲートウェイ101に出入りする実際の経路を提供するスイッチとして機能してもよい。
近接ネットワーク108に結合され、ゲートウェイ101を介してリモート・ネットワーク102からアクセスできる少なくとも1つのデータ・サーバ114がさらに含まれる。データ・サーバ114が任意のタイプのコンピューティング・デバイス/グループウェアを含み得ることに留意されたい。複数のユーザ・デバイス116が各データ・サーバ114に結合される。ユーザ・デバイス116は、また、ネットワーク104、106、108のうちの1つを介して直接接続されてもよい。このようなユーザ・デバイス116には、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ハンドヘルド・コンピュータ、プリンタ、または任意の他のタイプの論理が含まれてもよい。一実施形態では、ユーザ・デバイス111は、また、ネットワークのいずれかに直接結合され得ることに留意されたい。
周辺機器120または一連の周辺機器120、例えば、ファクシミリ機、プリンタ、ネットワーク化されたまたはローカルのあるいはその両方のストレージ・ユニットまたはシステムなどは、ネットワーク104、106、108のうちの1つまたは複数に結合されてもよい。データベースまたは追加の構成要素あるいはその両方が、ネットワーク104、106、108に結合された任意のタイプのネットワーク要素とともに利用され得るか、またはそれに統合され得ることに留意されたい。本説明の文脈において、ネットワーク要素は、ネットワークの任意の構成要素を指すことがある。
いくつかの手法によれば、本明細書に記載の方法およびシステムは、IBM z/OS環境をエミュレートするUNIX(R)システム、MICROSOFT WINDOWS(R)環境を仮想的にホストするUNIX(R)システム、IBM z/OS環境をエミュレートするMICROSOFT WINDOWS(R)システムなどの、仮想システム、または1つもしくは複数の他のシステムをエミュレートするシステム、あるいはその両方とともに実装されるか、またはそれらのシステム上に実装されるか、あるいはその両方であってもよい。いくつかの実施形態では、この仮想化またはエミュレーションあるいはその両方は、VMWAREソフトウェアの使用を通して強化されてもよい。z/OSはIBMCorporationの商標である。
さらなる手法では、1つまたは複数のネットワーク104、106、108は、一般に「クラウド」と呼ばれるシステムのクラスタを表してもよい。クラウド・コンピューティングでは、クラウド内の任意のシステムに、処理能力、周辺機器、ソフトウェア、データ、サーバなどの共有リソースがオン・デマンドの関係で提供され、これにより、多くのコンピューティング・システム間でサービスのアクセスおよび分散が可能になる。クラウド・コンピューティングは、典型的には、クラウド内で動作するシステム間のインターネット接続を含むが、システムを接続する他の技術も使用されてもよい。
図2は、一実施形態による、図1のユーザ・デバイス116またはサーバ114あるいはその両方に関連する代表的なハードウェア環境を示す。この図は、マイクロプロセッサなどの中央処理ユニット210と、システム・バス212を介して相互接続された、いくつかの他のユニットとを有するワークステーションの典型的なハードウェア構成を示す。
図2に示すワークステーションは、ランダム・アクセス・メモリ(RAM)214と、読取り専用メモリ(ROM)216と、ディスク・ストレージ・ユニット220などの周辺デバイスをバス212に接続するためのI/Oアダプタ218と、キーボード224、マウス226、スピーカ228、マイクロフォン232、またはタッチ・スクリーンおよびデジタル・カメラ(図示せず)などの他のユーザ・インターフェース・デバイスあるいはその組合せをバス212に接続するためのユーザ・インターフェース・アダプタ222と、ワークステーションを通信ネットワーク235(例えば、データ処理ネットワーク)に接続するための通信アダプタ234と、バス212をディスプレイ・デバイス238に接続するためのディスプレイ・アダプタ236とを含む。
ワークステーションには、Microsoft Windows(R)オペレーティング・システム(OS)、MAC OS、UNIX(R) OSなどのオペレーティング・システムが常駐していてもよい。好ましい実施形態が、言及したもの以外のプラットフォームおよびオペレーティング・システム上にも実装され得ることが理解されるであろう。好ましい実施形態は、オブジェクト指向プログラミング方法とともに、XML言語、C言語、もしくはC++言語またはその組合せ、あるいは他のプログラミング言語を使用して記述されてもよい。複雑なアプリケーションを開発するためにますます使用されるようになったオブジェクト指向プログラミング(OOP)が使用されてもよい。
次に、図3を参照すると、一実施形態によるストレージ・システム300が示されている。様々な実施形態によれば、図3に示す要素のいくつかは、ハードウェアまたはソフトウェアあるいはその両方として実装され得ることに留意されたい。ストレージ・システム300は、少なくとも1つの上位ストレージ階層302および少なくとも1つの下位ストレージ階層306上の複数の媒体と通信するためのストレージ・システム・マネージャ312を含んでもよい。上位ストレージ階層302は、好ましくは、例えば、ハード・ディスク・ドライブ(HDD)内のハード・ディスク、不揮発性メモリ(NVM)、ソリッド・ステート・ドライブ(SSD)内のソリッド・ステート・メモリ、フラッシュ・メモリ、SSDアレイ、フラッシュ・メモリ・アレイなど、または本明細書に記載されているか、もしくは当技術分野で知られている他のもの、あるいはその組合せなど、1つもしくは複数のランダム・アクセス媒体またはダイレクト・アクセス媒体あるいはその両方304を含んでもよい。下位ストレージ階層306は、好ましくは、テープ・ドライブまたは光媒体あるいはその両方内の磁気テープ、低速アクセスHDD、低速アクセスSSDなどの順次アクセス媒体、または本明細書に記載されているか、もしくは当技術分野で知られている他のもの、あるいはその組合せを含む、1つまたは複数のより低性能なストレージ媒体308を含んでもよい。1つまたは複数の追加のストレージ階層316は、システム300の設計者が所望するように、ストレージ・メモリ媒体の任意の組合せを含んでもよい。また、上位ストレージ階層302または下位ストレージ階層306あるいはその両方のいずれかは、ストレージ・デバイスまたはストレージ媒体あるいはその両方の何らかの組合せを含んでもよい。
ストレージ・システム・マネージャ312は、図3に示すようなストレージ・エリア・ネットワーク(SAN)または何らかの他の好適なネットワーク・タイプなどのネットワーク310を介して、上位ストレージ階層302および下位ストレージ階層306上のストレージ媒体304、308と通信してもよい。ストレージ・システム・マネージャ312はまた、ホスト・インターフェース314を介して1つまたは複数のホスト・システム(図示せず)と通信してもよく、ホスト・インターフェース314は、ストレージ・システム・マネージャ312の一部であっても、一部でなくてもよい。ストレージ・システム・マネージャ312またはストレージ・システム300の任意の他の構成要素あるいはその両方は、ハードウェアまたはソフトウェアあるいはその両方に実装されてもよく、当技術分野で知られているタイプのコマンドを実行するために、中央処理ユニット(CPU)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC)などのプロセッサ(図示せず)を利用してもよい。当然ながら、本明細書を読むことにより当業者には明らかであるように、ストレージ・システムの任意の配置が使用されてもよい。
さらなる実施形態では、ストレージ・システム300は、任意の数のデータ・ストレージ階層を含んでもよく、各ストレージ階層内に同じまたは異なるストレージ・メモリ媒体を含んでもよい。例えば、各データ・ストレージ階層は、HDD、SSD、順次アクセス媒体(テープ・ドライブ内のテープ、光ディスク・ドライブ内の光ディスクなど)、ダイレクト・アクセス媒体(CD-ROM、DVD-ROMなど)などの同じタイプのストレージ・メモリ媒体、または複数のタイプの媒体ストレージの任意の組合せを含んでもよい。そのような構成の1つにおいて、上位ストレージ階層302は、より高性能なストレージ環境にデータを記憶するためのSSDストレージ媒体の大部分を含んでもよく、下位ストレージ階層306および追加のストレージ階層316を含む残りのストレージ階層は、より低性能なストレージ環境にデータを記憶するためのSSD、HDD、テープ・ドライブなどの任意の組合せを含んでもよい。このようにして、より頻繁にアクセスされるデータ、より高い優先度を有するデータ、より迅速にアクセスされる必要があるデータなどは、上位ストレージ階層302に記憶されてもよく、一方、これらの属性のうちの1つを有さないデータは、下位ストレージ階層306を含む追加のストレージ階層316に記憶されてもよい。当然ながら、当業者は、本明細書を読むことにより、本明細書に提示される実施形態に従って、異なる記憶方式に実装するための複数のタイプのストレージ媒体の他の多くの組合せを考案してもよい。
いくつかの実施形態によれば、ストレージ・システム(300など)は、データ・セットを開くよう求める要求を受け取るように構成された論理、要求されたデータ・セットが複数の関連する部分において階層型データ・ストレージ・システム300の下位ストレージ階層306に記憶されているかどうかを判定するように構成された論理、要求されたデータ・セットの各関連する部分を階層型データ・ストレージ・システム300の上位ストレージ階層302に移動するように構成された論理、および階層型データ・ストレージ・システム300の上位ストレージ階層302上の要求されたデータ・セットを関連する部分から集めるように構成された論理を含んでもよい。
当然ながら、この論理は、様々な実施形態に従って、任意のデバイス上またはシステム上あるいはその両方での方法として、またはコンピュータ・プログラム製品として実装されてもよい。
例示的なマルチノード・システム
例示的なハードウェア・マルチノード・システムの1つは、3Dメッシュ・ネットワーク・トポロジにおいて相互接続された計算ノードを備えた大規模で高度にスケーラブルな並列処理システムを含む。各計算ノードは、1GBの専用メモリとともに、同じダイ(システム・オン・チップ)上にARM A9 CPUおよびFPGA論理を含んでもよい。すべてのノードでFPGAリソースを利用できるので、特定用途向けプロセッサのオフロードが可能になる。
3Dメッシュ・トポロジを実現する通信ネットワークは、FPGAハードウェアに接続されたシングル・スパンおよびマルチ・スパンのSERDES(Serializer-Deserializer)リンクを使用して実装される。FPGA論理はこれらの物理リンクへのアクセスを有するので、アプリケーションに最適な通信モードに基づいて、適合したネットワーク・コントローラを構築することが可能である。アプリケーション・コード、ミドルウェア、システム・ソフトウェア、およびハードウェア全体でシステム性能を最適化する能力は、システムの例示的な特徴の1つである。
一実施形態では、ノードに信号/メッセージを相互に交換させる能力を備えた分散メモリおよびコンピューティング・リソースのこの3Dトポロジにより、マシン・インテリジェンスなどのコンピューティングの分野を進歩させるために無数の方法で使用できるハードウェア・プラットフォームが使用可能になる場合がある。
例示的なシステムの1つは、新興の機械知能アルゴリズムのための開発プラットフォームを含んでもよい。これは、高帯域幅3Dメッシュ・ネットワークに編成された多数の計算ノードを有する並列処理システムを含んでもよい。この例示的なプラットフォームは、柔軟性が高くなるように設計される。各ノード内には、デュアルコアCortex A9 ARMプロセッサとFPGAが同じダイ上にあり、これにより、システムをノード別に再構成することが可能になる。各ノードは、プログラムおよびデータの空間として使用でき、プロセッサとFPGAとの両方からアクセス可能な、1GBの専用DRAMも含む。高性能の学習タスクを受け取ったことに応答して、性能重視のステップの多くは、FPGAでオフロードおよび最適化されてもよく、ARMは補助サポート(例えば、初期化、診断、出力転送など)のみを提供する。
一実施形態では、システムの物理通信リンクへのアクセスは、1つまたは複数のFPGAを介してもよい。さらに、複数の異なる「論理的」通信チャネルを確立することができ、すべての通信チャネルが、同じ基盤となるSERDESリンクを利用する。このようにして、ネットワーク・インターフェースを、INCで実行されるアプリケーションに最適となるように設計すること(さらには、段階的に最適化すること)ができる。
ハードウェア・カード
システムの例示的な構成要素の1つは、ハードウェア・カードである。一実施形態では、各カードは、3×3×3の立方体に配置された27個のノードを含む。別の実施形態では、システムは、1枚からN枚のカードを用いて構築されてもよい(例えば、512枚のカードは、13,824個のノードを含むことになる)。
図4は、1つの例示的な実施形態による、個々のハードウェア・カードの例示的な3×3×3メッシュ・トポロジ400を示す。メッシュ・トポロジ400内のノードは、論理的に隣接するノード間の接続長を最小化する方法でカード上に置かれる。単一のカード上のノードはすべて、3つの例外を除いて同一であってもよい。第1のノード402は、Ethernet(R)ポートを含み、FPGA上に実装された内部Ethernet(R)ネットワークを従来の外部ネットワークに接続するゲートウェイとして機能する。第2のノード404は、ホストPCに接続できる4レーンのPCIe2.0接続を含むコントローラ・ノードである。第2のノード404は、起動中にコンソールとして機能できるか、またはカード上の他のノードに転送され得る、直列接続も有する。第3のノード406は、PCIeインターフェースをサポートすることが可能である。
図5は、例示的な一実施形態による、例示的な12×12×3メッシュ・トポロジ500を示す。図示のように、それぞれが3×3×3立方体メッシュ(例えば、図4を参照)を実装する16枚のハードウェア・カードは、バックプレーンを介して接続されて、12×12×3メッシュ・トポロジ500を形成する。
バックプレーン、ケージ、およびラック
例示的なシステムの1つにおいて、個々のカードは、バックプレーンにプラグ接続される。各バックプレーンは、所定の数(例えば、16枚)のカードをサポートすることができ、バックプレーンの配線は、カードのノードを所定のメッシュに配置する(例えば、16枚のカードは12×12×3メッシュをもたらす)。バックプレーンおよびカードは、カード・ケージに収容されてもよい。バックプレーンの背面にあるコネクタにより、ケージを垂直に接続することが可能になる。
図6は、一実施形態による、ユニバーサル高帯域幅接続カード602の例示的な実装600を示す。図示のように、ユニバーサル高帯域幅接続カード602は、3次元(3D)メッシュ・トポロジ内に配置された複数のコンピューティング・ノードをサポートするバックプレーン604に直接接続する。ユニバーサル高帯域幅接続カード602は、インフィニバンド612、高速Ethernet(R)614、および高帯域幅接続616などの接続を介して、外部データ・ソース606、外部ストレージ608、および外部サーバ610にも接続される。このようにして、ユニバーサル高帯域幅接続カード602は、3次元(3D)メッシュ・トポロジ内に配置された複数のコンピューティング・ノードと、外部データ・ソース606、外部ストレージ608、および外部サーバ610との間の通信を容易にしてもよい。
図7は、例示的な一実施形態による、面702のうちの1つを介して入力を受け取る例示的な3Dメッシュ・トポロジ700を示す。図示のように、3Dメッシュ・トポロジ700の上面702は、3Dメッシュ・トポロジ700内の複数のコンピューティング・ノードのためのI/O動作を実行し、それによって、3Dメッシュ・トポロジ700の制約を示す。
物理リンク
ノードごとに所定の数(例えば、6つ)の双方向シングル・スパン・リンクを用いて、カード上の各ノードは、シングル・スパン・リンクによってその直交する最近傍ノードに接続されてもよい。立方体の面上のノード(すなわち、中央ノード以外のすべてのノードなど)は、カードを離れるシングル・スパン・リンクを有し、そのようなノードは、システム内の他のカード上に最近傍ノードを有してもよい。シングル・スパン・リンクに加えて、6つの双方向マルチ・スパン・リンクにより、より大規模なシステムにおいてより効率的な通信が可能になる。マルチ・スパン・リンクは、任意の1つの直交方向に3つ離れたノードを接続し、異なるカードで開始および終了してもよい。一実施形態では、カードを出入りする合計432のリンク、およびリンクごとに毎秒1ギガバイト(GB)の場合、カードごとに毎秒432GBの潜在的な最大帯域幅を得ることができる。
通信リンクは、高速、シリアル、単方向のSERDESリンクを含んでもよい。リンクは、2本のワイヤ(例えば、差動データ・ライン)を有してもよい。オーバーラン・エラーが発生せず、データが失われないことを保証するために、リンクは、クレジット方式によって制御されてもよい。受信リンクは、受信リンクが何バイトのデータを受信する用意があるかのカウントを(そのペアの送信リンクを介して)送信する。送信リンクがデータを送信するとき、送信リンクは、そのカウントを減少させることになり、受信機からのクレジットを保持するよりも多くのデータを送信することはない。受信側がバッファ空間を解放するため、受信側はクレジット・バランスに追加されることになる。このクレジット・システムは、完全にハードウェア・ファブリックに実装されてもよく、ARMプロセッサまたはソフトウェアを含まなくてもよい。
パケット・ルーティング
一実施形態では、通信ネットワークは、有向パケット・ルーティング方式およびブロードキャスト・パケット・ルーティング方式、ならびにマルチキャストまたはネットワーク欠陥回避方式をサポートしてもよい。
有向ルーティング・モードでは、プロセッサ複合体または計算ノードのFPGA部分から発信されたパケットは、単一の宛先へルーティングされてもよい。シングル・スパン・リンクとマルチ・スパン・リンクとの両方がルーティングに使用されてもよく、パケットは、最小ホップ数で配信されることになる。パケット・ルーティング・メカニズムは完全にFPGAファブリックに実装されてもよく、ARMプロセッサは、ソース・ノードおよび宛先ノードにのみ関与してもよい。
一実施形態では、ブロードキャスト・パケットは、ソース・ノードからすべての方向に放射してもよく、システム内のすべてのノードに配信されてもよい。ブロードキャスト・パケットは、ルーティングを簡素化するために、システム内のシングル・スパン・リンクのみを使用する。どのリンクがブロードキャスト・パケットを受信したかに応じて、受信ノードは、a)他のすべてのリンクに転送するか、b)リンクのサブセットに転送するか、c)転送を停止するかを選択してもよい。これらの3つのシナリオの規則を慎重に選択することによって、システム内のすべてのノードがブロードキャスト・パケットのコピーを厳密に1つだけ受信するよう保証することが可能になる。
接続性および通信
複数の仮想チャネルは、プロセッサおよびFPGA論理に通信ネットワークへの異なる仮想インターフェースまたは論理インターフェースを与えるために、上記の基礎となるルータ論理の上に位置するように設計され得る。
例示的な構成
次に、図8を参照すると、一実施形態による、3次元(3D)メッシュ・トポロジにおいてコンピューティング・ノードを構成するための方法800の流れ図が示されている。方法800は、とりわけ図1~図7に示す環境のいずれかにおいて、本発明に従って実行されてもよい。当然ながら、本明細書を読むことにより当業者によって理解されるように、方法800には、図8で具体的に説明したものよりも多い動作または少ない動作が含まれてもよい。
方法800のステップの各々は、動作環境の任意の好適な構成要素によって実行されてもよい。例えば、様々な実施形態では、方法800は、1つもしくは複数のサーバ、コンピュータ、または中に1つもしくは複数のプロセッサを有する何らかの他のデバイスによって、部分的または全体的に実行されてもよい。方法800の1つまたは複数のステップを実行するために、ハードウェアまたはソフトウェアあるいはその両方に実装され、好ましくは少なくとも1つのハードウェア構成要素を有するプロセッサ、例えば、処理回路、チップ、またはモジュールあるいはその組合せが、任意のデバイスにおいて利用されてもよい。例示のプロセッサは、中央処理ユニット(CPU)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)など、それらの組合せ、または当技術分野で知られている任意の他の好適なコンピューティング・デバイスを含むが、これらに限定されない。
図8に示すように、方法800は、動作802で開始することができ、ここで、3次元(3D)N×M×Zメッシュ・トポロジ内に配置された複数のコンピューティング・ノードを最初に有する処理デバイスによって実行されるべき所定の動作が識別され、Z<NかつZ<Mであり、NおよびMは少なくとも4に等しい。一実施形態では、複数のコンピューティング・ノードの各々は、プログラマブル集積回路(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)など)を含んでもよい。別の実施形態では、コンピューティング・ノードは、プリント回路基板(PCB)配線を使用して1つまたは複数のハードウェア・カード上に物理的に配置されてもよい。
さらに、一実施形態では、コンピューティング・ノードを含む複数のハードウェア・カードは、1つまたは複数のバックプレーンを使用して相互接続されてもよい。例えば、各バックプレーンは、ハードウェア・カードの別々のグループ間の通信を可能にしてもよい。別の実施形態では、コンピューティング・ノードは、バックプレーンおよび接続カードを介して外部データ・ソースと通信してもよい。例えば、ユニバーサル高帯域幅接続カードは、(バックプレーンを介する)複数のコンピューティング・ノードと、(インフィニバンド、高速Ethernet(R)などの1つまたは複数の接続を介する)外部のストレージ、サーバなどの外部データ・ソースとの間の通信を可能にしてもよい。
さらに、一実施形態では、3Dメッシュ・トポロジは、複数のコンピューティング・ノードの3次元グループ化を含んでもよい。例えば、3Dメッシュ・トポロジは、高さ寸法(N)、幅寸法(M)、および深さ寸法(Z)を有してもよい。別の実施形態では、所定の動作は、複数のコンピューティング・ノードによって実行することが可能な任意の処理動作を含んでもよい。
例えば、所定の動作は、データ作成、データ修正、データ削除、データ転送、データ複製などのうちの1つまたは複数を含んでもよい。別の例では、所定の動作は、1つまたは複数の所定のアプリケーションによって複数のコンピューティング・ノードに送信されてもよい。さらに別の例では、所定の動作は、ニューラル・ネットワーク実装内に含まれてもよい。
さらに、一実施形態では、所定の動作は、1つまたは複数の外部データ・ソース(例えば、1つまたは複数の外部サーバなど)から送信されてもよい。
また、方法800は、動作804に進むことができ、ここで、所定の動作の実行中に使用される複数のコンピューティング・ノードにとって最適な入力/出力(I/O)帯域幅または最適なノード間レイテンシあるいはその両方が決定される。一実施形態では、3Dメッシュ・トポロジは、6つの面を有してもよい(例えば、6つの面の各々は、3Dメッシュ・トポロジの側面であってもよい)。別の実施形態では、3Dメッシュ・トポロジは、3Dメッシュ・トポロジの物理的構造に基づいて、所定の制約を有してもよい。
例えば、複数のコンピューティング・ノードと通信するバックプレーンは、3Dメッシュの単一の面とのみ通信(例えば、I/O動作を実行)してもよい。別の例では、バックプレーンは、外部データ・ソースとの通信を可能にしてもよい。例えば、通信は、外部データ・ソースからの所定の動作の受信、それらの所定の動作から生じるデータの外部データ・ソースへの出力などを含んでもよい。別の例では、複数のコンピューティング・ノードの各々は、3Dメッシュ・トポロジ内のノードの直接の近傍ノードとのみ対話してもよい。
さらに、一実施形態では、I/O帯域幅は、利用可能なバックプレーンを介して複数のコンピューティング・ノードとの間の最大帯域幅を示してもよい。別の実施形態では、ノード間レイテンシは、3Dメッシュ・トポロジ内で最も離れた距離を有するコンピューティング・ノード間の最悪の場合のレイテンシを示してもよい。さらに別の実施形態では、最適な入力/出力(I/O)帯域幅および最適なノード間レイテンシは、複数のコンピューティング・ノードによる所定の動作の実行の性能を最適化する、所定の動作に対して決定された所定の帯域幅およびレイテンシの数を含んでもよい。
さらに、方法800は、動作806に進むことができ、ここで、複数のコンピューティング・ノードにとって最適なI/O帯域幅および最適なノード間レイテンシを可能にする調整された3Dメッシュ・トポロジを得るために3Dメッシュ・トポロジの寸法が調整され、前記調整することは、複数のコンピューティング・ノードをN’×M’×Z’トポロジのメッシュに再構成することを含み、N、M、およびZの値のうちの少なくとも2つは、それらの対応するN’、M’、およびZ’の値とは異なり、N×M×Zは、N’×M’×Z’に等しい。一実施形態では、3Dメッシュ・トポロジの所定の制約を考慮して、3Dメッシュ・トポロジの寸法に対して、複数のコンピューティング・ノードのI/O帯域幅およびノード間レイテンシを変更する調整が行われてもよい。
さらに、一実施形態では、元の3Dメッシュ・トポロジにおける複数のコンピューティング・ノードの現在のI/O帯域幅は、最適なI/O帯域幅と比較されてもよい。別の実施形態では、最適なI/O帯域幅が現在のI/O帯域幅よりも大きいとの判定に応答して、複数のコンピューティング・ノードのI/O帯域幅を増加させるために、I/Oを実行する3Dメッシュ・トポロジの面のサイズを拡大させてもよい。
例えば、3Dメッシュ・トポロジの面のサイズは、バックプレーンを介して外部データ・ソースから3Dメッシュ・トポロジ内の増加した数のコンピューティング・ノードに所定の動作を方向付けることによって増大されてもよい。別の例では、3Dメッシュ・トポロジ内の各コンピューティング・ノードは、1つまたは複数のI/O接続を有してもよい。さらに別の例では、バックプレーンを介して外部データ・ソースから増加した数のコンピューティング・ノードに所定の動作を送信することによって、外部データ・ソースとのI/Oに参加するノードの数を増加してもよく、これにより、バックプレーンを介して通信する3Dメッシュの単一の面のサイズを拡大してもよい。さらに別の例では、I/Oを実行する3Dメッシュ・トポロジの面のサイズを拡大すると、3Dメッシュ・トポロジ内の最も遠いコンピューティング・ノード間の距離も長くなる可能性があり、これにより、ノード間レイテンシが長くなる可能性がある。
また、一実施形態では、最適なI/O帯域幅が現在のI/O帯域幅よりも小さいとの判定に応答して、現在の3Dメッシュ・トポロジは変更されない場合がある。
さらに、一実施形態では、元の3Dメッシュ・トポロジにおける複数のコンピューティング・ノードの現在のノード間レイテンシは、最適なノード間レイテンシと比較されてもよい。別の実施形態では、最適なノード間レイテンシが現在のノード間レイテンシよりも短いとの判定に応答して、複数のコンピューティング・ノード内のノード間レイテンシを短縮するために3Dメッシュ・トポロジ内の最も遠いコンピューティング・ノード間の距離が短縮されてもよい。
例えば、3Dメッシュ・トポロジ内の最も遠いコンピューティング・ノード間の距離は、3Dメッシュ・トポロジ内の各面のサイズを調整することによって調整されてもよい。別の例では、3Dメッシュ・トポロジ内の最も遠いコンピューティング・ノード間の距離は、3Dメッシュ・トポロジの各面のサイズが等しい場合に最小化される。さらに別の例では、I/Oを実行する3Dメッシュ・トポロジの面のサイズは、(例えば、上記の技術を使用して)面のサイズを3Dメッシュ・トポロジの他の面のサイズに近づけるようにサイズを拡大または縮小され、これにより、3Dメッシュ・トポロジ内の最も遠いコンピューティング・ノード間の距離を最小化してもよい。さらに別の例では、I/Oを実行する3Dメッシュ・トポロジの面のサイズを縮小すると、複数のコンピューティング・ノードのI/O帯域幅が減少する可能性がある。
さらに、一実施形態では、最適なノード間レイテンシが現在のノード間レイテンシよりも長いとの判定に応答して、現在の3Dメッシュ・トポロジは変更されない場合がある。
さらに、方法800は、動作808に進むことができ、ここで、複数のコンピューティング・ノードがN’×M’×Z’トポロジの調整された3Dメッシュ内に配置された状態で、所定の動作が実行される。一実施形態では、所定の動作は、調整された3Dメッシュ・トポロジ内に配置された複数のコンピューティング・ノードへの入力として送信されてもよい。別の実施形態では、所定の動作は、接続カード、1つまたは複数のバックプレーンなどを利用して、コンピューティング・ノードに送信されてもよい。
例えば、所定の動作は、外部データ・ソースから接続カードに送信されてもよく、次に、接続カードは、バックプレーンを介して動作をコンピューティング・ノードに動作を送信する。別の例では、複数のコンピューティング・ノードによって作成された任意の出力が、バックプレーンおよび接続カードを介して外部データ・ソース(または、別の外部データ・ソース)に送り返されてもよい。
このようにして、複数のコンピューティング・ノードは、所定の動作を実行するときに最適化された方法で動的に配置されてもよい。この最適化された配置は、複数のコンピューティング・ノードによる所定の動作の実施を改善することができ、これにより、複数のコンピューティング・ノードによって必要とされる処理または電力あるいはその両方の量を低減することができる。結果として、複数のコンピューティング・ノードの性能が向上する可能性がある。
次に、図9を参照すると、一実施形態による、N×M×Zトポロジのメッシュに配置されたコンピューティング・ノードの集合体を有する計算デバイスを再構成するための方法900の流れ図が示されている。一実施形態では、ノードは計算ハードウェアを含み、Z<NかつZ<Mであり、NおよびMは少なくとも4に等しい。方法900は、とりわけ図1~図7に示す環境のいずれかにおいて、本発明に従って実行されてもよい。当然ながら、本明細書を読むことにより当業者によって理解されるように、方法900には、図9で具体的に説明したものよりも多い動作または少ない動作が含まれてもよい。
方法900のステップの各々は、動作環境の任意の好適な構成要素によって実行されてもよい。例えば、様々な実施形態では、方法900は、1つもしくは複数のサーバ、コンピュータ、または中に1つもしくは複数のプロセッサを有する何らかの他のデバイスによって、部分的または全体的に実行されてもよい。方法900の1つまたは複数のステップを実行するために、ハードウェアまたはソフトウェアあるいはその両方に実装され、好ましくは少なくとも1つのハードウェア構成要素を有するプロセッサ、例えば、処理回路、チップ、またはモジュールあるいはその組合せが、任意のデバイスにおいて利用されてもよい。例示のプロセッサは、中央処理ユニット(CPU)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)など、それらの組合せ、または当技術分野で知られている任意の他の好適なコンピューティング・デバイスを含むが、これらに限定されない。
図9に示すように、方法900は、動作902で開始することができ、ここで、デバイスを使用して、(i)初期のシステムI/O帯域幅および(ii)初期のシステム・ノード間レイテンシを特徴とする計算を実行する。さらに、方法900は、動作904に進むことができ、ここで、デバイスはN’×M’×Z’トポロジのメッシュに再構成され、N、M、およびZの値のうちの少なくとも2つは、それらの対応するN’、M’、およびZ’の値とは異なり、N×M×Zは、N’×M’×Z’に等しい。
さらに、方法900は、動作906に進むことができ、ここで、デバイスを使用して、(i)修正されたシステムI/O帯域幅および(ii)修正されたシステム・ノード間レイテンシを特徴とする計算を実行する。一実施形態では、修正されたI/O帯域幅は、初期のI/O帯域幅よりも大きい。別の実施形態では、修正されたシステム・ノード間レイテンシは、初期のシステム・ノード間レイテンシよりも短い。
一実施形態では、システムは、N×M×Zトポロジのメッシュ内に配置されたコンピューティング・ノードの集合体を含み、ノードは、計算ハードウェアを含み、Z<NかつZ<Mであり、NおよびMは、少なくとも4に等しい。システムは、メッシュの側面のうちの1つとインターフェースされたI/O接続の集合体も含み、前記側面はN×Mのノードを有し、接続の各々は、前記側面内のノードのうちの一意の1つに結び付けられる。さらに、システムは、I/O接続に結び付けられたI/Oカードを含む。一実施形態では、計算ハードウェアは、CPU、GPU、FPGA、およびメモリ要素からなる群から選択される。
さらに、一実施形態では、システムは、N×M×Zトポロジのメッシュ内に配置されたコンピューティング・ノードの集合体を含み、ノードは、計算ハードウェアを含み、(i)Z≦N/2かつZ≦M/2であり、(ii)NおよびMは、少なくとも4に等しい。このトポロジの例は、12×12×6メッシュ・トポロジ、および16×16×3メッシュ・トポロジを含む。この構成は、I/Oを実行する3Dメッシュ・トポロジの面を最大化することによって、システムのI/O性能を向上させる可能性がある。
本発明は、任意の可能な技術的詳細の統合レベルでのシステム、方法、またはコンピュータ・プログラム製品あるいはその組合せとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実施させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(または複数のコンピュータ可読記憶媒体)を含んでもよい。
コンピュータ可読記憶媒体は、命令実行デバイスが使用するための命令を保持および記憶することができる有形デバイスとすることができる。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または上記の任意の好適な組合せとすることができるが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストには以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピ(R)・ディスク、パンチカードまたは命令が記録された溝内の隆起構造体などの機械的に符号化されたデバイス、および上記の任意の好適な組合せが含まれる。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由に伝播する電磁波、導波路もしくは他の伝送媒体を介して伝播する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、または電線を介して送信される電気信号などの、一過性の信号自体であると解釈されるべきではない。
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または、ネットワーク、例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、またはワイヤレス・ネットワークあるいはその組合せを介して外部コンピュータまたは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはその組合せを含んでもよい。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そのコンピュータ可読プログラム命令を、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体における記憶のために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用の構成データ、または、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語および「C」プログラミング言語もしくは同様のプログラム言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、全体がユーザのコンピュータ上で、一部がユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、一部がユーザのコンピュータ上かつ一部がリモート・コンピュータ上で、または全体がリモート・コンピュータ上もしくはサーバ上で実行されてもよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して接続されてもよい。いくつかの実施形態では、本発明の態様を実行するために、例えば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路が、コンピュータ可読プログラム命令の状態情報を利用して電子回路をパーソナライズすることによって、コンピュータ可読プログラム命令を実行してもよい。
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照しながら本明細書で説明されている。流れ図またはブロック図あるいはその両方の各ブロック、および流れ図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実施され得ることが理解されよう。
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/作用を実施するための手段を作り出すように、コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて、マシンを作り出すものであってもよい。また、これらのコンピュータ可読プログラム命令は、命令が記憶されたコンピュータ可読記憶媒体が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/作用の態様を実施する命令を含む製造品を含むように、コンピュータ可読媒体に記憶され、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに対して特定の様式で機能するように指示できるものであってもよい。
また、コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイスで実行される命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/作用を実施するように、コンピュータ実施プロセスを作り出すべくコンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされて、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させるものであってもよい。
図中の流れ図およびブロック図は、本発明の様々な実施形態によるシステム、方法およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。これに関して、流れ図またはブロック図の各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能命令を含む、モジュール、セグメント、または命令の一部を表すことがある。いくつかの代替の実装形態では、ブロックに記載された機能は、図に記載された順序とは異なる順序で行われてもよい。例えば、連続して示されている2つのブロックは、実際には、関与する機能に応じて、1つのステップとして達成されるか、同時に、実質的に同時に、部分的もしくは全体的に時間的に重複する様式で実行されてもよく、またはそれらのブロックは、場合によっては逆の順序で実行されてもよい。ブロック図または流れ図あるいはその両方の各ブロック、およびブロック図または流れ図あるいはその両方におけるブロックの組合せは、指定された機能または作用を実行するか、あるいは専用ハードウェアとコンピュータ命令との組合せを遂行する専用ハードウェア・ベースのシステムによって実装され得ることにも留意されたい。
さらに、様々な実施形態によるシステムは、プロセッサ、およびプロセッサと統合された論理またはプロセッサによって実行可能な論理あるいはその両方を含んでもよく、論理は、本明細書に記載のプロセス・ステップのうちの1つまたは複数を実行するように構成される。プロセッサは、ディスクリート・プロセッサ、または処理ハードウェア、メモリ、I/Oインターフェースなどの多くの構成要素を含む処理回路など、本明細書に記載のような任意の構成であってもよい。統合されたとは、プロセッサに、論理が特定用途向け集積回路(ASIC)、FPGAなどのハードウェア論理として組み込まれていることを意味する。プロセッサによって実行可能とは、論理が、ハードウェア論理、ファームウェア、オペレーティング・システムの一部、アプリケーション・プログラムの一部などのソフトウェア論理など、またはプロセッサによってアクセス可能であり、プロセッサによる実行時にプロセッサにいくつかの機能を実行させるように構成された、ハードウェア論理とソフトウェア論理との組合せであることを意味する。ソフトウェア論理は、当技術分野で知られているように、任意のメモリ・タイプのローカル・メモリまたはリモート・メモリあるいはその両方に記憶されてもよい。ソフトウェア・プロセッサ・モジュールまたはASIC、FPGA、中央処理ユニット(CPU)、集積回路(IC)、グラフィックス処理ユニット(GPU)などのハードウェア・プロセッサ、あるいはその両方などの当技術分野で知られている任意のプロセッサが使用されてもよい。
前述のシステムまたは方法あるいはその両方の様々な特徴を任意の方法で組み合わせて、上記で提示された説明から複数の組合せを作成できることは明らかであろう。
本発明の実施形態は、サービスをオン・デマンドで提供するために顧客に代わって展開されるサービスの形式で提供され得ることがさらに理解されよう。
本発明の様々な実施形態の説明を例示の目的で提示してきたが、網羅的であることも、開示された実施形態に限定されることも意図されていない。当業者には、説明した実施形態の範囲および思想から逸脱することなく多くの変更形態および変形形態が明らかであろう。本明細書で使用される用語は、実施形態の原理、実際の適用例、もしくは市場で見られる技術を超える技術的な改良を最もよく説明するように、または本明細書で開示される実施形態を当業者が理解することが可能になるように選択されたものである。

Claims (24)

  1. コンピュータ実施方法であって、
    N×M×Zトポロジの3次元(3D)メッシュ内に配置された複数のコンピューティング・ノードを最初に有する処理デバイスによって実行されるべき所定の動作を識別することであって、Z<NかつZ<Mであり、NおよびMが少なくとも4に等しい、前記識別することと、
    前記所定の動作の前記実行中に使用される前記複数のコンピューティング・ノードにとって最適な入力/出力(I/O)帯域幅または最適なノード間レイテンシあるいはその両方を決定することと、
    前記複数のコンピューティング・ノードにとって前記最適なI/O帯域幅および最適なノード間レイテンシを可能にする調整された3Dメッシュ・トポロジを取得するために前記3Dメッシュ・トポロジの寸法を調整することであって、前記調整することが、前記複数のコンピューティング・ノードをN’×M’×Z’トポロジの3Dメッシュに再構成することを含み、前記N、M、およびZの値のうちの少なくとも2つが、それらの対応するN’、M’、およびZ’の値とは異なり、N×M×Zが、N’×M’×Z’に等しい、前記調整することと、
    前記複数のコンピューティング・ノードがN’×M’×Z’トポロジの前記調整された3Dメッシュ内に配置された状態で、前記所定の動作を実行することと
    を含む、コンピュータ実施方法。
  2. 前記複数のコンピューティング・ノードの各々が、
    フィールド・プログラマブル・ゲート・アレイ(FPGA)、
    中央処理ユニット(CPU)、および
    グラフィックス処理ユニット(GPU)
    からなる群から選択される、請求項1に記載のコンピュータ実施方法。
  3. 前記複数のコンピューティング・ノードが、プリント回路基板(PCB)配線を使用して複数のハードウェア・カード上に物理的に配置され、前記複数のハードウェア・カードが、1つまたは複数のバックプレーンを使用して相互接続される、請求項1に記載のコンピュータ実施方法。
  4. (i)前記最適なI/O帯域幅が現在のI/O帯域幅よりも大きいとの判定に応答して、(ii)I/Oを実行する前記3Dメッシュ・トポロジの面のサイズを拡大させ、それによって前記複数のコンピューティング・ノードの前記I/O帯域幅を増加させることを含む、請求項1に記載のコンピュータ実施方法。
  5. (i)前記最適なノード間レイテンシが現在のノード間レイテンシよりも短いとの判定に応答して、(ii)前記複数のコンピューティング・ノード内のノード間レイテンシを短縮するために前記3Dメッシュ・トポロジ内の最も遠いコンピューティング・ノード間の距離を短縮することを含み、
    前記3Dメッシュ・トポロジ内の最も遠いコンピューティング・ノード間の前記距離が、前記3Dメッシュ・トポロジ内の各面のサイズを調整することによって調整され、それにより、バックプレーンを介して外部データ・ソースから前記3Dメッシュ・トポロジ内の増加または減少した数のコンピューティング・ノードに前記所定の動作を方向付ける、請求項1に記載のコンピュータ実施方法。
  6. 前記所定の動作が、前記調整された3Dメッシュ・トポロジ内に配置された前記複数のコンピューティング・ノードへの入力として送信される、請求項1に記載のコンピュータ実施方法。
  7. 前記所定の動作が、接続カードおよび1つまたは複数のバックプレーンを利用して前記複数のコンピューティング・ノードに送信される、請求項1に記載のコンピュータ実施方法。
  8. 前記複数のコンピューティング・ノードによって生成された出力を、バックプレーンおよび接続カードを介して外部データ・ソースに送信することを含む、請求項1に記載のコンピュータ実施方法。
  9. 3次元(3D)メッシュ・トポロジにおいてコンピューティング・ノードを構成するためのコンピュータ・プログラム製品であって、プログラム命令が具現化されたコンピュータ可読記憶媒体を含み、前記コンピュータ可読記憶媒体が、一過性の信号自体ではなく、前記プログラム命令は処理デバイスにより実行可能であり、前記処理デバイスに、
    前記処理デバイスによって、N×M×Zトポロジの前記3次元(3D)メッシュ内に配置された複数のコンピューティング・ノードを最初に有する前記処理デバイスによって実行されるべき所定の動作を識別することであって、Z<NかつZ<Mであり、NおよびMが少なくとも4に等しい、前記識別することと、
    前記処理デバイスによって、前記所定の動作の前記実行中に使用される前記複数のコンピューティング・ノードにとって最適な入力/出力(I/O)帯域幅または最適なノード間レイテンシあるいはその両方を決定することと、
    前記複数のコンピューティング・ノードにとって前記最適なI/O帯域幅および最適なノード間レイテンシを可能にする調整された3Dメッシュ・トポロジを取得するために、前記処理デバイスによって前記3Dメッシュ・トポロジの寸法を調整することであって、前記調整することが、前記処理デバイスによって前記複数のコンピューティング・ノードをN’×M’×Z’トポロジのメッシュに再構成することを含み、N、M、およびZの値のうちの少なくとも2つが、それらの対応するN’、M’、およびZ’の値とは異なり、N×M×Zが、N’×M’×Z’に等しい、前記調整することと、
    前記複数のコンピューティング・ノードがN’×M’×Z’トポロジの前記調整された3Dメッシュ内に配置された状態で、前記処理デバイスによって前記所定の動作を実行することと
    を含む方法を実行させる、
    コンピュータ・プログラム製品。
  10. 前記複数のコンピューティング・ノードの各々が、
    フィールド・プログラマブル・ゲート・アレイ(FPGA)、
    中央処理ユニット(CPU)、および
    グラフィックス処理ユニット(GPU)
    からなる群から選択される、請求項9に記載のコンピュータ・プログラム製品。
  11. 前記複数のコンピューティング・ノードが、プリント回路基板(PCB)配線を使用して複数のハードウェア・カード上に物理的に配置され、前記複数のハードウェア・カードが、1つまたは複数のバックプレーンを使用して相互接続される、請求項9に記載のコンピュータ・プログラム製品。
  12. (i)前記最適なI/O帯域幅が現在のI/O帯域幅よりも大きいとの判定に応答して、(ii)I/Oを実行する前記3Dメッシュ・トポロジの面のサイズを拡大させ、それによって前記複数のコンピューティング・ノードの前記I/O帯域幅を増加させることを含む、請求項9に記載のコンピュータ・プログラム製品。
  13. (i)前記最適なノード間レイテンシが現在のノード間レイテンシよりも短いとの判定に応答して、(ii)前記複数のコンピューティング・ノード内のノード間レイテンシを短縮するために前記3Dメッシュ・トポロジ内の最も遠いコンピューティング・ノード間の距離を短縮することを含み、
    前記3Dメッシュ・トポロジ内の最も遠いコンピューティング・ノード間の前記距離が、前記3Dメッシュ・トポロジ内の各面のサイズを調整することによって調整され、それにより、バックプレーンを介して外部データ・ソースから前記3Dメッシュ・トポロジ内の増加または減少した数のコンピューティング・ノードに前記所定の動作を方向付ける、請求項9に記載のコンピュータ・プログラム製品。
  14. 前記所定の動作が、前記調整された3Dメッシュ・トポロジ内に配置された前記複数のコンピューティング・ノードへの入力として送信される、請求項9に記載のコンピュータ・プログラム製品。
  15. 前記所定の動作が、接続カードおよび1つまたは複数のバックプレーンを利用して前記複数のコンピューティング・ノードに送信される、請求項9に記載のコンピュータ・プログラム製品。
  16. 前記複数のコンピューティング・ノードによって作成された出力を、バックプレーンおよび接続カードを介して外部データ・ソースに送信することを含む、請求項9に記載のコンピュータ・プログラム製品。
  17. システムであって、
    N×M×Zトポロジのメッシュ内に配置されたコンピューティング・ノードの集合体であって、前記ノードが、計算ハードウェアを含み、Z<NかつZ<Mであり、NおよびMが少なくとも4に等しい、前記コンピューティング・ノードの集合体と、
    前記メッシュの側面のうちの1つとインターフェースされたI/O接続の集合体であって、前記側面が、N×Mのノードを有し、前記I/O接続の各々が、前記側面内の前記ノードのうちの一意の1つに結び付けられる、前記I/O接続の集合体と、
    前記I/O接続に結び付けられたI/Oカードと
    を含む、システム。
  18. 前記計算ハードウェアが、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、およびメモリ要素からなる群から選択される、請求項17に記載のシステム。
  19. Z≦N/2かつZ≦M/2である、請求項17に記載のシステム。
  20. N×M×Zトポロジのメッシュ内に配置されたコンピューティング・ノードの集合体を有する再構成可能な計算デバイスで使用するためのコンピュータ実施方法であって、前記コンピューティング・ノードが、計算ハードウェアを含み、Z<NかつZ<Mであり、NおよびMが、少なくとも4に等しく、前記方法が、
    前記計算デバイスを使用して、(i)初期のシステムI/O帯域幅および(ii)初期のシステム・ノード間レイテンシを特徴とする計算を実行することと、
    前記デバイスをN’×M’×Z’トポロジのメッシュに再構成することであって、N、M、およびZの値のうちの少なくとも2つが、それらの対応するN’、M’、およびZ’の値とは異なり、N×M×ZがN’×M’×Z’に等しい、前記再構成することと、
    前記デバイスを使用して、(i)修正されたシステムI/O帯域幅および(ii)修正されたシステム・ノード間レイテンシを特徴とする計算を実行することと
    を含む、コンピュータ実施方法。
  21. 前記修正されたシステムI/O帯域幅が、前記初期のシステムI/O帯域幅よりも大きい、請求項20に記載のコンピュータ実施方法。
  22. 前記修正されたシステム・ノード間レイテンシが、前記初期のシステム・ノード間レイテンシよりも短い、請求項20に記載のコンピュータ実施方法。
  23. 前記計算ハードウェアが、CPU、GPU、FPGA、およびメモリ要素からなる群から選択される、請求項20に記載のコンピュータ実施方法。
  24. Z≦N/2かつZ≦M/2である、請求項20に記載のコンピュータ実施方法。
JP2022546577A 2020-03-06 2021-01-25 3次元メッシュ・トポロジにおけるコンピューティング・ノードの構成 Pending JP2023517172A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/812,053 2020-03-06
US16/812,053 US11184245B2 (en) 2020-03-06 2020-03-06 Configuring computing nodes in a three-dimensional mesh topology
PCT/IB2021/050535 WO2021176279A1 (en) 2020-03-06 2021-01-25 Configuring computing nodes in a three-dimensional mesh topology

Publications (1)

Publication Number Publication Date
JP2023517172A true JP2023517172A (ja) 2023-04-24

Family

ID=77556274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022546577A Pending JP2023517172A (ja) 2020-03-06 2021-01-25 3次元メッシュ・トポロジにおけるコンピューティング・ノードの構成

Country Status (6)

Country Link
US (2) US11184245B2 (ja)
JP (1) JP2023517172A (ja)
CN (1) CN115244900B (ja)
DE (1) DE112021001470T5 (ja)
GB (1) GB2608556A (ja)
WO (1) WO2021176279A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184245B2 (en) 2020-03-06 2021-11-23 International Business Machines Corporation Configuring computing nodes in a three-dimensional mesh topology
CN115514642B (zh) * 2022-09-22 2023-11-17 湖南泛联新安信息科技有限公司 一种基于分割通信需求的多fpga平台网络拓扑优化方法
CN115797572B (zh) * 2023-01-20 2023-04-21 中国空气动力研究与发展中心计算空气动力研究所 一种空间网格生成方法、装置、设备及介质

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2227341A (en) 1989-01-18 1990-07-25 Intel Corp Message routing in a multiprocessor computer system
US6647428B1 (en) 2000-05-05 2003-11-11 Luminous Networks, Inc. Architecture for transport of multiple services in connectionless packet-based communication networks
US7075892B2 (en) 2000-11-03 2006-07-11 Telecommunications Research Laboratories Topological design of survivable mesh-based transport networks
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US7697443B2 (en) 2006-04-13 2010-04-13 International Business Machines Corporation Locating hardware faults in a parallel computer
US20080101395A1 (en) 2006-10-30 2008-05-01 Raytheon Company System and Method for Networking Computer Clusters
US8160061B2 (en) 2006-12-29 2012-04-17 Raytheon Company Redundant network shared switch
US9071246B2 (en) 2007-09-14 2015-06-30 Agate Logic, Inc. Memory controller for heterogeneous configurable integrated circuits
JP2011517220A (ja) 2008-04-10 2011-05-26 アルカテル−ルーセント ユーエスエー インコーポレーテッド トポロジ抽出方法、トポロジ抽出装置、およびルートコントローラ
US20110103391A1 (en) 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US8774632B2 (en) 2010-04-27 2014-07-08 Ciena Corporation Reconfigurable optical add drop multiplexer node automated topology discovery systems and methods
IT1403031B1 (it) 2010-11-19 2013-09-27 Eurotech S P A Apparecchiatura di rete unificata per sistemi di supercalcolo scalabili
US8830873B2 (en) 2011-05-08 2014-09-09 Infinetics Technologies, Inc. Flexible radix switch
EP2568673A1 (en) 2011-08-30 2013-03-13 ABB Technology AG Parallel Redundancy Protocol, PRP, packet duplication over VLANs based on Spanning Tree instances.
US8891360B2 (en) 2012-05-04 2014-11-18 Infinera Corporation Optimal segment identification for shared mesh protection
EP2688342B1 (en) 2012-07-19 2018-02-21 TerraNet AB Soft Topology Reconfiguration for Improved Robustness in a Mesh Network
EP3142016B1 (en) 2012-11-21 2021-10-13 Coherent Logix Incorporated Processing system with interspersed processors dma-fifo
KR101769757B1 (ko) 2013-06-28 2017-08-21 인텔 코포레이션 소스 동기식 회선 교환 네트워크 온 칩(noc)을 위한 방법, 장치 및 시스템
US20150301964A1 (en) 2014-02-18 2015-10-22 Alistair Mark Brinicombe Methods and systems of multi-memory, control and data plane architecture
US20150261724A1 (en) 2014-03-14 2015-09-17 Emilio Billi Massive parallel exascale storage system architecture
US9558143B2 (en) 2014-05-09 2017-01-31 Micron Technology, Inc. Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device
JP6446989B2 (ja) * 2014-10-16 2019-01-09 富士通株式会社 計算機システム,処理方法及びジョブ処理プログラム
WO2017009859A1 (en) 2015-07-10 2017-01-19 Prasad Lalathuputhanpura Kochukunju Amicro data center (mdc) in a box system and method thereof
EP3400688B1 (en) 2016-01-04 2020-05-20 Gray Research LLC Massively parallel computer, accelerated computing clusters, and two dimensional router and interconnection network for field programmable gate arrays, and applications
US10374885B2 (en) 2016-12-13 2019-08-06 Amazon Technologies, Inc. Reconfigurable server including a reconfigurable adapter device
WO2018151640A1 (en) 2017-02-17 2018-08-23 Telefonaktiebolaget Lm Ericsson (Publ) Network node and method therein for transmitting a message in a mesh network
US10496561B2 (en) 2017-04-18 2019-12-03 Advanced Micro Devices, Inc. Resilient vertical stacked chip network for routing memory requests to a plurality of memory dies
US10674558B2 (en) 2017-05-24 2020-06-02 Vivint Wireless, Inc. Mesh topology radio
US10394747B1 (en) 2017-05-31 2019-08-27 Mellanox Technologies Ltd. Implementing hierarchical PCI express switch topology over coherent mesh interconnect
CN110915173B (zh) 2017-07-10 2022-04-29 芬基波尔有限责任公司 用于计算节点和存储节点的数据处理单元
CN107959643B (zh) * 2017-12-29 2021-05-14 曙光信息产业(北京)有限公司 一种通过交换芯片构建的交换系统及其路由算法
US10477288B2 (en) 2018-02-05 2019-11-12 David I-Keong Wong Data center interconnect as a switch
US20190236038A1 (en) 2018-12-20 2019-08-01 Swadesh Choudhary Buffered interconnect for highly scalable on-die fabric
US11184245B2 (en) 2020-03-06 2021-11-23 International Business Machines Corporation Configuring computing nodes in a three-dimensional mesh topology

Also Published As

Publication number Publication date
CN115244900B (zh) 2024-02-09
WO2021176279A1 (en) 2021-09-10
US11184245B2 (en) 2021-11-23
GB202214679D0 (en) 2022-11-23
GB2608556A (en) 2023-01-04
CN115244900A (zh) 2022-10-25
US20210281488A1 (en) 2021-09-09
DE112021001470T5 (de) 2023-01-05
US11646944B2 (en) 2023-05-09
US20220006702A1 (en) 2022-01-06

Similar Documents

Publication Publication Date Title
US11646944B2 (en) Configuring computing nodes in a three-dimensional mesh topology
US8527739B2 (en) Iterative process partner pairing scheme for global reduce operation
KR101713405B1 (ko) 한정된 시스템 내에서 네트워크 데이터 흐름을 최적화하는 방법
Jun et al. Scalable multi-access flash store for big data analytics
US10725957B1 (en) Uniform memory access architecture
JP6998391B2 (ja) 分散スイッチに対するスケーラブル・データ・センター・ネットワーク・トポロジ
JP2009116872A (ja) ネットワーク・オン・チップ(noc)上のソフトウェア・パイプライン化の方法、プログラムおよび装置
US20130268694A1 (en) Pass-through converged network adaptor (cna) using existing ethernet switching device
US20190243796A1 (en) Data storage module and modular storage system including one or more data storage modules
US11379127B2 (en) Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11050825B1 (en) Storage system port usage information sharing between host devices
US20220382944A1 (en) Extended inter-kernel communication protocol for the register space access of the entire fpga pool in non-star mode
WO2020223022A1 (en) Multi-column interleaved dimm placement and routing topology
US20070121621A1 (en) Integrated active-active fibre channel capability in SATA and SAS devices
Goldworm et al. Blade servers and virtualization: transforming enterprise computing while cutting costs
US11720413B2 (en) Systems and methods for virtualizing fabric-attached storage devices
US11003616B1 (en) Data transfer using point-to-point interconnect
US20220283866A1 (en) Job target aliasing in disaggregated computing systems
JP2023553213A (ja) 計算クラスタにおける実行ジョブ計算ユニット合成
Chou et al. Sharma et al.
Gai et al. Cisco Unified Computing System (UCS)(Data Center): A Complete Reference Guide to the Cisco Data Center Virtualization Server Architecture
CA2511812A1 (en) System and method for scalable interconnection of adaptive processor nodes for clustered computer systems
US11698878B1 (en) Highspeed shared-memory optical network interfaces and topology
Vetter et al. Networking Design for HPC and AI on IBM Power Systems
US20230254253A1 (en) Message split-aggregation for multi-stage electrical interconnection network

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230622

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240423