JPWO2010109761A1 - 並列処理システム、並列処理方法、ネットワークスイッチ装置、及び並列処理プログラム - Google Patents

並列処理システム、並列処理方法、ネットワークスイッチ装置、及び並列処理プログラム Download PDF

Info

Publication number
JPWO2010109761A1
JPWO2010109761A1 JP2011505829A JP2011505829A JPWO2010109761A1 JP WO2010109761 A1 JPWO2010109761 A1 JP WO2010109761A1 JP 2011505829 A JP2011505829 A JP 2011505829A JP 2011505829 A JP2011505829 A JP 2011505829A JP WO2010109761 A1 JPWO2010109761 A1 JP WO2010109761A1
Authority
JP
Japan
Prior art keywords
barrier synchronization
barrier
node device
node
parallel processing
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
JP2011505829A
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 JPWO2010109761A1 publication Critical patent/JPWO2010109761A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/522Barrier synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/1523Parallel switch fabric planes

Abstract

並列処理システムは、複数のノード装置を第1及び第2スイッチ装置を介して相互に接続するネットワーク網を備える。第1スイッチ装置は、システム内のバリア同期の参加数を記憶する同期参加数設定レジスタと、バリア同期要求コマンドをカウントするバリア同期カウンタと、バリア同期要求コマンドの参加数と、カウント値と、に基づいて加減算を行う加減算器と、バリア同期の成立を判定する同期成立判定部と、を有する。第2スイッチ装置は、クラスタ内のバリア同期の参加数を記憶する同期参加数設定レジスタと、バリア同期要求コマンド数をカウントするバリア同期カウンタと、バリア同期要求コマンドの参加数と、カウント値と、に基づいて加減算を行う加減算器と、バリア同期の成立を判定する同期成立判定部と、を有する。

Description

本発明は、所定の計算処理を行う複数のノード装置と、複数のノード装置を相互に接続するネットワーク網と、を備える並列処理システム、並列処理方法、ネットワークスイッチ装置、及び、並列処理プログラムに関し、特に、効率的なバリア同期処理を行う並列処理システム、並列処理方法、ネットワークスイッチ装置、及び並列処理プログラム、に関するものである。
一般に、並列処理システムにおいて、複数のノード装置に割り当てられた並列プログラムに対し、夫々のノード装置が並行して演算処理を実行することで高速な処理を実行できる。この並列処理では、各ノード装置同士が、一定の処理を完了したことを互いに確認し合いながら協調して処理を進めていくため、その同期方法が不可欠となる。このような同期方法として、一般に、バリア同期が用いられている。このバリア同期においては、同期をとるべき全てのノード装置が、並列プログラム上での一定段階(バリア)に到達したことを相互に通知する。そして、このバリア同期に参加する全てのノード装置が、バリア段階に到達したことを確認した後に、並列プログラムの次の段階に進むようになる。
一方で、複数のCPUと、バリア同期機構と、を備えるノード装置が知られている(例えば、特許文献1参照)。バリア同期機構は、自ノード装置内のバリア同期成立を検出し、全ノード装置に通知しつつ、他ノード装置の並列処理が完了したことを検出する。
また、複数のCPU604を有する複数のノード601と、バリア同期装置603とがノード間ネットワーク602を介して接続された並列計算機システムが知られている(例えば、特許文献2参照、図6)。CPU604は、バリア同期点に到達すると、バリア同期装置603に対してバリア同期要求を通知する。バリア同期装置603は、バリア同期要求を受け取るとカウンタ610の値をデクリメントする。同期成立判定部613は、デクリメントの結果が0になるとバリア同期が成立したことを認識し、バリア同期通知を各ノード601に対して通知する。ノード601は、同期通知を受け取ると状態レジスタ606を更新し、状態レジスタ606を参照することでCPU604はバリア同期の成立を確認することができる。
さらに、複数のCPU706、クラスタ内バリア同期制御装置704、主記憶装置708、及び、これらを相互に接続するクラスタ内ネットワーク705を有する複数のクラスタ701と、クラスタ間バリア同期制御装置702と、複数のクラスタ701及びクラスタ間バリア同期制御装置702を相互に接続するクラスタ間ネットワーク703と、を備える並列計算機システムが知られている(例えば、特許文献3参照、図7)。
各CPU706はバリア同期点に到達すると、まずクラスタ内バリア同期制御装置704に対してバリア同期要求を通知する。なお、このバリア同期に参加するクラスタ701内におけるCPU706の数は、予めクラスタ内バリア同期制御装置704に記憶されている。そして、クラスタ内バリア同期制御装置704は、バリア同期要求を受ける毎にデクリメントを実行し、その演算結果が0になったとき、バリア同期の成立を認識できる。クラスタ内バリア同期制御装置704は、バリア同期の成立を認識すると、クラスタ間バリア同期制御装置702に対してバリア同期要求を通知する。
特開2001−51966号公報 特許第3482897号公報 特開2001−175618号公報
しかしながら、上記特許文献1においては、各ノード装置が夫々バリア同期機構を有するため、例えば、多数のノード装置で構成される並列処理システムでは、そのデータ通信量、処理量等が増加する虞がある。
また、上記特許文献2においては、バリア同期装置603において、バリア同期要求に対するカウンタ610の値の更新処理が逐次化されている。このため、並列計算機システム内の計算ノード数が増加するに従って、その更新処理にかかる時間が増加し、高速なバリア同期処理の実現が困難となる。例えば、10000台のノード601がバリア同期に参加している場合、一つのカウンタ610のデクリメント処理に1ナノ秒の時間を要すれば、デクリメント処理だけで10マイクロ秒の時間がかかることになる。また、バリア同期要求が一つのバリア同期装置603に集中するため、通信時間が増加し、バリア同期処理にかかる時間がさらに増加する虞がある。
さらに、上記特許文献3においては、階層構造などを意識して、各クラスタ701内でバリア同期に参加するCPU706の参加数を予め初期値として設定する必要が生じ得る。しかしながら、例えば、大規模な並列計算機システムの実行環境においては、事前にどのCPU706に対してプログラムが割当てられるかが不明となる場合も多く、したがって、クラスタ701毎のCPU706の参加数を予め確定させることは運用上の大きな制限となり、効率的なバリア同期処理の妨げとなる虞がある。
本発明は、このような問題点を解決するためになされたものであり、効率的なバリア同期処理が可能な並列処理システム、並列処理方法、ネットワークスイッチ装置、及び並列処理プログラムを提供することを主たる目的とする。
上記目的を達成するための本発明の一態様は、複数のノード装置と、該複数のノード装置を、第1及び第2スイッチ装置を介して相互に接続するネットワーク網と、を備え、前記ノード装置群には、前記第2スイッチ装置が接続され、前記第1スイッチ装置には、前記第2スイッチ装置が接続され、前記第2スイッチ装置には、前記ノード装置群、前記第1スイッチ装置、および前記第2スイッチ装置のうち、いずれか1つ又は2つが接続されると共に、前記第2スイッチ装置と、該第2スイッチ装置に接続された前記ノード装置群と、はクラスタを構成しており、前記第2スイッチ装置と、該第2スイッチ装置に接続された複数の前記クラスタと、は該複数のクラスタを含むより大きなクラスタを構成しており、前記第1スイッチ装置は、当該システム内のバリア同期に参加する前記ノード装置の参加数を記憶する同期参加数設定レジスタと、前記ノード装置から受信した、バリア同期を要求するためのバリア同期要求コマンドを処理した数をカウントするバリア同期カウンタと、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行う加減算器と、該加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する同期成立判定部と、を含むバリア同期制御部を有しており、前記第2スイッチ装置は、前記クラスタ内のバリア同期に参加する前記ノード装置の参加数を記憶する同期参加数設定レジスタと、前記クラスタ内の前記ノード装置から受信した、前記バリア同期要求コマンドの数をカウントするバリア同期カウンタと、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行う加減算器と、前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する同期成立判定部と、を含むバリア同期制御部を有する、ことを特徴とする並列処理システムである。
また、上記目的を達成するための本発明の一態様は、複数のノード装置と、該複数のノード装置を、第1及び第2スイッチ装置を介して相互に接続するネットワーク網と、を備え、前記ノード装置群には、前記第2スイッチ装置が接続され、前記第1スイッチ装置には、前記第2スイッチ装置が接続され、前記第2スイッチ装置には、前記ノード装置群、前記第1スイッチ装置、および前記第2スイッチ装置のうち、いずれか1つ又は2つが接続されると共に、前記第2スイッチ装置と、該第2スイッチ装置に接続された前記ノード装置群と、はクラスタを構成しており、前記第2スイッチ装置と、該第2スイッチ装置に接続された複数の前記クラスタと、は該複数のクラスタを含むより大きなクラスタを構成しており、当該システム内のバリア同期に参加する前記ノード装置の参加数を記憶し、前記ノード装置から受信した、バリア同期を要求するためのバリア同期要求コマンドを処理した数をカウントし、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行い、前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定し、前記クラスタ内のバリア同期に参加する前記ノード装置の参加数を記憶し、前記クラスタ内の前記ノード装置から送信された、前記バリア同期要求コマンドの数をカウントし、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行い、前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する、ことを特徴とする並列処理システムの並列処理方法であってもよい。
さらに、上記目的を達成するための本発明の一態様は、並列処理を行う複数のノード装置を相互に接続するネットワーク網内に設けられ、前記ノード装置のバリア同期を制御しており、前記バリア同期制御部は、システム内のバリア同期に参加する前記ノード装置の参加数を記憶する同期参加数設定レジスタと、前記ノード装置から受信した、バリア同期を要求するためのバリア同期要求コマンドを処理した数をカウントするバリア同期カウンタと、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行う加減算器と、前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する同期成立判定部と、を有する、ことを特徴とするネットワークスイッチ装置であってもよい。
さらにまた、上記目的を達成するための本発明の一態様は、並列処理を行う複数のノード装置を相互に接続するネットワーク網内に設けられ、前記ノード装置のバリア同期を制御するバリア同期制御部を有し、接続される前記ノード装置群と共にクラスタを構成しており、前記バリア同期制御部は、前記クラスタ内のバリア同期に参加する前記ノード装置の参加数を記憶する同期参加数設定レジスタと、前記クラスタ内の前記ノード装置から受信した、前記バリア同期要求コマンドの数をカウントするバリア同期カウンタと、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行う加減算器と、前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する同期成立判定部と、を有する、ことを特徴とするネットワークスイッチ装置であってもよい。
さらにまた、上記目的を達成するための本発明の一態様は、複数のノード装置と、該複数のノード装置を、第1及び第2スイッチ装置を介して相互に接続するネットワーク網と、を備え、前記ノード装置群には、前記第2スイッチ装置が接続され、前記第1スイッチ装置には、前記第2スイッチ装置が接続され、前記第2スイッチ装置には、前記ノード装置群、前記第1スイッチ装置、および前記第2スイッチ装置のうち、いずれか1つ又は2つが接続されると共に、前記第2スイッチ装置と、該第2スイッチ装置に接続された前記ノード装置群と、はクラスタを構成しており、前記第2スイッチ装置と、該第2スイッチ装置に接続された複数の前記クラスタと、は該複数のクラスタを含むより大きなクラスタを構成しており、システム内のバリア同期に参加する前記ノード装置の参加数を記憶し、前記ノード装置から受信した、バリア同期を要求するためのバリア同期要求コマンドを処理した数をカウントし、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行い、前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する処理と、前記クラスタ内のバリア同期に参加する前記ノード装置の参加数を記憶し、前記クラスタ内の前記ノード装置から送信された、前記バリア同期要求コマンドの数をカウントし、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行い、前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する処理と、をコンピュータに実行させる並列処理プログラムが格納された記録媒体であってもよい。
本発明によれば、効率的なバリア同期処理が可能な並列処理システム、並列処理方法、ネットワークスイッチ装置、及び並列処理プログラムを提供することができる。
本発明の一実施形態に係る並列処理システムの概略的な構成を示すブロック図である。 本発明の一実施形態に係るネットワーク網のネットワークスイッチ装置の概略的なシステム構成を示すブロック図である。 本発明の一実施形態に係るネットワークスイッチ装置のバリア同期制御部の概略的なシステム構成を示すブロック図である。 本発明の一実施形態に係る並列処理システムによるバリア同期処理の動作シーケンスを示す図である。 中間段スイッチ装置が2段以上で構成されたネットワーク網の一例を示す図である。 従来の並列計算機システムの概略的な一構成を示すブロック図である。 従来の並列計算機システムの概略的な一構成を示すブロック図である。
以下、図面を参照して本発明の実施形態について説明する。図1は、本発明の一実施形態に係る並列処理システムの概略的な構成を示すブロック図である。本実施形態に係る並列処理システム100は、所定の計算処理を行う複数のノード装置104で構成されるノード装置群101と、ノード装置群101を複数のネットワークスイッチ装置201(105、106)を介して相互に接続するネットワーク網102と、を備えている。
各ノード装置104は、例えば、制御処理、演算処理等と行うCPU(Central Processing Unit)、CPUによって実行される制御プログラム、演算プログラム、処理データ等を一時的に記憶するRAM(Random Access Memory)等からなる計算機として構成されている。また、ノード装置104は、必要に応じてネットワーク網102を介して、他のノード装置104にデータ転送を行い、所定の計算処理を実行することができる。
ネットワーク網102は、例えば、通信経路を相互に接続する複数のネットワークスイッチ装置201を有する、ツリー型の相互結合網として構成されているが、これに限らず、任意の構成が適用可能である。また、複数のネットワークスイッチ装置201は、複数の中間段スイッチ装置(第2スイッチ装置)105と、最上段スイッチ装置(第1スイッチ装置)106と、から構成されている。各中間段スイッチ装置105には、複数のノード装置104及び最上段スイッチ装置106が接続されている。また、最上段スイッチ装置106には、複数の中間段スイッチ装置105が接続されている。
ここで、例えば、1つの中間段スイッチ装置105と、その中間段スイッチ装置105に接続された複数のノード装置104と、からなる一群をクラスタ103と定義する。同一クラスタ103内のノード装置104同士は、中間段スイッチ装置105を介して、データ通信を行うことができる。一方、別クラスタ103間のノード装置104同士は、中間段スイッチ装置105および最上段スイッチ装置106を介して、データ通信を行うことができる。なお、本実施形態においては、説明の簡略化のために、1段目の中間段スイッチ装置105と、2段目の最上段スイッチ装置106とからなる2段ツリー型ネットワークとして構成されているが、これに限らず、例えば、中間段スイッチ装置105が2段以上で構成されていてもよく(図5)、任意の段数のネットワークとして構成されてもよい。(例えば、ノード装置群101―中間段スイッチ装置105・・・・中間段スイッチ装置105―最上段スイッチ装置106)なお、中間段スイッチ装置105が2段以上で構成された場合、定義された中間段スイッチ装置105と、その中間段スイッチ装置105の下流方向にある全ての中間段スイッチ装置105及びノード装置104でクラスタ103が構成される。
図2は、本実施形態に係るネットワーク網のネットワークスイッチ装置の概略的なシステム構成を示すブロック図である。図2に示すように、本実施形態に係るネットワークスイッチ装置201(105、106)は、n個の入力ポート204と、n個の出力ポート205と、(n+1)個の入出力部を有するクロスバスイッチ202と、ノード装置104のバリア同期を制御するバリア同期制御部203と、を有している。
ここで、バリア同期とは、例えば、並列処理システム100内の複数のノード装置104が並行的に並列プログラムを実行する際に、各ノード装置104が一定の処理を完了したことを相互に確認するために行われる同期である。このバリア同期においては、同期をとるべき全ノード装置104は、並列プログラム上のバリアと呼ばれる一定段階に到達したことを相互に通知し、バリア同期に参加する全てのノード装置104がバリア段階に到達したことを確認した後、並列プログラムの次の段階に進むこととなる。
各入力ポート204及び各出力ポート205は、夫々、クロスバスイッチ202に接続されている。そして、各処理データは、各入力ポート204を介してクロスバスイッチ202に入力され、各出力ポート205を介して出力される。また、クロスバスイッチ202は、バリア同期制御部203に接続されている。そして、クロスバスイッチ202からの出力信号がバリア同期制御部203に入力され、バリア同期制御部203からの出力信号がクロスバスイッチ202に入力される。このように、各入力ポート204及び各出力ポート205は、クロスバスイッチ202を介してバリア同期制御部203に接続されている。
図3は、本実施形態に係るネットワークスイッチ装置のバリア同期制御部の概略的なシステム構成を示すブロック図である。図3に示すように、本実施形態に係るバリア同期制御部203は、入力判定部301と、同期参加数設定レジスタ302と、バリア同期カウンタ303と、加減算器304と、同期成立判定部305と、コマンド生成部306と、を有している。
入力判定部301は、クロスバスイッチ202に接続されており、クロスバスイッチ202からの入力信号に基づいて、要求された処理内容に応じた通信先へ切替を行う機能を有している。また、入力判定部301は、複数のバリア同期処理を同時に処理するための識別子(ノード番号等)を判定する機能を有している。入力判定部301には、同期参加数設定レジスタ302、バリア同期カウンタ303、及び加減算器304が接続されている。
同期参加数設定レジスタ302は、クラスタ103内または並列処理システム100内において、バリア同期に参加するノード装置104の数(参加数)k1を記憶するためのレジスタである。同期参加数設定レジスタ302には、バリア同期カウンタ303及び同期成立判定部305が接続されている。
同期参加数設定レジスタ302は、入力判定部301からの指示に従って、バリア同期処理カウンタ303にカウント値k2を書き込み、また同期成立判定部305に出力値を出力することができる。
バリア同期カウンタ303は、バリア同期制御部203に対して、バリア同期を要求するためのバリア同期要求コマンドを送信したノード装置104の数k3をカウントするためのカウンタである。バリア同期カウンタ303は、加減算器304に接続されている。バリア同期カウンタ303は、カウント値k2を加減算器304に出力し、また、同期参加数設定レジスタ302の参加数k1の書き込みを行うことができる。設定完了フラグ307は、同期参加数設定レジスタ302の参加数k1が有効か否かを判定するためのフラグである。
同期参加数設定レジスタ302およびバリア同期カウンタ303は、複数のバリア同期処理を同時に処理するために、複数のレジスタ及びカウンタが並列して構成されている。同様に、設定完了フラグ307は、複数のバリア同期処理を同時に処理するために、複数のフラグで構成されている。
なお、同期参加数設定レジスタ302、バリア同期カウンタ303、および設定完了フラグ307の数は同数であり、夫々が1対1に対応している。例えば、識別子がn番の場合は、n番目の同期参加数設定レジスタ302と、n番目のバリア同期カウンタ303と、n番目の設定完了フラグ307と、を利用して、バリア同期処理が行われる。
加減算器304は、バリア同期カウンタ303のカウント値k2に対して加減算を行い、更新を行うための整数演算器であり、同期成立判定部305に接続されている。同期成立判定部305は、クラスタ103内または並列処理システム100内においてバリア同期が成立しているか否かを判定するための判定部であり、比較器等によって構成されている。同期成立判定部305はコマンド生成部306に接続され、判定結果をコマンド生成部306に対して出力する。
コマンド生成部306は、同期成立判定部305の判定結果に応じて出力コマンドを生成する機能を有している。コマンド生成部306は、クロスバスイッチ202に接続され、生成した出力コマンドをクロスバスイッチ202に出力する。
次に、本実施形態に係る並列処理システム100によるバリア同期処理の動作シーケンスについて、詳細に説明する。図4は、本実施形態に係る並列処理システムによるバリア同期処理の動作シーケンスを示す図である。
なお、図4において、(ステップS1)、(ステップS5)、(ステップS6)、(ステップS7)、および(ステップS11)は、ノード装置104における処理である。また、(ステップS2)、(ステップS4)、(ステップS8)、および(ステップS10)は、中間段スイッチ装置105における処理であり、(ステップS3)、および(ステップS9)は、最上段スイッチ装置106における処理である。さらに、(ステップS6)乃至(ステップS11)は、繰り返し実行されるが、各(ステップS6)は同一演算処理を繰返し実行するわけではなく、プログラム実行の過程でバリア同期処理が何度も繰り返されることを示している。このとき、繰返し実行されるバリア同期処理には、同一ノード装置群101が参加している。
まず、並列処理システム100において、バリア同期処理に参加するノード装置104の数が設定される(ステップS1)。そして、ノード装置群101上の代表プロセスは、設定要求コマンドを生成して、この設定要求コマンドを中間段スイッチ装置105に対して送信する。
次に、中間段スイッチ装置105は、代表プロセスからの設定要求コマンドを、最上段スイッチ装置106に対して転送する(ステップS2)。
その後、最上段スイッチ装置106は、中間段スイッチ装置105から転送された設定要求コマンドの処理を行う(ステップS3)。ここで、最上段スイッチ装置106におけるバリア同期制御部203の同期参加数設定レジスタ302は、設定要求コマンドで指定された値(参加数k1)を記憶する。そして、コマンド生成部306は、その設定完了を各ノード装置側へ通知するための、設定完了コマンドを生成し、中間段スイッチ装置105に対して出力する。なお、コマンド生成部306は、生成した設定完了コマンドを、全ての中間段スイッチ装置105に対して出力する。
さらに、各中間段スイッチ装置105は、最上段スイッチ装置106からの設定完了コマンドを、各ノード装置104に転送する(ステップS4)。このとき、各中間段スイッチ装置105のバリア同期制御部203は、設定完了フラグ307をオフに、同期参加数設定レジスタ302の参加数k1を0に、バリア同期カウンタ303のカウント値k2を0に初期化する。
各ノード装置104は、各中間段スイッチ装置105から転送された設定完了コマンドの受信を確認する(ステップS5)。そして、各ノード装置104は、設定完了コマンドの受信を確認すると、次の演算およびデータ転送処理を開始し、並列プログラムを実行する(ステップS6)。
次に、各ノード装置104は、並列プログラムに設定された同期点(バリア)に到達すると、バリア同期要求コマンドを各中間段スイッチ装置105に対して送信する(ステップS7)。そして、各ノード装置104は、後述のバリア同期処理の完了まで待機する。なお、このバリア同期要求コマンドは、その通信情報の一部に、バリア同期要求コマンドを送信したノード装置104の数k3を含んでいる。例えば、このノード装置104がバリア同期要求コマンドを送信した時点では、このノード装置104のみがバリア同期要求コマンドを送信しているので、ノード装置104の数k3には1が記憶されている。
その後、中間段スイッチ装置105は、各ノード装置104からバリア同期要求コマンドを受信すると、このバリア同期要求コマンドを最上段スイッチ装置106に対して転送する(ステップS8)。なお、この(ステップS8)の処理は、設定完了フラグ307の値によって変化する。
例えば、(ステップS8)が1回目に実行される場合、(ステップS4)において設定完了フラグ307は初期化されオフになっているため、この(ステップS8)の処理は、次のような動作となる。すなわち、中間段スイッチ装置105のバリア同期制御部203の入力判定部301が、バリア同期要求コマンドを各ノード装置104から受信すると、加減算器304は、バリア同期カウンタ303のカウント値k2に、バリア同期要求コマンドに記憶されたバリア同期を要求するノード装置104の数k3を加算する。このとき、バリア同期要求コマンドのノード装置104の数k3には、1が設定されているので、バリア同期カウンタ303のカウント値k2がインクリメントされることになる。この演算結果は、バリア同期カウンタ303に再度格納される。そして、コマンド生成部306は、このバリア同期要求コマンドを、最上段スイッチ装置106に対して出力する。
次に、最上段スイッチ装置106は、中間段スイッチ装置105のコマンド生成部306からのバリア同期要求コマンドに応じて、バリア同期要求処理を行う(ステップS9)。
ここで、最上段スイッチ装置106は、受信したバリア同期要求コマンドからノード装置104の数k3を読み出す。そして、バリア同期制御部203の加減算器304は、バリア同期カウンタ303のカウント値k2からバリア同期要求コマンドのノード装置104の数k3を減算する。加減算器304は、この減算結果を同期成立判定部305に出力し、同期成立判定部305は、この減算結果と0とを比較する。同期成立判定部305は、この減算結果と0とが一致し、バリア同期が成立したと判断したとき、バリア同期成立信号をコマンド生成部306に対して出力する。さらに、コマンド生成部306は、このバリア同期成立信号を中間段スイッチ105に対して出力する。また、同時に、同期参加数設定レジスタ302は、参加数k1をバリア同期カウンタ303に出力し、バリア同期カウンタ303は、同期参加数設定レジスタ302からの参加数k1を書き込み、記憶する。
その後、各中間段スイッチ装置105は、最上段スイッチ装置106からのバリア同期成立信号を各ノード装置104に対して転送する(ステップS10)。なお、(ステップS10)の処理は、設定完了フラグ307の値によって変化する。
例えば、(ステップS10)が1回目に実行される場合、(ステップS4)において設定完了フラグ307が初期化されてオフになっているため、この(ステップS10)の処理は、次のような動作となる。すなわち、中間段スイッチ装置105のバリア同期制御部203の入力判定部301は、最上段スイッチ装置106からバリア同期成立信号を受信すると、バリア同期カウンタ303に指示信号を出力する。バリア同期カウンタ303は、記憶しているカウント値k2を同期参加数設定レジスタ302に出力し、カウント値k2を0に初期化する。また、同期参加数設定レジスタ302は、バリア同期カウンタ303からのカウント値k2を書き込み、記憶する。さらに、バリア同期制御部203は、設定完了フラグ307を、オンにセットする。そして、コマンド生成部306は、バリア同期成立信号を各ノード装置104に対して出力する。
さらに、各ノード装置104は、各中間段スイッチ装置105からのバリア同期成立信号の受信を確認し、バリア同期成立を確認する(ステップS11)。各ノード装置104は、バリア同期成立信号の受信を確認すると、次の演算およびデータ転送処理を開始することができる。
次に、各ノード装置104は、(ステップS6)の処理に戻り、(ステップS6)乃至(ステップS11)の処理が繰り返し実行される。ここで、2回目以降の各(ステップS6)乃至(ステップS11)の実行において、各ノード装置104で実行される(ステップS6)、(ステップS7)および(ステップS11)の処理と、最上段スイッチ装置106で実行される(ステップS3)および(ステップS9)の処理については、上述した1回目の各(ステップS6)乃至(ステップS11)の処理と略同一である。一方、中間段スイッチ装置105で実行される(ステップS8)および(ステップS10)の処理については、2回目以降の各ステップ実行時には設定完了フラグ307がオンにセットされているため、上述の1回目の各ステップとは異なる処理が実行される。
まず、(ステップS8)が2回目以降に実行される場合の動作について、詳細に説明する。この場合、1回目の(ステップS10)の実行時に設定完了フラグ307がオンにセットされているため、(ステップS8)の処理は次のような動作となる。
すなわち、中間段スイッチ装置105のバリア同期制御部203の入力判定部301が、バリア同期要求コマンドを受信すると、加減算器304は、バリア同期カウンタ303のカウント値k2に、バリア同期要求コマンドに記憶されたバリア同期を要求するノード装置104の数k3を加算する。このとき、バリア同期要求コマンドが、ノード装置104から中間段スイッチ装置105へ直接入力されていれば、バリア同期要求コマンドのバリア同期を要求するノード装置104の数k3には1が設定されている。加減算器304は、演算結果を同期成立判定部305に対して出力する。同期成立判定部305は、加減算器304の演算結果と、同期参加数設定レジスタ302の参加数k1とを比較する。
なお、加減算器304の演算結果と同期参加数設定レジスタ302の参加数k1とが等しい場合、このクラスタ103の中間段スイッチ装置105に直接接続されたノード装置104のうち、バリア同期処理に参加する全てのノード装置104から、バリア同期要求コマンドが到達していることを意味する。すなわち、クラスタ103内におけるバリア同期が成立していることになる。この場合、コマンド生成部306は、集約したバリア同期要求コマンドを生成し、このバリア同期要求コマンドを最上段スイッチ106に対して出力する。同時に、バリア同期カウンタ303は、カウント値を0に再初期化する。
一方、加減算器304の演算結果と、同期参加数設定レジスタ302の参加数k1とが不一致の場合は、クラスタ103内におけるバリア同期が成立していない。このため、バリア同期カウンタ303は、加減算器304の演算結果を、カウント値k2として、書き込み、次のバリア同期要求コマンドが到着するまで待機する。
次に、(ステップS10)が2回目以降に実行される場合の動作について、詳細に説明する。この場合、1回目の(ステップS10)の実行時に、設定完了フラグ307がオンにセットされているため、(ステップS10)の処理は、次のような動作となる。
すなわち、中間段スイッチ装置105のバリア同期制御部203の入力判定部301が、バリア同期成立信号を受信すると、バリア同期カウンタ303はカウント値k2を0に初期化する。なお、2回目以降の(ステップS10)の実行時には、1回目の実行時と異なり、設定完了フラグ307及び同期参加数設定レジスタ302に対する変更は行われない。その後、コマンド生成部306は、バリア同期成立信号を、各ノード装置104に対して出力する。
このように、本実施形態に係る並列処理システム100において、2回目以降の(ステップS8)の実行時に、中間段スイッチ装置105は、バリア同期要求コマンドに記憶されたバリア同期を要求するノード装置104の数k3を、バリア同期カウンタ303のカウント値k2に対して累算し、同期参加数設定レジスタ302の参加数k1と比較する。そして、中間段スイッチ装置105は、クラスタ103内におけるバリア同期の成立が確認されたときだけ、最上段スイッチ装置106に対して、バリア同期要求コマンドを送信する。これにより、各ノード装置104からのバリア同期要求コマンドは、中間段スイッチ装置105によって集約されることとなる。したがって、バリア同期要求コマンドは、最上段スイッチ装置106内のバリア同期制御部203に対して、最大でも中間段スイッチ105の数だけしか到達しない。このため、最上段スイッチ装置106内のバリア同期制御部203に対するアクセス負荷が軽減される。また、同時に、各ノード装置104からの同期要求コマンドが中間段スイッチ装置105で集約されているため、ネットワークスイッチ装置201間の通信負荷も軽減される。さらに、これらの負荷軽減効果により、バリア同期処理にかかる時間を効果的に削減することが可能となる。
以上、本実施形態に係る並列処理システム100において、複数のノード装置104が参加するバリア同期処理のネットワーク負荷を軽減すると共に、バリア同期制御部203に対する処理要求の集中を緩和し、バリア同期処理の高速化を実現できる。特に、多数のノード装置104から構成される大規模な並列処理システム100においては、大きな効果が期待できる。また、上記高速なバリア同期処理の実現によって、並列処理システム100全体の並列演算処理性能を向上させることができる。さらに、上記高速なバリア同期処理の実現に際して、並列プログラム自体は、ノード装置104の階層構造を意識せずに記述できるため、並列処理システム100の柔軟かつ効率的な運用が可能となる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上記一実施形態において、中間段スイッチ装置105は、2回目以降のバリア同期要求コマンドを処理する際に、カウント値k2に、バリア同期を要求するノード装置104の数k3を加算しているが、これに限らず、所定の設定値を初期値として、この初期値から減算を行い、減算結果が0になった時点で集約されたバリア同期要求コマンドを生成してもよい。この場合、カウンタ値k2が0になった後で、同期参加数設定レジスタ302の値を再度カウンタ値k2にリロードすればよい。
また、上記実施の形態において、任意の処理を、CPU1aにコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の通信媒体を介して伝送することにより提供することも可能である。さらに、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM、DVD、ROMカートリッジ、バッテリバックアップ付きRAMメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれる。さらにまた、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等が含まれる。
この出願は、2009年3月25日に出願された日本出願特願2009−074562を基礎とする優先権を主張し、その開示の全てをここに取り込む。
100 並列処理システム
101 ノード装置群
102 ネットワーク網
103 クラスタ
104 ノード装置
105 中間段スイッチ装置
106 最上段スイッチ装置
201 ネットワークスイッチ装置
202 クロスバスイッチ
203 バリア同期制御部
301 入力判定部
302 同期参加数設定レジスタ
303 バリア同期カウンタ
304 加減算器
305 同期成立判定部
306 コマンド生成部

Claims (19)

  1. 複数のノード装置と、該複数のノード装置を、第1及び第2スイッチ装置を介して相互に接続するネットワーク網と、を備え、
    前記ノード装置群には、前記第2スイッチ装置が接続され、前記第1スイッチ装置には、前記第2スイッチ装置が接続され、前記第2スイッチ装置には、前記ノード装置群、前記第1スイッチ装置、および前記第2スイッチ装置のうち、いずれか1つ又は2つが接続されると共に、
    前記第2スイッチ装置と、該第2スイッチ装置に接続された前記ノード装置群と、はクラスタを構成しており、前記第2スイッチ装置と、該第2スイッチ装置に接続された複数の前記クラスタと、は該複数のクラスタを含むより大きなクラスタを構成しており、
    前記第1スイッチ装置は、
    当該システム内のバリア同期に参加する前記ノード装置の参加数を記憶する同期参加数設定レジスタと、前記ノード装置から受信した、バリア同期を要求するためのバリア同期要求コマンドを処理した数をカウントするバリア同期カウンタと、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行う加減算器と、該加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する同期成立判定部と、を含むバリア同期制御手段を有しており、
    前記第2スイッチ装置は、
    前記クラスタ内のバリア同期に参加する前記ノード装置の参加数を記憶する同期参加数設定レジスタと、前記クラスタ内の前記ノード装置から受信した、前記バリア同期要求コマンドの数をカウントするバリア同期カウンタと、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行う加減算器と、前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する同期成立判定部と、を含むバリア同期制御手段を有する、ことを特徴とする並列処理システム。
  2. 請求項1記載の並列処理システムであって、
    前記第1スイッチ装置のバリア同期制御部が、前記バリア同期要求コマンドを受信したときに、前記加減算器は、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数を、前記バリア同期カウンタのカウント値から減算し、
    前記同期成立判定部は、前記加減算器による減算結果が0となった場合に、当該システムにおけるバリア同期が成立したことを前記ノード装置へ通知するための、バリア同期成立信号を出力する、ことを特徴とする並列処理システム。
  3. 請求項1又は2記載の並列処理システムであって、
    前記第1スイッチ装置のバリア同期制御部が、前記バリア同期要求コマンドを受信したときに、前記加減算器は、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数を、前記バリア同期カウンタのカウント値に加算し、
    前記同期成立判定部は、前記加減算器による加算結果と、前記同期参加数設定レジスタに記憶された前記ノード装置の参加数と、が等しい場合に、当該システムにおけるバリア同期が成立したことを前記ノード装置へ通知するための、バリア同期成立信号を出力する、ことを特徴とする並列処理システム。
  4. 請求項1乃至3のうちいずれか1項記載の並列処理システムであって、
    前記第2スイッチ装置のバリア同期制御部が、前記バリア同期要求コマンドを受信したときに、前記加減算器は、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数を、前記バリア同期カウンタのカウント値から減算し、
    前記同期成立判定部は、前記加減算器による減算結果が0となった場合に、前記クラスタ内におけるノード装置のバリア同期が成立したと判定し、前記クラスタ内のバリア同期に参加する前記ノード装置の数を記憶した前記バリア同期要求コマンドを、前記クラスタ間のバリア同期制御部に対して出力する、ことを特徴とする並列処理システム。
  5. 請求項1乃至4のうちいずれか1項記載の並列処理システムであって、
    前記第2スイッチ装置のバリア同期制御部は、前記バリア同期要求コマンドを受信したときに、前記加減算器は、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数を、前記バリア同期カウンタのカウント値に加算し、
    前記同期成立判定部は、前記加減算器による加算結果と、前記同期参加数設定レジスタに記憶された前記ノード装置の参加数とが等しい場合に、前記クラスタ内におけるノード装置のバリア同期が成立したと判定し、前記クラスタ内のバリア同期に参加する前記ノード装置の数を記憶した前記バリア同期要求コマンドを、前記クラスタ間のバリア同期制御部に対して出力する、ことを特徴とする並列処理システム。
  6. 請求項4又は5記載の並列処理システムであって、
    前記バリア同期制御部が前記バリア同期成立信号を受信したとき、前記同期参加数設定レジスタに、前記バリア同期カウンタからの前記カウント値が書き込まれる、ことを特徴とする並列処理システム。
  7. 請求項6記載の並列処理システムであって、
    前記バリア同期制御部は、少なくとも1つの前記バリア同期成立信号を受信していることを示す設定完了フラグを有し、
    該設定完了フラグがオンに設定されているときは、前記クラスタ内のバリア同期が成立するまで、前記クラスタ間のバリア同期要求コマンドを出力せず、
    前記設定完了フラグがオフに設定されているときは、前記クラスタ内におけるバリア同期の成立を確認することなく、前記クラスタ間のバリア同期要求コマンドを出力する、ことを特徴とする並列処理システム。
  8. 複数のノード装置と、該複数のノード装置を、第1及び第2スイッチ装置を介して相互に接続するネットワーク網と、を備え、
    前記ノード装置群には、前記第2スイッチ装置が接続され、前記第1スイッチ装置には、前記第2スイッチ装置が接続され、前記第2スイッチ装置には、前記ノード装置群、前記第1スイッチ装置、および前記第2スイッチ装置のうち、いずれか1つ又は2つが接続されると共に、
    前記第2スイッチ装置と、該第2スイッチ装置に接続された前記ノード装置群と、はクラスタを構成しており、前記第2スイッチ装置と、該第2スイッチ装置に接続された複数の前記クラスタと、は該複数のクラスタを含むより大きなクラスタを構成しており、
    当該システム内のバリア同期に参加する前記ノード装置の参加数を記憶し、前記ノード装置から受信した、バリア同期を要求するためのバリア同期要求コマンドを処理した数をカウントし、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行い、前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定し、
    前記クラスタ内のバリア同期に参加する前記ノード装置の参加数を記憶し、前記クラスタ内の前記ノード装置から送信された、前記バリア同期要求コマンドの数をカウントし、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行い、前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する、ことを特徴とする並列処理システムの並列処理方法。
  9. 請求項8記載の並列処理システムの並列処理方法であって、
    前記バリア同期要求コマンドを受信したときに、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数を、前記バリア同期カウンタのカウント値から減算し、該減算結果が0となった場合に、当該システムにおけるバリア同期が成立したことを前記ノード装置へ通知するための、バリア同期成立信号を出力する、ことを特徴とする並列処理システムの並列処理方法。
  10. 請求項8又は9記載の並列処理システムの並列処理方法であって、
    前記バリア同期要求コマンドを受信したときに、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数を、前記バリア同期カウンタのカウント値に加算し、該加算結果と、前記記憶された前記ノード装置の参加数と、が等しい場合に、当該システムにおけるバリア同期が成立したことを前記ノード装置へ通知するための、バリア同期成立信号を出力する、ことを特徴とする並列処理システムの並列処理方法。
  11. 請求項8乃至10のうちいずれか1項記載の並列処理システムの並列処理方法であって、
    前記バリア同期要求コマンドを受信したときに、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数を、前記バリア同期カウンタのカウント値から減算し、該減算結果が0となった場合に、前記クラスタ内におけるノード装置のバリア同期が成立したと判定し、前記クラスタ内のバリア同期に参加する前記ノード装置の数を記憶した前記バリア同期要求コマンドを、前記クラスタ間のノード装置に対して出力する、ことを特徴とする並列処理システムの並列処理方法。
  12. 請求項8乃至11のうちいずれか1項記載の並列処理システムの並列処理方法であって、
    前記バリア同期要求コマンドを受信したときに、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数を、前記バリア同期カウンタのカウント値に加算し、該加算結果と、前記記憶された前記ノード装置の参加数とが等しい場合に、前記クラスタ内におけるノード装置のバリア同期が成立したと判定し、前記クラスタ内のバリア同期に参加する前記ノード装置の数を記憶した前記バリア同期要求コマンドを、前記クラスタ間のノード装置に対して出力する、ことを特徴とする並列処理システムの並列処理方法。
  13. 並列処理を行う複数のノード装置を相互に接続するネットワーク網内に設けられ、前記ノード装置のバリア同期を制御するバリア同期制御部を有しており、
    前記バリア同期制御部は、
    システム内のバリア同期に参加する前記ノード装置の参加数を記憶する同期参加数設定レジスタと、前記ノード装置から受信した、バリア同期を要求するためのバリア同期要求コマンドを処理した数をカウントするバリア同期カウンタと、
    前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行う加減算器と、
    前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する同期成立判定部と、を有する、ことを特徴とするネットワークスイッチ装置。
  14. 請求項13記載のネットワークスイッチ装置であって、
    前記バリア同期制御部が、前記バリア同期要求コマンドを受信したときに、前記加減算器は、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数を、前記バリア同期カウンタのカウント値から減算し、
    前記同期成立判定部は、前記加減算器による減算結果が0となった場合に、システムにおけるバリア同期が成立したことを前記ノード装置へ通知するための、バリア同期成立信号を出力する、ことを特徴とするネットワークスイッチ装置。
  15. 請求項13又は14記載のネットワークスイッチ装置であって、
    前記バリア同期制御部が、前記バリア同期要求コマンドを受信したときに、前記加減算器は、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数を、前記バリア同期カウンタのカウント値に加算し、
    前記同期成立判定部は、前記加減算器による加算結果と、前記同期参加数設定レジスタに記憶された前記ノード装置の参加数と、が等しい場合に、システムにおけるバリア同期が成立したことを前記ノード装置へ通知するための、バリア同期成立信号を出力する、ことを特徴とするネットワークスイッチ装置。
  16. 並列処理を行う複数のノード装置を相互に接続するネットワーク網内に設けられ、前記ノード装置のバリア同期を制御するバリア同期制御部を有し、接続される前記ノード装置群と共にクラスタを構成しており、
    前記バリア同期制御部は、
    前記クラスタ内のバリア同期に参加する前記ノード装置の参加数を記憶する同期参加数設定レジスタと、
    前記クラスタ内の前記ノード装置から受信した、前記バリア同期要求コマンドの数をカウントするバリア同期カウンタと、
    前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行う加減算器と、
    前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する同期成立判定部と、を有する、ことを特徴とするネットワークスイッチ装置。
  17. 請求項16記載のネットワークスイッチ装置であって、
    前記バリア同期制御部が、前記バリア同期要求コマンドを受信したときに、前記加減算器は、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数を、前記バリア同期カウンタのカウント値から減算し、
    前記同期成立判定部は、前記加減算器による減算結果が0となった場合に、前記クラスタ内におけるノード装置のバリア同期が成立したと判定し、前記クラスタ内のバリア同期に参加する前記ノード装置の数を記憶した前記バリア同期要求コマンドを、前記クラスタ間のバリア同期制御部に対して出力する、ことを特徴とするネットワークスイッチ装置。
  18. 請求項16又は17記載のネットワークスイッチ装置であって、
    前記バリア同期制御部は、前記バリア同期要求コマンドを受信したときに、前記加減算器は、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数を、前記バリア同期カウンタのカウント値に加算し、
    前記同期成立判定部は、前記加減算器による加算結果と、前記同期参加数設定レジスタに記憶された前記ノード装置の参加数とが等しい場合に、前記クラスタ内におけるノード装置のバリア同期が成立したと判定し、前記クラスタ内のバリア同期に参加する前記ノード装置の数を記憶した前記バリア同期要求コマンドを、前記クラスタ間のバリア同期制御部に対して出力する、ことを特徴とするネットワークスイッチ装置。
  19. 複数のノード装置と、該複数のノード装置を、第1及び第2スイッチ装置を介して相互に接続するネットワーク網と、を備え、
    前記ノード装置群には、前記第2スイッチ装置が接続され、前記第1スイッチ装置には、前記第2スイッチ装置が接続され、前記第2スイッチ装置には、前記ノード装置群、前記第1スイッチ装置、および前記第2スイッチ装置のうち、いずれか1つ又は2つが接続されると共に、
    前記第2スイッチ装置と、該第2スイッチ装置に接続された前記ノード装置群と、はクラスタを構成しており、前記第2スイッチ装置と、該第2スイッチ装置に接続された複数の前記クラスタと、は該複数のクラスタを含むより大きなクラスタを構成しており、
    システム内のバリア同期に参加する前記ノード装置の参加数を記憶し、前記ノード装置から受信した、バリア同期を要求するためのバリア同期要求コマンドを処理した数をカウントし、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行い、前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する処理と、
    前記クラスタ内のバリア同期に参加する前記ノード装置の参加数を記憶し、前記クラスタ内の前記ノード装置から送信された、前記バリア同期要求コマンドの数をカウントし、前記バリア同期要求コマンドに記憶された前記ノード装置の参加数と、前記バリア同期カウンタのカウント値と、に基づいて加減算を行い、前記加減算器による演算結果に基づいて、バリア同期が成立したか否かを判定する処理と、
    をコンピュータに実行させる並列処理プログラムが格納された記録媒体。
JP2011505829A 2009-03-25 2010-02-18 並列処理システム、並列処理方法、ネットワークスイッチ装置、及び並列処理プログラム Pending JPWO2010109761A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009074562 2009-03-25
JP2009074562 2009-03-25
PCT/JP2010/001033 WO2010109761A1 (ja) 2009-03-25 2010-02-18 並列処理システム、並列処理方法、ネットワークスイッチ装置、及び並列処理プログラムの記録媒体

Publications (1)

Publication Number Publication Date
JPWO2010109761A1 true JPWO2010109761A1 (ja) 2012-09-27

Family

ID=42780461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011505829A Pending JPWO2010109761A1 (ja) 2009-03-25 2010-02-18 並列処理システム、並列処理方法、ネットワークスイッチ装置、及び並列処理プログラム

Country Status (2)

Country Link
JP (1) JPWO2010109761A1 (ja)
WO (1) WO2010109761A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5974703B2 (ja) 2012-07-20 2016-08-23 富士通株式会社 情報処理装置およびバリア同期方法
JP6372331B2 (ja) * 2014-12-05 2018-08-15 富士通株式会社 並列演算装置、並列演算システム、および並列演算プログラム
GB2580314B (en) 2018-12-27 2021-01-13 Graphcore Ltd Exchange of data between processor modules
GB202110147D0 (en) 2021-07-14 2021-08-25 Graphcore Ltd time deterministic trace
GB202110155D0 (en) 2021-07-14 2021-08-25 Graphcore Ltd GSP trace unit

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3202326B2 (ja) * 1992-06-09 2001-08-27 富士通株式会社 階層的同期制御装置
JP3482897B2 (ja) * 1999-01-20 2004-01-06 日本電気株式会社 クラスタ型並列計算機システムおよびプロセッサ間バリア同期方法
JP4448784B2 (ja) * 2005-03-15 2010-04-14 株式会社日立製作所 並列計算機の同期方法及びプログラム

Also Published As

Publication number Publication date
WO2010109761A1 (ja) 2010-09-30

Similar Documents

Publication Publication Date Title
US8654798B2 (en) Barrier synchronization apparatus, barrier synchronization system, and barrier synchronization method
JP3670160B2 (ja) タスクに各リソースを割当てるための回路、複数のリソースを共用するための方法、命令を実行するためのプロセッサ、マルチタスクプロセッサ、コンピュータ命令を実行するための方法、マルチタスク方法、コンピュータプロセッサを含む装置、複数の所定のグループのタスクを実行するステップを含む方法、ネットワークデータを処理するステップを含む方法、複数のソフトウェアタスクを実行するための方法およびコンピュータプロセッサを含むネットワーク装置
WO2010109761A1 (ja) 並列処理システム、並列処理方法、ネットワークスイッチ装置、及び並列処理プログラムの記録媒体
TW202022644A (zh) 一種運算裝置和運算方法
JP2007249810A (ja) 並列計算機のリダクション処理方法及び並列計算機
US20210194831A1 (en) Accelerating distributed reinforcement learning with in-switch computing
JP5974703B2 (ja) 情報処理装置およびバリア同期方法
JP2002051072A (ja) パケット処理装置
JP5347975B2 (ja) ネットワークスイッチ、経路設定方法およびプログラム
JP2015508537A (ja) プライマリ/バックアップ複製スキームにおける同期化のための方法および装置
WO2011036918A1 (ja) データ並べ替え回路、可変遅延回路、高速フーリエ変換回路、およびデータ並べ替え方法
JP4342100B2 (ja) パケット処理装置
CN107273092B (zh) 一种优化数据流架构访存延迟的方法及其系统
US10728178B2 (en) Apparatus and method for distribution of congestion information in a switch
US8792488B2 (en) Network switch, route setup method, program, and parallel computer system
CN114785799B (zh) 区块链共识方法、区块链副本装置、计算机设备及存储介质
CN112152975B (zh) 音频数据的处理方法和装置
CN111510317B (zh) 弱化dbft中连续多个节点故障导致的延迟的方法、计算机可读存储介质和dbft网络
JP2022019145A (ja) イベントストリーム処理方法及びイベントストリーム処理プログラム
CN107370652B (zh) 一种计算机节点动态互联平台及平台组网方法
WO2023093065A1 (zh) 数据传输方法、计算设备及计算系统
CN114095289B (zh) 数据多播电路、方法、电子设备及计算机可读存储介质
US9871667B2 (en) Interaction protocol for interacting computer systems
JP4680148B2 (ja) 通信装置
JP3703304B2 (ja) ノード間データ転送方法および計算機間データ転送方法