JP4367427B2 - Computer system, communication method and program in parallel computer system - Google Patents

Computer system, communication method and program in parallel computer system Download PDF

Info

Publication number
JP4367427B2
JP4367427B2 JP2006088992A JP2006088992A JP4367427B2 JP 4367427 B2 JP4367427 B2 JP 4367427B2 JP 2006088992 A JP2006088992 A JP 2006088992A JP 2006088992 A JP2006088992 A JP 2006088992A JP 4367427 B2 JP4367427 B2 JP 4367427B2
Authority
JP
Japan
Prior art keywords
network interface
computer system
transmission
communication method
communication
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
JP2006088992A
Other languages
Japanese (ja)
Other versions
JP2007266973A (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 JP2006088992A priority Critical patent/JP4367427B2/en
Publication of JP2007266973A publication Critical patent/JP2007266973A/en
Application granted granted Critical
Publication of JP4367427B2 publication Critical patent/JP4367427B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、計算機システム、並列計算機システムにおける通信方法、およびプログラムに係り、特に並列計算機システムを構成する計算機システム間の通信技術に関する。   The present invention relates to a computer system, a communication method in a parallel computer system, and a program, and more particularly to a communication technique between computer systems constituting a parallel computer system.

構造・衝突・流体解析、気象シミュレーションなど膨大な計算が必要とされる数値計算の分野では、処理を高速にして、より多くの問題を解くために、あるいはより大きなモデルの問題を解くために、スーパーコンピュータと呼ばれる高価な専用マシンが開発されてきた。このようなマシンを利用できるのは、企業や国立研究所の一部の研究者などに限られていた。これに対し、近年のワークステーションやパーソナルコンピュータなどの性能向上に伴い、特定の研究者以外でもPCクラスタと呼ばれる高性能な計算機システムを容易に構築することが可能になってきた。   In the field of numerical computation that requires enormous calculations such as structure / collision / fluid analysis, weather simulation, etc., in order to solve more problems or solve problems of larger models, the processing speed is increased. An expensive dedicated machine called a supercomputer has been developed. Such machines could only be used by companies and some researchers at national laboratories. On the other hand, with the recent improvement in performance of workstations and personal computers, it has become possible for non-specialists to easily construct a high-performance computer system called a PC cluster.

PCクラスタは、複数台のパーソナルコンピュータをギガビットイーサネットなどコモディティなネットワークで接続することによって構成される。そして、並列計算用の通信ソフトウェアを使って各マシンを連携してアプリケーションの処理を分散させることによって処理を高速化する。   A PC cluster is configured by connecting a plurality of personal computers through a commodity network such as Gigabit Ethernet. Then, the processing speed is increased by distributing the processing of the application in cooperation with each machine using communication software for parallel computation.

ところが、最近では、CPU性能の向上に伴い、ギガビットイーサネットなどでは、ネットワークの性能がネックになり通信の割合が大きいアプリケーションではCPUの性能を十分に使えない場合が生じている。このため、ミリネットやインフィニバンドと呼ばれる高速ネットワークが使われ始めている。これらのネットワークは、ギガビットイーサネットなどに比べて数倍以上性能が上である。しかし、ミリネットやインフィニバンドのように単一のネットワークの性能を向上させていくことは、たいへんコストがかかり、電気的な限界もある。   However, recently, with the improvement of CPU performance, in the case of Gigabit Ethernet and the like, there is a case where the network performance becomes a bottleneck and the CPU performance cannot be sufficiently used in an application with a large communication ratio. For this reason, high-speed networks called millinets and Infiniband have begun to be used. These networks are several times better than Gigabit Ethernet. However, improving the performance of a single network, such as Millinet or InfiniBand, is very expensive and has electrical limitations.

そこで、複数のネットワークインタフェースカード(以下、NICと略す)を使って性能を向上させようという技術が生まれた。このような複数のNICを利用する手段として、ネットワークトランキングという技術がある。これは、複数のNICを仮想的に1つのNICに見せかける技術である。ネットワークトランキングを使用すると、理論的な性能は、使用したNICの性能の和になる。すなわちN個のNICを用いてネットワークトランキングをすれば、性能はN倍になる。   Therefore, a technology has been born to improve the performance by using a plurality of network interface cards (hereinafter abbreviated as NIC). As means for using such a plurality of NICs, there is a technique called network trunking. This is a technology that makes a plurality of NICs virtually appear as one NIC. Using network trunking, the theoretical performance is the sum of the performance of the NIC used. That is, if network trunking is performed using N NICs, the performance becomes N times.

なお、関連する技術として、プロセッサ−メモリ間に2つのバッファをもつ多段切換えネットワークを含む相互接続用ネットワークを設け、当該2つの多段切換えネットワークのトラフィック状態の検出結果に基づいてトラフィックの割当て比率を制御するプロセッサ−メモリ間のトラフィック径路指定技術が特許文献1に記載されている。この技術は、トラフィックの不均一部分を1つの切換えネットワークに局限し、トラフィックの残りの部分を第2の切換えネットワークに割り当てることによって混雑を緩和するものである。また、あらゆる状態の下で性能が最大となるようにトラフィックの不均衡を検出して径路指定方法を動的に変更するものである。   As a related technology, an interconnection network including a multistage switching network having two buffers between the processor and the memory is provided, and the traffic allocation ratio is controlled based on the detection result of the traffic state of the two multistage switching networks. Japanese Patent Application Laid-Open No. H11-228707 describes a traffic route designation technique between a processor and a memory. This technique alleviates congestion by localizing the heterogeneous part of the traffic to one switching network and allocating the remaining part of the traffic to the second switching network. In addition, the path designation method is dynamically changed by detecting a traffic imbalance so that performance is maximized under all conditions.

特開平7−28764号公報JP-A-7-28764

ところで、複数のマシンをネットワークで接続して構築する並列計算システム上で動作させるアプリケーションは、各マシン間で通信をしながら計算を進める。近年のCPU性能の向上に伴い、CPU性能に比べてネットワークの通信性能が低い。そのため、通信が頻繁に行われるアプリケーションでは、ネットワークの通信性能がボトルネックになることが多く、アプリケーションの実行時間を短くするには通信時間を短くすることが重要になってくる。ここでネットワークのピークバンド幅が広ければ広いほど、大きいサイズのデータをより速く転送できることになる。一方、整数変数1つ分などの小さいサイズのデータを数多く転送するようなアプリケーションでは、ネットワークのピークバンド幅は、アプリケーションの実行時間にはほとんど影響を与えないが、単位時間内に転送可能なメッセージを多くすることが実行時間を短くする上で重要である。   By the way, an application operating on a parallel computing system constructed by connecting a plurality of machines via a network advances the calculation while communicating between the machines. With recent improvements in CPU performance, network communication performance is lower than CPU performance. Therefore, in applications where communication is frequently performed, network communication performance often becomes a bottleneck, and shortening the communication time becomes important in order to shorten the execution time of the application. Here, the wider the peak bandwidth of the network, the faster data of a large size can be transferred. On the other hand, in applications that transfer a lot of small size data such as one integer variable, the peak bandwidth of the network has little effect on the execution time of the application, but messages that can be transferred within a unit time Increasing the number is important for shortening the execution time.

先に述べたネットワークトランキングによれば、最大性能は向上するが、一度に取り扱えるメッセージ数は、増大しない。その理由は、仮想的にNICを結合して、幅が太くなれば一度に転送可能なメッセージサイズは大きくなるが、NICが1つしかないため、一度に転送可能なメッセージの数は、NICが1つのときと変わらないからである。アプリケーションの通信パターンが、一つ一つのメッセージサイズが大きい場合は、ネットワークトランキングにより性能が向上するが、小さなサイズのメッセージが数多く転送される場合には、ネットワークトランキングでは、性能の向上は見込めない。   According to the network trunking described above, the maximum performance is improved, but the number of messages that can be handled at one time does not increase. The reason for this is that if the NIC is virtually combined and the width increases, the message size that can be transferred at a time increases. However, since there is only one NIC, the number of messages that can be transferred at one time is determined by the NIC. It is because it is not different from one time. If the application communication pattern is large for each message size, network trunking will improve performance, but if many small messages are transferred, network trunking can improve performance. Absent.

なお、特許文献1では、多段切換えネットワークの構成であるため、プロセッサとメモリ間のネットワークは共有されている。そのため一部のプロセッサとメモリ間でのみ通信が多量に発生すると、その通信に使われているパスでホットスポットが発生して、ネットワーク全体ではトラフィックが不均一になる場合がある。そこで、このトラフィックの不均一さを検出して、通信経路を変えることにより、ネットワーク全体でトラフィックを均一にして転送効率を向上させている。しかし、特定のプロセッサとメモリ間の通信経路は複数存在するが、経路を選択するだけであるので、複数の通信経路を同時に利用するなどして通信性能を向上させることはできない。   In Patent Document 1, since the configuration is a multistage switching network, the network between the processor and the memory is shared. Therefore, if a large amount of communication occurs only between some processors and memories, a hot spot may occur in a path used for the communication, and traffic may be uneven in the entire network. Therefore, by detecting this traffic non-uniformity and changing the communication path, the traffic is made uniform throughout the network to improve transfer efficiency. However, although there are a plurality of communication paths between a specific processor and a memory, the communication performance cannot be improved by simultaneously using a plurality of communication paths because only the path is selected.

本発明は、通信性能を向上させる計算機システム、並列計算機システムにおける通信方法、およびプログラムを提供することを目的とする。   An object of the present invention is to provide a computer system for improving communication performance, a communication method in a parallel computer system, and a program.

本発明の1つのアスペクトに係る計算機システムは、並列計算機システムを構成する計算機システムであって、他の計算機システムと接続するための複数のネットワークインタフェースカードと、複数のネットワークインタフェースカードで接続した相手の計算機システムとの間の通信量を測定する測定手段と、測定した通信量に応じて複数のネットワークインタフェースカード中の使用するネットワークインタフェースカードを動的に切り替える切替手段と、を備え、測定手段は、所定時間あたりの転送メッセージ数によって通信量を測定し、切替手段は、所定時間毎にネットワークインタフェースカードの動的切り替えを実行し、切替手段は、通信相手となるプロセスが2以上存在し、通信量に通信相手によって所定量以上の差がある場合には、メッセージ転送において複数のネットワークインタフェースカードを順次使用するように選択し、通信量が通信相手によって所定量未満の差である場合には、メッセージ転送に使用するネットワークインタフェースカードを固定とする。 A computer system according to one aspect of the present invention is a computer system that constitutes a parallel computer system, and includes a plurality of network interface cards for connecting to other computer systems and a partner connected by a plurality of network interface cards. Measuring means for measuring the amount of communication with the computer system, and switching means for dynamically switching the network interface card to be used in the plurality of network interface cards according to the measured amount of communication , the measuring means, The communication amount is measured by the number of transfer messages per predetermined time, the switching unit performs dynamic switching of the network interface card every predetermined time, and the switching unit has two or more processes as communication partners, and the communication amount If there is a difference of more than a certain amount depending on the communication partner The selects to sequentially use multiple network interface cards in the message transfer, when the amount of communication is a difference of less than a predetermined amount by the correspondent shall be the fixed network interface card to be used for message transfer .

本発明の他のアスペクトに係る計算機システムは、並列計算機システムを構成する計算機システムであって、相手の計算機システムの受信側ネットワークインタフェースカード群と接続すると共に複数のネットワークインタフェースカードを含む送信側ネットワークインタフェースカード群と、送信側プロセスから送信側ネットワークインタフェースカード群を介して相手の計算機システムに送信するメッセージ数を一定時間毎に測定して送信先別送信数情報として蓄えると共に、通信方法リストに基づいて送信側ネットワークインタフェースカード群および相手の計算機システムの受信側ネットワークインタフェースカード群のそれぞれに含まれるネットワークインタフェースカードをそれぞれ選択して送信する送信側通信部と、相手の計算機システムの受信側で受信するメッセージ数を元に相手の計算機システムから送られる送信元別受信数情報と送信先別送信数情報とを参照して通信方法リストを作成する送信側通信方法作成部と、を送信側ノードに備え、通信方法リストは、送信側および相手の計算機システムの受信側で使用するネットワークインタフェースカードの識別情報を含み、送信元別受信数情報と送信先別送信数情報とによって動的に変更される。   A computer system according to another aspect of the present invention is a computer system constituting a parallel computer system, which is connected to a reception-side network interface card group of a counterpart computer system and includes a plurality of network interface cards. The number of messages sent to the other computer system from the card group and the sending side network interface card group from the sending side process is measured at regular intervals and stored as sending number information by destination, and based on the communication method list A transmission side communication unit for selecting and transmitting a network interface card included in each of the transmission side network interface card group and the reception side network interface card group of the counterpart computer system; A transmission-side communication method creation unit that creates a communication method list by referring to transmission-source-specific reception number information and transmission-destination-specific transmission number information sent from the partner computer system based on the number of messages received at the reception side of the transmission system The communication method list includes identification information of the network interface card used on the transmission side and the reception side of the partner computer system, and includes reception number information for each transmission source and transmission number information for each transmission destination. Dynamically changed by

第3の展開形態の計算機システムにおいて、相手の計算機システムの送信側ネットワークインタフェースカード群と接続すると共に複数のネットワークインタフェースカードを含む受信側ネットワークインタフェースカード群と、受信側ネットワークインタフェースカード群から送信元別に受信して受信プロセスに渡すメッセージ数を一定時間毎に測定して送信元別受信数情報として蓄える受信側通信部と、送信元別受信数情報を相手の計算機システムに送信する受信側通信方法作成部と、をさらに受信側ノードに備えることが好ましい。   In the computer system of the third development form, a receiving-side network interface card group including a plurality of network interface cards connected to the transmitting-side network interface card group of the counterpart computer system, and a receiving-side network interface card group for each transmission source Receiving side communication unit that measures the number of messages received and passed to the receiving process at regular intervals and stores them as received number information for each transmission source, and creation of a receiving side communication method that transmits the received number information for each transmission source to the partner computer system It is preferable that the receiving side node further includes a unit.

第4の展開形態の計算機システムにおいて、送信側通信方法作成部は、一定時間毎に測定されたメッセージ数を元に、通信相手となるプロセスが2以上存在し、メッセージ数に通信相手によって所定数以上の差がある場合には、メッセージ転送において複数のネットワークインタフェースカードを順次使用するように選択し、メッセージ数が通信相手によって所定数未満の差である場合には、メッセージ転送に使用するネットワークインタフェースカードを固定となるように通信方法リストを変更することが好ましい。   In the computer system of the fourth development form, the transmission side communication method creation unit has two or more processes as communication partners based on the number of messages measured every predetermined time, and the number of messages depends on the communication partner. If there is a difference above, select to use a plurality of network interface cards sequentially in the message transfer, and if the number of messages is less than a predetermined number depending on the communication partner, the network interface used for message transfer It is preferable to change the communication method list so that the card is fixed.

第5の展開形態の計算機システムにおいて、送信側通信方法作成部は、(1)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数未満の場合には、これらの相手先との通信方法をサイクリックにし、(2)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数以上で、かつ偶数の場合には、これらの相手先との通信方法をシングルにし、(3)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数以上で、かつ奇数の場合には、最もメッセージ数が少ない相手先との通信方法をサイクリックにして、残りの相手先との通信方法をシングルにし、(4)メッセージ数が閾値未満である相手先との通信方法をサイクリックにするように、通信方法リストにおける識別情報を変更することが好ましい。   In the computer system of the fifth development form, the transmission side communication method creation unit (1) if the number of destinations whose number of messages is equal to or greater than the threshold is less than the number of NICs per node, If the communication method is cyclic, (2) if the number of destinations whose number of messages is equal to or greater than the threshold is equal to or greater than the number of NICs per node and an even number, the communication method with these destinations is single ( 3) If the number of destinations with the number of messages equal to or greater than the threshold is equal to or greater than the number of NICs per node and an odd number, the communication method with the destination with the smallest number of messages is set cyclically to the remaining destinations. It is preferable to change the identification information in the communication method list so that the communication method with the destination is single and (4) the communication method with the other party whose number of messages is less than the threshold is cyclic.

本発明の1つのアスペクトに係る並列計算機システムにおける通信方法は、並列計算機システムを構成する計算機システムが他の計算機システムと接続するための複数のネットワークインタフェースカードを備えて通信する方法であって、複数のネットワークインタフェースカードで接続した相手の計算機システムとの間の通信量を測定するステップと、測定した通信量に応じて複数のネットワークインタフェースカード中の使用するネットワークインタフェースカードを動的に切り替えるステップと、を含み、測定するステップにおいて、所定時間あたりの転送メッセージ数によって通信量を測定し、切り替えるステップにおいて、所定時間毎にネットワークインタフェースカードの動的切り替えを実行し、切り替えるステップにおいて、通信相手となるプロセスが2以上存在し、通信量に通信相手によって所定量以上の差がある場合には、メッセージ転送において複数のネットワークインタフェースカードを順次使用するように選択し、通信量が通信相手によって所定量未満の差である場合には、メッセージ転送に使用するネットワークインタフェースカードを固定とするA communication method in a parallel computer system according to one aspect of the present invention is a method in which a computer system constituting the parallel computer system includes a plurality of network interface cards for connecting to other computer systems, and performs communication. Measuring the amount of communication with the partner computer system connected by the network interface card, dynamically switching the network interface card to be used in the plurality of network interface cards according to the measured communication amount, the in the step of viewing containing, measuring, the traffic measured by the number of transferred messages per predetermined time in switching step performs a dynamic switching of network interface cards at each predetermined time, in switch step, If there are two or more processes to be the communication partner, and there is a difference of more than a predetermined amount depending on the communication partner, select to use multiple network interface cards sequentially for message transfer. If the difference is less than a predetermined amount, the network interface card used for message transfer is fixed .

本発明の他のアスペクトに係る並列計算機システムにおける通信方法は、並列計算機システムを構成する計算機システムが相手の計算機システムの受信側ネットワークインタフェースカード群と接続すると共に複数のネットワークインタフェースカードを含む送信側ネットワークインタフェースカード群を備えて送信側ノードとして通信する方法であって、送信側プロセスから送信側ネットワークインタフェースカード群を介して相手の計算機システムに送信するメッセージ数を一定時間毎に測定して送信先別送信数情報として蓄えるステップと、通信方法リストに基づいて送信側ネットワークインタフェースカード群および相手の計算機システムの受信側ネットワークインタフェースカード群のそれぞれに含まれるネットワークインタフェースカードをそれぞれ選択して送信するステップと、相手の計算機システムの受信側で受信するメッセージ数を元に相手の計算機システムから送られる送信元別受信数情報と送信先別送信数情報とを参照して通信方法リストを作成するステップと、を含み、通信方法リストは、送信側および相手の計算機システムの受信側で使用するネットワークインタフェースカードの識別情報を含み、送信元別受信数情報と送信先別送信数情報とによって動的に変更される。   According to another aspect of the present invention, there is provided a communication method in a parallel computer system, in which a computer system constituting a parallel computer system is connected to a receiving-side network interface card group of a counterpart computer system and includes a plurality of network interface cards. A method of communicating as a sending node with an interface card group, measuring the number of messages sent from a sending process to a partner computer system via a sending network interface card group at regular intervals, and by destination. The network interface included in each of the transmitting side network interface card group and the receiving side network interface card group of the counterpart computer system based on the communication method list Refers to the step of selecting and transmitting each of the scan cards, and the number-of-receiver-by-source information and the number-of-destination-by-destination information sent from the partner computer system based on the number of messages received at the receiver of the partner computer system Creating a communication method list, and the communication method list includes identification information of network interface cards used on the transmission side and the reception side of the partner computer system, and includes reception number information by transmission source and transmission destination. It is dynamically changed according to the transmission number information.

本発明の1つのアスペクトに係るプログラムは、他の計算機システムと接続するための複数のネットワークインタフェースカードを備えて並列計算機システムを構成する計算機システムに、複数のネットワークインタフェースカードで接続した相手の計算機システムとの間の通信量を測定する測定処理と、通信量に応じて複数のネットワークインタフェースカード中の使用するネットワークインタフェースカードを動的に切り替える切替処理と、を実行させ、測定処理は、所定時間あたりの転送メッセージ数によって通信量を測定し、切替処理は、所定時間毎にネットワークインタフェースカードの動的切り替えを実行し、切替処理は、通信相手となるプロセスが2以上存在し、通信量に通信相手によって所定量以上の差がある場合には、メッセージ転送において複数のネットワークインタフェースカードを順次使用するように選択し、通信量が通信相手によって所定量未満の差である場合には、メッセージ転送に使用するネットワークインタフェースカードを固定とする
A program according to an aspect of the present invention is a computer system of a partner connected by a plurality of network interface cards to a computer system that includes a plurality of network interface cards for connecting to other computer systems and constitutes a parallel computer system. traffic measurement process of measuring a between the switching process the network interface card dynamically switched for use in a plurality of network interface cards in accordance with the traffic, to the execution, measurement process, per predetermined time period The switching process performs dynamic switching of the network interface card every predetermined time, and the switching process has two or more processes as communication partners. If there is a difference of more than a predetermined amount, Select to sequentially use multiple network interface cards in the sage transfer, when the amount of communication is a difference of less than a predetermined amount by the communication partner, a fixed network interface card to be used for message transfer.

本発明の他のアスペクトに係るプログラムは、相手の計算機システムの受信側ネットワークインタフェースカード群と接続すると共に複数のネットワークインタフェースカードを含む送信側ネットワークインタフェースカード群を備えて送信側ノードとして並列計算機システムを構成する計算機システムに、送信側プロセスから送信側ネットワークインタフェースカード群を介して相手の計算機システムに送信するメッセージ数を一定時間毎に測定して送信先別送信数情報として蓄える処理と、通信方法リストに基づいて送信側ネットワークインタフェースカード群および相手の計算機システムの受信側ネットワークインタフェースカード群のそれぞれに含まれるネットワークインタフェースカードをそれぞれ選択して送信する処理と、相手の計算機システムの受信側で受信するメッセージ数を元に相手の計算機システムから送られる送信元別受信数情報と送信先別送信数情報とを参照して通信方法リストを作成する処理と、を実行させ、通信方法リストを作成する処理は、送信側および相手の計算機システムの受信側で使用するネットワークインタフェースカードの識別情報を含む通信方法リストを、送信元別受信数情報と送信先別送信数情報とによって動的に変更する。   A program according to another aspect of the present invention includes a transmission-side network interface card group including a plurality of network interface cards connected to a reception-side network interface card group of a partner computer system, and a parallel computer system as a transmission-side node. A processing method list in which the number of messages sent from the sending process to the partner computer system via the sending network interface card group is measured and stored as the sending number information by destination in the computer system to be configured. Processing for selecting and transmitting the network interface card included in each of the network interface card group on the transmission side and the network interface card group on the reception side of the partner computer system based on A process for creating a communication method list by referring to the received number information by transmission source and the transmitted number information by destination based on the number of messages received at the receiving side of the computer system. The process of creating the communication method list includes the communication method list including the identification information of the network interface card used on the transmission side and the reception side of the partner computer system. To change dynamically.

本発明によれば、ノードあたりに複数のNICが存在する場合に、各プロセス間の通信量が通信相手によって偏りがある場合であっても、複数のNICを平均的に利用することで、複数NICを扱うオーバーヘッドを少なくできる。この結果、ノードあたりにNICが単一の場合よりも転送できるメッセージ数が増えて、通信性能が向上する。   According to the present invention, when there are a plurality of NICs per node, even if the communication amount between the processes is uneven depending on the communication partner, a plurality of NICs are used on an average basis. The overhead for handling the NIC can be reduced. As a result, the number of messages that can be transferred per node increases as compared with a single NIC, and communication performance is improved.

その理由は、単位時間あたりの転送メッセージ数を測定し、各プロセス間の通信量が通信相手によって偏りがある場合は、複数のNICの使用率が平均的になるように調整し、各プロセス間の通信量が通信相手によって偏ることなくバランスが取れている場合は、オーバーヘッドを少なくするためにメッセージ転送に使用するNICを固定になるように調整しているからである。   The reason is that the number of messages transferred per unit time is measured, and if the communication volume between each process is uneven depending on the communication partner, the usage rate of multiple NICs is adjusted to be average, This is because the NIC used for message transfer is adjusted so as to be fixed in order to reduce the overhead.

本発明の実施形態に係る計算機システムは、並列計算機システムを構成するノードに相当する計算機システムである。計算機システムの送信側ノードにおいて、相手の計算機システムの受信側ネットワークインタフェースカード群(図1の5)と接続すると共に複数のネットワークインタフェースカードを含む送信側ネットワークインタフェースカード群(図1の3)と、送信側通信部(図1の2)と、送信側通信方法作成部(図1の7)とを備える。送信側通信部は、送信側プロセス(図1の1)から送信側ネットワークインタフェースカード群を介して相手の計算機システムに送信するメッセージ数を一定時間毎に測定して送信先別送信数情報(図1の24)として蓄えると共に、通信方法リスト(図1の72)に基づいて送信側ネットワークインタフェースカード群および相手の計算機システムの受信側ネットワークインタフェースカード群のそれぞれに含まれるネットワークインタフェースカードをそれぞれ選択して送信する。送信側通信方法作成部は、相手の計算機システムの受信側で受信するメッセージ数を元に相手の計算機システムから送られる送信元別受信数情報(図1の52)と送信先別送信数情報とを参照して通信方法リストを作成する。通信方法リストは、送信側および相手の計算機システムの受信側で使用するネットワークインタフェースカードの識別情報を含み、送信元別受信数情報と送信先別送信数情報とによって動的に変更される。   A computer system according to an embodiment of the present invention is a computer system corresponding to a node constituting a parallel computer system. In the transmission side node of the computer system, a transmission side network interface card group (3 in FIG. 1) connected to the reception side network interface card group (5 in FIG. 1) of the partner computer system and including a plurality of network interface cards; A transmission side communication unit (2 in FIG. 1) and a transmission side communication method creation unit (7 in FIG. 1) are provided. The transmission-side communication unit measures the number of messages transmitted from the transmission-side process (1 in FIG. 1) to the partner computer system via the transmission-side network interface card group at regular intervals, and transmits the transmission number information for each transmission destination (see FIG. 1) and the network interface card included in each of the transmitting-side network interface card group and the receiving-side network interface card group of the partner computer system based on the communication method list (72 in FIG. 1). To send. The transmission-side communication method creation unit is configured to receive source-specific reception number information (52 in FIG. 1) and transmission-destination-specific transmission number information sent from the partner computer system based on the number of messages received on the reception side of the partner computer system. To create a communication method list. The communication method list includes identification information of the network interface card used on the transmission side and the reception side of the partner computer system, and is dynamically changed according to the transmission number information by transmission source and the transmission number information by transmission destination.

また、計算機システムの受信側ノードにおいて、相手の計算機システムの送信側ネットワークインタフェースカード群(図1の3)と接続すると共に複数のネットワークインタフェースカードを含む受信側ネットワークインタフェースカード群(図1の4)と、受信側ネットワークインタフェースカード群から送信元別に受信して受信プロセスに渡すメッセージ数を一定時間毎に測定して送信元別受信数情報として蓄える受信側通信部(図1の5)と、送信元別受信数情報(図1の52)を相手の計算機システムに送信する受信側通信方法作成部(図1の8)と、をさらに備える。   In the receiving node of the computer system, a receiving side network interface card group (4 in FIG. 1) connected to the transmitting side network interface card group (3 in FIG. 1) of the partner computer system and including a plurality of network interface cards. A receiving-side communication unit (5 in FIG. 1) that measures the number of messages received from the receiving-side network interface card group for each transmitting source and passes to the receiving process at regular intervals, and stores it as receiving-number-based receiving number information; A receiving-side communication method creating unit (8 in FIG. 1) that transmits the original reception number information (52 in FIG. 1) to the partner computer system.

送信側通信方法作成部は、一定時間毎に測定されたメッセージ数を元に、メッセージ数に通信相手によって所定数以上の差がある場合は、メッセージ転送において複数のネットワークインタフェースカードを順次使用するように選択し、メッセージ数が通信相手によって所定数未満の差である場合は、メッセージ転送に使用するネットワークインタフェースカードを固定とする。より具体的には、(1)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数未満の場合には、これらの相手先との通信方法をサイクリックにし、(2)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数以上で、かつ偶数の場合には、これらの相手先との通信方法をシングルにし、(3)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数以上で、かつ奇数の場合には、最もメッセージ数が少ない相手先との通信方法をサイクリックにして、残りの相手先との通信方法をシングルにし、(4)メッセージ数が閾値未満である相手先との通信方法をサイクリックにするように、通信方法リストにおける識別情報を変更する。   Based on the number of messages measured at regular time intervals, the transmission side communication method creation unit sequentially uses a plurality of network interface cards for message transfer when the number of messages differs by a predetermined number or more depending on the communication partner. If the number of messages is less than a predetermined number depending on the communication partner, the network interface card used for message transfer is fixed. More specifically, (1) when the number of destinations whose number of messages is equal to or greater than the threshold is less than the number of NICs per node, the communication method with these destinations is made cyclic, and (2) the number of messages If the number of destinations for which the number is equal to or greater than the threshold is equal to or greater than the number of NICs per node and an even number, the communication method with these destinations is set to single. (3) If the number is greater than or equal to the number of NICs per node and is an odd number, the communication method with the partner with the smallest number of messages is made cyclic, and the communication method with the other partner is made single, and (4) message The identification information in the communication method list is changed so that the communication method with the other party whose number is less than the threshold value is cyclic.

以上のように構成される計算機システムは、ネットワークインタフェースカードが複数ある場合、使用するネットワークインタフェースカードをアプリケーションの通信パターンに応じて実行中に動的に変更し、使用するネットワークインタフェースカードと通信方法を変更するために、メッセージの転送処理とは別に一定時間ごとに変更手段を起動する。通信量に応じて使用するネットワークインタフェースカードを動的に切換えることによって、通信のパターンによらず複数のネットワークインタフェースカードを平均的に使用して、通信性能を向上させることができる。以下、実施例に即し、図面を参照して詳しく説明する。   When there are multiple network interface cards, the computer system configured as described above dynamically changes the network interface card to be used during execution according to the communication pattern of the application, and changes the network interface card to be used and the communication method. In order to make a change, the changing means is activated at regular intervals separately from the message transfer process. By dynamically switching the network interface card to be used according to the amount of communication, a plurality of network interface cards can be used on average regardless of the communication pattern, and the communication performance can be improved. Hereinafter, it will be described in detail with reference to the drawings in accordance with embodiments.

図1は、本発明の第1の実施例に係る並列計算システムの構成を示すブロック図である。図1では、並列計算システムを構成する複数の計算システムにおいて、各々が通信しながら計算を進めるアプリケーションのプロセス群における1対のプロセスのみを取り上げて示す。並列計算システムは、送信側ノードにおいて、通信時に送信側ノードのプロセスを示す送信側プロセス1と、送信側通信部2と、送信側NIC3と、送信側通信方法作成部7と、を含む。また、受信側ノードにおいて、受信側NIC4と、受信側通信部5と、受信側プロセス6と、受信側通信方法作成部8とを含む。このような構成において、送信側プロセス1が送信側NIC3と受信側NIC4を介して受信側プロセス6に通信を行うものとする。   FIG. 1 is a block diagram showing the configuration of the parallel computing system according to the first embodiment of the present invention. In FIG. 1, only a pair of processes in a process group of an application that performs computation while communicating with each other in a plurality of computing systems constituting a parallel computing system is shown. The parallel computing system includes a transmission side process 1, a transmission side communication unit 2, a transmission side NIC 3, and a transmission side communication method creation unit 7 indicating a process of the transmission side node at the time of communication in the transmission side node. The receiving side node includes a receiving side NIC 4, a receiving side communication unit 5, a receiving side process 6, and a receiving side communication method creating unit 8. In such a configuration, it is assumed that the transmission process 1 communicates with the reception process 6 via the transmission NIC 3 and the reception NIC 4.

送信側通信部2は、送信命令解析手段21と、送信先情報22と、使用NIC選定手段23と、送信先別送信数情報24とを備える。送信命令解析手段21は、送信側プロセス1から発行された送信命令の送信先を解析する。送信先情報22は、送信命令解析手段21で解析された送信先を示す情報である。アプリケーションのプロセス群において、プロセスを識別するために、各プロセスには一意なプロセスIDが付けられている。送信先情報22は、送信先を識別するプロセスIDに相当する。使用NIC選定手段23は、送信先情報22と使用NIC・通信方法リスト72を元に、メッセージ転送時に送信側で使用する送信側NIC3中のNICと、受信側で使用する受信側NIC4中のNICとを選定する。送信先別送信数情報24は、送信先別の送信メッセージ数を記録した情報であり、送信先別送信数情報収集手段71によって参照されるたびに情報がリセットされる。   The transmission side communication unit 2 includes a transmission command analysis unit 21, transmission destination information 22, a used NIC selection unit 23, and transmission destination-specific transmission number information 24. The transmission command analysis means 21 analyzes the transmission destination of the transmission command issued from the transmission side process 1. The transmission destination information 22 is information indicating the transmission destination analyzed by the transmission command analysis unit 21. In the application process group, a unique process ID is assigned to each process in order to identify the process. The transmission destination information 22 corresponds to a process ID for identifying the transmission destination. Based on the destination information 22 and the used NIC / communication method list 72, the used NIC selecting means 23 includes a NIC in the transmitting NIC 3 used on the transmitting side and a NIC in the receiving NIC 4 used on the receiving side at the time of message transfer. And select. The transmission-destination-specific transmission number information 24 is information in which the transmission-destination-specific transmission message number is recorded. The information is reset each time the transmission-destination-specific transmission number information collecting unit 71 refers to the information.

送信側通信方法作成部7は、送信先別送信数情報収集手段71と、使用NIC・通信方法リスト72と、使用NIC・通信方法リスト生成手段73とを備える。送信先別送信数情報収集手段71は、送信先別送信数情報24を元に、通信方法変更の対象となる送信先を選別し、その送信先へメッセージを送信するNICを選定して、選定情報を使用NIC・通信方法リスト生成手段73に送る。使用NIC・通信方法リスト72は、送信先別に、メッセージ転送時に送信側(送信元)と送信先のどのNICを使用するのか、およびどの通信方法を使用するのかを記録したリストである。ここで通信方法には、単一のNICのみを使用する「シングル」と称するモードと、複数のNICを順次使用する「サイクリック」と称するモードとを設ける。サイクリックの場合、連続するメッセージの送信において、複数のNICを周期的に使用する。使用NIC・通信方法リスト生成手段73は、送信先別送信数情報収集手段71と送信元別受信数情報収集手段81から送られてきた通信方法と使用NICの更新指示に従って、使用NIC・通信方法リスト72を更新する。   The transmission-side communication method creation unit 7 includes a transmission-destination-specific transmission number information collection unit 71, a use NIC / communication method list 72, and a use NIC / communication method list generation unit 73. The transmission-destination-by-destination information collection means 71 selects a transmission destination subject to change of the communication method based on the transmission-destination-by-destination information 24, selects a NIC that transmits a message to the transmission destination, and selects it. The information is sent to the use NIC / communication method list generation means 73. The used NIC / communication method list 72 is a list that records which NIC of the transmission side (transmission source) and the transmission destination is used at the time of message transfer and which communication method is used for each transmission destination. Here, the communication method is provided with a mode called “single” in which only a single NIC is used and a mode called “cyclic” in which a plurality of NICs are sequentially used. In the case of cyclic, a plurality of NICs are periodically used in continuous message transmission. The used NIC / communication method list generating unit 73 uses the used NIC / communication method according to the communication method and the used NIC update instruction sent from the transmission destination-specific transmission number information collection unit 71 and the transmission source-specific reception number information collection unit 81. The list 72 is updated.

受信側通信部5は、送信元別受信数情報保存手段51と、送信元別受信数情報52とを備える。送信元別受信数情報保存手段51は、受信側NIC4から受け取ったメッセージの送信元を解析して、送信元別受信数情報52を更新する。送信元別受信数情報52は、送信元別の受信メッセージ数を記録した情報であり、送信元別受信数情報収集手段81によって参照されるたびに情報がリセットされる。   The reception-side communication unit 5 includes a transmission source-specific reception number information storage unit 51 and transmission source-specific reception number information 52. The transmission source received number information storage unit 51 analyzes the transmission source of the message received from the receiving side NIC 4 and updates the transmission source reception number information 52. The transmission source-specific reception number information 52 is information in which the number of received messages by transmission source is recorded, and the information is reset each time the transmission source-specific reception number information collecting unit 81 refers to the information.

受信側通信方法作成部8は、送信元別受信数情報収集手段81を備える。送信元別受信数情報収集手段81は、送信元別受信数情報52を元に、通信方法変更の対象となる送信元を選別し、その送信元からメッセージを受信するNICを選定して、選定情報を使用NIC・通信方法リスト生成手段73に送る。   The reception-side communication method creation unit 8 includes a transmission source-specific reception number information collection unit 81. The number-of-reception-by-send information collection unit 81 selects a source to be changed in communication method based on the number-of-reception-by-send information 52, selects a NIC that receives a message from the source, and selects the NIC. The information is sent to the use NIC / communication method list generation means 73.

以上のような構成において、送信側プロセス1、送信側通信部2、送信側通信方法作成部7、受信側通信部5、受信側通信方法作成部8、受信側プロセス6は、計算機システムにプログラムを実行させて実現するようにしてもよい。この場合、送信側プロセス1、受信側プロセス6は、並列計算用のアプリケーションプログラムに相当し、送信側通信部2、受信側通信部5は、それぞれ送信側および受信側の並列計算用通信ライブラリに相当し、送信側通信方法作成部7、受信側通信方法作成部8は、それぞれ送信側および受信側の使用NIC・通信方法リスト作成ツールに相当する。   In the above configuration, the transmission side process 1, the transmission side communication unit 2, the transmission side communication method creation unit 7, the reception side communication unit 5, the reception side communication method creation unit 8, and the reception side process 6 are programmed in the computer system. You may make it implement | achieve by performing. In this case, the transmission side process 1 and the reception side process 6 correspond to application programs for parallel calculation, and the transmission side communication unit 2 and the reception side communication unit 5 are respectively connected to the parallel calculation communication libraries on the transmission side and reception side. The transmission side communication method creation unit 7 and the reception side communication method creation unit 8 correspond to the use NIC / communication method list creation tools on the transmission side and the reception side, respectively.

次に、図1を参照して並列計算システムの動作について詳細に説明する。メッセージの送信では、使用NIC選定手段23が使用NIC・通信方法リスト72を参照し、送信側と受信側で使用するNICを選定して通信を行う。また、送信命令解析手段21は、送信したメッセージ数を送信先別送信数情報24に保存し、送信先別送信数情報24は、メッセージが1つ送信される度に1ずつ加算される。一方、送信元別受信数情報保存手段51は、受信したメッセージ数を送信元別受信数情報52に保存し、送信元別受信数情報52は、メッセージが1つ受信される度に1ずつ加算される。   Next, the operation of the parallel computing system will be described in detail with reference to FIG. In the message transmission, the used NIC selection means 23 refers to the used NIC / communication method list 72 and selects the NIC to be used on the transmission side and the reception side to perform communication. Further, the transmission command analyzing means 21 stores the number of transmitted messages in the transmission destination-specific transmission number information 24, and the transmission destination-specific transmission number information 24 is incremented by one every time one message is transmitted. On the other hand, the transmission source reception number information storage unit 51 stores the number of received messages in the transmission source reception number information 52, and the transmission source reception number information 52 is incremented by one each time one message is received. Is done.

送信側通信方法作成部7は、メッセージの送信処理とは別に一定時間間隔で、送信先別送信数情報収集手段71を起動して、送信先別送信数情報24を参照し、単位時間あたりに送信したメッセージ数が閾値以上となるプロセスを同定して使用NIC・通信方法リスト72を更新する。そのときに送信先別送信数情報24がリセットされる。一方、受信側通信方法作成部8は、メッセージの受信処理とは別に一定時間間隔で送信元別受信数情報収集手段81を起動して、送信元別受信数情報52を参照し、単位時間あたりに受信したメッセージ数が閾値以上となるプロセスを同定して、使用NIC・通信方法リスト72の更新を使用NIC・通信方法リスト生成手段73に指示する。そのときに送信元別受信数情報52は、リセットされる。   The transmission-side communication method creation unit 7 activates the transmission-destination-specific transmission number information collection means 71 at regular time intervals separately from the message transmission process, refers to the transmission-destination-specific transmission number information 24, and per unit time. The used NIC / communication method list 72 is updated by identifying a process in which the number of transmitted messages is equal to or greater than the threshold. At that time, the transmission number information 24 by destination is reset. On the other hand, the receiving-side communication method creation unit 8 activates the transmission source reception number information collecting unit 81 at regular time intervals separately from the message reception processing, refers to the transmission source reception number information 52, The process in which the number of received messages is equal to or greater than the threshold value is identified, and the use NIC / communication method list generation means 73 is instructed to update the use NIC / communication method list 72. At that time, the transmission source reception number information 52 is reset.

使用NIC選定手段23は、使用NIC・通信方法リスト72を参照して送信先のプロセスIDによってリストを索引し、通信に使用する送信側NICと受信側NICを決定する。通信に使用する送信側NICと受信側NICは、送信先別に応じて決定される。また、通信方法は、送信先別に送信側と受信側の両方で定められている。通信方法がシングルの場合は、使用するNICは、使用NIC・通信方法リスト生成手段73から指示があるまで変化しない。通信方法がサイクリックの場合は、リスト参照後、次のNICを使うように更新される。例えばNICが2つである場合には、NIC0とNIC1を順番に使用し、NICが4つである場合は、NIC0、1、2、3を順次繰り返して使用する。   The used NIC selection means 23 refers to the used NIC / communication method list 72, indexes the list by the process ID of the transmission destination, and determines the transmitting NIC and receiving NIC used for communication. The transmission side NIC and the reception side NIC used for communication are determined according to each transmission destination. Further, the communication method is determined on both the transmission side and the reception side for each transmission destination. When the communication method is single, the NIC to be used does not change until instructed by the use NIC / communication method list generation means 73. When the communication method is cyclic, the communication system is updated to use the next NIC after referring to the list. For example, when there are two NICs, NIC0 and NIC1 are used in order, and when there are four NICs, NIC0, 1, 2, and 3 are repeatedly used.

使用NIC・通信方法リスト72の初期値は、図2に示すように通信方法が全てサイクリックとし、送信側、受信側ともに使用NICは、送信先のIDをノードあたりのNIC数で割った余りの数字に対応するNICである。   As shown in FIG. 2, the initial value of the used NIC / communication method list 72 is cyclic for all communication methods, and the used NIC on both the transmission side and the reception side is the remainder obtained by dividing the ID of the transmission destination by the number of NICs per node. It is a NIC corresponding to the number.

図3は、プロセスID0の使用NIC・通信方法リスト72の変更の例を示す図である。使用NIC・通信方法リスト72は、図3(a)の状態のときに、プロセスID0からプロセスID1とプロセスID2に1回ずつメッセージが送信された場合に、図3(b)に示すように更新される。すなわち、プロセスID1の送信側使用NICおよびプロセスID2の受信側使用NIC番号は、0から1に更新される。   FIG. 3 is a diagram illustrating an example of changing the used NIC / communication method list 72 of process ID0. The used NIC / communication method list 72 is updated as shown in FIG. 3B when a message is transmitted once from process ID 0 to process ID 1 and process ID 2 in the state of FIG. Is done. That is, the transmission side use NIC number of process ID1 and the reception side use NIC number of process ID2 are updated from 0 to 1.

次に、一定時間間隔で起動される送信先別送信数情報収集手段71が、使用NIC・通信方法リスト生成手段73を通して使用NIC・通信方法リスト72を更新する方法について説明する。送信先別送信数情報収集手段71は、一定時間ごとに起動され、前回起動したときから今回起動した間に送信された送信先別のメッセージ数を送信先別送信数情報24で確認する。そして以下のような条件によって、通信方法が設定される。
(1)メッセージ数が閾値以上である送信先がノードあたりのNIC数未満の場合には、それらの送信先の送信側通信方法をサイクリックにする。
(2)メッセージ数が閾値以上である送信先がノードあたりのNIC数以上かつ偶数の場合には、それらの送信先の送信側通信方法をシングルに更新する。
(3)メッセージ数が閾値以上である送信先がノードあたりのNIC数以上かつ奇数の場合には、最もメッセージ数が少ない送信先は、送信側通信方法をサイクリックにして、残りの送信先はシングルに更新する。
(4)送信メッセージ数が閾値未満である送信先は、通信方法をサイクリックにする。
なお、送信側使用NICは、送信先のIDをノードあたりのポート数で割った余りの数字に更新する。
Next, a method of updating the used NIC / communication method list 72 through the used NIC / communication method list generating unit 73 by the transmission-destination transmission number information collecting unit 71 activated at regular time intervals will be described. The transmission-destination-by-destination information collection means 71 is activated at regular intervals, and confirms the number of messages by transmission destination transmitted during the current activation from the last activation with the transmission-destination-specific transmission number information 24. The communication method is set according to the following conditions.
(1) When the number of destinations whose number of messages is equal to or greater than the threshold is less than the number of NICs per node, the transmission side communication method of those destinations is made cyclic.
(2) If the number of messages whose number of messages is equal to or greater than the threshold is equal to or greater than the number of NICs per node and an even number, the transmission side communication method of those destinations is updated to single.
(3) When the number of messages whose number of messages is equal to or greater than the threshold is equal to or greater than the number of NICs per node and an odd number, the number of messages with the smallest number of messages is determined by cyclically setting the transmission side communication method, Update to single.
(4) A transmission destination whose number of transmission messages is less than the threshold value makes the communication method cyclic.
Note that the transmitting side use NIC updates the ID of the transmission destination to a remainder number divided by the number of ports per node.

次に、一定時間間隔で起動される送信元別受信数情報収集手段81が、使用NIC・通信方法リスト生成手段73を通して使用NIC・通信方法リスト72を更新する方法について説明する。送信元別受信数情報収集手段81は、一定時間ごとに起動され、前回起動したときから今回起動した間に受信された送信元別のメッセージ数を送信元別受信数情報52によって確認する。そして以下のような条件によって、通信方法が設定される。
(1)メッセージ数が閾値以上である送信元がノードあたりのNIC数未満の場合には、それらの送信元の受信側通信方法をサイクリックにする。
(2)メッセージ数が閾値以上である送信元がノードあたりのNIC数以上かつ偶数の場合には、それらの送信元の受信側通信方法をシングルに更新する。
(3)メッセージ数が閾値以上である送信元がノードあたりのNIC数以上かつ奇数の場合には、最もメッセージ数が少ない送信元は、受信側通信方法をサイクリックにして、残りの送信元はシングルに更新する。
(4)受信メッセージ数が閾値未満である送信元は、通信方法をサイクリックにする。
なお、受信側使用NICは、送信元のIDをノードあたりのポート数で割った余りの数字に更新する。
Next, a description will be given of a method in which the transmission source reception number information collecting unit 81 activated at regular time intervals updates the used NIC / communication method list 72 through the used NIC / communication method list generating unit 73. The transmission source reception number information collecting unit 81 is activated at regular intervals, and checks the number of transmission source messages received during the current activation from the last activation by the transmission source reception number information 52. The communication method is set according to the following conditions.
(1) When the number of messages whose number of messages is greater than or equal to the threshold is less than the number of NICs per node, the communication method on the receiving side of those sources is cyclic.
(2) When the number of messages whose number of messages is equal to or greater than the threshold is equal to or greater than the number of NICs per node and an even number, the receiving side communication method of those sources is updated to single.
(3) When the number of messages is greater than or equal to the threshold and the number of NICs per node is an odd number and the number of messages is odd, the source with the smallest number of messages makes the receiving side communication method cyclic and the remaining sources are Update to single.
(4) The transmission source whose number of received messages is less than the threshold value makes the communication method cyclic.
The receiving side use NIC updates the transmission source ID to the remainder obtained by dividing the transmission source ID by the number of ports per node.

以上のようにして通信方法が変更される場合の使用NIC・通信方法リスト72の例を図3(c)に示す。図3(a)の状態で、プロセスID2において、前回、送信元別受信数情報収集手段81が起動したときから今回起動するまでの間にプロセスID0からのメッセージ数が閾値以上を越え、閾値以上となった送信元がNIC数以上かつ偶数であるとする。この場合、プロセスID2の送信元別受信数情報収集手段81からプロセスID0の使用NIC・通信方法リスト生成手段73に通信方法の変更が指示されて、プロセスID0の使用NIC・通信方法リスト72が更新される。すなわち、プロセスID2の受信側通信方法が、上記の(2)の条件によってサイクリックからシングルに変更される。   FIG. 3C shows an example of the used NIC / communication method list 72 when the communication method is changed as described above. In the state of FIG. 3A, in the process ID 2, the number of messages from the process ID 0 exceeds the threshold and exceeds the threshold from the time when the source-specific reception number information collecting unit 81 is activated until the current activation. Suppose that the number of transmission sources becomes equal to or greater than the number of NICs. In this case, the change of the communication method is instructed from the received number information collection means 81 of the process ID 2 to the use NIC / communication method list generation means 73 of the process ID 0, and the use NIC / communication method list 72 of the process ID 0 is updated. Is done. That is, the communication method on the receiving side of process ID 2 is changed from cyclic to single according to the condition (2).

次に、通信方法と通信量の関係について具体例を用いて説明する。図4は、通信形態を表す図であって、ノードあたり1つのNICを備えているマシン上で、プロセスID0からプロセスID2とプロセスID3への交互通信と、プロセスID1からプロセスID2とプロセスID3への交互通信とが、同時に繰り返し行われていることを示している。プロセスID0からプロセスID2とプロセスID3とへの送信は、NICが1個しかないために同時に行うことができず交互に行われる。プロセスID1からプロセスID2とプロセスID3とへの送信もNICが1個しかないため交互に行われる。   Next, the relationship between the communication method and the communication amount will be described using a specific example. FIG. 4 is a diagram showing a communication form, and on a machine having one NIC per node, alternate communication from process ID 0 to process ID 2 and process ID 3, and from process ID 1 to process ID 2 and process ID 3 This shows that alternate communication is being repeated simultaneously. Transmission from process ID 0 to process ID 2 and process ID 3 cannot be performed at the same time because there is only one NIC and is performed alternately. Transmission from process ID 1 to process ID 2 and process ID 3 is also performed alternately because there is only one NIC.

ここでNICのレイテンシを20μ秒とした場合、整数変数1つ分である4バイト程度のメッセージは、レイテンシと同様の時間で転送可能である。したがって、4バイト程度のメッセージの1秒間に転送可能な数は、50000個である。このときにプロセスID0がプロセスID2とプロセスID3とに2500000個ずつ4バイトのメッセージを送信しようとする場合、同時には転送できず、交互に転送しなければならないために100秒間かかることになる。プロセスID1からプロセスID2とプロセスID3とへのデータの転送も同様の時間がかかる。プロセスID2とプロセスID3では、プロセスID0とプロセスID1の両方からメッセージが来るために受信処理が重なる可能性がある。しかし、受信したメッセージは、一旦バッファに保存されるために、CPUスピードがネットワークの通信性能に比べて十分速ければ、同時に受信処理が可能である。   When the NIC latency is 20 μs, a message of about 4 bytes, which is one integer variable, can be transferred in the same time as the latency. Accordingly, the number of messages of about 4 bytes that can be transferred per second is 50,000. At this time, if it is attempted to transmit 25 million 4-byte messages to process ID 2 and process ID 3, process ID 0 cannot be transferred at the same time and must be transferred alternately, which takes 100 seconds. Transfer of data from process ID 1 to process ID 2 and process ID 3 also takes similar time. In process ID 2 and process ID 3, since messages come from both process ID 0 and process ID 1, there is a possibility that reception processes overlap. However, since the received message is once stored in the buffer, if the CPU speed is sufficiently higher than the communication performance of the network, reception processing can be performed at the same time.

また、図5のように、ノードあたり2つのNICを備えているマシン上で、プロセスID0からプロセスID2への送信は、NIC0とし、プロセスID0からプロセスID3への送信は、NIC1とし、プロセスID1からプロセスID2への送信は、NIC0とし、プロセスID1からプロセスID3への送信は、NIC1として固定すれば、プロセスID2とプロセスID3への送信が同時に行えるので処理時間は、上述の半分の50秒になる。この場合、送信するメッセージは、一旦バッファに保存されるので、CPUスピードがネットワークの通信性能に比べて十分速ければ、プロセスID0からプロセスID2とプロセスID3へは、メッセージを同時に送信処理が可能である。しかし、例えばプロセスID0からプロセスID2にのみ大量のメッセージが送信されていて、プロセスID0からプロセスID3にはほとんどメッセージが送信されない場合には、2つのNICの使用率に偏りが生じてしまい、複数あるNICを平均的に利用することができない。   Further, as shown in FIG. 5, on a machine having two NICs per node, transmission from process ID 0 to process ID 2 is NIC 0, transmission from process ID 0 to process ID 3 is NIC 1, and from process ID 1 If the transmission to the process ID 2 is NIC0 and the transmission from the process ID 1 to the process ID 3 is fixed as the NIC 1, the transmission to the process ID 2 and the process ID 3 can be performed at the same time. . In this case, since the message to be transmitted is once stored in the buffer, if the CPU speed is sufficiently higher than the communication performance of the network, the message can be transmitted simultaneously from process ID 0 to process ID 2 and process ID 3. . However, for example, when a large amount of messages are transmitted only from process ID 0 to process ID 2 and almost no message is transmitted from process ID 0 to process ID 3, the usage rates of the two NICs are biased, and there are a plurality of messages. NIC cannot be used on average.

さらに、図6では、ノードあたり2つのNICを備えているマシン上で、送信側と受信側のNICを交互に使ってメッセージを送信している。プロセスID0は、最初にプロセスID2にメッセージを送信するときには、送信側のNIC0から受信側のNIC0に送信する。次にプロセスID2にメッセージを送信するときには、送信側のNIC1から、受信側のNIC1に送信する。プロセスID0からプロセスID3への送信、プロセスID1からプロセスID2およびプロセスID3への送信も同様に行われる。この場合、送信側のNICと受信側のNICとが交互に使われるために、通信相手によって通信量に偏りがある場合であっても、複数あるNICが平均的に利用される。しかし、送信先に対してNICが複数ある場合には、受信側で到着するメッセージの順番が入れ替わったときの処理に対するコストがかかる。このコストをレイテンシに換算して10μ秒とした場合、図4の例で20μ秒であったレイテンシは、30μ秒になる。このときの1秒間に転送可能なメッセージ数は、33333個である。プロセスID0がプロセスID2とプロセスID3とに2500000個ずつ4バイトのメッセージを送信しようとした場合、約70秒で転送することができる。   Further, in FIG. 6, a message is transmitted by alternately using the NIC on the transmission side and the NIC on the reception side on a machine having two NICs per node. When the process ID 0 first transmits a message to the process ID 2, the process ID 0 is transmitted from the transmitting NIC 0 to the receiving NIC 0. Next, when a message is transmitted to process ID 2, the message is transmitted from NIC 1 on the transmission side to NIC 1 on the reception side. Transmission from process ID 0 to process ID 3 and transmission from process ID 1 to process ID 2 and process ID 3 are performed in the same manner. In this case, since the NIC on the transmission side and the NIC on the reception side are alternately used, even if there is a bias in the communication amount depending on the communication partner, a plurality of NICs are used on average. However, when there are a plurality of NICs for the transmission destination, there is a cost for processing when the order of messages arriving at the receiving side is changed. When this cost is converted into latency and set to 10 μsec, the latency that was 20 μsec in the example of FIG. 4 becomes 30 μsec. At this time, the number of messages that can be transferred per second is 33333. If a process ID 0 attempts to send a 4-byte message of 2500000 pieces to process ID 2 and process ID 3, it can be transferred in about 70 seconds.

本実施例では、プロセスID0からプロセスID2とプロセスID3へのメッセージの送信と、プロセスID1からプロセスID2とプロセスID3へのメッセージの送信とは、初期状態では通信方法がサイクリックである。したがって、レイテンシは30μ秒であり、1秒間に転送可能なメッセージ数は、33333個である。送信先別送信数情報収集手段71が例えば10秒間隔で起動する場合、10秒後に送信先別送信数情報収集手段71が起動して、送信先別送信数情報24を調べる。プロセスID2とプロセスID3への送信メッセージ数が十分多く閾値以上となり、閾値以上の送信先が2つと偶数であるため、送信側通信方法がシングルとなる。また、送信元別受信数情報収集手段81が例えば10秒間隔で起動する場合、10秒後に送信元別受信数情報収集手段81が起動して、送信元別受信数情報52を調べる。プロセスID0とプロセスID1からの受信メッセージ数が十分多く閾値以上となり、閾値以上の送信元が2つと偶数であるため、受信側通信方法がシングルとなる。   In the present embodiment, the message transmission from process ID 0 to process ID 2 and process ID 3 and the message transmission from process ID 1 to process ID 2 and process ID 3 are cyclic in the initial state. Therefore, the latency is 30 μsec, and the number of messages that can be transferred per second is 33333. For example, when the transmission-destination-by-destination information collecting unit 71 is activated at intervals of 10 seconds, for example, the transmission-destination-by-destination information collecting unit 71 is activated after 10 seconds, and the transmission-destination-by-destination information 24 is checked. Since the number of messages sent to the process ID 2 and the process ID 3 is sufficiently large and exceeds the threshold, and the number of transmission destinations equal to or more than the threshold is two and an even number, the transmission side communication method is single. In addition, when the transmission source-specific reception number information collecting unit 81 is activated at intervals of 10 seconds, for example, the transmission source-specific reception number information collecting unit 81 is activated 10 seconds later, and the transmission source-specific reception number information 52 is examined. Since the number of received messages from process ID 0 and process ID 1 is sufficiently large and equal to or greater than the threshold, and the number of transmission sources equal to or greater than the threshold is two and an even number, the receiving side communication method is single.

送信側と受信側の通信方法がシングルの場合、図5で説明したようにレイテンシは20μ秒であるので、1秒間に50000個のメッセージを転送可能になる。最初の10秒間にサイクリックの通信方法で333330個送信し、残りは、2500000−333330=2166670個となり、2500000個のメッセージ送信にかかる時間は、約43秒となる。したがって、2500000個のメッセージを送信するのにかかる時間は、約53秒である。すべての転送で通信方法にサイクリックを使って通信するのに比べて、本実施例では、1.32(=70/53)倍に処理を速くすることが可能になる。通信相手ごとの通信量のバランスが取れているときにNICを固定して使用した場合の50秒と比べて、性能差は1割以内に収まる。   When the communication method on the transmission side and the reception side is single, the latency is 20 μs as described with reference to FIG. 5, so that 50000 messages can be transferred per second. In the first 10 seconds, 333330 messages are transmitted by the cyclic communication method, and the remaining are 250000000-333330 = 2166670 messages, and the time required to transmit 2500000 messages is approximately 43 seconds. Therefore, it takes about 53 seconds to send 2500000 messages. In this embodiment, the processing speed can be increased by 1.32 (= 70/53) times as compared with communication using cyclic communication for all transfers. Compared to 50 seconds when the NIC is fixed and used when the communication volume of each communication partner is balanced, the performance difference is within 10%.

さらに、一定時間後に、通信パターンが変わった場合であっても、例えば10秒間隔で起動する送信先別送信数情報収集手段71と送信元別受信数情報収集手段81が通信パターンの変化を検出して、送信側と受信側の通信方法の変更が可能であるので、複数あるNICがバランスよく使用される。すなわち、複数のNICを平均的に利用して、複数NICを扱うオーバーヘッドを少なくすることができる。この結果、ノードあたりにNICが単一の場合よりも転送できるメッセージ数が増えて、通信性能が向上してアプリケーションの実行を早く終わらせることができる。   Further, even if the communication pattern changes after a certain time, the transmission number information collecting means 71 for each transmission destination and the reception number information collecting means 81 for each transmission which are activated at intervals of 10 seconds, for example, detect a change in the communication pattern. Thus, since the communication method between the transmission side and the reception side can be changed, a plurality of NICs are used in a balanced manner. That is, it is possible to reduce the overhead of handling a plurality of NICs by using a plurality of NICs on average. As a result, the number of messages that can be transferred per node increases as compared with the case where there is a single NIC, the communication performance is improved, and the execution of the application can be finished earlier.

図7は、本発明の第2の実施例に係る並列計算システムの構成を示すブロック図である。図7において、並列計算システムは、ノードあたりに例えばCPUを2つ備え、送信側と受信側とにそれぞれプロセスが2つずつ存在する点で図1と異なる。送信側ノードにおいて、送信側プロセス1aは、送信側通信部2aを介して送信側NIC3aにメッセージを送り、送信側プロセス1bは、送信側通信部2bを介して送信側NIC3aにメッセージを送る。送信側通信部2a、2bは、送信側通信方法作成部7aを共有する。一方、受信側ノードにおいて、受信側プロセス6aは、受信側通信部5aを介して受信側NIC4aからメッセージを受け取り、受信側プロセス6bは、受信側通信部5bを介して受信側NIC4aからメッセージを受け取る。受信側通信部5a、5bは、受信側通信方法作成部8aを共有する。   FIG. 7 is a block diagram showing the configuration of the parallel computing system according to the second embodiment of the present invention. 7, the parallel computing system is different from FIG. 1 in that, for example, two CPUs are provided per node, and two processes exist on each of the transmission side and the reception side. In the transmission side node, the transmission side process 1a sends a message to the transmission side NIC 3a via the transmission side communication unit 2a, and the transmission side process 1b sends a message to the transmission side NIC 3a via the transmission side communication unit 2b. The transmission side communication units 2a and 2b share the transmission side communication method creation unit 7a. On the other hand, in the receiving side node, the receiving side process 6a receives a message from the receiving side NIC 4a via the receiving side communication unit 5a, and the receiving side process 6b receives a message from the receiving side NIC 4a via the receiving side communication unit 5b. . The receiving side communication units 5a and 5b share the receiving side communication method creating unit 8a.

このような構成において、送信側通信部2a、2b内の、図1に示した送信先別送信数情報24は、送信側のプロセス毎に別々に管理され、受信側通信部5a、5b内の、図1に示した送信元別受信数情報52は、受信側のプロセス毎に別々に管理される。送信側通信方法作成部7aと受信側通信方法作成部8aとは、ノード内のプロセス数に関わらず1つずつ存在する。メッセージ送信時に、送信側プロセス1a、1bは、それぞれ共通の図1に示した使用NIC・通信方法リスト72を参照する。   In such a configuration, the transmission-by-destination transmission number information 24 shown in FIG. 1 in the transmission side communication units 2a and 2b is managed separately for each process on the transmission side, and in the reception side communication units 5a and 5b. 1 is managed separately for each process on the receiving side. There is one transmission-side communication method creation unit 7a and one reception-side communication method creation unit 8a regardless of the number of processes in the node. At the time of message transmission, the sending processes 1a and 1b refer to the common use NIC / communication method list 72 shown in FIG.

一定時間間隔で起動される送信先別送信数情報収集手段71が、使用NIC・通信方法リスト生成手段73を通して使用NIC・通信方法リスト72の更新する方法を説明する。送信側通信方法作成部7aで一定時間ごとに起動される送信先別送信数情報収集手段71は、ノード内の全送信側プロセスの、前回起動したときから今回起動した間に送信された送信先別のメッセージ数が記録されている送信先別送信数情報24を確認する。
(1)メッセージ数が閾値以上の送信先がノードあたりのNIC数未満である場合は、それらの送信先の送信側通信方法をサイクリックにする。
(2)メッセージ数が閾値以上の送信先がノードあたりのNIC数以上かつ偶数である場合、それらの送信先の送信側通信方法をシングルに更新する。
(3)メッセージ数が閾値以上の送信先がノードあたりのNIC数以上かつ奇数である場合は、最もメッセージ数が少ない送信先は、送信側通信方法をサイクリックにし、残りの送信先はシングルに更新する。
(4)送信メッセージ数が閾値未満である送信先は、通信方法をサイクリックにする。
なお、送信側使用NICは、送信先のIDをノードあたりのポート数で割った余りの数字に更新する。
A method of updating the used NIC / communication method list 72 through the used NIC / communication method list generating unit 73 by the transmission-destination-specific transmission number information collecting unit 71 activated at regular time intervals will be described. The transmission-destination-by-destination transmission number information collection unit 71 activated at regular intervals by the transmission-side communication method creation unit 7a is a transmission destination that has been transmitted during the current activation from the last activation of all transmission-side processes in the node. The transmission-destination transmission number information 24 in which another message number is recorded is confirmed.
(1) If the number of transmission destinations with the number of messages equal to or greater than the threshold is less than the number of NICs per node, the transmission side communication method of those transmission destinations is made cyclic.
(2) If the number of transmission destinations with the number of messages equal to or greater than the threshold is equal to or greater than the number of NICs per node and an even number, the transmission side communication method of those transmission destinations is updated to single.
(3) If the number of destinations with the number of messages equal to or greater than the threshold is greater than or equal to the number of NICs per node and an odd number, the destination with the smallest number of messages makes the transmission side communication method cyclic, and the remaining destinations are single. Update.
(4) A transmission destination whose number of transmission messages is less than the threshold value makes the communication method cyclic.
Note that the transmitting side use NIC updates the ID of the transmission destination to a remainder number divided by the number of ports per node.

次に、一定時間間隔で起動される送信元別受信数情報収集手段81が、使用NIC・通信方法リスト生成手段73を通して使用NIC・通信方法リスト72を更新する方法について説明する。受信側通信方法作成部8aで一定時間ごとに起動される送信元別受信数情報収集手段81は、ノード内の全受信側プロセスの、前回起動したときから今回起動した間に受信された送信元別のメッセージ数が記録されている送信元別受信数情報52を確認する。
(1)メッセージ数が閾値以上の送信元がノードあたりのNIC数未満である場合は、それらの送信元の受信側通信方法をサイクリックにする。
(2)メッセージ数が閾値以上の送信元がノードあたりのNIC数以上かつ偶数である場合、それらの送信元の受信側通信方法をシングルに更新する。
(3)メッセージ数が閾値以上の送信元がノードあたりのNIC数以上かつ奇数である場合は、最もメッセージ数が少ない送信元は、受信側通信方法をサイクリックにし、残りの送信元はシングルに更新する。
(4)受信メッセージ数が閾値未満である送信元は、通信方法をサイクリックにする。
なお、受信側使用NICは、送信元のIDをノードあたりのポート数で割った余りの数字に更新する。
Next, a description will be given of a method in which the transmission source reception number information collecting unit 81 activated at regular time intervals updates the used NIC / communication method list 72 through the used NIC / communication method list generating unit 73. The reception-side received number information collection means 81 activated at regular intervals by the reception-side communication method creation unit 8a is the transmission source received during the current activation from the last activation of all the reception-side processes in the node. The number-of-reception-by-source information 52 in which the number of other messages is recorded is confirmed.
(1) If the number of transmission sources with the number of messages equal to or greater than the threshold is less than the number of NICs per node, the communication method on the receiving side of those transmission sources is made cyclic.
(2) If the number of messages whose number of messages is equal to or greater than the threshold is equal to or greater than the number of NICs per node and an even number, the receiving side communication method of those sources is updated to single.
(3) If the number of messages with the number of messages equal to or greater than the threshold is greater than or equal to the number of NICs per node and an odd number, the source with the smallest number of messages makes the receiving side communication method cyclic, and the remaining sources are single. Update.
(4) The transmission source whose number of received messages is less than the threshold value makes the communication method cyclic.
The receiving side use NIC updates the transmission source ID to the remainder obtained by dividing the transmission source ID by the number of ports per node.

以上、ノード内に並列計算アプリケーションのプロセスが2個ずつ存在する場合を説明したが、3個以上あってもよいことはいうまでもない。本発明では単一プロセスのみの通信パターンだけでなく、ノード内の計算に関わる全プロセスの通信パターンを解析して、複数のNICを平均的かつ、複数NICを扱うオーバーヘッドを少なく利用することができる。   The case where two parallel computing application processes exist in the node has been described above, but it goes without saying that there may be three or more processes. According to the present invention, not only a communication pattern of a single process but also a communication pattern of all processes related to computation in a node can be analyzed, and a plurality of NICs can be averaged and overhead for handling a plurality of NICs can be used. .

本発明は、ハイパフォーマンスコンピューティングの分野に適用できる。特に最新のCPUを搭載するマシンをギガビットイーサネットなど比較的低速なネットワークデバイスで接続するような、CPUスピードに比べてネットワークの転送速度が遅いシステムで、各マシン上で動くプロセスが通信をしながら問題を解く並列計算アプリケーションを実行するのに適用できる。   The present invention can be applied to the field of high performance computing. Especially in a system where the network transfer speed is slower than the CPU speed, such as connecting a machine with the latest CPU with a relatively slow network device such as Gigabit Ethernet, the processes running on each machine are communicating with each other. It can be applied to run parallel computing applications that solve

本発明の第1の実施例に係る並列計算システムの構成を示すブロック図である。1 is a block diagram showing a configuration of a parallel computing system according to a first example of the present invention. 使用NIC・通信方法リストの初期値を表す図である。It is a figure showing the initial value of a use NIC and a communication method list. 使用NIC・通信方法リストの変更の例を表す図である。It is a figure showing the example of a change of use NIC and a communication method list | wrist. ノード間の通信形態を表す第1の図である。It is a 1st figure showing the communication form between nodes. ノード間の通信形態を表す第3の図である。It is a 3rd figure showing the communication form between nodes. ノード間の通信形態を表す第3の図である。It is a 3rd figure showing the communication form between nodes. 本発明の第2の実施例に係る並列計算システムの構成を示すブロック図である。It is a block diagram which shows the structure of the parallel computing system which concerns on 2nd Example of this invention.

符号の説明Explanation of symbols

1、1a、1b 送信側プロセス
2、2a、2b 送信側通信部
3、3a 送信側NIC
4、4a 受信側NIC
5、5a、5b 受信側通信部
6、6a、6b 受信側プロセス
7、7a 送信側通信方法作成部
8、8a 受信側通信方法作成部
21 送信命令解析手段
22 送信先情報
23 使用NIC選定手段
24 送信先別送信数情報
51 送信元別受信数情報保存手段
52 送信元別受信数情報
71 送信先別送信数情報収集手段
72 使用NIC・通信方法リスト
73 使用NIC・通信方法リスト生成手段
81 送信元別受信数情報収集手段
1, 1a, 1b Transmission side process 2, 2a, 2b Transmission side communication unit 3, 3a Transmission side NIC
4, 4a Receiving side NIC
5, 5a, 5b Reception side communication unit 6, 6a, 6b Reception side process 7, 7a Transmission side communication method creation unit 8, 8a Reception side communication method creation unit 21 Transmission command analysis means 22 Transmission destination information 23 Use NIC selection means 24 Transmission number information by transmission destination 51 Reception number information by transmission source storage means 52 Transmission number information by transmission source 71 Transmission number information by transmission destination collection means 72 Used NIC / communication method list 73 Usage NIC / communication method list generation means 81 Transmission source Separately received number information collection means

Claims (16)

並列計算機システムを構成する計算機システムであって、
他の計算機システムと接続するための複数のネットワークインタフェースカードと、
前記複数のネットワークインタフェースカードで接続した相手の計算機システムとの間の通信量を測定する測定手段と、
測定した前記通信量に応じて前記複数のネットワークインタフェースカード中の使用するネットワークインタフェースカードを動的に切り替える切替手段と、
を備え
前記測定手段は、所定時間あたりの転送メッセージ数によって前記通信量を測定し、
前記切替手段は、前記所定時間毎にネットワークインタフェースカードの動的切り替えを実行し、
前記切替手段は、通信相手となるプロセスが2以上存在し、前記通信量に通信相手によって所定量以上の差がある場合には、メッセージ転送において前記複数のネットワークインタフェースカードを順次使用するように選択し、前記通信量が通信相手によって所定量未満の差である場合には、メッセージ転送に使用するネットワークインタフェースカードを固定とすることを特徴とする計算機システム。
A computer system constituting a parallel computer system,
Multiple network interface cards to connect to other computer systems;
Measuring means for measuring the amount of communication with a partner computer system connected by the plurality of network interface cards;
Switching means for dynamically switching a network interface card to be used in the plurality of network interface cards according to the measured traffic;
Equipped with a,
The measuring means measures the communication amount by the number of transfer messages per predetermined time,
The switching means performs dynamic switching of the network interface card every predetermined time,
The switching means selects to sequentially use the plurality of network interface cards in message transfer when there are two or more processes that are communication partners and the communication amount differs by a predetermined amount or more depending on the communication partner. When the communication amount is less than a predetermined amount depending on a communication partner, a network interface card used for message transfer is fixed.
並列計算機システムを構成する計算機システムであって、
相手の計算機システムの受信側ネットワークインタフェースカード群と接続すると共に複数のネットワークインタフェースカードを含む送信側ネットワークインタフェースカード群と、
送信側プロセスから前記送信側ネットワークインタフェースカード群を介して相手の計算機システムに送信するメッセージ数を一定時間毎に測定して送信先別送信数情報として蓄えると共に、通信方法リストに基づいて前記送信側ネットワークインタフェースカード群および相手の計算機システムの受信側ネットワークインタフェースカード群のそれぞれに含まれるネットワークインタフェースカードをそれぞれ選択して送信する送信側通信部と、
相手の計算機システムの受信側で受信するメッセージ数を元に相手の計算機システムから送られる送信元別受信数情報と前記送信先別送信数情報とを参照して前記通信方法リストを作成する前記送信側通信方法作成部と、
を送信側ノードに備え、
前記通信方法リストは、送信側および相手の計算機システムの受信側で使用するネットワークインタフェースカードの識別情報を含み、前記送信元別受信数情報と前記送信先別送信数情報とによって動的に変更されることを特徴とする計算機システム。
A computer system constituting a parallel computer system,
A transmission side network interface card group including a plurality of network interface cards connected to the reception side network interface card group of the partner computer system; and
The number of messages transmitted from the transmitting side process to the partner computer system via the transmitting side network interface card group is measured at regular intervals and stored as transmission number information by destination, and based on the communication method list, the transmitting side A transmission side communication unit for selecting and transmitting each network interface card included in each of the network interface card group and the reception side network interface card group of the partner computer system;
The transmission for creating the communication method list with reference to the number-of-reception-by-source information and the number-of-transmission-by-destination transmission number information sent from the partner computer system based on the number of messages received at the receiving side of the partner computer system Side communication method creation part,
At the sending node,
The communication method list includes identification information of the network interface card used on the transmission side and the reception side of the partner computer system, and is dynamically changed by the reception number information by transmission source and the transmission number information by transmission destination. A computer system characterized by that.
相手の計算機システムの送信側ネットワークインタフェースカード群と接続すると共に複数のネットワークインタフェースカードを含む受信側ネットワークインタフェースカード群と、
受信側ネットワークインタフェースカード群から送信元別に受信して受信プロセスに渡すメッセージ数を一定時間毎に測定して送信元別受信数情報として蓄える受信側通信部と、
送信元別受信数情報を相手の計算機システムに送信する受信側通信方法作成部と、
をさらに受信側ノードに備えることを特徴とする請求項記載の計算機システム。
A receiving side network interface card group including a plurality of network interface cards connected to a sending side network interface card group of a partner computer system;
A receiving-side communication unit that measures the number of messages received from the receiving-side network interface card group for each transmitting source and passes to the receiving process at regular intervals, and stores the received number-by-sending-source received number information;
A communication method creation unit on the receiving side that transmits the number-of-reception received number information to the other computer system;
The computer system according to claim 2 , further comprising: a receiver node.
前記送信側通信方法作成部は、一定時間毎に測定されたメッセージ数を元に、通信相手となるプロセスが2以上存在し、メッセージ数に通信相手によって所定数以上の差がある場合には、メッセージ転送において前記複数のネットワークインタフェースカードを順次使用するように選択し、メッセージ数が通信相手によって所定数未満の差である場合には、メッセージ転送に使用するネットワークインタフェースカードを固定となるように前記通信方法リストを変更することを特徴とする請求項記載の計算機システム。 Based on the number of messages measured at regular time intervals, the transmission side communication method creation unit has two or more processes that are communication partners, and when the number of messages has a difference of a predetermined number or more depending on the communication partner, In the message transfer, the network interface card is selected to be used sequentially, and when the number of messages is less than a predetermined number depending on the communication partner, the network interface card used for message transfer is fixed. 3. The computer system according to claim 2, wherein the communication method list is changed. 前記送信側通信方法作成部は、
(1)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数未満の場合には、これらの相手先との通信方法をサイクリックにし、
(2)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数以上で、かつ偶数の場合には、これらの相手先との通信方法をシングルにし、
(3)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数以上で、かつ奇数の場合には、最もメッセージ数が少ない相手先との通信方法をサイクリックにして、残りの相手先との通信方法をシングルにし、
(4)メッセージ数が閾値未満である相手先との通信方法をサイクリックにするように、
前記通信方法リストにおける前記識別情報を変更することを特徴とする請求項または記載の計算機システム。
The transmission side communication method creation unit
(1) When the number of destinations whose number of messages is equal to or greater than the threshold is less than the number of NICs per node, the communication method with these destinations is set cyclically,
(2) If the number of destinations whose number of messages is equal to or greater than the threshold is equal to or greater than the number of NICs per node and an even number, the communication method with these destinations is made single,
(3) If the number of destinations whose number of messages is greater than or equal to the threshold is greater than or equal to the number of NICs per node and an odd number, the communication method with the destination with the smallest number of messages is cyclically selected, and the remaining counterparts The communication method with the destination is single,
(4) To make the communication method with the other party whose number of messages is less than the threshold value cyclic,
Claim 2 or 4 computer system according and changes the identification information in the communication mode list.
請求項1〜のいずれか一に記載の計算機システムを複数備えて構成される並列計算機システム。 Parallel computer system comprising a plurality of computer system according to any one of claims 1-5. 並列計算機システムを構成する計算機システムが他の計算機システムと接続するための複数のネットワークインタフェースカードを備えて通信する方法であって、
前記複数のネットワークインタフェースカードで接続した相手の計算機システムとの間の通信量を測定するステップと、
測定した前記通信量に応じて前記複数のネットワークインタフェースカード中の使用するネットワークインタフェースカードを動的に切り替えるステップと、
を含み、
前記測定するステップにおいて、所定時間あたりの転送メッセージ数によって前記通信量を測定し、
前記切り替えるステップにおいて、前記所定時間毎にネットワークインタフェースカードの動的切り替えを実行し、
前記切り替えるステップにおいて、通信相手となるプロセスが2以上存在し、前記通信量に通信相手によって所定量以上の差がある場合には、メッセージ転送において前記複数のネットワークインタフェースカードを順次使用するように選択し、前記通信量が通信相手によって所定量未満の差である場合には、メッセージ転送に使用するネットワークインタフェースカードを固定とすることを特徴とする並列計算機システムにおける通信方法。
A computer system constituting a parallel computer system is provided with a plurality of network interface cards for communication with other computer systems, and communicates.
Measuring the amount of communication with a partner computer system connected by the plurality of network interface cards;
Dynamically switching a network interface card to be used in the plurality of network interface cards according to the measured traffic volume;
Only including,
In the measuring step, the communication amount is measured by the number of messages transferred per predetermined time,
In the switching step, the network interface card is dynamically switched every predetermined time;
In the step of switching, when there are two or more processes that are communication partners, and there is a difference of a predetermined amount or more depending on the communication partners, a selection is made to sequentially use the plurality of network interface cards in message transfer. A communication method in a parallel computer system, wherein a network interface card used for message transfer is fixed when the communication amount is less than a predetermined amount depending on a communication partner.
並列計算機システムを構成する計算機システムが相手の計算機システムの受信側ネットワークインタフェースカード群と接続すると共に複数のネットワークインタフェースカードを含む送信側ネットワークインタフェースカード群を備えて送信側ノードとして通信する方法であって、
送信側プロセスから前記送信側ネットワークインタフェースカード群を介して相手の計算機システムに送信するメッセージ数を一定時間毎に測定して送信先別送信数情報として蓄えるステップと、
通信方法リストに基づいて送信側ネットワークインタフェースカード群および相手の計算機システムの受信側ネットワークインタフェースカード群のそれぞれに含まれるネットワークインタフェースカードをそれぞれ選択して送信するステップと、
相手の計算機システムの受信側で受信するメッセージ数を元に相手の計算機システムから送られる送信元別受信数情報と前記送信先別送信数情報とを参照して前記通信方法リストを作成するステップと、
を含み、
前記通信方法リストは、送信側および相手の計算機システムの受信側で使用するネットワークインタフェースカードの識別情報を含み、前記送信元別受信数情報と前記送信先別送信数情報とによって動的に変更されることを特徴とする並列計算機システムにおける通信方法。
A computer system constituting a parallel computer system is connected to a receiving-side network interface card group of a partner computer system and includes a transmitting-side network interface card group including a plurality of network interface cards and communicates as a transmitting-side node. ,
A step of measuring the number of messages transmitted from the transmitting side process to the other computer system via the transmitting side network interface card group at regular intervals and storing it as transmission number information by destination;
Selecting and transmitting each of the network interface cards included in each of the transmission side network interface card group and the reception side network interface card group of the counterpart computer system based on the communication method list;
Creating the communication method list with reference to the number-of-transmissions received-by-source information and the number-of-destination-by-destination sending information sent from the partner computer system based on the number of messages received at the receiving side of the partner computer system; ,
Including
The communication method list includes identification information of the network interface card used on the transmission side and the reception side of the partner computer system, and is dynamically changed by the reception number information by transmission source and the transmission number information by transmission destination. A communication method in a parallel computer system.
前記計算機システムは、相手の計算機システムの送信側ネットワークインタフェースカード群と接続すると共に複数のネットワークインタフェースカードを含む受信側ネットワークインタフェースカード群をさらに備えて受信側ノードとして通信する方法を含み、
受信側ネットワークインタフェースカード群から送信元別に受信して受信プロセスに渡すメッセージ数を一定時間毎に測定して送信元別受信数情報として蓄えるステップと、
送信元別受信数情報を相手の計算機システムに送信するステップと、
をさらに含むことを特徴とする請求項記載の並列計算機システムにおける通信方法。
The computer system includes a method of communicating as a receiving side node further including a receiving side network interface card group including a plurality of network interface cards connected to a transmitting side network interface card group of a counterpart computer system,
A step of measuring the number of messages received from the receiving-side network interface card group for each transmission source and passing to the reception process at regular intervals, and storing the received number of reception information for each transmission source;
A step of transmitting the number-of-reception received number information to the partner computer system;
The communication method in the parallel computer system according to claim 8 , further comprising:
前記通信方法リストを作成するステップにおいて、一定時間毎に測定されたメッセージ数を元に、通信相手となるプロセスが2以上存在し、メッセージ数に通信相手によって所定数以上の差がある場合には、メッセージ転送において前記複数のネットワークインタフェースカードを順次使用するように選択し、メッセージ数が通信相手によって所定数未満の差である場合には、メッセージ転送に使用するネットワークインタフェースカードを固定となるように前記通信方法リストを変更することを特徴とする請求項記載の並列計算機システムにおける通信方法。 In the step of creating the communication method list, when there are two or more processes that are communication partners based on the number of messages measured every certain time, and there is a difference of a predetermined number or more depending on the communication partners in the number of messages In the message transfer, the plurality of network interface cards are selected to be used sequentially, and when the number of messages is less than a predetermined number depending on the communication partner, the network interface card used for the message transfer is fixed. 9. The communication method in the parallel computer system according to claim 8, wherein the communication method list is changed. 前記通信方法リストを作成するステップにおいて、
(1)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数未満の場合には、これらの相手先との通信方法をサイクリックにし、
(2)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数以上で、かつ偶数の場合には、これらの相手先との通信方法をシングルにし、
(3)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数以上で、かつ奇数の場合には、最もメッセージ数が少ない相手先との通信方法をサイクリックにして、残りの相手先との通信方法をシングルにし、
(4)メッセージ数が閾値未満である相手先との通信方法をサイクリックにするように、
前記通信方法リストにおける前記識別情報を変更することを特徴とする請求項または10記載の並列計算機システムにおける通信方法。
In the step of creating the communication method list,
(1) When the number of destinations whose number of messages is equal to or greater than the threshold is less than the number of NICs per node, the communication method with these destinations is set cyclically,
(2) If the number of destinations whose number of messages is equal to or greater than the threshold is equal to or greater than the number of NICs per node and an even number, the communication method with these destinations is made single,
(3) If the number of destinations whose number of messages is greater than or equal to the threshold is greater than or equal to the number of NICs per node and an odd number, the communication method with the destination with the smallest number of messages is cyclically selected, and the remaining counterparts The communication method with the destination is single,
(4) To make the communication method with the other party whose number of messages is less than the threshold value cyclic,
Communication method in a parallel computer system according to claim 8 or 10, wherein changing the identification information in the communication mode list.
他の計算機システムと接続するための複数のネットワークインタフェースカードを備えて並列計算機システムを構成する計算機システムに、
前記複数のネットワークインタフェースカードで接続した相手の計算機システムとの間の通信量を測定する測定処理と、
前記通信量に応じて前記複数のネットワークインタフェースカード中の使用するネットワークインタフェースカードを動的に切り替える切替処理と、
を実行させ
前記測定処理は、所定時間あたりの転送メッセージ数によって前記通信量を測定し、
前記切替処理は、前記所定時間毎にネットワークインタフェースカードの動的切り替えを実行し、
前記切替処理は、通信相手となるプロセスが2以上存在し、前記通信量に通信相手によって所定量以上の差がある場合には、メッセージ転送において前記複数のネットワークインタフェースカードを順次使用するように選択し、前記通信量が通信相手によって所定量未満の差である場合には、メッセージ転送に使用するネットワークインタフェースカードを固定とする処理であるプログラム。
A computer system comprising a plurality of network interface cards for connecting to other computer systems and constituting a parallel computer system,
A measurement process for measuring the amount of communication with a partner computer system connected by the plurality of network interface cards;
A switching process for dynamically switching a network interface card to be used in the plurality of network interface cards according to the communication amount;
Was executed,
The measurement process measures the communication amount by the number of transfer messages per predetermined time,
The switching process performs dynamic switching of the network interface card every predetermined time,
In the switching process, when there are two or more processes as communication partners and the communication amount differs by a predetermined amount or more depending on the communication partners, the plurality of network interface cards are selected to be used sequentially in message transfer. A program that is a process for fixing a network interface card used for message transfer when the communication amount is less than a predetermined amount depending on a communication partner.
相手の計算機システムの受信側ネットワークインタフェースカード群と接続すると共に複数のネットワークインタフェースカードを含む送信側ネットワークインタフェースカード群を備えて送信側ノードとして並列計算機システムを構成する計算機システムに、
送信側プロセスから送信側ネットワークインタフェースカード群を介して相手の計算機システムに送信するメッセージ数を一定時間毎に測定して送信先別送信数情報として蓄える処理と、
通信方法リストに基づいて前記送信側ネットワークインタフェースカード群および相手の計算機システムの受信側ネットワークインタフェースカード群のそれぞれに含まれるネットワークインタフェースカードをそれぞれ選択して送信する処理と、
相手の計算機システムの受信側で受信するメッセージ数を元に相手の計算機システムから送られる送信元別受信数情報と前記送信先別送信数情報とを参照して前記通信方法リストを作成する処理と、
を実行させ、
前記通信方法リストを作成する処理は、送信側および相手の計算機システムの受信側で使用するネットワークインタフェースカードの識別情報を含む前記通信方法リストを、前記送信元別受信数情報と前記送信先別送信数情報とによって動的に変更することを特徴とするプログラム。
A computer system that is connected to a reception-side network interface card group of a partner computer system and includes a transmission-side network interface card group including a plurality of network interface cards and constitutes a parallel computer system as a transmission-side node.
A process of measuring the number of messages transmitted from the transmission side process to the partner computer system via the transmission side network interface card group at regular intervals and storing it as transmission number information by destination,
A process of selecting and transmitting each network interface card included in each of the transmitting network interface card group and the receiving network interface card group of the counterpart computer system based on a communication method list;
Processing for creating the communication method list with reference to the number-of-reception-by-source information and the number-of-transmission-by-destination transmission information sent from the partner computer system based on the number of messages received at the receiving side of the partner computer system; ,
And execute
The process of creating the communication method list includes the communication method list including identification information of a network interface card used on the transmission side and the reception side of the partner computer system, the transmission number information by transmission source and the transmission by transmission destination A program that is dynamically changed according to numerical information.
計算機システムは、相手の計算機システムの送信側ネットワークインタフェースカード群と接続すると共に複数のネットワークインタフェースカードを含む受信側ネットワークインタフェースカード群をさらに備えて受信側ノードとして通信する処理において、
受信側ネットワークインタフェースカード群から送信元別に受信して受信プロセスに渡すメッセージ数を一定時間毎に測定して送信元別受信数情報として蓄える処理と、
送信元別受信数情報を相手の計算機システムに送信する処理と、
をさらに実行させることを特徴とする請求項13記載のプログラム。
In the process of communicating as a receiving side node, the computer system further includes a receiving side network interface card group including a plurality of network interface cards while being connected to the transmitting side network interface card group of the counterpart computer system.
A process of measuring the number of messages received from the network interface card group on the receiving side for each transmission source and passing to the reception process at regular intervals, and storing the received number of received information as a transmission source,
A process of sending the number-of-reception received number information to the other computer system;
14. The program according to claim 13 , further comprising:
前記通信方法リストを作成する処理は、一定時間毎に測定されたメッセージ数を元に、通信相手となるプロセスが2以上存在し、メッセージ数に通信相手によって所定数以上の差がある場合には、メッセージ転送において前記複数のネットワークインタフェースカードを順次使用するように選択し、メッセージ数が通信相手によって所定数未満の差である場合には、メッセージ転送に使用するネットワークインタフェースカードを固定となるように前記通信方法リストを変更することを特徴とする請求項13記載のプログラム。 The process of creating the communication method list is based on the case where there are two or more processes that are communication partners based on the number of messages measured at regular intervals, and there is a difference of a predetermined number or more depending on the communication partners. In the message transfer, the plurality of network interface cards are selected to be used sequentially, and when the number of messages is less than a predetermined number depending on the communication partner, the network interface card used for the message transfer is fixed. 14. The program according to claim 13, wherein the communication method list is changed. 前記通信方法リストを作成する処理は、
(1)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数未満の場合には、これらの相手先との通信方法をサイクリックにし、
(2)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数以上で、かつ偶数の場合には、これらの相手先との通信方法をシングルにし、
(3)メッセージ数が閾値以上である相手先の数がノードあたりのNIC数以上で、かつ奇数の場合には、最もメッセージ数が少ない相手先との通信方法をサイクリックにして、残りの相手先との通信方法をシングルにし、
(4)メッセージ数が閾値未満である相手先との通信方法をサイクリックにするように、
前記通信方法リストにおける前記識別情報を変更することを特徴とする請求項13または15記載のプログラム。
The process of creating the communication method list includes:
(1) When the number of destinations whose number of messages is equal to or greater than the threshold is less than the number of NICs per node, the communication method with these destinations is set cyclically,
(2) If the number of destinations whose number of messages is equal to or greater than the threshold is equal to or greater than the number of NICs per node and an even number, the communication method with these destinations is made single,
(3) If the number of destinations whose number of messages is greater than or equal to the threshold is greater than or equal to the number of NICs per node and an odd number, the communication method with the destination with the smallest number of messages is cyclically selected, and the remaining counterparts The communication method with the destination is single,
(4) To make the communication method with the other party whose number of messages is less than the threshold value cyclic,
16. The program according to claim 13, wherein the identification information in the communication method list is changed.
JP2006088992A 2006-03-28 2006-03-28 Computer system, communication method and program in parallel computer system Expired - Fee Related JP4367427B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006088992A JP4367427B2 (en) 2006-03-28 2006-03-28 Computer system, communication method and program in parallel computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006088992A JP4367427B2 (en) 2006-03-28 2006-03-28 Computer system, communication method and program in parallel computer system

Publications (2)

Publication Number Publication Date
JP2007266973A JP2007266973A (en) 2007-10-11
JP4367427B2 true JP4367427B2 (en) 2009-11-18

Family

ID=38639527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006088992A Expired - Fee Related JP4367427B2 (en) 2006-03-28 2006-03-28 Computer system, communication method and program in parallel computer system

Country Status (1)

Country Link
JP (1) JP4367427B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4740897B2 (en) * 2007-05-24 2011-08-03 株式会社日立製作所 Virtual network configuration method and network system

Also Published As

Publication number Publication date
JP2007266973A (en) 2007-10-11

Similar Documents

Publication Publication Date Title
US7706275B2 (en) Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by employing bandwidth shells at areas of overutilization
CN109408257B (en) Data transmission method and device for Network On Chip (NOC) and electronic equipment
US7065549B2 (en) Communication and process migration protocols for distributed heterogeneous computing
Biswas et al. Accelerating tensorflow with adaptive rdma-based grpc
US11140127B2 (en) Optimising data transmission in a hypercube network
US9225545B2 (en) Determining a path for network traffic between nodes in a parallel computer
CN103324592A (en) Data migration control method, data migration method and data migration device
US20080222303A1 (en) Latency hiding message passing protocol
US9246792B2 (en) Providing point to point communications among compute nodes in a global combining network of a parallel computer
Dong et al. Accl: Architecting highly scalable distributed training systems with highly efficient collective communication library
US8885673B2 (en) Interleaving data packets in a packet-based communication system
JP4367427B2 (en) Computer system, communication method and program in parallel computer system
CN108737455B (en) Network service identification device and method
US7835284B2 (en) Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by routing through transporter nodes
WO2021195987A1 (en) Topology aware multi-phase method for collective communication
WO2021195988A1 (en) Network congestion avoidance over halving-doubling collective communication
Bertier et al. Distributed mutual exclusion algorithms for grid applications: A hierarchical approach
Mizutani et al. Accelerating parallel data processing using optically tightly coupled FPGAs
Schneider et al. ORCS: An oblivious routing congestion simulator
WO2021195989A1 (en) Parallel method based on hybrid architecture in distributed training
Bui et al. Improving data movement performance for sparse data patterns on the blue gene/q supercomputer
CN112073318A (en) Method, device, equipment and storage medium for transmitting and receiving aggregation link message
WO2017196616A1 (en) Active probing for troubleshooting links and devices
WO2021195990A1 (en) Network congestion avoidance over ring-based collective communication
JP4879728B2 (en) Search device and data processing device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090622

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: 20090804

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: 20090817

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: 20120904

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees