JP4604794B2 - Internode connection device - Google Patents
Internode connection device Download PDFInfo
- Publication number
- JP4604794B2 JP4604794B2 JP2005093820A JP2005093820A JP4604794B2 JP 4604794 B2 JP4604794 B2 JP 4604794B2 JP 2005093820 A JP2005093820 A JP 2005093820A JP 2005093820 A JP2005093820 A JP 2005093820A JP 4604794 B2 JP4604794 B2 JP 4604794B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- lock
- inter
- communication
- synchronization
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
本発明は、集団通信が可能な回線交換方式のノード間接続装置に関する。 The present invention relates to a circuit switching inter-node connection apparatus capable of collective communication.
コンピュータを用いた処理手法として、「並列処理(Parallel Processing)」が知られている。並列処理によれば、複数の計算ノード(以下、「ノード」と参照される)間で処理の同期、分割、スケジューリングが行われ、複数ノードが協調して処理を行う。また、ノード間の通信として、「集団通信(Collective Communication)」が知られている。集団通信は、複数のプロセスから成るグループに関連した通信として定義されており、集団通信においては、複数のプロセス(CPU)が同時に通信を行う。ノード数が多い場合、各ノード間で負荷をバランスさせるために、並列処理の集団通信は、複数の通信ステップで実現されることが一般に知られている。 As a processing technique using a computer, “Parallel Processing” is known. According to parallel processing, processing is synchronized, divided, and scheduled between a plurality of computing nodes (hereinafter referred to as “nodes”), and the plurality of nodes perform processing in cooperation. In addition, “collective communication” is known as communication between nodes. Collective communication is defined as communication related to a group consisting of a plurality of processes. In collective communication, a plurality of processes (CPUs) communicate simultaneously. When the number of nodes is large, it is generally known that collective communication in parallel processing is realized by a plurality of communication steps in order to balance the load among the nodes.
図1は、集団通信の例を示す概念図である。図1に示される例においては、4つのノードN0〜N3が用いられる。これらノードのうち、データを送信するノードは、「ソースノード(SN; Source Node)」と呼ばれ、一方、データを受信するノードは、「デスティネーションノード(DN; Destination Node)」と呼ばれる。最初の通信ステップにおいて、ノードN0(SN)はノードN1(DN)にデータを送信し、ノードN1(SN)はノードN0(DN)にデータを送信する。また、ノードN2(SN)はノードN3(DN)にデータを送信し、ノードN3(SN)はノードN2(DN)にデータを送信する。その後、各ノードにおいて演算が行われる。次の通信ステップにおいて、ノードN0(SN)はノードN2(DN)にデータを送信し、ノードN1(SN)はノードN3(DN)にデータを送信する。また、ノードN2(SN)はノードN0(DN)にデータを送信し、ノードN3(SN)はノードN1(DN)にデータを送信する。その後、各ノードにおいて演算が行われる。 FIG. 1 is a conceptual diagram illustrating an example of collective communication. In the example shown in FIG. 1, four nodes N0 to N3 are used. Among these nodes, a node that transmits data is called a “source node (SN)”, while a node that receives data is called a “destination node (DN)”. In the first communication step, the node N0 (SN) transmits data to the node N1 (DN), and the node N1 (SN) transmits data to the node N0 (DN). The node N2 (SN) transmits data to the node N3 (DN), and the node N3 (SN) transmits data to the node N2 (DN). Thereafter, an operation is performed at each node. In the next communication step, the node N0 (SN) transmits data to the node N2 (DN), and the node N1 (SN) transmits data to the node N3 (DN). The node N2 (SN) transmits data to the node N0 (DN), and the node N3 (SN) transmits data to the node N1 (DN). Thereafter, an operation is performed at each node.
このような複数のステップからなる集団通信により、ギャザー、全ノードへのギャザー、リダクション、全ノードへのリダクション等の処理が実行される。例えば、ノードN0〜N3のそれぞれがデータA〜データDを有しているとする。この場合、例えばノードN0に対する加算によるリダクション処理が実行されると、複数のステップ後に、ノードN0にそれらデータの総和A+B+C+Dが現れる。このような集団通信においては、通信ステップの進行に伴って、SNとDNの関係が一定のルール(規則)に従って遷移する。 By such collective communication consisting of a plurality of steps, processes such as gather, gather to all nodes, reduction, reduction to all nodes, and the like are executed. For example, each of the nodes N0 to N3 has data A to data D. In this case, for example, when the reduction process by addition to the node N0 is executed, the sum A + B + C + D of the data appears at the node N0 after a plurality of steps. In such collective communication, as the communication step proceeds, the relationship between SN and DN transitions according to a certain rule.
また、データ通信方式として、回線交換方式とパケット交換方式が知られている。回線交換方式のノード間接続装置は、データを送信するノードであるSNからデータを受信するノードであるDNへの通信路を確保する必要がある。また、図1に示されたように、回線交換方式のノード間接続装置は、各通信ステップにおいて各ノードが送信先として要求するDNが競合しないように制御を行う。 As data communication systems, a circuit switching system and a packet switching system are known. A circuit switching inter-node connection apparatus needs to secure a communication path from an SN that is a node that transmits data to a DN that is a node that receives data. Also, as shown in FIG. 1, the circuit switching inter-node connection apparatus performs control so that DNs requested by each node as a transmission destination do not compete in each communication step.
図2は、従来の回線交換方式のノード間接続装置による、複数のステップの通信からなる集団通信の制御例を示す概念図である。この例においては、4つのノードN0〜N3とノード間接続装置が用いられ、全ノードへのリダクション処理が行われるとする。複数の通信ステップで実現される集団通信において、ノード間接続装置は、通信ステップごとに通信路を確保する処理を行う。 FIG. 2 is a conceptual diagram illustrating a control example of collective communication including communication of a plurality of steps by a conventional circuit switching inter-node connection apparatus. In this example, it is assumed that four nodes N0 to N3 and an inter-node connection device are used and reduction processing to all nodes is performed. In collective communication realized by a plurality of communication steps, the inter-node connection device performs processing for securing a communication path for each communication step.
図2に示されるように、集団通信の第1ステップにおいて、まず、通信路を確保する処理が行われる。通信路を確保する処理において、各SNは、通信路確保の要求である「ロック要求」をノード間接続装置に送信する。ノード間接続装置は、SNからロック要求を受信した後、そのロック要求に従って通信路(DN)をロックする処理を行う。通信路のロックに成功した後、ノード間接続装置は、SNに対して通信路確保成功の通知である「ロック要求リプライ」を送信する。各SNは、ロック要求リプライを受信すると、ロックされたDNにデータを送信する。その後、各ノードにおいて演算が行われる。 As shown in FIG. 2, in the first step of collective communication, first, processing for securing a communication path is performed. In the process of securing the communication path, each SN transmits a “lock request”, which is a request for securing the communication path, to the inter-node connection device. After receiving the lock request from the SN, the internode connection apparatus performs a process of locking the communication path (DN) according to the lock request. After successfully locking the communication path, the inter-node connection device transmits a “lock request reply” that is a notification of the communication path securing success to the SN. When each SN receives the lock request reply, each SN transmits data to the locked DN. Thereafter, an operation is performed at each node.
集団通信の第2ステップ以降において、まず、ノード間の同期をとる処理が行われる。同期をとる処理において、SNは、同期確保の要求である「同期要求」をノード間接続装置に送信する。ノード間接続装置は、全SNから同期要求を受信した後、その同期要求に従ってノード間の同期をとる処理を行う。ノード間の同期に成功した後、ノード間接続装置は、SNに対して同期確保成功の通知である「同期要求リプライ」を送信する。次に、各SNは、第1ステップと同様に、ロック要求をノード間接続装置に送信する。ノード間接続装置は、ロック処理を行い、ロック要求リプライをSNに送信する。各SNは、ロック要求リプライを受信すると、ロックされたDNにデータを送信する。その後、各ノードにおいて演算が行われる。 In the second and subsequent steps of collective communication, first, processing for synchronizing nodes is performed. In the process of obtaining synchronization, the SN transmits a “synchronization request”, which is a request for ensuring synchronization, to the internode connection apparatus. After receiving the synchronization request from all the SNs, the inter-node connection device performs processing for synchronizing the nodes according to the synchronization request. After successful synchronization between the nodes, the inter-node connection device transmits a “synchronization request reply” which is a notification of successful synchronization securing to the SN. Next, each SN transmits a lock request to the inter-node connection device as in the first step. The internode connection apparatus performs a lock process and sends a lock request reply to the SN. When each SN receives the lock request reply, each SN transmits data to the locked DN. Thereafter, an operation is performed at each node.
並列処理やリダクション処理に関連する一般的な技術として、以下のものが知られている。 The following are known as general techniques related to parallel processing and reduction processing.
特許文献1は、並列計算機におけるリダクション処理方法を開示している。並列計算機上でリダクション処理を行う際に、計算機個数が2のべき乗でない場合、端数計算機によって従来行われていた処理が、演算部及び収集部に組み込まれる。これにより、端数計算機が2のべき乗個の計算機に転送するデータ量が削減される。そして、端数計算機の処理にかかる時間が短縮される。
特許文献2は、並列計算機のリダクション処理装置を開示している。このリダクション処理装置は、保持する演算済みの全データを相互に転送する全データ転送手段と、保持する全データを分割し、分割した各部分データをそれぞれ相互に転送する部分データ転送手段と、全データ転送手段による転送と部分データ転送手段による転送とを切り換える切り換え手段とを備える。切り換え手段は、保持する全データを相互に転送する全データ通信法による全体処理時間を演算する。また、切り換え手段は、保持する全データを分割し、分割した各部分データをそれぞれ相互に転送する部分データ通信法による全体処理時間を演算する。そして、切り換え手段は、全体処理時間の短い通信法を選択する。
特許文献3は、複数の処理手段の間で相互に情報を転送することにより各々の処理手段が同期をとって処理を実行する同期処理方法を開示している。この同期処理方法は、(a)複数の処理手段でいくつかのプログラムを処理するためにプログラム毎に同期をとるべき処理手段の組み合わせを示す同期組情報を記憶するステップと、(b)自己の処理手段が処理を終了したときに同期待ち状態に至ったことを示す同期状態情報を記憶するステップと、(c)同期状態情報を他の全ての処理手段に送出するステップと、(d)同期組情報に基づき同期組情報により示される全ての処理手段から同期状態情報を受信したか否かを判定するステップと、(e)同期組情報により示される全ての処理手段から同期状態情報が受信された場合、その同期組情報により示される全ての処理手段に対してその同期組情報に対応するプログラムの次の処理に移行させるステップとからなる。
特許文献4は、並列計算機のリダクション処理方法を開示している。この方法は、通信ネットワーク接続された並列計算機により、各々が複数の入力データに依存する複数の出力データを生成する計算を処理するための方法である。そのリダクション処理方法は、ブロードキャスト処理の実行により中間結果を得るステップと、その中間結果に基づいてコンビネーション処理を実行するステップとを含む。
特許文献5は、交換機を開示している。この交換機は、クロスコネクト・スイッチング手段と接続手段とを備えている。クロスコネクト・スイッチング手段は、複数のデータ・ユニットと、入力ポートと、出力ポートとを有している。クロスコネクト・スイッチング手段は、入力ポートにおいて受信したデータを出力ポートに転送するために供されるデータ転送パスを提供する。接続手段は、上記入力ポートに接続され、複数のデータ・ユニットのうちの少なくとも2つに接続される。複数のデータ・ユニットは、入力ポートに関係付けられたデータ・デリバリー・グループを構成する。接続手段は、そのデータ・デリバリー・グループの異なるデータ・ユニットから、それぞれ異なる時間に、上記関係付けられた入力ポートにデータを転送するように動作可能である。
特許文献6は、マルチプロセッサシステムにおける集団通信装置を開示している。この集団通信装置は、プロセッサグループ定義部と、マスタプロセッサ登録更新部と、集団通信実行制御部と、リスト参照集団通信実行部とを備える。プロセッサグループ定義部は、様々な性能レベルの通信経路で繋がった複数のプロセッサについて、均一な性能レベルの通信経路でデータ転送を実現できるプロセッサの集合を定義し、リストを作成する。マスタプロセッサ登録更新部は、通信要求で指定されたrootプロセッサ指示によってリストを更新する。集団通信実行制御部は、集団通信の種類によってリストの実行順序を制御する。リスト参照集団通信実行部は、リストを使って特定なプロセッサの間で集団通信を行う。
一般に、ノード内のCPUの動作速度と比較して、ノード間通信の伝送時間は非常に大きい。また、ノード数の増加とともに集団通信の通信ステップ数は増加する。従って、ノード数が多いほど、並列処理の時間の総和における通信路確保の処理の時間が占める割合は大きくなる。つまり、集団通信における通信路確保処理は、並列処理効率向上を妨げる一因といえる。 In general, the transmission time for inter-node communication is very long compared to the operating speed of the CPU in the node. Further, the number of communication steps of collective communication increases with the increase in the number of nodes. Therefore, the larger the number of nodes, the greater the proportion of the processing time for securing the communication path in the total time for parallel processing. That is, it can be said that the communication path securing process in collective communication is one factor that hinders the improvement of parallel processing efficiency.
本発明の目的は、複数のステップからなる集団通信において、ノード間の通信路を確保するための処理数を削減することができる回線交換方式のノード間接続装置を提供することにある。 An object of the present invention is to provide a circuit switching type inter-node connection apparatus that can reduce the number of processes for securing a communication path between nodes in collective communication including a plurality of steps.
本発明の他の目的は、並列処理の実行時間を短縮することができる回線交換方式のノード間接続装置を提供することにある。 Another object of the present invention is to provide a circuit switching inter-node connection apparatus that can shorten the execution time of parallel processing.
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。 [Means for Solving the Problems] will be described below using the numbers and symbols used in [Best Mode for Carrying Out the Invention]. These numbers and symbols are added in parentheses in order to clarify the correspondence between the description of [Claims] and [Best Mode for Carrying Out the Invention]. However, these numbers and symbols should not be used for the interpretation of the technical scope of the invention described in [Claims].
本発明によれば、複数のノード(N0〜N(M−1))間において複数の通信ステップで実現される集団通信が可能なノード間接続装置(10)が提供される。このノード間接続装置(10)は、複数のノードと通信可能に接続された制御送受信部(20)と、その制御送受信部(20)と接続されたロック制御部(30)とを備える。ロック制御部(30)は、複数のノードのうち集団通信に参加する参加ノード群のそれぞれに関して通信路のロックを行い、複数の通信ステップにわたって、その通信路のロックを維持する。 ADVANTAGE OF THE INVENTION According to this invention, the inter-node connection apparatus (10) which can perform the collective communication implement | achieved by several communication steps between several nodes (N0-N (M-1)) is provided. The inter-node connection device (10) includes a control transmission / reception unit (20) that is communicably connected to a plurality of nodes, and a lock control unit (30) connected to the control transmission / reception unit (20). The lock control unit (30) locks the communication path for each of the participating nodes participating in the collective communication among the plurality of nodes, and maintains the lock of the communication path over a plurality of communication steps.
ロック制御部(30)は、複数のノードのそれぞれに対応して設けられた複数のロック更新判定部(31)と、複数のノードのそれぞれに関してロックの状態を示す集団通信ロックフラグ(33)とを備える。複数のロック更新判定部(31)の各々は、参加ノード群中の対応するノードが集団通信に参加する「残りステップ数」を記憶する。集団通信ロックフラグ(33)は、この残りステップ数に基づいて更新される。 The lock control unit (30) includes a plurality of lock update determination units (31) provided corresponding to each of the plurality of nodes, a collective communication lock flag (33) indicating a lock state with respect to each of the plurality of nodes, Is provided. Each of the plurality of lock update determination units (31) stores “the number of remaining steps” at which the corresponding node in the participating node group participates in the collective communication. The collective communication lock flag (33) is updated based on the number of remaining steps.
参加ノード群のうち第1ノード(Nm)は、複数の通信ステップの最初のステップにおいて、通信路確保の要求であるロック要求(101)を制御送受信部(20)に送信する。制御送受信部(20)は、複数のロック更新判定部(31)のうち上記第1ノード(Nm)に対応する第1ロック更新判定部(31−m)に格納される残りステップ数を、ロック要求(101)に示される初期値に設定する。この残りステップ数は、複数の通信ステップが進む毎に更新される。 The first node (Nm) in the participating node group transmits a lock request (101), which is a request for securing a communication path, to the control transmission / reception unit (20) in the first step of the plurality of communication steps. The control transmission / reception unit (20) locks the remaining number of steps stored in the first lock update determination unit (31-m) corresponding to the first node (Nm) among the plurality of lock update determination units (31). Set to the initial value shown in the request (101). This remaining number of steps is updated each time a plurality of communication steps progress.
また、第1ノード(Nm)は、複数の通信ステップのうち最初のステップより後のステップにおいて、同期要求(103)を制御送受信部(20)に送信する。制御送受信部(20)は、この同期要求(103)に応答して、第1ロック更新判定部(31−m)に格納された残りステップ数をデクリメントする。 The first node (Nm) transmits the synchronization request (103) to the control transmission / reception unit (20) in a step after the first step among the plurality of communication steps. In response to the synchronization request (103), the control transmission / reception unit (20) decrements the remaining number of steps stored in the first lock update determination unit (31-m).
ロック制御部(30)は、更に、複数のノードのそれぞれに関する集団通信への参加状態を示す集団通信参加フラグ(34)を備える。第1ロック更新判定部(31−m)は、残りステップ数が1以上の場合、集団通信参加フラグ(34)のうち第1ノード(Nm)に対応する第1参加ビットを、第1の値(“1”)に設定する。一方、残りステップ数が0未満の場合、第1ロック更新判定部(31−m)は、上記第1参加ビットを、第1の値(“1”)の反転値である第2の値(“0”)に設定する。 The lock control unit (30) further includes a collective communication participation flag (34) indicating a participation state in collective communication for each of the plurality of nodes. When the number of remaining steps is 1 or more, the first lock update determination unit (31-m) sets the first participation bit corresponding to the first node (Nm) in the collective communication participation flag (34) to the first value. Set to (“1”). On the other hand, when the number of remaining steps is less than 0, the first lock update determination unit (31-m) sets the first participation bit to a second value (inverted value of the first value (“1”)) ( Set to “0”).
集団通信ロックフラグ(33)のビット値は、集団通信参加フラグ(34)のビット値で更新される。 The bit value of the collective communication lock flag (33) is updated with the bit value of the collective communication participation flag (34).
本発明に係るノード間接続装置(10)は、更に、制御送受信部(20)及びロック制御部(30)に接続されたノード間同期部(40)を備える。ノード間同期部(40)は、複数のノードのそれぞれに対して設けられた同期フラグ(41)と、その同期フラグ(41)をリセットするリセット論理(42)とを備える。制御送受信部(20)は、同期要求(103)に応答して、同期フラグ(41)のうち第1ノード(Nm)に対応する第1同期ビットを、第1の値(“1”)に設定する。 The inter-node connection device (10) according to the present invention further includes an inter-node synchronization unit (40) connected to the control transmission / reception unit (20) and the lock control unit (30). The inter-node synchronization unit (40) includes a synchronization flag (41) provided for each of the plurality of nodes, and a reset logic (42) for resetting the synchronization flag (41). In response to the synchronization request (103), the control transmission / reception unit (20) sets the first synchronization bit corresponding to the first node (Nm) in the synchronization flag (41) to the first value (“1”). Set.
制御送受信部(20)は、上述の集団通信ロックフラグ(33)を参照し、参加ノード群の全てに対して通信路のロックが行われた場合、ロック要求リプライ(201)をリセット論理(42)及び第1ノード(Nm)に送信する。第1ノード(Nm)は、このロック要求リプライ(201)に応答して、ロックされた通信路を用いてデータ(102、103)の送受信を行う。 The control transmission / reception unit (20) refers to the collective communication lock flag (33), and when the communication path is locked for all the participating nodes, the lock request reply (201) is reset logic (42). ) And the first node (Nm). In response to the lock request reply (201), the first node (Nm) transmits and receives data (102, 103) using the locked communication path.
また、制御送受信部(20)は、上述の同期フラグ(41)の全てのビットが第1の値(“1”)になった場合、同期要求リプライ(203)を発行する。制御送受信部(20)は、同期要求リプライ(203)を、第1ノード(Nm)及びロック制御部(30)に送信する。第1ノード(Nm)は、同期要求リプライ(203)に応答して、ロックされた通信路を用いてデータの送受信を行う。 Further, the control transmission / reception unit (20) issues a synchronization request reply (203) when all the bits of the above-described synchronization flag (41) become the first value ("1"). The control transmission / reception unit (20) transmits the synchronization request reply (203) to the first node (Nm) and the lock control unit (30). In response to the synchronization request reply (203), the first node (Nm) transmits and receives data using the locked communication path.
リセット論理(42)は、ロック要求リプライ(201)に応答して、集団通信ロックフラグ(33)のビット値の反転値で同期フラグ(41)のビット値をリセットする。また、リセット論理(42)は、同期要求リプライ(203)に応答して、集団通信参加フラグ(34)のビット値の反転値で同期フラグ(41)のビット値をリセットする。 In response to the lock request reply (201), the reset logic (42) resets the bit value of the synchronization flag (41) with the inverted value of the bit value of the collective communication lock flag (33). The reset logic (42) resets the bit value of the synchronization flag (41) with the inverted value of the bit value of the collective communication participation flag (34) in response to the synchronization request reply (203).
集団通信ロックフラグ(33)のビット値は、同期要求リプライ(203)に応答して、集団通信参加フラグ(34)のビット値で更新される。 The bit value of the collective communication lock flag (33) is updated with the bit value of the collective communication participation flag (34) in response to the synchronization request reply (203).
上記集団通信として、ギャザー、全ノードへのギャザー、リダクション、全ノードへのリダクションのいずれかが例示される。 Examples of the collective communication include gather, gather to all nodes, reduction, and reduction to all nodes.
本発明に係る回線交換方式のノード間接続装置によれば、複数のステップからなる集団通信において、ノード間の通信路を確保するための処理数が削減される。 According to the inter-node connection apparatus of the circuit switching method according to the present invention, the number of processes for securing a communication path between nodes is reduced in collective communication including a plurality of steps.
本発明に係る回線交換方式のノード間接続装置によれば、並列処理の実行時間が短縮される。 According to the circuit switching type inter-node connection apparatus according to the present invention, the execution time of parallel processing is shortened.
添付図面を参照して、本発明によるノード間接続装置を説明する。本発明に係るノード間接続装置は、回線交換方式のノード間接続装置である。また、本発明に係るノード間接続装置は、集団通信を行うことが可能である。集団通信は、複数の通信ステップからなり、通信ステップの進行とともに、SNとDNの関係が一定の規則に従って遷移する。そのような集団通信として、ギャザー、全ノードへのギャザー、リダクション、全ノードへのリダクションが例示される。 An inter-node connection device according to the present invention will be described with reference to the accompanying drawings. The internode connection apparatus according to the present invention is a circuit switching internode connection apparatus. The internode connection apparatus according to the present invention can perform collective communication. Collective communication is composed of a plurality of communication steps. As the communication steps progress, the relationship between SN and DN changes according to a certain rule. Examples of such collective communication include gathers, gathers to all nodes, reductions, and reductions to all nodes.
図3は、本発明のノード間接続装置による、複数のステップの通信からなる集団通信の制御を示す概念図である。この図3に示される例を用いて、本発明の概要を説明する。この例においては、4つのノードN0〜N3とノード間接続装置が用いられ、全ノードへの「リダクション処理」が行われるとする。本発明に係るノード間接続装置は、複数の通信ステップにわたってDN(通信路)のロックを維持する。つまり、本発明によれば、複数の通信ステップで実現される集団通信において、DNのロックが維持されたまま通信ステップが進む。 FIG. 3 is a conceptual diagram showing control of collective communication including communication of a plurality of steps by the internode connection apparatus of the present invention. The outline of the present invention will be described with reference to the example shown in FIG. In this example, it is assumed that four nodes N0 to N3 and an inter-node connection device are used and “reduction processing” is performed on all nodes. The inter-node connection device according to the present invention maintains a DN (communication path) lock over a plurality of communication steps. That is, according to the present invention, in the collective communication realized by a plurality of communication steps, the communication step proceeds while the DN lock is maintained.
図3に示されるように、集団通信の第1ステップにおいて、まず、通信路を確保する処理が行われる。通信路を確保する処理において、各SNは、通信路確保の要求である「集団通信ロック要求」をノード間接続装置に送信する。ノード間接続装置は、各SNから集団通信ロック要求を受信した後、その集団通信ロック要求に従って通信路(DN)をロックする処理を行う。通信路のロックに成功した後、ノード間接続装置は、SNに対して通信路確保成功の通知である「集団通信ロック要求リプライ」を送信する。各SNは、集団通信ロック要求リプライを受信すると、ロックされたDNにデータを送信する。その後、各ノードにおいて演算が行われる。 As shown in FIG. 3, in the first step of collective communication, first, a process for securing a communication path is performed. In the process of securing the communication path, each SN transmits a “collective communication lock request”, which is a request for securing the communication path, to the inter-node connection device. After receiving the collective communication lock request from each SN, the internode connection apparatus performs a process of locking the communication path (DN) according to the collective communication lock request. After successfully locking the communication path, the inter-node connection device transmits a “collective communication lock request reply” that is a notification of the successful communication path reservation to the SN. When each SN receives the collective communication lock request reply, each SN transmits data to the locked DN. Thereafter, an operation is performed at each node.
集団通信の第2ステップ以降において、まず、ノード間の同期をとる処理が行われる。同期をとる処理において、SNは、同期確保の要求である「同期要求」をノード間接続装置に送信する。ノード間接続装置は、全SNから同期要求を受信した後、その同期要求に従ってノード間の同期をとる処理を行う。ノード間の同期に成功した後、ノード間接続装置は、SNに対して同期確保成功の通知である「同期要求リプライ」を送信する。各SNは、ロック要求リプライを受信すると、ロックされたDNにデータを送信する。その後、各ノードにおいて演算が行われる。この第2ステップにおいて、通信路を確保する処理は行われない。従って、従来技術と比較して、並列処理の実行時間が短縮される。 In the second and subsequent steps of collective communication, first, processing for synchronizing nodes is performed. In the process of obtaining synchronization, the SN transmits a “synchronization request”, which is a request for ensuring synchronization, to the internode connection apparatus. After receiving the synchronization request from all the SNs, the inter-node connection device performs processing for synchronizing the nodes according to the synchronization request. After successful synchronization between the nodes, the inter-node connection device transmits a “synchronization request reply” which is a notification of successful synchronization securing to the SN. When each SN receives the lock request reply, each SN transmits data to the locked DN. Thereafter, an operation is performed at each node. In this second step, the process for securing the communication path is not performed. Therefore, the execution time of parallel processing is shortened compared with the prior art.
以下、図3に示された集団通信を伴う並列処理を実現するための構成及び動作が詳しく説明される。 The configuration and operation for realizing the parallel processing with collective communication shown in FIG. 3 will be described in detail below.
(構成)
図4は、本発明に係る並列処理システム及びノード間接続装置の構成を示すブロック図である。並列処理システム1は、M台のノードN0〜N(M−1)からなるノード群と、ノード間接続装置10を備えている。ノード間接続装置10は、ノード群のそれぞれと通信可能に接続されている。ノード間接続装置10は、制御送受信部20、ロック制御部30、ノード間同期部40、及びデータ転送パス50を備えている。後に示されるように、制御送受信部20は、M台のノードN0〜N(M−1)のそれぞれに接続されたM個の制御受信部21とM個の制御送信部22を有している。ロック制御部30は、ロック処理の制御と、ロックされるDN(通信路)の維持と更新を行う。ノード間同期部40は、ノード間の同期の制御を行う。データ転送パス50は、送信データ及び受信データの転送に用いられる。
(Constitution)
FIG. 4 is a block diagram showing the configuration of the parallel processing system and inter-node connection apparatus according to the present invention. The
各ノードは、集団通信ロック要求101をノード間接続装置10に送信する。その集団通信ロック要求101は、制御送受信部20を通してロック制御部30に転送される。集団通信ロック要求101に応答して、ロック制御部30は、ロック処理を行い、集団通信ロック要求リプライ201を生成する。その集団通信ロック要求リプライ201は、制御送受信部20を通して各ノードに送信される。また、SNは、送信データ102を、データ転送パス50を介してDNに送信する。DNは、受信データ202を、データ転送パス50を介してSNから受信する。また、各ノードは、同期要求103をノード間接続装置10に送信する。その同期要求103は、制御送受信部20を通して、ロック制御部30及びノード間同期部40に転送される。ロック制御部30は、同期要求103に応答して、ロックされるDNの維持と更新を行う。ノード間同期部40は、同期要求103に応答して、ノード間の同期処理を行い、同期要求リプライ203を生成する。その同期要求リプライ203は、制御送受信部20を通して各ノードに送信される。
Each node transmits a collective
図5は、本発明に係るノード間接続装置10のロック制御部30の構成を示すブロック図である。ロック制御部30は、ノードN0〜N(M−1)のそれぞれと通信可能に接続された制御受信部21−0〜21−(M−1)と接続されている。また、ロック制御部30は、ノードN0〜N(M−1)のそれぞれと通信可能に接続された制御送信部22−0〜22−(M−1)と接続されている。ロック制御部30は、ロック更新判定部31−0〜31−(M−1)、ロック競合調停部32、集団通信ロックフラグ33、集団通信参加フラグ34を備えている。
FIG. 5 is a block diagram showing a configuration of the
ロック更新判定部31−0〜31−(M−1)は、それぞれ制御受信部21−0〜21−(M−1)に接続されている。ロック更新判定部31の各々は、ロックされるDNの維持と更新を行う。そのため、ロック更新判定部31−m(mは0以上M−1以下の整数)は、ノードNmがDNとして集団通信に参加する残ステップ数を保持するカウンタを備える。ロック競合調停部32は、制御受信部21−0〜21−(M−1)に接続されている。ロック競合調停部32は、通信路確保処理の際、通常の競合調停に従い、ロックの取得を行う。
The lock update determination units 31-0 to 31- (M-1) are respectively connected to the control reception units 21-0 to 21- (M-1). Each of the lock
集団通信ロックフラグ33は、ロック競合調停部32及び制御送信部22−0〜22−(M−1)に接続されている。集団通信ロックフラグ33は、ロックを取得したノードを示すためのものであり、ノードN0〜N(M−1)のそれぞれに対応したM個のbitを持つ。言い換えれば、集団通信ロックフラグ33は、複数のノードN0〜N(M−1)のそれぞれに関してロックの状態を示す。集団通信参加フラグ34は、ロック更新判定部31と集団通信ロックフラグ33に接続されている。集団通信参加フラグ34は、集団通信に参加するノード(参加ノード群)を示すためのものであり、ノードN0〜N(M−1)のそれぞれに対応したM個のbitを持つ。言い換えれば、集団通信参加フラグ34は、複数のノードN0〜N(M−1)のそれぞれに関する集団通信への参加状態を示す。
The collective communication lock flag 33 is connected to the lock
図6は、本発明に係るノード間接続装置10のノード間同期部40の構成を示すブロック図である。ノード間同期部40は、ノードN0〜N(M−1)のそれぞれと通信可能に接続された制御受信部21−0〜21−(M−1)と接続されている。また、ノード間同期部40は、ノードN0〜N(M−1)のそれぞれと通信可能に接続された制御送信部22−0〜22−(M−1)と接続されている。ノード間同期部40は、集団通信参加ノード間同期フラグ41と、リセット論理42を備えている。
FIG. 6 is a block diagram showing a configuration of the
集団通信参加ノード間同期フラグ41は、制御受信部21−0〜21−(M−1)及び制御送信部22−0〜22−(M−1)に接続されている。集団通信参加ノード間同期フラグ41は、集団通信に参加するノード(参加ノード群)を示すためのものであり、ノードN0〜N(M−1)のそれぞれに対応したM個のbitを持つ。リセット論理42は、集団通信参加ノード間同期フラグ41に接続されている。リセット論理42は、ロック制御部30からの信号に応答して、集団通信参加ノード間同期フラグ41をリセットする。
The collective communication participating node synchronization flag 41 is connected to the control receivers 21-0 to 21- (M-1) and the control transmitters 22-0 to 22- (M-1). The collective communication participating node synchronization flag 41 is for indicating a node (participating node group) participating in collective communication, and has M bits corresponding to each of the nodes N0 to N (M-1). The
(動作)
1.ロック動作
集団通信の複数のステップのうちの第1のステップ(最初のステップ)として、「ロック動作」が行われる。このロック動作は、ノード間接続装置10が集団通信ロック要求101を受信してから、集団通信ロック要求リプライ201を送信するまでの動作であり、ロック制御部30によって行われる。
(Operation)
1. Locking operation A “locking operation” is performed as a first step (first step) of a plurality of steps of collective communication. This lock operation is an operation from when the
図7は、本発明に係るロック制御部30によるロック動作(第1の動作)を示すブロック図である。ノードNmから送信された集団通信ロック要求101は、制御受信部21−mに入力される。制御受信部21−mは、その集団通信ロック要求101に応答して、以下に示される3種類の信号を送出する。
FIG. 7 is a block diagram showing a lock operation (first operation) by the
第1として、制御受信部21−mは、ノードNmに対応するロック更新判定部31−mに初期設定信号S1を送出する。この初期設定信号S1は、ロック更新判定部31−mを初期設定するための信号であり、ロック更新判定部31−mに集団通信のための初期値を設定するための信号である。初期値は集団通信ロック要求101に示されている。より具体的には、ロック更新判定部31−mは、ノードNmがDNとして集団通信に参加する残ステップ数を保持するカウンタを備えている。上述の初期設定信号S1によって、ノードNmが集団通信にDNとして参加するステップ数が、そのカウンタの初期値として設定される。このカウンタによって、ノードNmを何ステップの間ロックするべきかを把握することができるので、ロックを維持したまま通信ステップを進めることが可能となる。このように、本発明に係るロック制御部30は、ロックするDN(通信路)を維持・更新するための情報を保持する。
First, the control reception unit 21-m sends an initial setting signal S1 to the lock update determination unit 31-m corresponding to the node Nm. The initial setting signal S1 is a signal for initial setting of the lock update determination unit 31-m, and is a signal for setting an initial value for collective communication in the lock update determination unit 31-m. The initial value is indicated in the collective
第2として、制御受信部21−mは、ロック競合調停部32にロック要求信号S2を送出する。このロック要求信号S2は、集団通信の第1ステップにおけるデータ送受信のためのロック取得を要求する信号である。このロック要求信号S2は、ノードNmの送信先であるDNに関する情報を含む。
Secondly, the control reception unit 21-m sends a lock request signal S <b> 2 to the lock
ロック競合調停部32は、ロック要求信号S2によって要求されたノードのロック取得を行う。つまり、ロック競合調停部32は、制御受信部21−mからロック要求信号S2を受けることにより、ノードNmが要求するDN(通信路)のロックを取得する。そのロック取得において、ロック競合調停部32は、周知の競合調停に従う。ロックを取得した後、ロック競合調停部32は、ロック信号S3を、ノードNmに対応する集団通信ロックフラグ33のビットmに送出する。このロック信号S3により、集団通信ロックフラグ33のビットmに“1”が格納される。尚、この集団通信ロックフラグ33の値は、ロック競合調停の結果に対して優先される。すなわち、集団通信ロックフラグ33のビットmが1の間は、ロック競合調停部32は、ノードNmのロックを取得しない。
The lock
第3として、制御受信部21−mは、全ての制御送信部22−0〜22−(M−1)に、通知信号S4を送出する。この通知信号S4は、ノードNmから集団通信ロック要求101を受信したことを、全ての制御送信部22−0〜22−(M−1)に通知するための信号である。この通知信号S4は、ノードNmが集団通信に参加するか否かの情報と、ノードNmの送信先であるDNに関する情報を含む。この通知信号S4によって、各制御送信部22は、集団通信にDNとして参加するノードを識別する。
Thirdly, the control receiver 21-m sends a notification signal S4 to all the control transmitters 22-0 to 22- (M-1). This notification signal S4 is a signal for notifying all the control transmission units 22-0 to 22- (M-1) that the collective
制御送信部22−mは、全ての制御受信部21から通知信号S4を受信する。また、制御送信部22−mは、集団通信ロックフラグ33から、ロック取得信号S5を受信する。このロック取得信号S5は、M個のノードN0〜N(M−1)に関するロック取得状態を示す信号である。尚、このロック取得信号S5は、制御送信部22だけでなくノード間同期部40にも送出される。制御送信部22−mは、ロック取得信号S5と全ての制御受信部21からの通知信号S4に基づいて、集団通信にDNとして参加する全てのノード(参加ノード群)がロックを取得しているかどうか判定する。集団通信に参加する全てのノード(参加ノード群)に対する集団通信ロックフラグ33が“1”となった場合、制御送信部22−mは、ノードNmに集団通信ロック要求リプライ201を送信する。つまり、制御送信部22−mは、集団通信ロックフラグ33を参照し、参加ノード群の全てに対してロックが行われた時、集団通信ロック要求リプライ201を出力する。尚、集団通信ロック要求リプライ201は、ノード間同期部40にも転送される。
The control transmitter 22-m receives the notification signal S4 from all the
ノードNmは、制御送信部22−mから集団通信ロック要求リプライ201を受信する。そのノードNmは、ノード間接続装置10のデータ転送パス50を介して、送信データ102をDNに送信し、受信データ202をSNから受信する。このように、集団通信に参加する各ノードは、集団通信ロック要求リプライ201を受信した後、送信データ102及び受信データ202を送受信する。データの送受信をしたノードNmは、ノード内で演算を行い、ノード間接続装置10に対して同期要求103を送信する。
The node Nm receives the collective communication
以上に示されたように、ロック制御部30は、複数のノードN0〜Nmのうち集団通信に参加する参加ノード群のそれぞれに関して通信路のロックを行う。そして、ロック制御部30は、後に示されるように、集団通信の複数のステップにわたって、その通信路のロックを維持する。
As described above, the
2.同期動作
集団通信の複数のステップのうちの第2のステップにおいて、「同期動作」が行われる。この同期動作は、ノード間接続装置10が同期要求103を受信してから、同期要求リプライ203を送信するまでの動作であり、ノード間同期部40及びロック制御部30によって行われる。
2. Synchronous operation A “synchronous operation” is performed in the second step of the plurality of steps of collective communication. This synchronization operation is an operation from when the
図8は、本発明に係るノード間同期部40による同期動作を示すブロック図である。ノードNmから送信された同期要求103は、制御受信部21−mに入力される。制御受信部21−mは、その同期要求103に応答して、同期要求信号S6を、ノードNmに対応する集団通信参加ノード間同期フラグ41のビットmに送出する。この同期要求信号S6により、集団通信参加ノード間同期フラグ41のビットmに“1”が格納される。つまり、制御受信部21−mは、同期要求103に応答して、集団通信参加ノード間同期フラグ41のビットmを“1”に設定する。
FIG. 8 is a block diagram showing a synchronization operation by the
制御送信部22−mは、集団通信参加ノード間同期フラグ41から、同期信号S7を受信する。この同期信号S7は、M個のノードN0〜N(M−1)に関する同期状態を示す信号である。制御送信部22−mは、同期信号S7に基づいて、集団通信参加ノード間同期フラグ41の全ビットが“1”になっているかどうか判定する。集団通信参加ノード間同期フラグ41の全てのbitが“1”になると、制御送信部22−mは、ノードNmに同期要求リプライ203を発行する。尚、この同期要求リプライ203は、ロック制御部30にも転送される。
The control transmission unit 22-m receives the synchronization signal S7 from the collective communication participating node synchronization flag 41. The synchronization signal S7 is a signal indicating a synchronization state regarding the M nodes N0 to N (M-1). Based on the synchronization signal S7, the control transmission unit 22-m determines whether or not all the bits of the collective communication participating node synchronization flag 41 are “1”. When all the bits of the collective communication participating node synchronization flag 41 are “1”, the control transmitter 22-m issues a
一方、ロック制御部30は、同期要求103に応答して、ロック更新判定部31のカウンタ値を変更して、集団通信ロックフラグ33を更新する。図9は、本発明に係るロック制御部30による更新動作(第2の動作)を示すブロック図である。ノードNmから送信された同期要求103は、制御受信部21−mに入力される。制御受信部21−mは、その同期要求103に応答して、ノードNmに対応するロック更新判定部31−mに設定変更信号S8を送出する。この設定変更信号S8は、ロック更新判定部31−mのカウンタ値(残ステップ数)を変更するための信号である。
On the other hand, in response to the
上述の通り、ロック更新判定部31−mは、ノードNmがDNとして集団通信に参加する残ステップ数を保持するカウンタを有している。そして、このカウンタの値は、上記設定変更信号S8によってデクリメントされる。つまり、制御受信部21−m(あるいはロック更新判定部31−m)は、設定変更信号S8に応答して、ノードNmが集団通信にDNとして参加する残ステップ数をデクリメントする。 As described above, the lock update determination unit 31-m has a counter that holds the number of remaining steps in which the node Nm participates in collective communication as a DN. The counter value is decremented by the setting change signal S8. That is, the control reception unit 21-m (or the lock update determination unit 31-m) decrements the number of remaining steps in which the node Nm participates as a DN in the collective communication in response to the setting change signal S8.
次に、ロック更新判定部31−mは、ノードNmにおける集団通信の全通信ステップが終了しているかどうか判定する。その判定の結果、ロック更新判定部31−mは、ノードNmに対応する集団通信参加フラグ34のビットmに対して、ビット信号S9を送出する。残ステップ数が1以上の場合、ロック更新判定部31−mは、ビット信号S9として“1”を送出する。残ステップ数が1未満の場合、ロック更新判定部31−mは、ビット信号S9として“0”を送出する。つまり、ロック更新判定部31−mは、全通信ステップが終了している場合は、集団通信参加フラグ34のビットmを“0”に設定し、終了していない場合は、集団通信参加フラグ34のビットmを“1”に設定する。ビット値“0”は、集団通信への不参加を示し、ビット値“1”は、集団通信への参加を示している。 Next, the lock update determination unit 31-m determines whether all communication steps of collective communication at the node Nm have been completed. As a result of the determination, the lock update determination unit 31-m sends a bit signal S9 to the bit m of the collective communication participation flag 34 corresponding to the node Nm. When the number of remaining steps is 1 or more, the lock update determination unit 31-m sends “1” as the bit signal S9. When the number of remaining steps is less than 1, the lock update determination unit 31-m sends “0” as the bit signal S9. That is, the lock update determination unit 31-m sets the bit m of the collective communication participation flag 34 to “0” when all communication steps are completed, and the collective communication participation flag 34 when not completed. Bit m is set to "1". A bit value “0” indicates non-participation in collective communication, and a bit value “1” indicates participation in collective communication.
集団通信参加フラグ34の内容は、更新信号S10として集団通信ロックフラグ33に転送される。ここで、その転送は、ノード間同期部40から発行される同期要求リプライ203を契機に行われる。つまり、集団通信ロックフラグ33のビットmは、同期要求リプライ203に応答して、集団通信参加フラグ34のビットmの値で更新される。言い換えれば、集団通信ロックフラグ33のビットmは、ロック更新判定部31−mが有するカウンタ値に基づいて更新される。尚、更新信号S10は、ノード間同期部40にも送信される。
The contents of the collective communication participation flag 34 are transferred to the collective communication lock flag 33 as an update signal S10. Here, the transfer is performed in response to the
既出の図8に示されるように、ロック制御部30からのロック取得信号S5及び更新信号S10は、ノード間同期部40のリセット論理42に入力される。上述の通り、ロック取得信号S5及び更新信号S10は、集団通信ロックフラグ33のMビットの内容を示している。すなわち、ロック取得信号S5及び更新信号S10は、ノードN0〜N(M−1)の集団通信への参加状態を示している。
As shown in FIG. 8, the lock acquisition signal S5 and the update signal S10 from the
リセット論理42は、ロック制御部30から集団通信ロック要求リプライ201を受け取った時、ロック取得信号S5を反転させた信号であるreset信号を、集団通信参加ノード同期フラグ41に出力する。つまり、集団通信ロック要求リプライ201の発行を契機として、集団通信ロックフラグ33のビットmの反転値が、集団通信参加ノード間同期フラグ41のビットmに格納される。また、リセット論理42は、同期要求リプライ203が発行された時、更新信号S10を反転させた信号であるreset信号を、集団通信参加ノード同期フラグ41に出力する。つまり、同期要求リプライ203の発行を契機として、集団通信ロックフラグ33(集団通信参加フラグ34)のビットmの反転値が、集団通信参加ノード間同期フラグ41のビットmに格納される。リセット論理42は、例えば、NOT(インバータ)により実現される。
When the
このように、リセット論理42は、集団通信ロック要求リプライ201あるいは同期要求リプライ203が発行された時に、集団通信ロックフラグ33の反転値を用いて集団通信参加ノード間同期フラグ41をリセットする。この動作により、集団通信に参加していないノードに対応する集団通信ノード間同期フラグ41に“1”が格納される。つまり、不参加ノードに対応するビット値は“1”に固定される。
Thus, when the collective communication
上述の通り、あるステップ(第nステップ)において、集団通信に参加するノードNmに対応する制御受信部21−mは、同期要求103に応答して、集団通信参加ノード間同期フラグ41のビットmを“1”に設定する。集団通信に参加しないノードに対応する集団通信参加ノード間同期フラグ41のビットは、上記リセット論理42により“1”に設定されている。これにより、集団通信参加ノード間同期フラグ41の全てのbitが“1”となるので、制御送信部22−mは、同期要求リプライ203を発行することができる。
As described above, in a certain step (n-th step), the control receiving unit 21-m corresponding to the node Nm participating in the collective communication responds to the
また、上述の通り、同じステップ(第nステップ)の間に、ロック制御部30のロック更新判定部31は、同期要求103に応答して、集団通信参加フラグ34の内容を更新する。具体的には、ロック更新判定部31−mは、ノードNmが集団通信にDNとして参加する残ステップ数をデクリメントする。残ステップ数が0になった場合、ロック更新判定部31−mは、集団通信参加フラグ34のビットmに“0”を格納する。残ステップ数が1以上の場合、ロック更新判定部31−mは、集団通信参加フラグ34のビットmに“1”を格納する。この時の集団通信参加フラグ34の内容は、次のステップ(第n+1ステップ)におけるノードN0〜N(M−1)の集団通信への参加状態を示している。つまり、第nステップの間に、集団通信参加フラグ34には、次の第(n+1)ステップにおける参加状態が予め用意される。そして、第nステップの同期要求リプライ203に応答して、この集団通信参加フラグ34の反転値により、集団通信参加ノード間同期フラグ41が更新される。すなわち、第nステップの同期要求リプライ203が発行された時、第(n+1)ステップでの参加・不参加を示す情報が、即座に集団通信参加ノード間同期フラグ41に格納される。従って、実行時間が削減される。また、ジョブIDや、集団通信の管理を行うマスターノードを用いることなく、通信ステップごとの同期を行うことが可能となる。
Further, as described above, during the same step (n-th step), the lock
以上に示されたように、ノード間接続装置10は、集団通信に参加している複数のノードから同期要求103を受信した後に、ロックの状態の更新を行い、また、各ノードに対して同期要求リプライ203を送信する。同期要求リプライ203を受信したノードは、ノード間接続装置10のデータ転送パス50を介して、送信データ102をDNに送信し、受信データ202をSNから受信する。このように、集団通信に参加する各ノードは、同期要求リプライ203を受信した後、送信データ102及び受信データ202を送受信する。データの送受信をしたノードNmは、ノード内で演算を行い、ノード間接続装置10に対して同期要求103を送信する。以降、ノードNmとノード間接続装置10の間で、同期要求103と同期要求リプライ203の送受信が繰り返される。これにより、複数の通信ステップにおける送信データ102及び受信データ202の送受信が実現される。
As described above, the
以上に説明されたように、本発明に係るノード間接続装置10は、並列処理の集団通信を処理する場合において、DNのロックを維持した状態で通信ステップを進めるように構成されている。これにより、従来集団通信の第2ステップ以降に必要であった、ノード間の通信路を確保するための処理(通信路確保処理)を削減することが可能となる。従って、並列処理の実行時間が短縮される。尚、複数の通信ステップにわたってDNのロックを維持するには、次の3つの条件が必要である。第1の条件は、集団通信の各ステップにおいて、SNが要求するDNが競合しないことである。第2の条件は、通信ステップの進行とともに、SNとDNの関係が一定の規則に従って遷移することである。第3の条件は、通信の第(n+1)ステップのDNが第nステップのDNに包含されることである。これら3つの条件を満たす集団通信として、ギャザー、全ノードへのギャザー、リダクション、全ノードへのリダクションがある。
As described above, the
本発明によれば、以下に記載される効果が得られる。 According to the present invention, the following effects can be obtained.
第1の効果は、複数の通信ステップで実現される集団通信を用いる並列処理の実行時間を削減できるということである。その理由は、複数の通信ステップで実現される集団通信が行われる際に、その複数の通信ステップにわたってDNのロックが維持され、通信の第2ステップ以降の通信路確保処理が削減されるからである。一般に、ノード内のCPUの動作時間に比べて、ノードとノード間接続装置10の間の信号の伝送時間は非常に長い。よって、通信路確保の処理に伴うロック要求やロック要求リプライの削減は、並列処理の実行時間の短縮に大きく寄与する。
The first effect is that the execution time of parallel processing using collective communication realized by a plurality of communication steps can be reduced. The reason is that when collective communication realized by a plurality of communication steps is performed, the DN lock is maintained over the plurality of communication steps, and the communication path securing process after the second step of communication is reduced. is there. In general, the signal transmission time between the node and the
第2の効果は、ジョブIDや、集団通信の管理を行うマスターノードを用いることなく、集団通信を行っているノード間のみで、通信ステップごとの同期処理が実行されることである。ノード、もしくはノードで動作するプログラムが、同期をとるべきノードを管理することなく、通信ステップごとの同期処理が実行される。その理由は、第nステップの通信において集団通信のロックがされているノード間で、第(n+1)ステップの同期が行われるからである(第3の条件)。また、第1ステップの通信において、ロックが保持されるべき通信ステップ数が、ノード間接続装置10に予め設定されるからである。
The second effect is that synchronization processing for each communication step is executed only between nodes that perform collective communication without using a job ID or a master node that manages collective communication. The synchronization process for each communication step is executed without managing a node or a program that runs on the node to be synchronized. This is because the (n + 1) -th step synchronization is performed between the nodes in which the collective communication is locked in the n-th step communication (third condition). In addition, in the first step communication, the number of communication steps to be locked is preset in the
尚、各ノードが通信ステップ数をカウントし、ロック維持の判定を行ってもよい。この場合、本発明に係るロック更新判定部31−mが、ノードNm内に設けられる。また、同期要求103に、ノード間接続装置10がノードNmのロックを維持するかどうかを判定するために用いる情報、もしくは通信ステップ数が付加される。制御受信部21−mは、同期要求103を受信すると、集団通信参加フラグ34のビットmを更新する。これにより、上述の動作と同様の動作が実現される。
Each node may count the number of communication steps and determine whether to maintain the lock. In this case, the lock update determination unit 31-m according to the present invention is provided in the node Nm. In addition, information used for determining whether the
1 並列処理システム
10 ノード間接続装置
20 制御送受信部
21 制御受信部
22 制御送信部
30 ロック制御部
31 ロック更新判定部
32 ロック競合調停部
33 集団通信ロックフラグ
34 集団通信参加フラグ
40 ノード間同期部
41 集団通信参加ノード間同期フラグ
42 リセット論理
50 データ転送パス
101 集団通信ロック要求
201 集団通信ロック要求リプライ
102 送信データ
202 受信データ
103 同期要求
203 同期要求リプライ
DESCRIPTION OF
Claims (16)
前記複数のノードと通信可能に接続された制御送受信部と、
前記制御送受信部と接続されたロック制御部と
を具備し、
前記ロック制御部は、前記複数のノードのうち前記集団通信に参加する参加ノード群のそれぞれに関して通信路のロックを行い、前記複数の通信ステップにわたって前記通信路のロックを維持する
ノード間接続装置。 An inter-node connection device that performs collective communication realized by a plurality of communication steps between a plurality of nodes,
A control transmission / reception unit communicably connected to the plurality of nodes;
A lock control unit connected to the control transmission / reception unit,
The inter-node connection device, wherein the lock control unit locks a communication path for each of participating nodes participating in the collective communication among the plurality of nodes, and maintains the lock of the communication path over the plurality of communication steps.
前記ロック制御部は、
前記複数のノードのそれぞれに対応して設けられた複数のロック更新判定部と、
前記複数のノードのそれぞれに関して前記ロックの状態を示す集団通信ロックフラグと
を備え、
前記複数のロック更新判定部の各々は、前記参加ノード群中の対応するノードが前記集団通信に参加する残りステップ数を記憶し、
前記集団通信ロックフラグは、前記残りステップ数に基づいて更新される
ノード間接続装置。 The inter-node connection device according to claim 1,
The lock control unit
A plurality of lock update determination units provided corresponding to each of the plurality of nodes;
A collective communication lock flag indicating the lock state for each of the plurality of nodes, and
Each of the plurality of lock update determination units stores the number of remaining steps in which the corresponding node in the participating node group participates in the collective communication,
The collective communication lock flag is updated based on the number of remaining steps.
前記参加ノード群のうち第1ノードは、前記複数の通信ステップの最初のステップにおいて、通信路確保の要求であるロック要求を前記制御送受信部に送信し、
前記制御送受信部は、前記複数のロック更新判定部のうち前記第1ノードに対応する第1ロック更新判定部に格納される前記残りステップ数を、前記ロック要求に示される初期値に設定する
ノード間接続装置。 The inter-node connection device according to claim 2,
The first node of the participating node group transmits a lock request, which is a request for securing a communication path, to the control transmission / reception unit in the first step of the plurality of communication steps,
The control transmission / reception unit sets the remaining number of steps stored in a first lock update determination unit corresponding to the first node among the plurality of lock update determination units to an initial value indicated in the lock request. Inter-connection device.
前記残りステップ数は、前記複数の通信ステップが進む毎に更新される
ノード間接続装置。 The inter-node connection device according to claim 3,
The number of remaining steps is updated each time the plurality of communication steps proceeds.
前記第1ノードは、前記複数の通信ステップのうち前記最初のステップより後のステップにおいて、同期要求を前記制御送受信部に送信し、
前記制御送受信部は、前記同期要求に応答して、前記第1ロック更新判定部に格納された前記残りステップ数をデクリメントする
ノード間接続装置。 The inter-node connection device according to claim 3 or 4,
The first node transmits a synchronization request to the control transmission / reception unit in a step after the first step among the plurality of communication steps,
In response to the synchronization request, the control transmission / reception unit decrements the number of remaining steps stored in the first lock update determination unit.
前記ロック制御部は、更に、前記複数のノードのそれぞれに関する前記集団通信への参加状態を示す集団通信参加フラグを備え、
前記第1ロック更新判定部は、前記残りステップ数が1以上の場合、前記集団通信参加フラグのうち前記第1ノードに対応する第1参加ビットを、第1の値に設定し、前記残りステップ数が0未満の場合、前記第1参加ビットを、前記第1の値の反転値である第2の値に設定する
ノード間接続装置。 The inter-node connection device according to claim 5,
The lock control unit further includes a collective communication participation flag indicating a participation state in the collective communication regarding each of the plurality of nodes,
When the number of remaining steps is 1 or more, the first lock update determining unit sets a first participation bit corresponding to the first node in the collective communication participation flag to a first value, and the remaining steps When the number is less than 0, the internode connection apparatus sets the first participation bit to a second value that is an inverted value of the first value.
前記集団通信ロックフラグのビット値は、前記集団通信参加フラグのビット値で更新される
ノード間接続装置。 The inter-node connection device according to claim 6,
The inter-node connection device in which the bit value of the collective communication lock flag is updated with the bit value of the collective communication participation flag.
前記制御送受信部及び前記ロック制御部に接続されたノード間同期部を更に具備し、
前記ノード間同期部は、
前記複数のノードのそれぞれに対して設けられた同期フラグと、
前記同期フラグをリセットするリセット論理と
を備え、
前記制御送受信部は、前記同期要求に応答して、前記同期フラグのうち前記第1ノードに対応する第1同期ビットを、前記第1の値に設定する
ノード間接続装置。 The inter-node connection device according to claim 7,
Further comprising an inter-node synchronization unit connected to the control transmission / reception unit and the lock control unit;
The inter-node synchronization unit is
A synchronization flag provided for each of the plurality of nodes;
Reset logic for resetting the synchronization flag, and
In response to the synchronization request, the control transmission / reception unit sets a first synchronization bit corresponding to the first node in the synchronization flag to the first value.
前記制御送受信部は、前記集団通信ロックフラグを参照し、前記参加ノード群の全てに対して前記通信路のロックが行われた場合、ロック要求リプライを前記リセット論理に出力する
ノード間接続装置。 The inter-node connection device according to claim 8,
The inter-node connection device, wherein the control transmission / reception unit refers to the collective communication lock flag and outputs a lock request reply to the reset logic when the communication path is locked for all of the participating node groups.
前記制御送受信部は、前記ロック要求リプライを更に前記第1ノードに送信し、
前記第1ノードは、前記ロック要求リプライに応答して、前記ロックされた通信路を用いてデータの送受信を行う
ノード間接続装置。 The inter-node connection device according to claim 9, wherein
The control transmission / reception unit further transmits the lock request reply to the first node,
The inter-node connection device, wherein the first node transmits and receives data using the locked communication path in response to the lock request reply.
前記リセット論理は、前記ロック要求リプライに応答して、前記集団通信ロックフラグのビット値の反転値で前記同期フラグのビット値をリセットする
ノード間接続装置。 The inter-node connection device according to claim 9 or 10,
In response to the lock request reply, the reset logic resets the bit value of the synchronization flag with an inverted value of the bit value of the collective communication lock flag.
前記制御送受信部は、前記同期フラグの全てのビットが前記第1の値になった場合、同期要求リプライを発行する
ノード間接続装置。 The inter-node connection device according to any one of claims 8 to 11,
The inter-node connection apparatus that issues a synchronization request reply when all the bits of the synchronization flag become the first value.
前記リセット論理は、前記同期要求リプライに応答して、前記集団通信参加フラグのビット値の反転値で前記同期フラグのビット値をリセットする
ノード間接続装置。 The inter-node connection device according to claim 12,
The inter-node connection device, wherein the reset logic resets the bit value of the synchronization flag with an inverted value of the bit value of the collective communication participation flag in response to the synchronization request reply.
前記制御送受信部は、前記同期要求リプライを前記ロック制御部に送信し、
前記集団通信ロックフラグのビット値は、前記同期要求リプライに応答して、前記集団通信参加フラグのビット値で更新される
ノード間接続装置。 The inter-node connection device according to claim 12 or 13,
The control transmission / reception unit transmits the synchronization request reply to the lock control unit,
The inter-node connection device, wherein the bit value of the collective communication lock flag is updated with the bit value of the collective communication participation flag in response to the synchronization request reply.
前記制御送受信部は、前記同期要求リプライを更に前記第1ノードに送信し、
前記第1ノードは、前記同期要求リプライに応答して、前記ロックされた通信路を用いてデータの送受信を行う
ノード間接続装置。 The inter-node connection device according to any one of claims 12 to 14,
The control transmission / reception unit further transmits the synchronization request reply to the first node,
The internode connection apparatus, wherein the first node transmits and receives data using the locked communication path in response to the synchronization request reply.
前記集団通信は、ギャザー、全ノードへのギャザー、リダクション、全ノードへのリダクションのいずれかを実行する
ノード間接続装置。 The inter-node connection device according to any one of claims 1 to 15,
The collective communication is an inter-node connection device that performs one of gather, gather to all nodes, reduction, and reduction to all nodes.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005093820A JP4604794B2 (en) | 2005-03-29 | 2005-03-29 | Internode connection device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005093820A JP4604794B2 (en) | 2005-03-29 | 2005-03-29 | Internode connection device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006279390A JP2006279390A (en) | 2006-10-12 |
JP4604794B2 true JP4604794B2 (en) | 2011-01-05 |
Family
ID=37213687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005093820A Expired - Fee Related JP4604794B2 (en) | 2005-03-29 | 2005-03-29 | Internode connection device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4604794B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5556377B2 (en) * | 2010-05-27 | 2014-07-23 | 日本電気株式会社 | Parallel computing system, processor, network switch device, and communication method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1063630A (en) * | 1996-06-25 | 1998-03-06 | Internatl Business Mach Corp <Ibm> | Route limitation set group for designating route with no deadlock in multistage cross point packet exchange |
JPH11134311A (en) * | 1997-10-24 | 1999-05-21 | Nec Corp | Group communication equipment in multi-processor system |
JPH11212927A (en) * | 1998-01-22 | 1999-08-06 | Nec Kofu Ltd | Conflict arbitration method |
JP2001043099A (en) * | 1999-08-02 | 2001-02-16 | Nec Eng Ltd | Multiprocessor system and data path selection control method |
-
2005
- 2005-03-29 JP JP2005093820A patent/JP4604794B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1063630A (en) * | 1996-06-25 | 1998-03-06 | Internatl Business Mach Corp <Ibm> | Route limitation set group for designating route with no deadlock in multistage cross point packet exchange |
JPH11134311A (en) * | 1997-10-24 | 1999-05-21 | Nec Corp | Group communication equipment in multi-processor system |
JPH11212927A (en) * | 1998-01-22 | 1999-08-06 | Nec Kofu Ltd | Conflict arbitration method |
JP2001043099A (en) * | 1999-08-02 | 2001-02-16 | Nec Eng Ltd | Multiprocessor system and data path selection control method |
Also Published As
Publication number | Publication date |
---|---|
JP2006279390A (en) | 2006-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3532037B2 (en) | Parallel computer | |
US7940788B2 (en) | System for transmitting data within a network between nodes of the network and flow control process for transmitting the data | |
JP6481427B2 (en) | Arithmetic processing device, information processing device, and control method for information processing device | |
JP2000224213A (en) | Communication network, master set, slave set, multiplexer and exchange configuring the communication network | |
WO2010060882A1 (en) | Arbitration in multiprocessor device | |
CN110266422B (en) | Method, device, equipment and medium for processing message residence time of intermediate clock equipment | |
US20080215823A1 (en) | Data consistency control system and data consistency control method | |
JP6614403B1 (en) | COMMUNICATION DEVICE, COMMUNICATION SYSTEM, AND SYNCHRONIZATION CONTROL METHOD | |
JP4604794B2 (en) | Internode connection device | |
CN108259390A (en) | The priority method for pushing and device of virtual channel in interconnection bus | |
US10728178B2 (en) | Apparatus and method for distribution of congestion information in a switch | |
CN116702885A (en) | Synchronous data parallel training control method, system, device, equipment and medium | |
CN106776032A (en) | The treating method and apparatus of the I/O Request of distributed block storage | |
JP2006235736A (en) | Cache synchronous control method of cluster system | |
CN115580572A (en) | Routing method, routing node, routing device and computer readable storage medium | |
CN112889031A (en) | Synchronization of data processing in a computing system | |
CN113157709A (en) | Distributed system node dynamic change method, device, equipment and storage medium | |
CN113452729A (en) | Serial number determination method, equipment and storage medium | |
CN111797050A (en) | System on chip | |
JP7207133B2 (en) | Information processing device, synchronization device, and control method for information processing device | |
CN114301566B (en) | Clock synchronization method of redundant system, redundant system and network system | |
JP5645253B2 (en) | Node controller, request output order determination method, and inter-node communication system | |
CN113923166B (en) | Load balancing method and distributed cluster system | |
EP0971282B1 (en) | Multi-processor system with synchronized system time | |
JP5493880B2 (en) | Parallel computer system, processor, synchronization device, communication method, and communication support method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100826 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100907 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100920 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131015 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |