JP4604794B2 - Internode connection device - Google Patents

Internode connection device Download PDF

Info

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
Application number
JP2005093820A
Other languages
Japanese (ja)
Other versions
JP2006279390A (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
Priority to JP2005093820A priority Critical patent/JP4604794B2/en
Publication of JP2006279390A publication Critical patent/JP2006279390A/en
Application granted granted Critical
Publication of JP4604794B2 publication Critical patent/JP4604794B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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のべき乗個の計算機に転送するデータ量が削減される。そして、端数計算機の処理にかかる時間が短縮される。   Patent Document 1 discloses a reduction processing method in a parallel computer. When performing the reduction process on the parallel computer, if the number of computers is not a power of 2, the processing conventionally performed by the fractional computer is incorporated in the calculation unit and the collection unit. As a result, the amount of data transferred by the fractional computer to a power-of-two computer is reduced. And the time which processing of a fraction calculator takes is shortened.

特許文献2は、並列計算機のリダクション処理装置を開示している。このリダクション処理装置は、保持する演算済みの全データを相互に転送する全データ転送手段と、保持する全データを分割し、分割した各部分データをそれぞれ相互に転送する部分データ転送手段と、全データ転送手段による転送と部分データ転送手段による転送とを切り換える切り換え手段とを備える。切り換え手段は、保持する全データを相互に転送する全データ通信法による全体処理時間を演算する。また、切り換え手段は、保持する全データを分割し、分割した各部分データをそれぞれ相互に転送する部分データ通信法による全体処理時間を演算する。そして、切り換え手段は、全体処理時間の短い通信法を選択する。   Patent Document 2 discloses a reduction processing device for a parallel computer. This reduction processing apparatus includes all data transfer means for transferring all the calculated data to be held mutually, partial data transfer means for dividing all the held data, and transferring each divided partial data to each other, And switching means for switching between transfer by the data transfer means and transfer by the partial data transfer means. The switching means calculates the total processing time according to the all data communication method for transferring all the held data to each other. Further, the switching means divides all the data to be held, and calculates the total processing time by the partial data communication method in which the divided partial data are transferred to each other. The switching means selects a communication method with a short overall processing time.

特許文献3は、複数の処理手段の間で相互に情報を転送することにより各々の処理手段が同期をとって処理を実行する同期処理方法を開示している。この同期処理方法は、(a)複数の処理手段でいくつかのプログラムを処理するためにプログラム毎に同期をとるべき処理手段の組み合わせを示す同期組情報を記憶するステップと、(b)自己の処理手段が処理を終了したときに同期待ち状態に至ったことを示す同期状態情報を記憶するステップと、(c)同期状態情報を他の全ての処理手段に送出するステップと、(d)同期組情報に基づき同期組情報により示される全ての処理手段から同期状態情報を受信したか否かを判定するステップと、(e)同期組情報により示される全ての処理手段から同期状態情報が受信された場合、その同期組情報により示される全ての処理手段に対してその同期組情報に対応するプログラムの次の処理に移行させるステップとからなる。   Patent Document 3 discloses a synchronous processing method in which information is transferred between a plurality of processing means so that each processing means performs processing in synchronization. The synchronization processing method includes (a) storing synchronization set information indicating a combination of processing means to be synchronized for each program in order to process several programs by a plurality of processing means; A step of storing synchronization state information indicating that the processing unit has finished processing, and (c) a step of sending the synchronization state information to all other processing units; and (d) synchronization. Determining whether or not synchronization state information has been received from all processing means indicated by the synchronization group information based on the group information; and (e) receiving synchronization state information from all processing means indicated by the synchronization group information. In this case, all processing means indicated by the synchronous group information are transferred to the next process of the program corresponding to the synchronous group information.

特許文献4は、並列計算機のリダクション処理方法を開示している。この方法は、通信ネットワーク接続された並列計算機により、各々が複数の入力データに依存する複数の出力データを生成する計算を処理するための方法である。そのリダクション処理方法は、ブロードキャスト処理の実行により中間結果を得るステップと、その中間結果に基づいてコンビネーション処理を実行するステップとを含む。   Patent Document 4 discloses a reduction processing method for a parallel computer. This method is a method for processing calculations for generating a plurality of output data, each of which depends on a plurality of input data, by a parallel computer connected to a communication network. The reduction processing method includes a step of obtaining an intermediate result by executing a broadcast process, and a step of executing a combination process based on the intermediate result.

特許文献5は、交換機を開示している。この交換機は、クロスコネクト・スイッチング手段と接続手段とを備えている。クロスコネクト・スイッチング手段は、複数のデータ・ユニットと、入力ポートと、出力ポートとを有している。クロスコネクト・スイッチング手段は、入力ポートにおいて受信したデータを出力ポートに転送するために供されるデータ転送パスを提供する。接続手段は、上記入力ポートに接続され、複数のデータ・ユニットのうちの少なくとも2つに接続される。複数のデータ・ユニットは、入力ポートに関係付けられたデータ・デリバリー・グループを構成する。接続手段は、そのデータ・デリバリー・グループの異なるデータ・ユニットから、それぞれ異なる時間に、上記関係付けられた入力ポートにデータを転送するように動作可能である。   Patent Document 5 discloses an exchange. This exchange includes cross-connect switching means and connection means. The cross-connect switching means has a plurality of data units, an input port, and an output port. The cross-connect switching means provides a data transfer path provided for transferring data received at the input port to the output port. The connecting means is connected to the input port and is connected to at least two of the plurality of data units. The plurality of data units form a data delivery group associated with the input port. The connecting means is operable to transfer data from the different data units of the data delivery group to the associated input port at different times.

特許文献6は、マルチプロセッサシステムにおける集団通信装置を開示している。この集団通信装置は、プロセッサグループ定義部と、マスタプロセッサ登録更新部と、集団通信実行制御部と、リスト参照集団通信実行部とを備える。プロセッサグループ定義部は、様々な性能レベルの通信経路で繋がった複数のプロセッサについて、均一な性能レベルの通信経路でデータ転送を実現できるプロセッサの集合を定義し、リストを作成する。マスタプロセッサ登録更新部は、通信要求で指定されたrootプロセッサ指示によってリストを更新する。集団通信実行制御部は、集団通信の種類によってリストの実行順序を制御する。リスト参照集団通信実行部は、リストを使って特定なプロセッサの間で集団通信を行う。   Patent Document 6 discloses a collective communication device in a multiprocessor system. The collective communication apparatus includes a processor group definition unit, a master processor registration update unit, a collective communication execution control unit, and a list reference collective communication execution unit. The processor group definition unit defines a set of processors capable of realizing data transfer through communication paths having a uniform performance level for a plurality of processors connected by communication paths having various performance levels, and creates a list. The master processor registration update unit updates the list according to the root processor instruction specified in the communication request. The collective communication execution control unit controls the execution order of the list according to the type of collective communication. The list reference collective communication execution unit performs collective communication between specific processors using the list.

特開2000−339278号公報JP 2000-339278 A 特開2001−325239号公報JP 2001-325239 A 特開平06−187303号公報Japanese Patent Laid-Open No. 06-187303 特開平09−81530号公報JP 09-81530 A 特開平10−117200号公報JP-A-10-117200 特開平11−134311号公報JP-A-11-134311

一般に、ノード内の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 parallel processing system 1 includes a node group including M nodes N0 to N (M-1) and an inter-node connection device 10. The inter-node connection device 10 is communicably connected to each node group. The inter-node connection device 10 includes a control transmission / reception unit 20, a lock control unit 30, an inter-node synchronization unit 40, and a data transfer path 50. As will be described later, the control transmission / reception unit 20 includes M control reception units 21 and M control transmission units 22 connected to each of the M nodes N0 to N (M−1). . The lock control unit 30 controls lock processing and maintains and updates a locked DN (communication path). The inter-node synchronization unit 40 controls synchronization between nodes. The data transfer path 50 is used for transferring transmission data and reception data.

各ノードは、集団通信ロック要求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 communication lock request 101 to the inter-node connection device 10. The collective communication lock request 101 is transferred to the lock control unit 30 through the control transmission / reception unit 20. In response to the collective communication lock request 101, the lock control unit 30 performs a lock process and generates a collective communication lock request reply 201. The collective communication lock request reply 201 is transmitted to each node through the control transmission / reception unit 20. In addition, the SN transmits the transmission data 102 to the DN via the data transfer path 50. The DN receives the received data 202 from the SN via the data transfer path 50. Each node transmits a synchronization request 103 to the inter-node connection device 10. The synchronization request 103 is transferred to the lock control unit 30 and the inter-node synchronization unit 40 through the control transmission / reception unit 20. In response to the synchronization request 103, the lock control unit 30 maintains and updates the locked DN. In response to the synchronization request 103, the inter-node synchronization unit 40 performs a synchronization process between the nodes and generates a synchronization request reply 203. The synchronization request reply 203 is transmitted to each node through the control transmission / reception unit 20.

図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 lock control unit 30 of the internode connection apparatus 10 according to the present invention. The lock control unit 30 is connected to control reception units 21-0 to 21- (M-1) that are communicably connected to the nodes N0 to N (M-1). The lock control unit 30 is connected to control transmission units 22-0 to 22- (M-1) that are communicably connected to the nodes N0 to N (M-1). The lock control unit 30 includes lock update determination units 31-0 to 31- (M-1), a lock contention arbitration unit 32, a collective communication lock flag 33, and a collective communication participation flag 34.

ロック更新判定部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 update determination units 31 maintains and updates the locked DN. Therefore, the lock update determination unit 31-m (m is an integer of 0 to M-1) includes a counter that holds the number of remaining steps in which the node Nm participates in collective communication as a DN. The lock contention arbitration unit 32 is connected to the control reception units 21-0 to 21- (M-1). The lock contention arbitration unit 32 acquires a lock in accordance with normal contention mediation during the communication channel securing process.

集団通信ロックフラグ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 contention arbitration unit 32 and the control transmission units 22-0 to 22- (M-1). The collective communication lock flag 33 is for indicating the node that has acquired the lock, and has M bits corresponding to each of the nodes N0 to N (M−1). In other words, the collective communication lock flag 33 indicates a lock state for each of the plurality of nodes N0 to N (M−1). The collective communication participation flag 34 is connected to the lock update determination unit 31 and the collective communication lock flag 33. The collective communication participation flag 34 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). In other words, the collective communication participation flag 34 indicates a participation state in the collective communication regarding each of the plurality of nodes N0 to N (M-1).

図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 inter-node synchronization unit 40 of the inter-node connection device 10 according to the present invention. The inter-node synchronization unit 40 is connected to control reception units 21-0 to 21- (M-1) that are communicably connected to the nodes N0 to N (M-1). The inter-node synchronization unit 40 is connected to control transmission units 22-0 to 22- (M-1) that are communicably connected to the nodes N0 to N (M-1). The inter-node synchronization unit 40 includes a collective communication participating node synchronization flag 41 and a reset logic 42.

集団通信参加ノード間同期フラグ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 reset logic 42 is connected to the collective communication participating node synchronization flag 41. The reset logic 42 resets the collective communication participating node synchronization flag 41 in response to a signal from the lock control unit 30.

(動作)
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 internode connection apparatus 10 receives the collective communication lock request 101 to when the collective communication lock request reply 201 is transmitted, and is performed by the lock control unit 30.

図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 lock control unit 30 according to the present invention. The collective communication lock request 101 transmitted from the node Nm is input to the control receiving unit 21-m. In response to the collective communication lock request 101, the control reception unit 21-m transmits the following three types of signals.

第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 communication lock request 101. More specifically, the lock update determination unit 31-m includes a counter that holds the number of remaining steps in which the node Nm participates in collective communication as a DN. The number of steps at which the node Nm participates in collective communication as DN is set as the initial value of the counter by the above-described initial setting signal S1. By this counter, it is possible to grasp how many steps the node Nm should be locked, so that it is possible to proceed with the communication steps while maintaining the lock. Thus, the lock control unit 30 according to the present invention holds information for maintaining / updating a DN (communication path) to be locked.

第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 contention arbitration unit 32. This lock request signal S2 is a signal for requesting acquisition of a lock for data transmission / reception in the first step of collective communication. The lock request signal S2 includes information regarding DN that is the transmission destination of the node Nm.

ロック競合調停部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 contention arbitration unit 32 acquires the lock of the node requested by the lock request signal S2. That is, the lock contention arbitration unit 32 acquires the lock of the DN (communication path) requested by the node Nm by receiving the lock request signal S2 from the control reception unit 21-m. In the lock acquisition, the lock contention arbitration unit 32 follows a well-known contention mediation. After acquiring the lock, the lock contention arbitration unit 32 sends the lock signal S3 to the bit m of the collective communication lock flag 33 corresponding to the node Nm. With this lock signal S3, “1” is stored in the bit m of the collective communication lock flag 33. Note that the value of the collective communication lock flag 33 has priority over the result of lock contention arbitration. That is, while the bit m of the collective communication lock flag 33 is 1, the lock contention arbitration unit 32 does not acquire the lock of the node Nm.

第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 communication lock request 101 has been received from the node Nm. This notification signal S4 includes information on whether or not the node Nm participates in collective communication and information on the DN that is the transmission destination of the node Nm. With this notification signal S4, each control transmitter 22 identifies a node that participates in collective communication as a DN.

制御送信部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 control receivers 21. In addition, the control transmission unit 22-m receives the lock acquisition signal S <b> 5 from the collective communication lock flag 33. The lock acquisition signal S5 is a signal indicating a lock acquisition state regarding the M nodes N0 to N (M−1). The lock acquisition signal S5 is transmitted not only to the control transmission unit 22 but also to the inter-node synchronization unit 40. Based on the lock acquisition signal S5 and the notification signal S4 from all the control reception units 21, the control transmission unit 22-m has acquired all the nodes (participation node group) participating in collective communication as DNs. Judge whether. When the collective communication lock flag 33 for all the nodes participating in collective communication (participating node group) becomes “1”, the control transmission unit 22-m transmits the collective communication lock request reply 201 to the node Nm. That is, the control transmission unit 22-m refers to the collective communication lock flag 33 and outputs the collective communication lock request reply 201 when all the participating nodes are locked. The collective communication lock request reply 201 is also transferred to the inter-node synchronization unit 40.

ノードNmは、制御送信部22−mから集団通信ロック要求リプライ201を受信する。そのノードNmは、ノード間接続装置10のデータ転送パス50を介して、送信データ102をDNに送信し、受信データ202をSNから受信する。このように、集団通信に参加する各ノードは、集団通信ロック要求リプライ201を受信した後、送信データ102及び受信データ202を送受信する。データの送受信をしたノードNmは、ノード内で演算を行い、ノード間接続装置10に対して同期要求103を送信する。   The node Nm receives the collective communication lock request reply 201 from the control transmission unit 22-m. The node Nm transmits the transmission data 102 to the DN and receives the reception data 202 from the SN via the data transfer path 50 of the internode connection apparatus 10. As described above, each node participating in the collective communication transmits and receives the transmission data 102 and the reception data 202 after receiving the collective communication lock request reply 201. The node Nm that has transmitted and received data performs an operation within the node, and transmits a synchronization request 103 to the inter-node connection device 10.

以上に示されたように、ロック制御部30は、複数のノードN0〜Nmのうち集団通信に参加する参加ノード群のそれぞれに関して通信路のロックを行う。そして、ロック制御部30は、後に示されるように、集団通信の複数のステップにわたって、その通信路のロックを維持する。   As described above, the lock control unit 30 locks the communication path for each of the participating node groups participating in the collective communication among the plurality of nodes N0 to Nm. And the lock control part 30 maintains the lock | rock of the communication channel over several steps of collective communication so that it may show later.

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 internode connection apparatus 10 receives the synchronization request 103 to when the synchronization request reply 203 is transmitted, and is performed by the internode synchronization unit 40 and the lock control unit 30.

図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 inter-node synchronization unit 40 according to the present invention. The synchronization request 103 transmitted from the node Nm is input to the control reception unit 21-m. In response to the synchronization request 103, the control reception unit 21-m transmits a synchronization request signal S6 to the bit m of the collective communication participating node synchronization flag 41 corresponding to the node Nm. By this synchronization request signal S6, “1” is stored in the bit m of the collective communication participating node synchronization flag 41. That is, in response to the synchronization request 103, the control reception unit 21-m sets the bit m of the collective communication participating node synchronization flag 41 to “1”.

制御送信部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 synchronization request reply 203 to the node Nm. The synchronization request reply 203 is also transferred to the lock control unit 30.

一方、ロック制御部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 synchronization request 103, the lock control unit 30 changes the counter value of the lock update determination unit 31 and updates the collective communication lock flag 33. FIG. 9 is a block diagram showing an update operation (second operation) by the lock control unit 30 according to the present invention. The synchronization request 103 transmitted from the node Nm is input to the control reception unit 21-m. In response to the synchronization request 103, the control reception unit 21-m sends a setting change signal S8 to the lock update determination unit 31-m corresponding to the node Nm. The setting change signal S8 is a signal for changing the counter value (the number of remaining steps) of the lock update determination unit 31-m.

上述の通り、ロック更新判定部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 synchronization request reply 203 issued from the inter-node synchronization unit 40. That is, the bit m of the collective communication lock flag 33 is updated with the value of the bit m of the collective communication participation flag 34 in response to the synchronization request reply 203. In other words, the bit m of the collective communication lock flag 33 is updated based on the counter value included in the lock update determination unit 31-m. The update signal S10 is also transmitted to the inter-node synchronization unit 40.

既出の図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 lock control unit 30 are input to the reset logic 42 of the inter-node synchronization unit 40. As described above, the lock acquisition signal S5 and the update signal S10 indicate the contents of the M bit of the collective communication lock flag 33. That is, the lock acquisition signal S5 and the update signal S10 indicate the participation state of the nodes N0 to N (M−1) in the collective communication.

リセット論理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 reset logic 42 receives the collective communication lock request reply 201 from the lock control unit 30, the reset logic 42 outputs a reset signal, which is a signal obtained by inverting the lock acquisition signal S 5, to the collective communication participating node synchronization flag 41. That is, when the collective communication lock request reply 201 is issued, the inverted value of the bit m of the collective communication lock flag 33 is stored in the bit m of the collective communication participating node synchronization flag 41. Further, when the synchronization request reply 203 is issued, the reset logic 42 outputs a reset signal, which is a signal obtained by inverting the update signal S10, to the collective communication participation node synchronization flag 41. That is, when the synchronization request reply 203 is issued, the inverted value of the bit m of the collective communication lock flag 33 (collective communication participation flag 34) is stored in the bit m of the collective communication participating node synchronization flag 41. The reset logic 42 is realized by NOT (inverter), for example.

このように、リセット論理42は、集団通信ロック要求リプライ201あるいは同期要求リプライ203が発行された時に、集団通信ロックフラグ33の反転値を用いて集団通信参加ノード間同期フラグ41をリセットする。この動作により、集団通信に参加していないノードに対応する集団通信ノード間同期フラグ41に“1”が格納される。つまり、不参加ノードに対応するビット値は“1”に固定される。   Thus, when the collective communication lock request reply 201 or the synchronization request reply 203 is issued, the reset logic 42 resets the collective communication participating node synchronization flag 41 using the inverted value of the collective communication lock flag 33. With this operation, “1” is stored in the collective communication node synchronization flag 41 corresponding to the node not participating in the collective communication. That is, the bit value corresponding to the non-participating node is fixed to “1”.

上述の通り、あるステップ(第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 synchronization request 103, and the bit m of the collective communication participating node synchronization flag 41 Is set to “1”. The bit of the collective communication participating node synchronization flag 41 corresponding to a node that does not participate in collective communication is set to “1” by the reset logic 42. Thereby, since all the bits of the collective communication participating node synchronization flag 41 are “1”, the control transmission unit 22-m can issue the synchronization request reply 203.

また、上述の通り、同じステップ(第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 update determination unit 31 of the lock control unit 30 updates the content of the collective communication participation flag 34 in response to the synchronization request 103. Specifically, the lock update determination unit 31-m decrements the number of remaining steps in which the node Nm participates in collective communication as DN. When the number of remaining steps becomes 0, the lock update determination unit 31-m stores “0” in the bit m of the collective communication participation flag 34. When the number of remaining steps is 1 or more, the lock update determination unit 31-m stores “1” in the bit m of the collective communication participation flag 34. The contents of the collective communication participation flag 34 at this time indicate the participation state of the nodes N0 to N (M−1) in the collective communication in the next step (the (n + 1) th step). That is, during the n-th step, the participation state in the next (n + 1) -th step is prepared in advance in the collective communication participation flag 34. Then, in response to the synchronization request reply 203 in the nth step, the collective communication participating node synchronization flag 41 is updated with the inverted value of the collective communication participation flag 34. That is, when the synchronization request reply 203 in the nth step is issued, information indicating participation / nonparticipation in the (n + 1) th step is immediately stored in the collective communication participating node synchronization flag 41. Therefore, the execution time is reduced. In addition, synchronization for each communication step can be performed without using a job ID or a master node that manages collective communication.

以上に示されたように、ノード間接続装置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 inter-node connection device 10 updates the lock state after receiving the synchronization request 103 from a plurality of nodes participating in collective communication, and also synchronizes with each node. A request reply 203 is transmitted. The node that has received the synchronization request reply 203 transmits the transmission data 102 to the DN and receives the reception data 202 from the SN via the data transfer path 50 of the inter-node connection device 10. As described above, each node participating in the collective communication transmits and receives the transmission data 102 and the reception data 202 after receiving the synchronization request reply 203. The node Nm that has transmitted and received data performs an operation within the node, and transmits a synchronization request 103 to the inter-node connection device 10. Thereafter, transmission / reception of the synchronization request 103 and the synchronization request reply 203 is repeated between the node Nm and the inter-node connection device 10. Thereby, transmission / reception of the transmission data 102 and the reception data 202 in a plurality of communication steps is realized.

以上に説明されたように、本発明に係るノード間接続装置10は、並列処理の集団通信を処理する場合において、DNのロックを維持した状態で通信ステップを進めるように構成されている。これにより、従来集団通信の第2ステップ以降に必要であった、ノード間の通信路を確保するための処理(通信路確保処理)を削減することが可能となる。従って、並列処理の実行時間が短縮される。尚、複数の通信ステップにわたってDNのロックを維持するには、次の3つの条件が必要である。第1の条件は、集団通信の各ステップにおいて、SNが要求するDNが競合しないことである。第2の条件は、通信ステップの進行とともに、SNとDNの関係が一定の規則に従って遷移することである。第3の条件は、通信の第(n+1)ステップのDNが第nステップのDNに包含されることである。これら3つの条件を満たす集団通信として、ギャザー、全ノードへのギャザー、リダクション、全ノードへのリダクションがある。   As described above, the internode connection apparatus 10 according to the present invention is configured to advance the communication step while maintaining the DN lock when processing the collective communication in parallel processing. As a result, it is possible to reduce processing (communication path securing processing) for securing a communication path between nodes, which is necessary after the second step of conventional collective communication. Therefore, the execution time of parallel processing is shortened. In order to maintain the DN lock over a plurality of communication steps, the following three conditions are necessary. The first condition is that the DN requested by the SN does not compete at each step of collective communication. The second condition is that the relationship between SN and DN changes according to a certain rule as the communication step proceeds. The third condition is that the (n + 1) -th step DN of communication is included in the n-th step DN. Collective communication that satisfies these three conditions includes gather, gather to all nodes, reduction, and reduction to all nodes.

本発明によれば、以下に記載される効果が得られる。   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 inter-node connection device 10 is much longer than the operation time of the CPU in the node. Therefore, the reduction of lock requests and lock request replies associated with the process of securing the communication path greatly contributes to shortening the execution time of parallel processing.

第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 inter-node connection device 10.

尚、各ノードが通信ステップ数をカウントし、ロック維持の判定を行ってもよい。この場合、本発明に係るロック更新判定部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 internode connection apparatus 10 maintains the lock of the node Nm or the number of communication steps is added to the synchronization request 103. When receiving the synchronization request 103, the control receiver 21-m updates the bit m of the collective communication participation flag 34. Thereby, an operation similar to the above-described operation is realized.

図1は、集団通信の例を示す概念図である。FIG. 1 is a conceptual diagram illustrating an example of collective communication. 図2は、従来技術に係るノード間接続装置による集団通信制御を示す概念図である。FIG. 2 is a conceptual diagram showing collective communication control by the inter-node connection device according to the prior art. 図3は、本発明に係るノード間接続装置による集団通信制御を示す概念図である。FIG. 3 is a conceptual diagram showing collective communication control by the internode connection apparatus according to the present invention. 図4は、本発明に係る並列処理システム及びノード間接続装置の構成を示すブロック図である。FIG. 4 is a block diagram showing the configuration of the parallel processing system and inter-node connection apparatus according to the present invention. 図5は、本発明に係るノード間接続装置のロック制御部の構成を示すブロック図である。FIG. 5 is a block diagram showing the configuration of the lock control unit of the internode connection apparatus according to the present invention. 図6は、本発明に係るノード間接続装置のノード間同期部の構成を示すブロック図である。FIG. 6 is a block diagram showing the configuration of the inter-node synchronization unit of the inter-node connection device according to the present invention. 図7は、本発明に係るロック制御部の第1の動作を示すブロック図である。FIG. 7 is a block diagram showing a first operation of the lock control unit according to the present invention. 図8は、本発明に係るノード間同期部の動作を示すブロック図である。FIG. 8 is a block diagram showing the operation of the inter-node synchronization unit according to the present invention. 図9は、本発明に係るロック制御部の第2の動作を示すブロック図である。FIG. 9 is a block diagram showing a second operation of the lock control unit according to the present invention.

符号の説明Explanation of symbols

1 並列処理システム
10 ノード間接続装置
20 制御送受信部
21 制御受信部
22 制御送信部
30 ロック制御部
31 ロック更新判定部
32 ロック競合調停部
33 集団通信ロックフラグ
34 集団通信参加フラグ
40 ノード間同期部
41 集団通信参加ノード間同期フラグ
42 リセット論理
50 データ転送パス
101 集団通信ロック要求
201 集団通信ロック要求リプライ
102 送信データ
202 受信データ
103 同期要求
203 同期要求リプライ
DESCRIPTION OF SYMBOLS 1 Parallel processing system 10 Internode connection apparatus 20 Control transmission / reception part 21 Control reception part 22 Control transmission part 30 Lock control part 31 Lock update determination part 32 Lock contention arbitration part 33 Collective communication lock flag 34 Collective communication participation flag 40 Internode synchronization part 41 Collective Communication Participating Node Synchronization Flag 42 Reset Logic 50 Data Transfer Path 101 Collective Communication Lock Request 201 Collective Communication Lock Request Reply 102 Transmission Data 202 Received Data 103 Synchronization Request 203 Synchronization Request Reply

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.
請求項1に記載のノード間接続装置であって、
前記ロック制御部は、
前記複数のノードのそれぞれに対応して設けられた複数のロック更新判定部と、
前記複数のノードのそれぞれに関して前記ロックの状態を示す集団通信ロックフラグと
を備え、
前記複数のロック更新判定部の各々は、前記参加ノード群中の対応するノードが前記集団通信に参加する残りステップ数を記憶し、
前記集団通信ロックフラグは、前記残りステップ数に基づいて更新される
ノード間接続装置。
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.
請求項2に記載のノード間接続装置であって、
前記参加ノード群のうち第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.
請求項3に記載のノード間接続装置であって、
前記残りステップ数は、前記複数の通信ステップが進む毎に更新される
ノード間接続装置。
The inter-node connection device according to claim 3,
The number of remaining steps is updated each time the plurality of communication steps proceeds.
請求項3又は4に記載のノード間接続装置であって、
前記第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.
請求項5に記載のノード間接続装置であって、
前記ロック制御部は、更に、前記複数のノードのそれぞれに関する前記集団通信への参加状態を示す集団通信参加フラグを備え、
前記第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.
請求項6に記載のノード間接続装置であって、
前記集団通信ロックフラグのビット値は、前記集団通信参加フラグのビット値で更新される
ノード間接続装置。
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.
請求項7に記載のノード間接続装置であって、
前記制御送受信部及び前記ロック制御部に接続されたノード間同期部を更に具備し、
前記ノード間同期部は、
前記複数のノードのそれぞれに対して設けられた同期フラグと、
前記同期フラグをリセットするリセット論理と
を備え、
前記制御送受信部は、前記同期要求に応答して、前記同期フラグのうち前記第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.
請求項8に記載のノード間接続装置であって、
前記制御送受信部は、前記集団通信ロックフラグを参照し、前記参加ノード群の全てに対して前記通信路のロックが行われた場合、ロック要求リプライを前記リセット論理に出力する
ノード間接続装置。
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.
請求項9に記載のノード間接続装置であって、
前記制御送受信部は、前記ロック要求リプライを更に前記第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.
請求項9又は10に記載のノード間接続装置であって、
前記リセット論理は、前記ロック要求リプライに応答して、前記集団通信ロックフラグのビット値の反転値で前記同期フラグのビット値をリセットする
ノード間接続装置。
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.
請求項8乃至11のいずれかに記載のノード間接続装置であって、
前記制御送受信部は、前記同期フラグの全てのビットが前記第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.
請求項12に記載のノード間接続装置であって、
前記リセット論理は、前記同期要求リプライに応答して、前記集団通信参加フラグのビット値の反転値で前記同期フラグのビット値をリセットする
ノード間接続装置。
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.
請求項12又は13に記載のノード間接続装置であって、
前記制御送受信部は、前記同期要求リプライを前記ロック制御部に送信し、
前記集団通信ロックフラグのビット値は、前記同期要求リプライに応答して、前記集団通信参加フラグのビット値で更新される
ノード間接続装置。
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.
請求項12乃至14のいずれかに記載のノード間接続装置であって、
前記制御送受信部は、前記同期要求リプライを更に前記第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.
請求項1乃至15のいずれかに記載のノード間接続装置であって、
前記集団通信は、ギャザー、全ノードへのギャザー、リダクション、全ノードへのリダクションのいずれかを実行する
ノード間接続装置。
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.
JP2005093820A 2005-03-29 2005-03-29 Internode connection device Expired - Fee Related JP4604794B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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