JPWO2010064661A1 - 並列計算システム、その方法及びそのプログラム - Google Patents

並列計算システム、その方法及びそのプログラム Download PDF

Info

Publication number
JPWO2010064661A1
JPWO2010064661A1 JP2010541339A JP2010541339A JPWO2010064661A1 JP WO2010064661 A1 JPWO2010064661 A1 JP WO2010064661A1 JP 2010541339 A JP2010541339 A JP 2010541339A JP 2010541339 A JP2010541339 A JP 2010541339A JP WO2010064661 A1 JPWO2010064661 A1 JP WO2010064661A1
Authority
JP
Japan
Prior art keywords
functional
communication request
communication
node
input
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.)
Withdrawn
Application number
JP2010541339A
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2010064661A1 publication Critical patent/JPWO2010064661A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

並列処理システム上で同時に動作する複数のプロセスに対する計算資源の割り当てを効率良く行う。並列計算システムは、複数の機能ノードと、機能ノード間で通信を行うための通信路の一部であり通信経路として機能する複数のネットワークスイッチとを有する。機能ノードは、並列計算システムが有する複数の機能ノードの一部又は全部の機能ノードから構成される機能ノード群を、1つの群として管理する。ネットワークスイッチは、通信要求を入出力するためのポートである複数の入出力ポートと、入出力ポートから入力された通信要求を入出力ポートへ出力するスイッチと、を備え、機能ノード間の通信経路毎に通信帯域幅を管理しスイッチを制御する。

Description

本発明は、並列計算システムに関し、特に複数のアプリケーションやプロセスへのハードウェア資源の割り当て及び管理が可能な並列計算システム、その方法及びそのプログラムに関する。
本発明に関連する並列処理システムの一例が、非特許文献1及び非特許文献2に記載されている。図11に示すように、この並列計算システム2500は、ハードウェアとソフトウェアの組合せによって構成されている。
具体的には、ハードウェアとして、演算、IO(入出力)、記憶等の機能を行う機能ノード2400を複数有している。そして、機能ノード2400に加えて、これら機能ノード2400間の通信のための通信路を有している。
更に、ソフトウェアとして、仮想化層2300、仮想マシン2200及び仮想マシン上のプロセス2100を有している。
このような構成を有する本発明に関連する並列計算システム2500は、次のように動作する。
まず、仮想化層2300は、各仮想マシン2200に対して動的、または静的に機能ノード2400を割り当てる。これにより、仮想マシン2200は、それぞれ独立した機能ノードから構成される仮想的な並列計算システム2500として動作することができる。各仮想マシン2200は、物理的な機能ノード2400の割り当てや、他の仮想マシン2200の実行状態を感知することなく、自身に割り当てられた仮想並列マシン2200の上でプロセス2100を実行することが可能である。仮想マシン2200上で動作するプロセス2100は、通常のOS(Operating System)であったり、アプリケーションそのものであったりする。物理的なハードウェアを構成する機能ノード2400は、通信路を介して相互に通信しながら処理を行う。
また、複数の機能ノードを備えた並列計算システムの他の例が、特許文献1に記載されている。特許文献1に記載の技術によれば、ソフトウェアによりオブジェクトを構成し、このオブジェクトに演算、IO(入出力)、記憶等の機能を実現させることができる。
そして、このような構成をとることにより、複数の機能ノードを備えた並列計算システムを実現することができる。
特開2000−155692号公報
中田 秀基 著「仮想化技術の動向と仮想クラスタ管理システムの紹介」GridWorld 2007 チュートリアル資料、2007年5月31日、p.5 富士通株式会社「Linux仮想マシン機能」ホワイトペーパー、[online]、2008年3月、pp.5−14、[平成20年11月21日検索]、インターネット〈URL:http://primeserver.fujitsu.com/primergy/software/linux/products/distribution/pdf/primergy-vm-wp.pdf〉
上述した特許文献1に記載の技術により、並列計算システムを実現することができるが、或るオブジェクト実行が、他のオブジェクト実行性能に影響を与えることがあるという問題がある。理由は、以下の通りである。
特許文献1に記載の技術では、計算システムがハードウェアとして備える演算、IO(入出力)、記憶等の機能をOSの管理のもとに時分割で割り当てることにより実行する。つまり、複数のオブジェクトでハードウェアを共有することになる。そのため、或るオブジェクト実行が、他のオブジェクト実行性能に影響を与えるという事態が生じる。
この点、上述したように、非特許文献1及び非特許文献2に記載されている並列処理システム2500を用いることにより各仮想マシン2200は物理的な機能ノード2400の割り当てや、他の仮想マシン2200の実行状態を感知することなく動作することが可能となる。しかし、非特許文献1及び非特許文献2に記載されている並列処理システム2500には、以下のような問題点がある。
第1の問題点は、処理のオーバーヘッドが大きいということである。その理由は、物理的なハードウェアと実際の処理を行うプロセスの間に仮想化層、仮想マシンというソフトウェアの階層が存在するためである。
第2の問題点は、各仮想マシン及びその上で動くプロセス、に割り当てられた機能ノード間の通信帯域幅が保証されないということである。その理由は、物理的な機能ノード間の通信を介在する通信路に、仮想マシン毎や、または仮想マシン内の機能ノード間の通信帯域幅を保証する機能が存在しないためである。
第3の問題点は、仮想マシンおよびその上で動くプロセス間の分離が完全ではないということである。その理由は、各仮想マシンの物理的なハードウェアへのマッピングは仮想化層というソフトウェアで行われるためである。
そこで、本発明は1つの並列計算システム上でソフトウェア層のオーバーヘッドを少なく複数のプロセスが実行できる並列計算システム、その方法及びそのプログラムを提供することを目的とする。
更に、本発明はプロセスに割り当てられた機能ノード間の通信帯域幅を保証できる並列計算システム、その方法及びそのプログラムを提供することを他の目的とする。
更に、本発明は複数のプロセス間の分離をハードウェアで実現できる並列計算システム、その方法及びそのプログラムを提供することを他の目的とする。
本発明の第1の観点によれば、情報処理を行うための、演算機能、入出力機能及び記憶機能の何れか又はそれらを組合せた機能を有する複数の機能ノードと、前記機能ノード間で通信を行うための通信路の一部であり通信経路として機能する複数のネットワークスイッチとを有する並列計算システムにおいて、前記機能ノードが、情報処理を行うための、演算機能、入出力機能及び記憶機能の何れか又はそれらを組合せた機能を有する機能要素と、前記機能ノード間で相互に通信を行うために前記機能ノード間で転送される通信要求を入出力するためのポートである機能ノード入出力ポートと、前記並列計算システムが有する複数の前記機能ノードの一部又は全部の前記機能ノードから構成される機能ノード群を、1つの群として管理する機能ノード群管理手段と、を備え、前記ネットワークスイッチが、前記通信要求を入出力するためのポートである複数の入出力ポートと、前記入出力ポートから入力された前記通信要求を前記入出力ポートへ出力するスイッチと、前記機能ノード間の前記通信経路毎に通信帯域幅を管理し前記スイッチを制御する帯域幅管理手段と、を備えていることを特徴とする並列計算システムが提供される。
本発明の第2の観点によれば、情報処理を行うための、演算機能、入出力機能及び記憶機能の何れか又はそれらを組合せた機能を有する複数の機能ノードと、前記機能ノード間で通信を行うための通信路の一部であり通信経路として機能する複数のネットワークスイッチとを有する並列計算システムにおける管理方法であって、前記機能ノードが、情報処理を行うための、演算機能、入出力機能及び記憶機能の何れか又はそれらを組合せた機能を有する機能要素を用意するステップと、前記機能ノードが、前記機能ノード間で相互に通信を行うために前記機能ノード間で転送される通信要求を入出力するためのポートである機能ノード入出力ポートを用意するステップと、前記機能ノードが、前記並列計算方法が有する複数の前記機能ノードの一部又は全部の前記機能ノードから構成される機能ノード群を、1つの群として管理する機能ノード群管理ステップと、前記ネットワークスイッチが、前記通信要求を入出力するためのポートである複数の入出力ポートを用意するステップと、前記ネットワークスイッチが、前記入出力ポートから入力された前記通信要求を前記入出力ポートへ出力するスイッチを用意するステップと、前記ネットワークスイッチが、前記機能ノード間の前記通信経路毎に通信帯域幅を管理し前記スイッチを制御する帯域幅管理ステップと、を備えていることを特徴とする並列計算方法が提供される。
本発明の第3の観点によれば、情報処理を行うための、演算機能、入出力機能及び記憶機能の何れか又はそれらを組合せた機能を有する複数の機能ノードと、前記機能ノード間で通信を行うための通信路の一部であり通信経路として機能する複数のネットワークスイッチとを有する並列計算システムにおける管理プログラムにおいて、前記機能ノードが、情報処理を行うための、演算機能、入出力機能及び記憶機能の何れか又はそれらを組合せた機能を有する機能要素と、前記機能ノード間で相互に通信を行うために前記機能ノード間で転送される通信要求を入出力するためのポートである機能ノード入出力ポートと、前記並列計算システムが有する複数の前記機能ノードの一部又は全部の前記機能ノードから構成される機能ノード群を、1つの群として管理する機能ノード群管理手段と、を備え、前記ネットワークスイッチが、前記通信要求を入出力するためのポートである複数の入出力ポートと、前記入出力ポートから入力された前記通信要求を前記入出力ポートへ出力するスイッチと、前記機能ノード間の前記通信経路毎に通信帯域幅を管理し前記スイッチを制御する帯域幅管理手段と、を備えている並列計算システムとしてコンピュータを機能させることを特徴とする管理プログラムが提供される。
本発明によれば、機能ノード群管理部によりOSや仮想化層の介在無しに直接機能ノード間が通信できることから、プロセスを構成する機能ノード間通信のオーバーヘッドの削減を実現することが可能となる。
本発明の実施の形態の基本的構成を示すブロック図である。 本発明が処理の対象とするプロセスの例を示す構成図である。 本発明の実施の形態の動作を説明するための2次元メッシュ構成の並列計算システムのブロック図である。 本発明の実施の形態の機能ノード間の通信の通信要求の構成例を示す図である。 本発明の実施の形態の機能ノードの構成例を示す図である。 本発明の実施の形態のネットワークスイッチの構成例を示す図である。 本発明の実施の形態のネットワークスイッチを構成するスイッチの構成例を示す図である。 本発明の実施の形態のネットワークスイッチによる帯域幅制御を説明する図である。 本発明の実施の形態のMMU付き記憶ノードの構成例を示す図である。 本発明の実施の形態の電源fv制御ノードの構成例を示す図である。 本発明に関連する仮想クロスタ技術について示すブロック図である。 本発明の実施の形態の機能ノード300の基本的動作について示すフローチャートである。 本発明の実施の形態の機能ネットワークスイッチ400の基本的動作について示すフローチャートである。
次に、本発明に係る並列計算システム、その方法及びそのプログラムの実施の形態について図面を参照して詳細に説明する。
図1に、本発明の第1の実施の形態を示す。本実施形態の並列計算システム1000は、複数の機能ノード300と、これら機能ノード300間の通信を行うための通信路である通信路500とを有している。
機能ノード300は、演算機能、入出力機能、記憶機能等を提供するノードである。機能ノード300は、演算機能、入出力機能、記憶機能等を提供する機能要素310と複数の機能ノード群を1つのまとまりとして管理するための機能ノード群管理部320とを有する。
また、通信路500は、複数のネットワークスイッチ400を有している。そして、ネットワークスイッチ400は、機能ノード300間の通信経路として機能するスイッチ420と機能ノード300間の通信の帯域幅を管理するための帯域幅管理部410とを有する。
並列計算システム1000では、複数のプロセス100が実行される。なお、プロセス100は、通常のOSであったり、アプリケーションそのものであったりする。プロセス100のそれぞれに、複数の機能ノード300からなる「機能ノード群」と、機能ノード300間の通信の「帯域幅」が割り当てられる。
プロセスと機能ノード群の対応付け200は、プロセス100とプロセス100に割り当てられた機能ノード群の対応付けである。この対応付けは、機能ノード300の有する機能ノード群管理部320と、ネットワークスイッチ400の有する帯域幅管理部410で行われる。
図2は、プロセス100と、プロセス100を構成するために割り当てられた機能ノード群の例である。機能ノード群は複数の機能ノード300と、機能ノード300間で通信を行うための通信経路510から構成される。図2のn1〜n9は、機能ノードである。具体的には、n1、n6は入出力ノード、n2、n3、n4及びn5は演算ノード、n7、n8及びn9は記憶ノードである。
通信経路510の構成は、プロセス100で行われる処理に応じて異なる。プロセス100が、OSのような汎用的なプロセスである場合は、機能ノード300間で完全結合が必要になる場合もある。一方、プロセス100が特定の処理を行うためのプロセスである場合は、完全結合である必要はなく、一般的には完全結合よりはるかに少ない通信経路510で十分である。本実施形態は、機能ノード300間の通信経路が完全結合を要求する場合でも対応できるが、プロセス100に必要な特定の通信経路510を要求する場合に特に有効である。
プロセス100を構成する機能ノード300は、プロセス100内でのみ有効な「ローカルノードID」により識別される。また同様に、通信経路510はプロセス100内でのみ有効な「ローカル通信経路ID」で識別される。
図2では、n1〜n9がローカルノードID、lnk1〜lnk19がローカル通信経路IDである。機能ノード300は、上述のローカルノードIDに加えて、「グローバルノードID」を持つ。ここで、グローバルノードIDとは並列計算システム1000内でそれぞれの機能ノード300を識別するためのIDである。図1に、グローバルノードIDであるN1〜Nnを示す。
また、グローバルノードIDではなく、機能ノード300間の通信路を識別するためのIDである「グローバル通信路ID」を使用することも可能である。グローバル通信路IDは、個別のネットワークスイッチ400に対応するIDではない。通信を行う、或る転送元機能ノード300から或る転送先機能ノード300へ至る通信経路は、その通信経路を構成する複数のネットワークスイッチ400とそのネットワークスイッチ400の接続状態として指定できる。グローバル通信経路IDは、この接続状態を識別のために用いられるIDである。
プロセスと機能ノード群の対応付け200は、プロセス100を構成する各機能ノード300のローカルノードIDと、グローバルノードIDの対応付けを管理することで実現する。
次に、機能ノード300間で通信を行う場合について説明する。
機能ノード300間で通信を行う場合は、まず転送元機能ノード300の機能要素310がローカルノードIDやローカル通信経路ID等の「ローカル識別情報」を用いてローカル通信要求600を作成する。そして、この作成したローカル通信要求600を、転送先機能ノード300への通信要求として機能ノード群管理部320に送出する。
機能ノード群管理部320は、受け取ったローカル通信要求600のローカル識別情報を、グローバルノードIDやグローバル通信経路ID等の「グローバル識別情報」に変換することにより、グローバル通信要求700を作成する。
そして、機能ノード群管理部320は、作成したグローバル通信要求700を、通信路500を構成するネットワークスイッチ400に送出する。
ネットワークスイッチ400は、グローバル通信要求700に含まれるグローバル識別情報に基づきスイッチ420を制御することにより、グローバル通信要求700が転送先機能ノード300へ転送される。
以上の動作を行うことにより、機能ノード300間での通信が実現できる。
ここで、ネットワークスイッチ400が行うスイッチ420の制御について詳細に説明する。
ネットワークスイッチ400の帯域幅管理部410には、予め通信経路とその通信経路に割り当てる帯域幅が登録されている。例えば、転送元グローバルノードIDと転送先グローバルノードIDと対応する通信経路へ割り当てる帯域幅情報を帯域幅管理部410に登録する。登録情報としては、他にも、グローバル通信経路IDと対応する通信経路へ割り当てる帯域幅情報を登録することも可能である。ネットワークスイッチ400では、グローバル通信要求700に含まれるグローバル識別情報に基づきスイッチ420を制御するが、このとき、ネットワークスイッチ400の帯域幅管理部410に予め登録されている帯域幅情報に応じて必要な帯域幅を割り当てることにより通信要求の要求する帯域幅を保証する。
次に、図1の本実施形態の全体の動作を詳細に説明する。ここでは、一般性を失うことなく、2次元メッシュ構造の通信路500を持つ並列計算システムの構成を例に用いて説明を行う。
図3に2次元メッシュ構成の通信路500を持つ場合の本実施形態の並列計算システム1000の例を示す。図3では、機能ノード300は2次元配列とされており、それぞれの機能ノード300に対応して1つのネットワークスイッチ400が接続されている。また、各ネットワークスイッチ400は、2次元配列上の上下左右に隣接する他の4つのネットワークスイッチ400と接続している。機能ノード300は、演算、入出力、記憶、といった機能を提供する。なお、機能ノード300として、複数のプロセス100で記憶機能を共有するためのMMU(Memory Management Unit)付き記憶ノード300−Aを含んでも良い。また、ネットワークスイッチ400の電源や動作周波数、動作電圧を制御するための電源fv制御ノード300−Bを含んでも良い。
図4は、機能ノード300間で通信を行うための通信要求及び識別情報のデータ構造の具体例を示す図である。
図4aは、グローバル通信要求700の構成例で、グローバル識別情報710と、ペイロード740とを有する。ペイロード740は、通信によって転送されるデータである。グローバル通信要求700には、更に、機能ノード群ID720及び特権制御情報730を含んで構成することもできる。ここで、機能ノード群ID720は、機能ノード群を識別するためのIDである。また、特権制御情報730は、特権的な制御や、その他通信制御を行うための情報である。
更に、特権制御情報730は、グローバル通信要求700の転送先を制御するための情報を保持することもできる。例えば、グローバル通信要求700は、特権制御情報730を用いて、機能ノード300だけでなく、ネットワークスイッチ400にも転送することができる。図3の並列計算システム1000では、機能ノード300とネットワークスイッチ400が1対1で対応している。したがって、機能ノード300と対応するネットワークスイッチ400へグローバル通信要求700を転送する場合、グローバル通信要求700に同じグローバル識別情報710を設定する。そして、それに加えて、転送先として機能ノード300かネットワークスイッチ400のどちらかを識別するフラグを特権制御情報730に設けることにより、区別して転送することが可能となる。
図4bは、ローカル通信要求600の構成例でローカル識別情報610とペイロード740とを有する。ローカル通信要求600には、グローバル通信要求700と同様に機能ノード群ID720及び特権制御情報730を含んで構成することもできる。
図4c1は、グローバル識別情報710の構成例で、転送先グローバルノードID810と、転送元グローバルノードID820を有する。
図4c2は、ローカル識別情報610の構成例で転送先ローカルノードID910、転送元ローカルノードID920を有する。
図4d1は、グローバル識別情報710の別の構成例で、グローバル通信経路ID830を有する。
図4d2は、ローカル識別情報610の別の構成例で、ローカル通信経路ID930を有する。
図5は、機能ノード300の構成例を示す図である。機能ノード300は、機能要素310、機能ノード群管理部320、電源fv制御部350、特権レベル記憶部360、機能ノード入力ポート370及び機能ノード出力ポート380を有する。更に、機能ノード群管理部320は、通信要求変換部330及び機能ノード群管理情報保持部340を有する。
機能要素310は、演算機能、入出力機能、記憶機能のいずれかの機能を提供する。また機能要素310が、これらの機能に代えて、又は、これらの機能と共に、他の機能を提供するようにしても良い。
機能ノード群管理部320は、ネットワークスイッチ400とのインタフェース部として機能する。
機能ノード300は、ネットワークスイッチ400と相互にグローバル通信要求700をやり取りするために、機能ノード入力ポート370と機能ノード出力ポート380を持つ。
機能ノード群管理情報保持部340は、ローカル通信要求600とグローバル通信要求700を相互に変換するために必要な情報を保持する。機能ノード群管理情報保持部340が保持する情報の具体例としては、機能ノード300が転送元機能ノード300として通信を行う場合の、転送先機能ノード300のローカルノードIDとグローバルノードIDの対応表が挙げられる。
次に、図12のフローチャートを用いて、機能ノード300が転送元機能ノード300として動作する場合について説明する。
機能要素310は、図4c2に例示したローカル識別情報610を用いてローカル通信要求600を生成する(ステップS11)。
通信要求変換部330は、このローカル通信要求600のローカル識別情報610を構成する転送先ローカルノードID910を、機能ノード群管理情報保持部340を参照し、グローバルノードID810に変換する。また、同様に機能ノード群管理情報保持部340を参照し、転送元ローカルノードID920を、転送元グローバルノードID820に変換する。そして、これら変換後のIDを用いてグローバル識別情報710(図4c1参照)とする(ステップS13)。
通信要求変換部330は、図4c1のグローバル識別情報710を含むグローバル通信要求700を機能ノード出力ポート380からネットワークスイッチ400に送出することにより、転送先機能ノード300へ通信要求を転送する(ステップS15)。
次に、機能ノード300が転送先機能ノード300として動作する場合について説明する。
ネットワークスイッチ400から機能ノード入力ポート370を介して機能ノード300に転送されたグローバル通信要求700は、通信要求変換部330と機能ノード群管理情報保持部340によりローカル通信要求600に変換され、機能要素310に転送される(ステップS17)。
この転送の際に、機能要素310で転送元機能ノード300を識別する必要がない場合は、通信要求変換部330では、グローバル通信要求700からペイロード740を取り出し、ペイロード740だけを機能要素310に転送することもできる。この場合は、機能ノード群管理情報保持部340の参照は不要となり通信要求変換部330、機能ノード群管理情報保持部340を簡略化することができる。
グローバル通信要求700に含まれるグローバル識別情報710、ローカル通信要求600のローカル識別情報610がそれぞれ、グローバル通信経路ID830(図4d1参照)、ローカル通信経路ID930(図4d2参照)を用いて構成される場合も同様な手順でローカル通信要求600、グローバル通信要求700の相互の変換が可能である。
また、機能ノード群管理情報保持部340を書き換えて更新することにより、機能ノード群の構成を変更することができる。機能ノード群管理情報保持部340の書き変えは、他機能ノード300からのグローバル通信要求700で行う。具体的には、グローバル通信要求700に含まれる特権制御情報730と、ペイロード740を用いて機能ノード群管理情報保持部340の書き変えと書き変えの内容を指示する。この点、機能ノード群管理情報保持部340を誤って書き変えると他の機能ノード群で実行中のプロセス100に影響を与えることになる。そのため、誤って書き変えたり、悪意のあるプロセス100によって書き変えられたりすることのないように、特権的なグローバル通信要求700のみが書き換えを行えるようにすることが好ましい。そのために、グローバル通信要求700に特権制御情報730を付加し、特権的な操作を要求することができる通信要求か否かを識別するために特権制御情報730を利用する。
機能ノード300の特権レベル記憶部360は機能ノード300の特権レベルを保持する。特権レベル記憶部360に格納された特権レベルに応じて、通信要求変換部330は、特権的な操作を指示するグローバル通信要求700の送出を制御する。特権レベルが低い(非特権レベル)機能ノード300の機能要素310が特権的な操作を指示するローカル通信要求600を送出した場合、通信要求変換部330は、このローカル通信要求600のグローバル通信要求700への変換、および、ネットワークスイッチ400への送出を遮断する。
特権レベル記憶部360に保持される特権レベルの書き変えも特権的なグローバル通信要求700によって行う。一方、特権レベルが低い(又は、非特権レベルな)グローバル通信要求700による書き換えは遮断する。
機能ノード300の電源fv制御部350は機能ノード300の電源ON/OFFの切り替え、動作周波数及び動作電圧の制御を行う。グローバル通信要求700として機能ノード300の電源fv制御を指定することができる。電源ON/OFFの切り替え、動作周波数の制御、動作電圧の制御の何れを行うかは、グローバル通信要求700を構成する特権制御情報730と、ペイロード740を用いて指定することができる。
次に、図6を参照してネットワークスイッチ400の構成について説明する。また、図13を用いて動作について説明する。
ネットワークスイッチ400は、スイッチ410、帯域幅管理部420、スイッチ制御部430、帯域幅管理情報保持部440及びネットワークスイッチ電源fv制御部450を有する。
また、ネットワークスイッチ400は、図3を用いて上述したように、上下左右に隣接する他のネットワークスイッチ400と接続を持つ。またネットワークスイッチ400は1つの機能ノード300と接続されている。ネットワークスイッチ400は、これらそれぞれの接続に対応する入出力ポートを持つ。従ってネットワークスイッチ400は、上下左右に隣接する4つのネットワークスイッチ400と、隣接する1つの機能ノード300からの入力のために5つの入力ポートを有する。図6及び以下の説明では、この5つの入力ポートを、460U、460D、460L、460R、460Nと表記する。同様に、上下左右に隣接する4つのネットワークスイッチ400と、隣接する1つの機能ノード300への出力のために5つの出力ポートを有する。図6及び以下の説明では、この5つのポートを、470U、470D、470L、470R、470Nと表記する。
まず、5つの入力ポート460U、460D、460L、460R、460Nの中の単数、複数若しくは全てにグローバル通信要求700が入力される(ステップS21)。
そして、帯域幅420のスイッチ制御部430がどの入力ポート460からどの出力ポート470にグローバル通信要求700を転送するのかを決定する(ステップS23)。
そしてスイッチ制御部430がスイッチ410を制御することにより、5つの入力ポート460U、460D、460L、460R、460Nからのグローバル通信要求700は、5×5のスイッチ420を経由して5つの出力ポート470U、470D、470L、470R、470Nの何れかに転送され、出力される(ステップS25)。転送先は、1つには限定されず、複数の転送先があってもよい。例えば、ノード群全体、即ちノード群に属する全てのノードに同一の通信要求を転送する場合や、ノード群に属するノードのうちのいくつかに同一の通信要求を転送する場合は、転送先が複数となる。
スイッチ410は、帯域幅管理部420のスイッチ制御部430によってどの入力ポート460からどの出力ポート470にグローバル通信要求700を転送するのかを制御される。グローバル通信要求700には、それぞれ必要とする転送の帯域幅が定められている。帯域幅管理情報保持部440は、このネットワークスイッチ5を経由する複数の通信経路510に関して、スイッチ410を制御するための情報を格納している。スイッチ410を制御するための情報の具体例としては、グローバル通信要求700に含まれるグローバル識別情報710で識別される通信経路510毎に転送すべき出力ポート470と、要求された帯域幅とを対応付けた表が例示できる。スイッチ制御部430は、帯域幅管理情報保持部440に基づきスイッチ410を制御する。帯域幅管理情報保持部440は、このネットワークスイッチ400を転送先として送られたグローバル通信要求700の指示により書き変えることができる。
図7は、5×5のスイッチ410の構成例である。図7では、説明の簡略化のためネットワークスイッチ400自身を転送先とする転送経路は省略しているが、ネットワークスイッチ400自身を転送先とする転送経路については、出力ポート数を5から6に増やすことで容易に拡張できる。
スイッチ410は、図6に示すスイッチ制御部430からの制御信号を構成する経路制御信号414と帯域幅制御信号415とにより転送動作が指定される。
マルチプレクサ(multiplexer:図中及び以下の説明では、「MUX」と表記する。)MUX411は、入力ポート460から届いたグローバル通信要求700を適切に出力ポート470に転送するための経路制御を行う。帯域幅制御部413は、グローバル通信要求700の要求する帯域幅を保証した転送を行うための制御を行う。バッファ(buffer:図中及び以下の説明では、「BUF」と表記する。)BUF412は、MUX411と帯域幅制御部413の間でグローバル通信要求700を蓄積するためのBUFである。
MUX411は、経路制御信号414に基づき通信経路510毎に適切な出力先を予め設定される。MUX411は、グローバル通信要求700に含まれるグローバル識別情報710とから通信経路510を識別し、予め設定された出力先のBUF412にグローバル通信要求700を転送する。
図8は、帯域幅制御の例について示す図である。図8では、出力ポート470を4つの通信経路510L1、510L2、510L3、510L4が共有している場合である。出力ポート470の帯域幅をB、4つの通信経路510L1、5102、5103、5104の要求する帯域幅をそれぞれB1、B2、B3、B4とすると、
Figure 2010064661
の関係が成り立つ必要がある。BUF412Uから出力ポート470への経路は、2つの通信経路510L1、510L2によって共有されており、この経路に必要な帯域幅は(B1+B2)である。BUF412D及びBUF412Rから出力ポート470への経路は、通信経路510が設定されていない。BUF412Lから出力ポート470への経路は、通信経路510L3が設定されている。また、BUF412Nから出力ポート470への経路は、通信経路510L4が設定されている。
帯域幅管理部413は、4つのBUF412U、BUF412D、BUF412L、BUF412R、BUF412Nのそれぞれに対して帯域幅として、B1+B2、0、B3、0、B4を割り当てる。
BUF412Uは、2つの通信経路510L1、510L2で共有されているがそれぞれの送信元機能ノード300が、予め設定された帯域幅の範囲内のグローバル通信要求700を送出するのであれば、それぞれの通信経路を区別することなく、BUF412Uに対する帯域幅(B1+B2)を保証すればよい。
また、グローバル通信要求700が固定長の場合は、帯域幅制御部413は例えばラウンドロビンでそれぞれのBUF412にグローバル通信要求700があるかどうか確認する。そして、グローバル通信要求700がもしもあれば、グローバル通信要求700を1つBUF412から取り出し出力ポート470に転送する。それぞれのBUF412毎に割り当てられている帯域幅が異なるので、割り当てられている帯域幅に比例した頻度でラウンドロビンを行うことでそれぞれの通信経路510の要求する帯域幅を保証した通信が実現できる。図8の例では、5つのBUF412U、BUF412D、BUF412L、BUF412R、BUF412Nに対して
Figure 2010064661
に比例した頻度でラウンドロビンを行えばよい。ラウンドロビンの頻度は、帯域幅制御信号415によって設定される。
一方、グローバル通信要求700が固定長でない場合は、グローバル通信要求700の最大長を設定、その最大長の通信を保証するようにラウンドロビンを行えばよい。もっとも、このようにランドロビンを行う場合であって、グローバル通信要求700の最大長と平均長の差が大きい場合は、最大長に満たない部分が無駄になる。そこで、グローバル通信要求700の最大長をLmaxとし転送すべきグローバル通信要求700の長さをLとすると(Lmax−L)の転送に要する時間だけ帯域幅制御部413のクロックを停止することにより無駄な消費電力を抑えることが可能である。
図6のネットワークスイッチ400は、ネットワークスイッチ電源fv制御部450を更に有している。
そして、ネットワークスイッチ電源fv制御部450は、このネットワークスイッチ400を転送先として送られたグローバル通信要求700の指示により電源のON/OFFの切り替え、動作電圧及び動作周波数を制御する。
また、グローバル通信要求700の指示ではなく、図3の電源fv制御ノード300−Bからの専用通信路を経由した指示により電源のON/OFFの切り替え、動作電圧及び動作周波数を制御することも可能である。
図9は、MMU付き記憶ノード300−Aの構成例である。機能ノード群管理部320、通信要求変換部330、機能ノード群管理情報保持部340、電源fv制御部350及び特権レベル記憶部360を有している点は、図5の機能ノード300と同様である。加えて、MMU付き記憶ノード300−Aは、機能ノード群ID抽出部390を有している。また、機能要素310として記憶要素310−Aを有している。更に、記憶要素310−Aは、記憶素子311−A、MMU312−A、記憶アクセス制御部313−A及び記憶管理情報314−Aを有している。
機能ノード群ID抽出部390は、グローバル通信要求700から機能ノード群IDを抽出する。記憶要素3101はMMU付きの記憶要素として機能する。
機能ノード入力ポート370から届いたグローバル通信要求700はローカル通信要求600に変換され記憶アクセス制御部313−Aに転送される。ローカル通信要求600のペイロード740は記憶素子に対するアクセスの指示である。具体的には、ローカル通信要求600のペイロード740は、アクセスが書き込みか読み出しかを指示するアクセスタイプと、論理アドレスを有している。アクセスタイプが書き込みの場合は、更に書き込み込みデータを有している。一方、アクセスタイプが読み出しの場合は、読み出したデータを転送すべき機能ノード300のローカルノードIDを有している。
記憶アクセス制御部313−Aは、ローカル通信要求600からアクセスタイプと、論理アドレスを抽出する。ここで、アクセスタイプが書き込みであれば、データも抽出する。一方、アクセスタイプが読み出しであれば、読み出したデータを転送すべき機能ノード300のローカルノードIDも抽出する。記憶アクセス制御部313−Aは、抽出した情報に基づき記憶素子に対して読み書きの操作を行う。
記憶管理情報314−Aは、このMMU付き記憶ノード300−Aにアクセスする機能ノード群と、各機能ノード群内で固有の論理アドレスと、記憶素子311−Aの物理アドレスの変換に必要な情報を保持する。
MMU312−Aは、論理アドレスから物理アドレスへの変換を行う。MMU付き記憶ノード300−Aに対するアクセス要求は複数の機能ノード群からグローバル通信要求700として転送される。MMU312−Aは、機能ノード群ID抽出部390で抽出された機能ノード群IDと記憶管理情報314−Aに基づき論理アドレスを物理アドレスへ変換する。
機能ノード入力ポート370から届いたグローバル通信要求700は、機能ノード管理部320でローカル通信要求600に変換され記憶アクセス制御部313−Aに転送される。
記憶アクセス制御部313−Aは、アクセスタイプに従って記憶素子311−Aに対するアクセス制御を行う。論理アドレスは、MMU312−Aにより物理アドレスに変換され記憶素子311−Aのアドレス指定に使用される。記憶アクセス制御部313−Aでは、アクセスタイプが書き込みの場合は、抽出したデータを記憶素子311−Aに書き込む。一方、アクセスタイプが読み出しの場合は、記憶素子311−Aから読み出されたデータと、データを転送すべき機能ノード300のローカルノードIDと、機能ノード群ID抽出部390で抽出した機能ノード群IDとからローカル通信要求600を生成する。そして、生成したローカル通信要求600を通信要求変換部330に転送する。
通信要求変換部330では、ローカル通信要求600をグローバル通信要求700に変換して機能ノード出力ポート380に送出する。
なお、記憶管理情報314−Aの書き換えは、機能ノード入力ポート370からの特権的なグローバル通信要求700によって行うことができる。
図10は、電源fv制御ノード300−Bの構成例である。電源fv制御ノード300−Bは専用通信路を経由して、ネットワークスイッチ400の電源のON/OFFの切り替え、動作電圧及び動作周波数を制御する。
電源fv制御ノード300−Bが、機能ノード群管理部320、通信要求変換部330、機能ノード群管理情報保持部340、電源fv制御部350及び特権レベル記憶部360を有している点は、図5の機能ノード300と同様である。また、電源fv制御ノード300−Bは、機能要素310として電源fv制御用入出力要素310−Bを有している。
電源fv制御用入出力要素310−Bは、機能ノード入力ポート370からのグローバル通信要求700に含まれるペイロード740の指示に応じて、ネットワークスイッチ400の電源fv制御部450と接続している専用通信路を介して、ネットワークスイッチ400の電源fv制御を行う。
次に、以上説明した本実施の形態の効果について説明する。
第1の効果は、プロセスを構成する機能ノード間通信のオーバーヘッドを削減できることにある。その理由は、機能ノード群管理部によりOSや仮想化層の介在無しに直接機能ノード間が通信できるためである。
第2の効果は、プロセスに割り当てられた機能ノード間の通信帯域幅を保証できることにある。その理由は、ネットワークスイッチの帯域幅管理部により予め設定しておいた機能ノード間の通信の帯域幅に応じた通信制御を行えるためである。
第3の効果は、複数のプロセスがお互いに干渉することなく1つの並列処理システム上で実行できることにある。その理由は、機能ノード群管理部や、帯域幅管理部により各プロセスへ割り当てられた機能ノード、機能ノード間の通信帯域幅が他のプロセスと完全に分離して動作できるためである。
第4の効果は、消費電力の削減が可能となることである。その理由は、各機能ノード300は電源fv制御部350を持つように構成されているため、プロセスに割り当てられていない機能ノード300の電源をOFFにしたり、クロックを停止することにより、消費電力の削減が実現できるからである。また、機能ノード300の処理性能に余裕がある場合は、クロック周波数を下げたり、電源電圧を下げることによっても消費電力の削減が可能である。
更に、各ネットワークスイッチ400はネットワークスイッチ電源fv制御部450を持つように構成されているため、通信経路510が割り当てられていないネットワークスイッチ400の電源をOFFしたりクロックを停止することにより消費電力の削減が可能である。また、ネットワークスイッチ400に割り当てられている通信経路510の要求帯域幅に対してネットワークスイッチ400の帯域幅に余裕がある場合は、クロック周波数を下げたり、電源電圧をさげることによっても消費電力の削減が可能である。
第5の効果は、管理情報の操作は特権レベルの高いプロセス100によってのみ行えるように設定可能となることである。その理由は、本実施の形態では、グローバル通信要求700、ローカル通信要求600は特権制御情報730を持つように構成できるため、機能ノード群管理情報保持部340、特権レベル記憶部360、電源fv制御部350、ネットワークスイッチ電源fv制御部450、記憶管理情報314−A等の管理情報の操作は特権レベルの高いプロセス100によってのみ行えるように設定可能とできるからである。これによって、他のプロセス100への機能ノード300や通信経路510等の資源の割り当て等を行うOSプロセスを構成することができる。
第6の効果は、異なるプロセス100間での通信も可能となることである。その理由は、記憶ノードとしてMMU付きの記憶ノード300−Aを持つことができ、MMU付きの記憶のノード300−Aは複数のプロセス100で同一の記憶素子311−Aを共有する共有メモリの機能を安全に実現できるからである。
なお、本発明の実施形態である並列計算システムは、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。
例えば、上記の並列計算システムは、ハードウェアによって実現することもできるが、コンピュータをそのシステムとして機能させるためのプログラムを、コンピュータが記録媒体から読み出して、実行することによっても実現することができる。
また、上記の並列計算方法は、ハードウェアによって実現することもできるが、コンピュータにその方法を実行させるためのプログラムを、コンピュータがコンピュータ読みと取り可能な記録媒体から読み出して、実行することによっても実現することができる。
また、上述したハードウェア、ソフトウェア構成は特に限定されるものではなく、上述した各部の機能を実現可能であれば、いずれのものでも適用可能である。例えば、上述した各部の機能毎に個別に構成したものでも、各部の機能を一体的に構成したものでも、いずれでもよい。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2008年12月4日に出願された日本出願特願2008−309813号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、マルチコアシステムをリアルタイム性、低電力性が重要な組込み制御といった用途に適用できる。また、複数のプロセスをそれぞれ自動並列化コンパイラでそれぞれのプロセスごとに複数コア用に最適化して1つの並列計算システム上でお互いに干渉することなく実行する、といった用途にも適用可能である。
100、2100 プロセス
200 プロセスと機能ノード群の対応付け仮想マシン 2200
300、2400 機能ノード
300−A MMU付き記憶ノード
300−B 電源fv制御ノード
310 機能要素
310−A 記憶要素
311−A 記憶素子
312−A MMU
313−A 記憶アクセス制御部
314−A 記憶管理情報 216 電源fv制御用入出力要素
320 機能ノード群管理部
330 通信要求変換部
340 機能ノード群管理情報保持部
350 電源fv制御部
360 特権レベル記憶部
370 機能ノード入力ポート
380 機能ノード出力ポート
390 機能ノード群ID抽出部400 ネットワークスイッチ
410 スイッチ
411 MUX
412、412U、412D、412L、412R、412N BUF
413 帯域幅制御部
414 経路制御信号
415 帯域幅制御信号
420 帯域幅管理部
430 スイッチ制御部
440 帯域幅管理情報保持部
450 ネットワークスイッチ電源fv制御部
460、460U、460D、460L、460R、460N 入力ポート
470、470U、470D、470L、470R、470N 出力ポート
500 通信路
510、510L1、510L2、510L3、510L4 通信経路
600 ローカル通信要求
610 ローカル識別情報
700 グローバル通信要求
710 グローバル識別情報
720 機能ノード群ID
730 特権制御情報
740 ペイロード
810 転送先グローバルノードID
820 転送元グローバルノードID
830 グローバル通信経路ID
910 転送先ローカルノードID
920 転送元ローカルノードID
930 ローカル通信経路ID
1000、2500 並列計算システム
2300 仮想化層

Claims (24)

  1. 情報処理を行うための、演算機能、入出力機能及び記憶機能の何れか又はそれらを組合せた機能を有する複数の機能ノードと、前記機能ノード間で通信を行うための通信路の一部であり通信経路として機能する複数のネットワークスイッチとを有する並列計算システムにおいて、
    前記機能ノードが、
    情報処理を行うための、演算機能、入出力機能及び記憶機能の何れか又はそれらを組合せた機能を有する機能要素と、
    前記機能ノード間で相互に通信を行うために前記機能ノード間で転送される通信要求を入出力するためのポートである機能ノード入出力ポートと、
    前記並列計算システムが有する複数の前記機能ノードの一部又は全部の前記機能ノードから構成される機能ノード群を、1つの群として管理する機能ノード群管理手段と、
    を備え、
    前記ネットワークスイッチが、
    前記通信要求を入出力するためのポートである複数の入出力ポートと、
    前記入出力ポートから入力された前記通信要求を前記入出力ポートへ出力するスイッチと、
    前記機能ノード間の前記通信経路毎に通信帯域幅を管理し前記スイッチを制御する帯域幅管理手段と、
    を備えていることを特徴とする並列計算システム。
  2. 前記機能ノード群を構成する複数の前記機能ノード間の通信においては、前記機能ノード群を構成する複数の前記機能ノード間のみで相互に通信を行うための通信要求であるローカル通信要求を用い、
    前記通信路における通信では、前記並列計算システムを構成する全ての前記機能ノード間で相互に通信を行うためのグローバル通信要求を用い、
    前記機能ノード群管理手段が、
    前記ローカル通信要求と前記グローバル通信要求の相互の変換のための情報を管理する機能ノード管理情報保持手段と、
    前記機能ノード管理情報保持手段が管理する前記情報を用いて、前記機能要素が入出力する前記ローカル通信要求と前記機能ノード入出力ポートから入出力される前記グローバル通信要求とを相互に変換する通信要求変換手段と、
    を備えることを特徴とする請求項1に記載の並列計算システム。
  3. 前記機能ノードが、前記機能ノードの電源の投入及び遮断の制御、前記機能ノードの動作周波数の制御、前記機能ノードの動作電圧の制御の何れか又はこれらを組み合わせた制御を行う電源fv制御手段を、更に備えることを特徴とする請求項2に記載の並列計算システム。
  4. 前記ローカル通信要求及び前記グローバル通信要求は、当該ローカル通信要求又は当該前記グローバル通信要求が特権的な通信要求であるか否かを示す情報である特権制御情報を有し、
    前記機能ノードが、前記機能ノードが前記機能ノード入出力ポートから送出できる前記グローバル通信要求の前記特権制御情報の特権レベルの上限値を保持する特権レベル記憶手段を、
    更に備えることを特徴とする請求項2又は3に記載の並列計算システム。
  5. 前記帯域幅管理手段が、
    前記ネットワークスイッチを前記通信経路の一部として含む前記通信経路と前記通信経路に割り当てられている通信帯域幅との対応付けを保持する帯域幅管理情報保持手段と、
    前記帯域幅管理情報に従って前記ネットワークスイッチの前記スイッチを制御するスイッチ制御手段と、
    を備えることを特徴とする請求項2乃至4の何れか1項に記載の並列計算システム。
  6. 前記ネットワークスイッチは、
    前記ネットワークスイッチの前記入出力ポートに対応する複数の入力ポート及び複数の出力ポートと、
    複数の前記入力ポート毎に前記通信経路を制御し、前記複数の出力ポートに対応した出力を持つマルチプレクサと、
    前記マルチプレクサの前記出力毎にグローバル通信要求を蓄積するためのバッファと、
    複数の前記マルチプレク毎の前記出力ポートを出力先とする複数の前記バッファに蓄積されている前記グローバル通信要求を前記出力ポートに出力する帯域幅制御手段と、
    を備えることを特徴とする請求項2乃至5の何れか1項に記載の並列計算システム。
  7. 前記帯域幅制御手段は、当該帯域幅制御手段が前記グローバル通信要求を受け取る複数の前記バッファに対する処理を、前記通信経路毎に割り当てられている通信帯域幅に比例した頻度でラウンドロビン方式によって行うことを特徴とする請求項6に記載の並列計算システム。
  8. 前記ネットワークスイッチが、前記ネットワークスイッチの電源の投入及び遮断の制御、前記ネットワークスイッチの動作周波数の制御、前記ネットワークスイッチの動作電圧の制御の何れか又はこれらを組み合わせた制御を行うネットワークスイッチ電源fv制御手段を、
    更に備えることを特徴とする請求項2乃至7の何れか1項に記載の並列計算システム。
  9. 前記機能ノードとして、前記通信路を構成する複数の前記ネットワークスイッチ電源fv制御手段を専用通信路を介して制御する電源fv制御ノードを備えることを特徴とする請求項8に記載の並列計算システム。
  10. 前記機能ノードとして複数の前記機能ノード群から共通にアクセスすることができ、記憶機能を共有することができるMMU(Memory Management Unit)付き記憶ノードを持つことを特徴とする請求項2乃至9の何れか1項に記載の並列計算システム。
  11. 前記MMU付き記憶ノードは、
    前記機能ノード群管理手段と、前記特権レベル記憶手段と、前記電源fv制御手段と、前記機能ノード入出力ポートと、に加え、
    前記機能ノード入出力ポートから入力された前記グローバル通信要求から機能ノード群IDを抽出するための機能ノード群ID抽出手段と、
    物理アドレスと読み書き制御信号によってデータを読み書きできる記憶素子と、
    前記機能ノード群管理手段によって前記グローバル通信要求から変換された前記ローカル通信要求から前記記憶要素に対するアクセス制御情報を抽出し、抽出された前記アクセス制御情報の論理アドレスによって前記記憶素子に対してデータの読み書き制御を行う記憶アクセス制御手段と、
    前記機能ノード群毎に前記論理アドレスと前記記憶素子にアクセスするための物理アドレスの変換情報を保持する記憶管理情報保持手段と、
    前記機能ノード群ID抽出手段で抽出された前記機能ノード群IDと前記記憶管理情報を用いて前記記憶アクセス手段が出力する論理アドレスを物理アドレスに変換して前記記憶素子に入力するMMUと、を備え、
    前記記憶アクセス制御手段は、前記ローカル通信要求から抽出された前記アクセス制御情報のアクセスタイプが読み出しの場合、前記記憶素子から読み出されたデータと前記機能ノード群IDとから前記読み出されたデータを転送すべき前記機能ノードへの前記ローカル通信要求を構成し前記機能ノード群管理手段に転送し、
    前記機能ノード管理手段は、前記機能アクセス制御手段から転送された前記ローカル通信要求を前記グローバル通信要求に変換して前記機能ノード入出力ポートから送出することを特徴とする請求項10に記載の並列計算システム。
  12. 情報処理を行うための、演算機能、入出力機能及び記憶機能の何れか又はそれらを組合せた機能を有する複数の機能ノードと、前記機能ノード間で通信を行うための通信路の一部であり通信経路として機能する複数のネットワークスイッチとを有する並列計算システムにおける管理方法であって、
    前記機能ノードが、情報処理を行うための、演算機能、入出力機能及び記憶機能の何れか又はそれらを組合せた機能を有する機能要素を用意するステップと、
    前記機能ノードが、前記機能ノード間で相互に通信を行うために前記機能ノード間で転送される通信要求を入出力するためのポートである機能ノード入出力ポートを用意するステップと、
    前記機能ノードが、前記並列計算方法が有する複数の前記機能ノードの一部又は全部の前記機能ノードから構成される機能ノード群を、1つの群として管理する機能ノード群管理ステップと、
    前記ネットワークスイッチが、前記通信要求を入出力するためのポートである複数の入出力ポートを用意するステップと、
    前記ネットワークスイッチが、前記入出力ポートから入力された前記通信要求を前記入出力ポートへ出力するスイッチを用意するステップと、
    前記ネットワークスイッチが、前記機能ノード間の前記通信経路毎に通信帯域幅を管理し前記スイッチを制御する帯域幅管理ステップと、
    を備えていることを特徴とする並列計算方法。
  13. 前記機能ノード群を構成する複数の前記機能ノード間の通信においては、前記機能ノード群を構成する複数の前記機能ノード間のみで相互に通信を行うための通信要求であるローカル通信要求を用い、
    前記通信路における通信では、前記並列計算システムを構成する全ての前記機能ノード間で相互に通信を行うためのグローバル通信要求を用い、
    前記機能ノード群管理ステップにおいて、前記ローカル通信要求と前記グローバル通信要求の相互の変換のための情報を管理する機能ノード管理情報保持ステップと、
    前記機能ノード群管理ステップにおいて、前記機能ノード管理情報保持ステップにおいて管理する前記情報を用いて、前記機能要素が入出力する前記ローカル通信要求と前記機能ノード入出力ポートから入出力される前記グローバル通信要求とを相互に変換する通信要求変換ステップと、
    を更に備えることを特徴とする請求項12に記載の並列計算方法。
  14. 前記機能ノードが、前記機能ノードの電源の投入及び遮断の制御、前記機能ノードの動作周波数の制御、前記機能ノードの動作電圧の制御の何れか又はこれらを組み合わせた制御を行う電源fv制御ステップを、更に備えることを特徴とする請求項13に記載の並列計算方法。
  15. 前記ローカル通信要求及び前記グローバル通信要求は、当該ローカル通信要求又は当該前記グローバル通信要求が特権的な通信要求であるか否かを示す情報である特権制御情報を有しており、
    前記機能ノードが、前記機能ノードが前記機能ノード入出力ポートから送出できる前記グローバル通信要求の前記特権制御情報の特権レベルの上限値を保持する特権レベル記憶ステップを、
    更に備えることを特徴とする請求項13又は14に記載の並列計算方法。
  16. 前記帯域幅管理ステップにおいて、
    前記ネットワークスイッチを前記通信経路の一部として含む前記通信経路と前記通信経路に割り当てられている通信帯域幅との対応付けを保持する帯域幅管理情報保持ステップと、
    前記帯域幅管理情報に従って前記ネットワークスイッチの前記スイッチを制御するスイッチ制御ステップと、
    を更に備えることを特徴とする請求項13乃至15の何れか1項に記載の並列計算方法。
  17. 前記ネットワークスイッチが、前記ネットワークスイッチの前記入出力ポートに対応する複数の入力ポート及び複数の出力ポートを用意するステップと、
    前記ネットワークスイッチが、複数の前記入力ポート毎に前記通信経路を制御し、前記複数の出力ポートに対応した出力を持つマルチプレクサを用意するステップと、
    前記ネットワークスイッチが、前記マルチプレクサの前記出力毎にグローバル通信要求を蓄積するためのバッファを用意するステップと、
    複数の前記マルチプレク毎の前記出力ポートを出力先とする複数の前記バッファに蓄積されている前記グローバル通信要求を前記出力ポートに出力する帯域幅制御ステップと、
    を更に備えることを特徴とする請求項13乃至16の何れか1項に記載の並列計算方法。
  18. 前記帯域幅制御ステップにおいて、当該帯域幅制御ステップが前記グローバル通信要求を受け取る複数の前記バッファに対する処理を、前記通信経路毎に割り当てられている通信帯域幅に比例した頻度でラウンドロビン方式によって行うことを特徴とする請求項17に記載の並列計算方法。
  19. 前記ネットワークスイッチが、前記ネットワークスイッチの電源の投入及び遮断の制御、前記ネットワークスイッチの動作周波数の制御、前記ネットワークスイッチの動作電圧の制御の何れか又はこれらを組み合わせた制御を行うネットワークスイッチ電源fv制御ステップを、
    更に備えることを特徴とする請求項13乃至18の何れか1項に記載の並列計算方法。
  20. 前記機能ノードとして、前記通信路を構成する複数の前記ネットワークスイッチ電源fv制御ステップにおける動作を専用通信路を介して制御する電源fv制御ノードを備えることを特徴とする請求項19に記載の並列計算方法。
  21. 前記機能ノードとして、複数の前記機能ノード群から共通にアクセスすることができ、記憶機能を共有することができるMMU付き記憶ノードを持つことを特徴とする請求項13乃至20の何れか1項に記載の並列計算方法。
  22. 前記MMU付き記憶ノードが、前記機能ノード群管理ステップと、前記特権レベル記憶ステップと、前記電源fv制御ステップと、前記機能ノード入出力ポートを用意するステップと、に加え、
    前記MMU付き記憶ノードが、前記機能ノード入出力ポートから入力された前記グローバル通信要求から機能ノード群IDを抽出するための機能ノード群ID抽出ステップと、
    前記MMU付き記憶ノードが、物理アドレスと読み書き制御信号によってデータを読み書きできる記憶素子を用意するステップと、
    前記MMU付き記憶ノードが、前記機能ノード群管理ステップによって前記グローバル通信要求から変換された前記ローカル通信要求から前記記憶要素に対するアクセス制御情報を抽出し、抽出された前記アクセス制御情報の論理アドレスによって前記記憶素子に対してデータの読み書き制御を行う記憶アクセス制御ステップと、
    前記MMU付き記憶ノードが、前記機能ノード群毎に前記論理アドレスと前記記憶素子にアクセスするための物理アドレスの変換情報を保持する記憶管理情報保持ステップと、
    前記MMU付き記憶ノードが、前記機能ノード群ID抽出ステップで抽出された前記機能ノード群IDと前記記憶管理情報を用いて前記記憶アクセスステップが出力する論理アドレスを物理アドレスに変換して前記記憶素子に入力するMMUと、を備え、
    前記記憶アクセス制御ステップにおいて、前記ローカル通信要求から抽出された前記アクセス制御情報のアクセスタイプが読み出しの場合、前記記憶素子から読み出されたデータと前記機能ノード群IDとから前記読み出されたデータを転送すべき前記機能ノードへの前記ローカル通信要求を構成し前記機能ノード群管理ステップに転送し、
    前記機能ノード管理ステップにおいて、前記機能アクセス制御ステップで転送された前記ローカル通信要求を前記グローバル通信要求に変換して前記機能ノード入出力ポートから送出することを特徴とする請求項21に記載の並列計算方法。
  23. 情報処理を行うための、演算機能、入出力機能及び記憶機能の何れか又はそれらを組合せた機能を有する複数の機能ノードと、前記機能ノード間で通信を行うための通信路の一部であり通信経路として機能する複数のネットワークスイッチとを有する並列計算システムにおける管理プログラムにおいて、
    前記機能ノードが、
    情報処理を行うための、演算機能、入出力機能及び記憶機能の何れか又はそれらを組合せた機能を有する機能要素と、
    前記機能ノード間で相互に通信を行うために前記機能ノード間で転送される通信要求を入出力するためのポートである機能ノード入出力ポートと、
    前記並列計算システムが有する複数の前記機能ノードの一部又は全部の前記機能ノードから構成される機能ノード群を、1つの群として管理する機能ノード群管理手段と、
    を備え、
    前記ネットワークスイッチが、
    前記通信要求を入出力するためのポートである複数の入出力ポートと、
    前記入出力ポートから入力された前記通信要求を前記入出力ポートへ出力するスイッチと、
    前記機能ノード間の前記通信経路毎に通信帯域幅を管理し前記スイッチを制御する帯域幅管理手段と、
    を備えている並列計算システムとしてコンピュータを機能させることを特徴とする管理プログラム。
  24. 請求項23に記載の管理プログラムにおいて、
    前記並列通信システムを、
    前記機能ノード群を構成する複数の前記機能ノード間の通信においては、前記機能ノード群を構成する複数の前記機能ノード間のみで相互に通信を行うための通信要求であるローカル通信要求を用い、
    前記通信路における通信では、前記並列計算システムを構成する全ての前記機能ノード間で相互に通信を行うためのグローバル通信要求を用い、
    前記機能ノード群管理手段が、
    前記ローカル通信要求と前記グローバル通信要求の相互の変換のための情報を管理する機能ノード管理情報保持手段と、
    前記機能ノード管理情報保持手段が管理する前記情報を用いて、前記機能要素が入出力する前記ローカル通信要求と前記機能ノード入出力ポートから入出力される前記グローバル通信要求とを相互に変換する通信要求変換手段と、
    を備える並列計算システムとして機能させるための管理プログラム。
JP2010541339A 2008-12-04 2009-12-02 並列計算システム、その方法及びそのプログラム Withdrawn JPWO2010064661A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008309813 2008-12-04
JP2008309813 2008-12-04
PCT/JP2009/070251 WO2010064661A1 (ja) 2008-12-04 2009-12-02 並列計算システム、その方法及びそのプログラム

Publications (1)

Publication Number Publication Date
JPWO2010064661A1 true JPWO2010064661A1 (ja) 2012-05-10

Family

ID=42233308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010541339A Withdrawn JPWO2010064661A1 (ja) 2008-12-04 2009-12-02 並列計算システム、その方法及びそのプログラム

Country Status (3)

Country Link
US (1) US8824317B2 (ja)
JP (1) JPWO2010064661A1 (ja)
WO (1) WO2010064661A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102522886B (zh) * 2012-01-19 2013-10-30 浙江大学城市学院 一种开关电源模块并联供电装置
US9665521B2 (en) * 2012-05-18 2017-05-30 Dell Products, Lp System and method for providing a processing node with input/output functionality by an I/O complex switch
JP2014211767A (ja) * 2013-04-18 2014-11-13 富士通株式会社 情報処理システム、制御装置及び情報処理システムの制御方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3560662B2 (ja) * 1994-12-06 2004-09-02 富士通株式会社 並列プロセッサ装置
JPH09231187A (ja) 1996-02-22 1997-09-05 Hitachi Ltd 並列計算機のデータ転送方法
DE19611520A1 (de) * 1996-03-23 1997-09-25 Bosch Gmbh Robert System zum Test eines in einem Steuergerät eingebauten Rechners
JPH1185547A (ja) 1997-09-12 1999-03-30 Hitachi Ltd 仮想クラスタ構成方法
JP2000155692A (ja) 1998-11-18 2000-06-06 Toshiba Corp 計算機システム及びネットワークシステム並びに記録媒体
JP3584873B2 (ja) 2000-10-31 2004-11-04 ヤマハ株式会社 通信制御装置及び通信システム
JP3661932B2 (ja) * 2001-02-07 2005-06-22 株式会社日立製作所 並列計算機システムおよびクロスバスイッチ
JP2002374286A (ja) 2001-06-13 2002-12-26 Hitachi Ltd 通信品質制御システムおよび通信品質制御方法
JP2003216565A (ja) * 2002-01-18 2003-07-31 Hitachi Ltd コンピュータシステムおよびコンフィグレーションアクセスルーティング方法
US7480720B2 (en) * 2003-06-25 2009-01-20 International Business Machines Corporation Method and system for load balancing switch modules in a server system and a computer system utilizing the same
JP2006065812A (ja) * 2004-08-30 2006-03-09 Renesas Technology Corp データ処理装置
US20060259733A1 (en) 2005-05-13 2006-11-16 Sony Computer Entertainment Inc. Methods and apparatus for resource management in a logically partitioned processing environment
JP2006319849A (ja) 2005-05-16 2006-11-24 Kddi Corp エンドユーザ間帯域保証通信システム
JP4606404B2 (ja) 2006-12-01 2011-01-05 富士通株式会社 計算資源管理プログラムおよび計算資源管理装置
US9847953B2 (en) * 2008-09-11 2017-12-19 Juniper Networks, Inc. Methods and apparatus related to virtualization of data center resources

Also Published As

Publication number Publication date
US8824317B2 (en) 2014-09-02
US20110261830A1 (en) 2011-10-27
WO2010064661A1 (ja) 2010-06-10

Similar Documents

Publication Publication Date Title
US11372802B2 (en) Virtual RDMA switching for containerized applications
US8526422B2 (en) Network on chip with partitions
US10713074B2 (en) Method, apparatus, and system for accessing storage device
US10768972B2 (en) Managing virtual machine instances utilizing a virtual offload device
US10409628B2 (en) Managing virtual machine instances utilizing an offload device
US7873701B2 (en) Network on chip with partitions
US9742671B2 (en) Switching method
JP6328134B2 (ja) クラスタ化されたコンピュータ・システムで通信チャネルのフェイルオーバを実行する方法、装置、およびプログラム
US8615623B2 (en) Internet connection switch and internet connection system
US20090282211A1 (en) Network On Chip With Partitions
US20070288921A1 (en) Emulating a network-like communication connection between virtual machines on a physical device
JP5373893B2 (ja) 異なるサイズを有するデータのブロックを格納し、取り出すための構成
US20120030306A1 (en) Rapid movement system for virtual devices in a computing system, management device, and method and program therefor
US20080052432A1 (en) Data buffer allocation in a non-blocking data services platform using input/output switching fabric
US20120183001A1 (en) Network apparatus, network configuration method and program recording medium which records a network apparatus program
US9904639B2 (en) Interconnection fabric switching apparatus capable of dynamically allocating resources according to workload and method therefor
US9858096B2 (en) Communication device migration method of extension function and communication system
US20100064301A1 (en) Information processing device having load sharing function
US11650884B2 (en) I/O to unpinned memory supporting memory overcommit and live migration of virtual machines
US20140298330A1 (en) Information processing device, transmission control method, and computer-readable recording medium
WO2010064661A1 (ja) 並列計算システム、その方法及びそのプログラム
JP2012226471A (ja) 通信方法および通信サーバ
JP2019164661A (ja) 情報処理装置、情報処理方法及びプログラム
JP7281528B2 (ja) 情報処理装置
JP6694007B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130205