[go: up one dir, main page]

JP5573434B2 - Communication program for information processing apparatus, information processing apparatus, information processing system, and communication method for information processing system - Google Patents

Communication program for information processing apparatus, information processing apparatus, information processing system, and communication method for information processing system Download PDF

Info

Publication number
JP5573434B2
JP5573434B2 JP2010156180A JP2010156180A JP5573434B2 JP 5573434 B2 JP5573434 B2 JP 5573434B2 JP 2010156180 A JP2010156180 A JP 2010156180A JP 2010156180 A JP2010156180 A JP 2010156180A JP 5573434 B2 JP5573434 B2 JP 5573434B2
Authority
JP
Japan
Prior art keywords
information
information processing
processing apparatus
connection request
interface
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
JP2010156180A
Other languages
Japanese (ja)
Other versions
JP2012019418A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010156180A priority Critical patent/JP5573434B2/en
Publication of JP2012019418A publication Critical patent/JP2012019418A/en
Application granted granted Critical
Publication of JP5573434B2 publication Critical patent/JP5573434B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信プログラム、情報処理装置、情報通信システム及び通信方法に関する。   The present invention relates to a communication program, an information processing apparatus, an information communication system, and a communication method.

従来、複数の情報処理装置がネットワークを使用して相互に情報を送受信するシステムが知られている。このようなシステムの一例として、複数の情報処理装置がMPI(Message Passing Interface)ライブラリを利用して相互に情報を送受信するネットワーク分散並列計算機などが知られている。   2. Description of the Related Art Conventionally, a system in which a plurality of information processing apparatuses transmit / receive information to / from each other using a network is known. As an example of such a system, there is known a network distributed parallel computer in which a plurality of information processing apparatuses transmit and receive information to and from each other using an MPI (Message Passing Interface) library.

このようなシステムの情報処理装置は、HCA(Host Channel Adapter)やNIC(Network Interface Card)等のネットワークインターフェースを複数有する。そして、情報処理装置は、ネットワークインターフェースを使用して他の情報処理装置と情報の送受信を行う。   The information processing apparatus of such a system has a plurality of network interfaces such as HCA (Host Channel Adapter) and NIC (Network Interface Card). The information processing apparatus transmits and receives information to and from other information processing apparatuses using the network interface.

このような構成のもと、相互に対応付けられた複数のネットワークインターフェースから、自装置の通信状況に応じて、通信に使用するネットワークインターフェースを選択する技術が知られている。以下、図14を用いて、通信に使用するネットワークインターフェースを選択する処理について説明する。図14は、従来の送受信処理を説明するための図である。なお、図14に示す例では、情報処理装置#1のNIC#1は、情報処理装置#3のNIC#5と対応付けられているものとする。   Under such a configuration, a technique for selecting a network interface to be used for communication from a plurality of network interfaces associated with each other according to the communication status of the own device is known. Hereinafter, processing for selecting a network interface to be used for communication will be described with reference to FIG. FIG. 14 is a diagram for explaining a conventional transmission / reception process. In the example illustrated in FIG. 14, it is assumed that NIC # 1 of information processing apparatus # 1 is associated with NIC # 5 of information processing apparatus # 3.

まず、情報処理装置#1は、情報処理装置#3に情報を送信する場合には、自装置の通信状況に応じて、送信元のネットワークインターフェースを自装置が有するNIC#1〜#2から選択する。図14に示す例では、情報処理装置#1は、NIC#1を送信元のネットワークインターフェースとして選択する。そして、情報処理装置#1は、送信先のネットワークインターフェースとして、NIC#1と対応付けられたNIC#5を使用して情報処理装置#3へ情報を送信する。   First, when transmitting information to the information processing apparatus # 3, the information processing apparatus # 1 selects the network interface of the transmission source from the NICs # 1 to # 2 that the own apparatus has according to the communication status of the own apparatus To do. In the example illustrated in FIG. 14, the information processing apparatus # 1 selects NIC # 1 as the network interface of the transmission source. Then, the information processing apparatus # 1 transmits information to the information processing apparatus # 3 using the NIC # 5 associated with the NIC # 1 as the transmission destination network interface.

また、複数のネットワークインターフェースを使用して他の情報処理装置と情報の送受信を行う技術として、分割された情報をそれぞれ独立した経路で送信するトランキングという技術が知られている。例えば、図15に示す例では、トランキングの技術が適用された情報処理装置#1は、送信されるデータを4つのデータ#1〜#4に分割し、それぞれ異なるネットワークインターフェースを使用して情報処理装置#2へ同時に送信する。なお、図15は、トランキングを説明するための図である。   As a technique for transmitting and receiving information to and from other information processing apparatuses using a plurality of network interfaces, a technique called trunking that transmits divided information through independent paths is known. For example, in the example illustrated in FIG. 15, the information processing apparatus # 1 to which the trunking technique is applied divides the data to be transmitted into four data # 1 to # 4 and uses different network interfaces for information Simultaneously transmit to processor # 2. FIG. 15 is a diagram for explaining trunking.

また、トランキングの技術が適用された情報処理装置は、ネットワークインターフェース間を接続する経路(以下、リンクという)がそれぞれ独立しているファットツリー型のネットワークに接続される。例えば、図16に示す例では、各情報処理装置#1〜#2は、NIC#1からNIC#3を接続するリンクと、NIC#2からNIC#4を接続するリンクとが独立したファットツリー型のネットワークに接続される。なお、図16は、ファットツリー構造のネットワークを説明するための図である。   An information processing apparatus to which the trunking technique is applied is connected to a fat tree type network in which paths (hereinafter referred to as links) connecting network interfaces are independent from each other. For example, in the example illustrated in FIG. 16, each information processing apparatus # 1 to # 2 has a fat tree in which a link connecting NIC # 1 to NIC # 3 and a link connecting NIC # 2 to NIC # 4 are independent. Connected to type network. FIG. 16 is a diagram for explaining a network having a fat tree structure.

特開2006−121414号公報JP 2006-121414 A

しかしながら、上述したネットワークインターフェースを選択する技術では、送信元の通信状況に応じて、送信先のネットワークインターフェースが選択されるので、送信先での競合を発生させる場合がある。つまり、情報処理装置は、送信先の通信状況と関係なく通信に使用するネットワークインターフェースを選択するので、送信先のネットワークインターフェースで競合を発生させる場合がある。このため、情報処理装置は、システム全体のスループットを悪化させてしまうという問題があった。   However, in the above-described technology for selecting a network interface, a transmission destination network interface is selected according to the communication status of the transmission source, which may cause contention at the transmission destination. That is, since the information processing apparatus selects a network interface to be used for communication regardless of the communication status of the transmission destination, there is a case where a conflict occurs in the network interface of the transmission destination. For this reason, the information processing apparatus has a problem of deteriorating the throughput of the entire system.

例えば、図17に示す例では、NIC#3は、NIC#5と対応付けられており、NC#5は、通信中であるものとする。図17は、競合を説明するための図である。図17に示す例では、情報処理装置#2は、自装置の通信状況に応じて、通信に使用するNICとしてNIC#3を選択する。   For example, in the example illustrated in FIG. 17, NIC # 3 is associated with NIC # 5, and NC # 5 is in communication. FIG. 17 is a diagram for explaining competition. In the example illustrated in FIG. 17, the information processing apparatus # 2 selects NIC # 3 as the NIC used for communication according to the communication status of the own apparatus.

そして、情報処理装置#2は、送信先のNICとして、NIC#3に対応付けられたNIC#5を選択する。このため、図17中星印で示すように、情報処理装置#1と情報処理装置#2とがNIC#5を同時に使用して通信することとなり、情報処理装置#3へ送信される情報がNIC#5に集中するため、NIC#5で競合を発生させてしまう。   Then, the information processing apparatus # 2 selects NIC # 5 associated with NIC # 3 as the destination NIC. For this reason, as indicated by a star in FIG. 17, information processing apparatus # 1 and information processing apparatus # 2 communicate using NIC # 5 simultaneously, and information transmitted to information processing apparatus # 3 is transmitted. Since it concentrates on NIC # 5, contention occurs in NIC # 5.

この結果、情報を受信するための待ち行列がNIC#5で発生し、NIC#5がボトルネックとなるため、システム全体のスループットを悪化させてしまうという問題があった。なお、情報処理装置は、あらかじめ対応付けられたネットワークインターフェースの組を使用して情報を送信するので、ネットワークインターフェースの組み合わせパターンが限定されてしまう。この結果、特定のネットワークインターフェースを利用することによる競合が頻繁に発生しやすい。   As a result, a queue for receiving information is generated in NIC # 5, and NIC # 5 becomes a bottleneck, resulting in a problem that the throughput of the entire system is deteriorated. Note that the information processing apparatus transmits information using a pair of network interfaces associated in advance, so that the combination pattern of network interfaces is limited. As a result, contention due to the use of a specific network interface tends to occur frequently.

また、上述したトランキングの技術では、ネットワークインターフェース同士を接続するリンクごとに異なる情報を同時に送信する。このため、情報処理装置は、各ネットワークインターフェースがリンクを共用する構造のネットワークに接続された場合には、スループットを悪化させてしまうという問題があった。   In the trunking technique described above, different information is simultaneously transmitted for each link connecting network interfaces. For this reason, the information processing apparatus has a problem that throughput is deteriorated when each network interface is connected to a network having a structure sharing a link.

例えば、図18に例示するように、各情報処理装置#1〜#2がメッシュネットワークに接続されている場合には、図18中のAに示す共用のリンクを使用するための順番待ちが発生し、システム全体のスループットが悪化してしまうという問題があった。図18は、メッシュネットワークを説明するための図である。   For example, as illustrated in FIG. 18, when each of the information processing apparatuses # 1 to # 2 is connected to the mesh network, a turn waiting for using the shared link indicated by A in FIG. 18 occurs. However, there is a problem that the throughput of the entire system deteriorates. FIG. 18 is a diagram for explaining a mesh network.

一つの側面では、本発明は、ネットワークインタフェースの競合の抑制を図ることを目的とする。   In one aspect, an object of the present invention is to suppress network interface contention.

本願に開示の技術は、一つの態様によれば、各インターフェースの通信状況に応じて、通信に使用するインターフェースを選択する通信プログラムである。また、通信プログラムは、選択されたインターフェースを使用して、他の情報処理装置へ接続要求情報を送信する。その後、通信プログラムは、接続要求情報に対する応答情報を他の情報処理装置から受信した場合には、受信された応答情報から、他の情報処理装置が応答情報を送信するために使用したインターフェースを特定する。そして、通信プログラムは、接続要求情報を送信するために使用したインターフェースと、特定されたインターフェースとを使用して、他の情報処理装置と情報の送受信を行う。   According to one aspect, the technology disclosed in the present application is a communication program that selects an interface to be used for communication according to a communication state of each interface. Further, the communication program transmits connection request information to another information processing apparatus using the selected interface. After that, when the communication program receives response information for the connection request information from another information processing apparatus, the communication program specifies the interface used by the other information processing apparatus to transmit the response information from the received response information. To do. Then, the communication program transmits / receives information to / from other information processing apparatuses using the interface used for transmitting the connection request information and the specified interface.

一つの態様によれば、ネットワークインタフェースの競合の抑制を抑制することができる。   According to one aspect, suppression of network interface contention can be suppressed.

図1は、実施例1に係る情報処理装置を説明するためのブロック図である。FIG. 1 is a block diagram for explaining the information processing apparatus according to the first embodiment. 図2は、実施例2に係る情報処理システムを説明するための図である。FIG. 2 is a diagram for explaining the information processing system according to the second embodiment. 図3は、実施例2に係るコンピュータを説明するためのブロック図である。FIG. 3 is a block diagram for explaining the computer according to the second embodiment. 図4は、保留された処理を説明するための図である。FIG. 4 is a diagram for explaining the suspended processing. 図5は、保留された処理の実行を説明するための図である。FIG. 5 is a diagram for explaining execution of the suspended processing. 図6は、実施例2に係るコンピュータの効果を説明するための図である。FIG. 6 is a diagram for explaining the effect of the computer according to the second embodiment. 図7は、接続要求情報と接続要求情報に対する応答情報とを説明するための図である。FIG. 7 is a diagram for explaining connection request information and response information to the connection request information. 図8は、情報の送受信を説明するための図である。FIG. 8 is a diagram for explaining transmission and reception of information. 図9は、Rendezvous要求を送信する処理について説明するための図である。FIG. 9 is a diagram for explaining a process of transmitting a Rendezvous request. 図10は、受信側のコンピュータがNICを選択する処理を説明するための図である。FIG. 10 is a diagram for explaining processing in which a receiving computer selects a NIC. 図11は、実施例2に係るコンピュータが情報を送受信する処理を説明するための図である。FIG. 11 is a diagram for explaining processing in which the computer according to the second embodiment transmits and receives information. 図12は、実施例2に係るコンピュータが実行する処理の流れを説明するためのシーケンス図である。FIG. 12 is a sequence diagram for explaining the flow of processing executed by the computer according to the second embodiment. 図13は、通信プログラムを実行するコンピュータの一例を説明するための図である。FIG. 13 is a diagram for describing an example of a computer that executes a communication program. 図14は、従来の送受信処理を説明するための図である。FIG. 14 is a diagram for explaining a conventional transmission / reception process. 図15は、トランキングを説明するための図である。FIG. 15 is a diagram for explaining trunking. 図16は、ファットツリー構造のネットワークを説明するための図である。FIG. 16 is a diagram for explaining a network having a fat tree structure. 図17は、競合を説明するための図である。FIG. 17 is a diagram for explaining competition. 図18は、メッシュネットワークを説明するための図である。FIG. 18 is a diagram for explaining a mesh network.

以下に添付図面を参照して本願に係る通信プログラム、情報処理装置、情報通信システム及び通信方法について説明する。   A communication program, an information processing apparatus, an information communication system, and a communication method according to the present application will be described below with reference to the accompanying drawings.

以下の実施例1では、図1を用いて、情報処理装置の一例を説明する。図1は、実施例1に係る情報処理装置を説明するためのブロック図である。なお、情報処理装置は、少なくとも、同様の通信プログラムを実行する情報処理装置と相互に通信を行う情報処理装置である。   In the following first embodiment, an example of an information processing apparatus will be described with reference to FIG. FIG. 1 is a block diagram for explaining the information processing apparatus according to the first embodiment. The information processing apparatus is an information processing apparatus that communicates with at least an information processing apparatus that executes a similar communication program.

図1に示すように、情報処理装置1は、第一選択部2、接続要求送信部3、特定部4、通信部5、第二選択部6、応答送信部7、インターフェース8a〜8cを有する。また、情報処理装置1は、情報処理装置1と同一の機能を有する情報処理装置1aとネットワークを介して通信を行う。なお、情報処理装置1aが有する各部2a〜7a、8d〜8fは、情報処理装置1が有する各部2〜7、8a〜8cと同様の機能を発揮するものとし、情報処理装置1aの各部についての説明は省略する。   As illustrated in FIG. 1, the information processing apparatus 1 includes a first selection unit 2, a connection request transmission unit 3, a specification unit 4, a communication unit 5, a second selection unit 6, a response transmission unit 7, and interfaces 8a to 8c. . The information processing apparatus 1 communicates with the information processing apparatus 1a having the same function as the information processing apparatus 1 via a network. In addition, each part 2a-7a, 8d-8f which the information processing apparatus 1a has shall exhibit the function similar to each part 2-7, 8a-8c which the information processing apparatus 1 has, and about each part of the information processing apparatus 1a Description is omitted.

第一選択部2は、各インターフェース8a〜8cの通信状況に応じて、通信に使用するインターフェースを選択する。接続要求送信部3は、第一選択部2によって選択されたインターフェースを使用して、情報処理装置1aへ接続要求情報を送信する。   The first selection unit 2 selects an interface to be used for communication according to the communication status of each interface 8a to 8c. The connection request transmission unit 3 transmits the connection request information to the information processing apparatus 1a using the interface selected by the first selection unit 2.

特定部4は、接続要求送信部3によって送信された接続要求情報に対する応答情報を情報処理装置1aから受信した場合には、受信された応答情報から情報処理装置1aが応答情報を送信するために使用したインターフェースを特定する。通信部5は、接続要求送信部3が接続要求情報を送信するために使用したインターフェースと特定部4によって特定されたインターフェースとを使用して、情報処理装置1aと情報の送受信を行う。   When the identification unit 4 receives response information for the connection request information transmitted by the connection request transmission unit 3 from the information processing apparatus 1a, the information processing apparatus 1a transmits the response information from the received response information. Identify the interface used. The communication unit 5 transmits and receives information to and from the information processing apparatus 1a using the interface used by the connection request transmission unit 3 to transmit connection request information and the interface specified by the specifying unit 4.

つまり、情報処理装置1が送信側であり、情報処理装置1aが受信側である場合に、送信側である情報処理装置1は、自装置に都合の良いインターフェースを使用して接続要求情報を送信する。そして、情報処理装置1は、受信側の情報処理装置1aが選択したインターフェースを特定し、特定された受信側に都合の良いインターフェースを使って通信する。   That is, when the information processing apparatus 1 is the transmission side and the information processing apparatus 1a is the reception side, the information processing apparatus 1 that is the transmission side transmits connection request information using an interface convenient for the own apparatus. To do. Then, the information processing apparatus 1 identifies the interface selected by the information processing apparatus 1a on the reception side, and communicates using an interface convenient for the identified reception side.

第二選択部6は、情報処理装置1aから接続要求情報を受信した場合には、各インターフェース8a〜8cの通信状況に応じて、情報処理装置1aとの通信に使用するインターフェースを選択する。応答送信部7は、第二選択部6によって選択されたインターフェースを使用して、情報処理装置1aへ接続要求情報に対する応答情報を送信する。   When receiving the connection request information from the information processing apparatus 1a, the second selection unit 6 selects an interface to be used for communication with the information processing apparatus 1a according to the communication status of each interface 8a to 8c. The response transmission unit 7 transmits the response information for the connection request information to the information processing apparatus 1a using the interface selected by the second selection unit 6.

つまり、情報処理装置1が受信側であり、情報処理装置1aが送信側である場合に、受信側である情報処理装置1は、受信側に都合の良いインターフェースを選択し、選択したインターフェースを使用して応答情報を情報処理装置1aに通知する。   That is, when the information processing apparatus 1 is the receiving side and the information processing apparatus 1a is the transmitting side, the information processing apparatus 1 that is the receiving side selects an interface that is convenient for the receiving side and uses the selected interface. Then, the response information is notified to the information processing apparatus 1a.

上述したように、情報処理装置1は、自装置の通信状態に応じて選択されたインターフェースを使用して接続要求情報を情報処理装置1aへ送信する。また、情報処理装置1は、送信した接続要求情報に対する応答情報を情報処理装置1aから受信した場合には、受信された応答情報から、情報処理装置1aが使用したインターフェースを特定する。そして、情報処理装置1は、接続要求情報を送信するために使用したインターフェースと特定されたインターフェースとを使用して、情報処理装置1aと情報の送受信を行う。   As described above, the information processing apparatus 1 transmits the connection request information to the information processing apparatus 1a using the interface selected according to the communication state of the own apparatus. In addition, when the response information for the transmitted connection request information is received from the information processing device 1a, the information processing device 1 identifies the interface used by the information processing device 1a from the received response information. Then, the information processing apparatus 1 transmits / receives information to / from the information processing apparatus 1a using the interface used for transmitting the connection request information and the identified interface.

また、情報処理装置1aは、接続要求情報を受信した場合には、各インターフェース8d〜8fの通信状態に応じて、情報処理装置1との通信に使用されるインターフェースを選択する。そして、情報処理装置1aは、選択されたインターフェースを用いて、応答情報を送信する。   Further, when receiving the connection request information, the information processing apparatus 1a selects an interface used for communication with the information processing apparatus 1 according to the communication state of each of the interfaces 8d to 8f. Then, the information processing apparatus 1a transmits response information using the selected interface.

このため、情報処理装置1は、情報の送信先となる情報処理装置1aの通信状態に応じて、通信に用いるインターフェースを選択することができる。また、情報処理装置1は、通信に用いるインターフェースを限定せずに、情報の送受信を行う事ができる。このため、情報処理装置1は、送信側と受信側との通信状況に応じて、使用するネットワークインターフェースを決定することで、ネットワークインタフェースの競合を抑制する。また、情報処理装置1は、スループットを向上させる。   For this reason, the information processing apparatus 1 can select the interface used for communication according to the communication state of the information processing apparatus 1a that is the information transmission destination. Further, the information processing apparatus 1 can transmit and receive information without limiting the interface used for communication. For this reason, the information processing apparatus 1 determines the network interface to be used in accordance with the communication status between the transmission side and the reception side, thereby suppressing network interface contention. Moreover, the information processing apparatus 1 improves the throughput.

以下の実施例2では通信プログラムを実行するコンピュータを複数有する情報処理システムを説明する。   In the second embodiment, an information processing system having a plurality of computers that execute communication programs will be described.

まず、図2を用いて、実施例2に係る情報処理システムを説明する。図2は、実施例2に係る情報処理システムを説明するための図である。図2に示すように、情報処理システムは、複数のコンピュータ20〜25を有する。各コンピュータ20〜25は、それぞれ4つのNIC(Network Interface Card)を有する。NIC30〜50は、ネットワークを介して、各コンピュータ20〜25を接続する。また、各コンピュータ20〜25は、ネットワークを介して各NIC30〜50によってそれぞれ接続されている。   First, an information processing system according to the second embodiment will be described with reference to FIG. FIG. 2 is a diagram for explaining the information processing system according to the second embodiment. As illustrated in FIG. 2, the information processing system includes a plurality of computers 20 to 25. Each of the computers 20 to 25 has four NICs (Network Interface Cards). The NICs 30 to 50 connect the computers 20 to 25 via a network. The computers 20 to 25 are connected to the NICs 30 to 50 via a network.

各コンピュータ20〜25は、同一のプログラムを実行することで、同様の処理を行うものとする。以下の説明では、コンピュータ20が有する各部について説明し、他のコンピュータ21〜25については、説明を省略する。   Each computer 20-25 shall perform the same process by running the same program. In the following description, each part of the computer 20 will be described, and description of the other computers 21 to 25 will be omitted.

次に、図3を用いて、コンピュータ20が有する各部について説明する。図3は、実施例2に係るコンピュータを説明するためのブロック図である。図3に示す例では、コンピュータ20は、4つのNIC30〜33を有する。また、コンピュータ20は、プロセス実行部10、情報記憶部16を有する。以下に各部について説明する。   Next, each part of the computer 20 will be described with reference to FIG. FIG. 3 is a block diagram for explaining the computer according to the second embodiment. In the example illustrated in FIG. 3, the computer 20 includes four NICs 30 to 33. The computer 20 includes a process execution unit 10 and an information storage unit 16. Each part will be described below.

情報記憶部16は、他のコンピュータ21〜25へ送信する情報を一時的に記憶する。また、情報記憶部16は、他のコンピュータ21〜25からNIC30〜33を使用して受信した情報を一時的に記憶する。   The information storage unit 16 temporarily stores information to be transmitted to the other computers 21 to 25. The information storage unit 16 temporarily stores information received from the other computers 21 to 25 using the NICs 30 to 33.

NIC30は、ネットワークを介して、他のコンピュータ21〜25が有する各NIC34〜53と接続され、各NIC34〜53との通信処理を制御する。具体的には、NIC30は、他のコンピュータ21〜25の各NIC34〜53から接続要求情報を受信した場合には、受信された接続要求情報を応答送信部13へ転送する。   The NIC 30 is connected to each of the NICs 34 to 53 included in the other computers 21 to 25 via a network, and controls communication processing with each of the NICs 34 to 53. Specifically, when the NIC 30 receives connection request information from each of the NICs 34 to 53 of the other computers 21 to 25, the NIC 30 transfers the received connection request information to the response transmission unit 13.

例えば、NIC30は、コンピュータ25のNIC50から接続要求情報を受信した場合には、受信された接続要求情報を応答送信部13へ転送する。また、NIC30は、コンピュータ25のNIC51から情報を受信した場合には、受信された情報を通信部14に転送する。   For example, when receiving connection request information from the NIC 50 of the computer 25, the NIC 30 transfers the received connection request information to the response transmission unit 13. In addition, when receiving information from the NIC 51 of the computer 25, the NIC 30 transfers the received information to the communication unit 14.

また、NIC30は、コンピュータ25のNIC51に応答情報を送信する関数呼び出し情報を保留部15から取得した場合には、コンピュータ25のNIC51を送信先として応答情報を送信する。また、NIC30は、保留部15から、コンピュータ25のNIC51を使用して情報の送信を行うための関数呼び出し情報を取得した場合には、コンピュータ25のNIC51に対して、情報を送信する。   In addition, when the NIC 30 acquires function call information for transmitting response information to the NIC 51 of the computer 25 from the holding unit 15, the NIC 30 transmits the response information with the NIC 51 of the computer 25 as a transmission destination. Further, when the NIC 30 acquires function call information for transmitting information from the holding unit 15 using the NIC 51 of the computer 25, the NIC 30 transmits information to the NIC 51 of the computer 25.

プロセス実行部10は、実施例2に係る通信プログラムを実行する。具体的には、プロセス実行部10は、選択部11、接続要求送信部12、応答送信部13、通信部14、保留部15を有する。そして、プロセス実行部10は、各部11〜15を用いて、通信プログラムを実行し、他のコンピュータ21〜25と情報の送受信を実行する。   The process execution unit 10 executes a communication program according to the second embodiment. Specifically, the process execution unit 10 includes a selection unit 11, a connection request transmission unit 12, a response transmission unit 13, a communication unit 14, and a holding unit 15. And the process execution part 10 performs a communication program using each part 11-15, and performs transmission / reception of the information with the other computers 21-25.

以下の説明では、プロセス実行部10が有する各部の機能について説明する。また、以下の説明では、プロセス実行部10が、MPI(Message Passing Interface)ライブラリを使用してコンピュータ20が有する情報を他のコンピュータ25へ送信する例について説明する。   In the following description, functions of each unit included in the process execution unit 10 will be described. Further, in the following description, an example will be described in which the process execution unit 10 transmits information held by the computer 20 to another computer 25 using an MPI (Message Passing Interface) library.

保留部15は、通信予約を各NICごとに一時的に保留する。また、保留部15は、通信を終了したNICに係る通信予約のうち、最初に保留された通信予約が示す処理を実行する。ここで、通信予約とは、通信処理を各NIC30〜33に実行させるために必要な関数呼び出しを識別する情報であり、例えば、「MPI_Isend」や「MPI_Irecv」等である。   The holding unit 15 temporarily holds the communication reservation for each NIC. In addition, the holding unit 15 executes processing indicated by the communication reservation that is initially reserved among the communication reservations related to the NIC that has finished communication. Here, the communication reservation is information for identifying a function call necessary for causing each of the NICs 30 to 33 to execute communication processing, such as “MPI_Isend” or “MPI_Irecv”.

具体的には、保留部15は、接続要求送信部12、応答送信部13及び通信部14から送信された通信予約を受信する。そして、保留部15は、通信予約を実行するNICが通信中である場合には、受信された通信予約を一時的に保留する。その後、保留部15は、受信された通信予約を実行するNICが通信を終了した場合には、保留された通信予約のうち、通信を終了したNICを使用する通信予約であって、かつ、最初に記憶された通信予約をNICに通知する。そして、保留部15は、通知された通信予約に係る通信処理が終了した場合には、終了した通信処理に係る通信予約を消去する。   Specifically, the holding unit 15 receives the communication reservation transmitted from the connection request transmission unit 12, the response transmission unit 13, and the communication unit 14. Then, the holding unit 15 temporarily holds the received communication reservation when the NIC executing the communication reservation is communicating. Thereafter, when the NIC that executes the received communication reservation ends communication, the holding unit 15 is a communication reservation that uses the NIC that has ended communication among the reserved communication reservations, and the first The communication reservation stored in is notified to the NIC. Then, when the communication process related to the notified communication reservation is completed, the holding unit 15 deletes the communication reservation related to the completed communication process.

例えば、保留部15は、図4に示す例では、NIC30の通信予約を1件、NIC31の通信予約を2件、NIC32の通信予約を3件、NIC33の通信予約を4件記憶している。また、保留部15は、図4中の点線で例示するように、NIC30が実行する通信予約を新たに受信した場合には、NIC30に対応付けて、通信予約を新たに記憶する。図4は、保留された処理を説明するための図である。   For example, in the example illustrated in FIG. 4, the holding unit 15 stores one communication reservation for the NIC 30, two communication reservations for the NIC 31, three communication reservations for the NIC 32, and four communication reservations for the NIC 33. In addition, as illustrated by the dotted line in FIG. 4, when the communication reservation executed by the NIC 30 is newly received, the holding unit 15 newly stores the communication reservation in association with the NIC 30. FIG. 4 is a diagram for explaining the suspended processing.

また、図5に示す例では、保留部15は、NIC30を使用する通信予約を3件、NIC31を使用する通信予約を1件、NIC32を使用する通信予約を2件、NIC33を使用する通信予約を3件記憶している。図5は、保留された処理の実行を説明するための図である。この例では、保留部15は、NIC30が実行中の通信処理が終了した場合には、図5の点線で示すように、NIC30が実行した通信予約を消去する。   In the example shown in FIG. 5, the holding unit 15 has three communication reservations using the NIC 30, one communication reservation using the NIC 31, two communication reservations using the NIC 32, and a communication reservation using the NIC 33. Is stored. FIG. 5 is a diagram for explaining execution of the suspended processing. In this example, when the communication process being executed by the NIC 30 is completed, the holding unit 15 deletes the communication reservation executed by the NIC 30 as indicated by the dotted line in FIG.

ここで、保留部15は、NIC30の通信予約を実行する場合には、通信予約に含まれる関数呼び出しを識別する情報をNIC30に送信する。NIC30は、保留部15から関数呼び出しを識別する情報を取得した場合には、取得された関数呼び出しを識別する情報に応じた処理を実行する。   Here, when executing the communication reservation of the NIC 30, the holding unit 15 transmits information identifying the function call included in the communication reservation to the NIC 30. When the NIC 30 acquires information for identifying a function call from the holding unit 15, the NIC 30 executes a process according to the information for identifying the acquired function call.

このように、保留部15は、NIC30〜33が通信中に接続要求送信部12、応答送信部13、通信部14によって生成された通信予約を受信した場合には、通信予約を一時的に保留する。そして、保留部15は、保留された通信予約が使用するNICが通信処理を終了し、新たな通信予約に係る通信処理を実行することができる場合には、保留された通信予約に係る通信処理を実行させる。また、保留部15は、保留された処理を関数呼び出しを識別する情報で記憶し、通信予約が格納されたメモリのアドレスを通信予約の順番管理に使用する。   As described above, when the NIC 30 to 33 receive the communication reservation generated by the connection request transmission unit 12, the response transmission unit 13, and the communication unit 14 while the NICs 30 to 33 are communicating, the reservation unit 15 temporarily holds the communication reservation. To do. When the NIC used by the reserved communication reservation can finish the communication process and execute the communication process related to the new communication reservation, the hold unit 15 performs the communication process related to the reserved communication reservation. Is executed. The holding unit 15 stores the held processing as information for identifying a function call, and uses the address of the memory in which the communication reservation is stored for communication reservation order management.

図3に戻って、選択部11は、各NIC30〜33の通信状況に応じて、通信に使用するNICを選択する。また、選択部11は、他のコンピュータ21〜25から接続要求情報を受信した場合には、各NIC30〜33の通信状況に応じて、他のコンピュータ21〜25との通信に使用するNICを選択する。   Returning to FIG. 3, the selection unit 11 selects a NIC to be used for communication according to the communication status of each of the NICs 30 to 33. In addition, when the connection request information is received from the other computers 21 to 25, the selection unit 11 selects a NIC to be used for communication with the other computers 21 to 25 according to the communication status of each NIC 30 to 33. To do.

また、選択部11は、各NIC30〜33を使用するための通信予約に応じて、他のコンピュータ21〜25への情報の送信に使用されるNICを選択する。また、選択部11は、各NIC30〜33を使用するための通信予約に応じて、他のコンピュータ21〜25からの情報の受信に使用されるNICを選択する。   Moreover, the selection part 11 selects NIC used for transmission of the information to the other computers 21-25 according to the communication reservation for using each NIC30-33. In addition, the selection unit 11 selects a NIC used for receiving information from the other computers 21 to 25 in accordance with a communication reservation for using each of the NICs 30 to 33.

具体的には、選択部11は、後述する接続要求送信部12からNICを選択する旨の指示を受けた場合には、保留部15によって保留された通信予約が最も少ないNICを選択する。そして、選択部11は、選択されたNICを接続要求送信部12に通知する。   Specifically, when receiving an instruction to select a NIC from the connection request transmission unit 12 to be described later, the selection unit 11 selects the NIC with the smallest communication reservation held by the holding unit 15. Then, the selection unit 11 notifies the connection request transmission unit 12 of the selected NIC.

また、選択部11は、後述する応答送信部13からNICを選択する旨の指示を受けた場合にも同様に、保留部15によって保留された通信予約が最も少ないNICを選択する。そして、選択部11は、選択されたNICを応答送信部13に通知する。   Similarly, when the selection unit 11 receives an instruction to select a NIC from the response transmission unit 13 described later, the selection unit 11 selects the NIC with the smallest communication reservation reserved by the reservation unit 15. Then, the selection unit 11 notifies the response transmission unit 13 of the selected NIC.

ここで、図4の例を用いて、選択部11が実行する処理を説明する。例えば、選択部11は、後述する接続要求送信部12から、NICを選択する旨の指示を取得した場合には、保留部15によって保留された各NIC30〜33を使用する処理を識別する。   Here, the process performed by the selection unit 11 will be described using the example of FIG. For example, when the selection unit 11 acquires an instruction to select a NIC from the connection request transmission unit 12 to be described later, the selection unit 11 identifies a process of using each NIC 30 to 33 held by the holding unit 15.

ここで、保留部15は、図4に示す例では、NIC30の通信予約を1件、NIC31の通信予約を2件、NIC32の通信予約を3件、NIC33の通信予約を4件記憶している。このため、選択部11は、保留された処理が最も少ないNIC30を選択する。つまり、選択部11は、通信に使用するNICとしてNIC30を選択する。そして、選択部11は、NIC30を接続要求送信部12へ通知する。   Here, in the example illustrated in FIG. 4, the holding unit 15 stores one communication reservation for the NIC 30, two communication reservations for the NIC 31, three communication reservations for the NIC 32, and four communication reservations for the NIC 33. . For this reason, the selection unit 11 selects the NIC 30 with the smallest suspended processing. That is, the selection unit 11 selects the NIC 30 as the NIC used for communication. Then, the selection unit 11 notifies the NIC 30 to the connection request transmission unit 12.

また、選択部11は、応答送信部13からNICを選択する旨の指示を取得した場合には、保留部15によって保留された通信予約の件数に基づいて、通信に使用するNICとしてNIC30を選択する。その後、選択部11は、NIC30を接続要求送信部12へ通知する。   In addition, when the selection unit 11 acquires an instruction to select a NIC from the response transmission unit 13, the selection unit 11 selects the NIC 30 as a NIC to be used for communication based on the number of communication reservations held by the holding unit 15. To do. Thereafter, the selection unit 11 notifies the NIC 30 to the connection request transmission unit 12.

図3に戻って、接続要求送信部12は、選択部11によって選択されたNICを使用して、他のコンピュータへ接続要求情報を送信する。具体的には、接続要求送信部12は、情報を送信する旨の通知を通信部14から取得した場合には、NICを選択する旨の指示を選択部11へ送信する。また、接続要求送信部12は、後述するように、情報の送信先となるコンピュータを通信部14から通知される。   Returning to FIG. 3, the connection request transmission unit 12 transmits the connection request information to another computer using the NIC selected by the selection unit 11. Specifically, the connection request transmission unit 12 transmits an instruction to select the NIC to the selection unit 11 when a notification to transmit information is acquired from the communication unit 14. Further, as will be described later, the connection request transmission unit 12 is notified from the communication unit 14 of a computer that is an information transmission destination.

そして、接続要求送信部12は、選択部11から通信に使用するNICを通知された場合には、送信先のコンピュータが有するNICのうち、選択部11から通知されたNICに対応付けられたNICを判別する。また、接続要求送信部12は、選択部11から通知されたNICのアドレスを含む接続要求情報を生成する。そして、接続要求送信部12は、選択部11から通知されたNICと判別されたNICとを使用して接続要求情報を送信する処理を通信予約として保留部15に送信する。   When the connection request transmission unit 12 is notified of the NIC used for communication from the selection unit 11, the NIC associated with the NIC notified from the selection unit 11 among the NICs of the transmission destination computer. Is determined. In addition, the connection request transmission unit 12 generates connection request information including the NIC address notified from the selection unit 11. Then, the connection request transmission unit 12 transmits a process of transmitting connection request information using the NIC notified from the selection unit 11 and the determined NIC to the reservation unit 15 as a communication reservation.

例えば、接続要求送信部12は、コンピュータ25に情報を送信する旨の通知を通信部14から取得した場合には、NICを選択する旨の指示を選択部11へ送信する。また、接続要求送信部12は、選択部11から通信に使用するNICとしてNIC30を通知される。   For example, the connection request transmission unit 12 transmits an instruction to select the NIC to the selection unit 11 when a notification that the information is transmitted to the computer 25 is acquired from the communication unit 14. Further, the connection request transmission unit 12 is notified of the NIC 30 as the NIC used for communication from the selection unit 11.

接続要求送信部12は、通信に使用するNICとしてNIC30が通知された場合には、コンピュータ25が有するNIC50〜53のうち、通知されたNIC30に対応付けられたNICであるNIC50を判別する。また、接続要求送信部12は、接続要求情報として、NIC30のアドレスを含んだ接続要求情報を生成する。そして、接続要求送信部12は、生成された接続要求情報をNIC30とNIC50を使用してコンピュータ25へ送信する処理を示す通信予約を生成する。その後、接続要求送信部12は、生成された通信予約を保留部15に送信する。   When the NIC 30 is notified as the NIC used for communication, the connection request transmission unit 12 determines the NIC 50 that is the NIC associated with the notified NIC 30 among the NICs 50 to 53 included in the computer 25. Further, the connection request transmission unit 12 generates connection request information including the address of the NIC 30 as connection request information. Then, the connection request transmission unit 12 generates a communication reservation indicating processing for transmitting the generated connection request information to the computer 25 using the NIC 30 and the NIC 50. Thereafter, the connection request transmission unit 12 transmits the generated communication reservation to the holding unit 15.

応答送信部13は、選択部11によって選択されたNICを使用して、接続要求情報の送信元へ接続要求情報に対する応答情報を送信する。また、応答送信部13は、選択部11によって選択されたNICを一意に特定するアドレスを含んだ応答情報を送信する。   The response transmission unit 13 transmits the response information for the connection request information to the transmission source of the connection request information using the NIC selected by the selection unit 11. In addition, the response transmission unit 13 transmits response information including an address that uniquely identifies the NIC selected by the selection unit 11.

具体的には、応答送信部13は、他のコンピュータ20〜25から送信された接続要求情報を受信した場合には、NICを選択する旨の指示を選択部11へ送信する。また、応答送信部13は、受信された接続要求情報に含まれるNICのアドレスに基づいて、受信された接続要求情報を送信するために使用された送信元のNICを判別する。   Specifically, when the response transmission unit 13 receives the connection request information transmitted from the other computers 20 to 25, the response transmission unit 13 transmits an instruction to select the NIC to the selection unit 11. Further, the response transmission unit 13 determines the NIC of the transmission source used for transmitting the received connection request information based on the NIC address included in the received connection request information.

また、応答送信部13は、通信に使用されるNICを選択部11から通知された場合には、選択部11から通知されたNICのアドレスを含む応答情報を生成する。そして、応答送信部13は、選択部11から通知されたNICと接続要求の送信元が使用したNICとを使用して、生成された応答情報を送信する処理を示す通信予約を生成する。   Further, when the selection unit 11 is notified of the NIC used for communication, the response transmission unit 13 generates response information including the NIC address notified from the selection unit 11. And the response transmission part 13 produces | generates the communication reservation which shows the process which transmits the produced | generated response information using NIC notified from the selection part 11, and the NIC which the transmission origin of the connection request used.

その後、応答送信部13は、生成された通信予約を保留部15に送信する。また、応答送信部13は、接続要求情報を受信した場合には、他のコンピュータから情報が送信されてくる旨の通知を通信部14に送信する。   Thereafter, the response transmission unit 13 transmits the generated communication reservation to the holding unit 15. In addition, when the response transmission unit 13 receives the connection request information, the response transmission unit 13 transmits a notification that information is transmitted from another computer to the communication unit 14.

ここで、応答送信部13が実行する処理の例を説明するが、以下の例では、応答送信部13は、コンピュータ25から送信された接続要求情報を受信するものとする。また、コンピュータ25は、NIC51とNIC31を使用して接続要求情報を送信したものとする。例えば、応答送信部13は、コンピュータ25から送信された接続要求情報をNIC31を介して受信した場合には、NICを選択する旨の指示を選択部11へ送信する。   Here, an example of processing executed by the response transmission unit 13 will be described. In the following example, the response transmission unit 13 receives connection request information transmitted from the computer 25. Further, it is assumed that the computer 25 transmits connection request information using the NIC 51 and the NIC 31. For example, when the connection request information transmitted from the computer 25 is received via the NIC 31, the response transmission unit 13 transmits an instruction to select the NIC to the selection unit 11.

また、応答送信部13は、受信された応答情報に基づいて、受信された接続要求情報を送信するために使用されたコンピュータ25のNIC51を判別する。また、応答送信部13は、通信に使用するNICとしてNIC30を選択部11から通知された場合には、NIC30のアドレスを含んだ応答情報を生成する。そして、応答送信部13は、生成された応答情報をNIC30とNIC51とを使用してコンピュータ25に送信する処理を示す通信予約を生成する。その後、応答送信部13は、生成された通信予約を保留部15に送信する。   Moreover, the response transmission part 13 discriminate | determines NIC51 of the computer 25 used in order to transmit the received connection request information based on the received response information. Further, when the NIC 30 is notified from the selection unit 11 as the NIC used for communication, the response transmission unit 13 generates response information including the address of the NIC 30. And the response transmission part 13 produces | generates the communication reservation which shows the process which transmits the produced | generated response information to the computer 25 using NIC30 and NIC51. Thereafter, the response transmission unit 13 transmits the generated communication reservation to the holding unit 15.

通信部14は、接続要求送信部12によって送信された接続要求情報に対する応答情報を、他のコンピュータ21〜25から受信した場合には、受信された応答情報から、他のコンピュータ21〜25が応答情報を送信するために使用したNICを特定する。また、通信部14は、応答情報を他のコンピュータ21〜25から受信した場合には、受信された応答情報から、他のコンピュータ21〜25に係る選択部によって選択されたNICを一意に特定するアドレスを識別する。   When the communication unit 14 receives response information for the connection request information transmitted by the connection request transmission unit 12 from the other computers 21 to 25, the other computers 21 to 25 respond from the received response information. Identify the NIC that was used to send the information. Further, when the response unit 14 receives the response information from the other computers 21 to 25, the communication unit 14 uniquely identifies the NIC selected by the selection unit related to the other computers 21 to 25 from the received response information. Identify the address.

そして、通信部14は、識別されたアドレスから、応答情報を送信したコンピュータが応答情報を送信するために使用したNICを特定する。そして、通信部14は、接続要求送信部12が接続要求情報を送信するために使用したNICと特定されたNICとを使用して、他のコンピュータ21〜25と情報の送受信を行う。   And the communication part 14 specifies NIC used in order that the computer which transmitted response information may transmit response information from the identified address. And the communication part 14 transmits / receives information with the other computers 21-25 using the NIC used for the connection request transmission part 12 transmitting connection request information, and identified NIC.

具体的には、通信部14は、情報記憶部16に記憶された情報を他のコンピュータ21〜25のいずれかに送信する場合には、情報を送信する旨の通知を接続要求送信部12へ送信する。また、通信部14は、情報の送信先となるコンピュータを接続要求送信部12に通知する。   Specifically, when the communication unit 14 transmits the information stored in the information storage unit 16 to any of the other computers 21 to 25, the communication unit 14 notifies the connection request transmission unit 12 that the information is transmitted. Send. In addition, the communication unit 14 notifies the connection request transmission unit 12 of the computer that is the transmission destination of information.

また、通信部14は、コンピュータ20から送信された接続要求情報に対する応答情報を他のコンピュータより受信する。また、通信部14は、応答情報を受信した場合には、受信された応答情報に含まれているNICのアドレスに基づいて、受信された応答情報を送信するために使用された送信元のNICを判別する。   Further, the communication unit 14 receives response information for the connection request information transmitted from the computer 20 from another computer. Further, when receiving the response information, the communication unit 14 based on the address of the NIC included in the received response information, the source NIC used to transmit the received response information Is determined.

そして、通信部14は、応答情報を受信したコンピュータ20のNICと、判別された送信元のNICとを使用して情報記憶部16に記憶された情報を送信先のコンピュータへ送信する処理を実行する。つまり、通信部14は、処理を示す通信予約を生成し、生成された通信予約を保留部15に送信する。   Then, the communication unit 14 performs processing for transmitting the information stored in the information storage unit 16 to the destination computer using the NIC of the computer 20 that has received the response information and the determined NIC of the transmission source. To do. That is, the communication unit 14 generates a communication reservation indicating processing, and transmits the generated communication reservation to the holding unit 15.

また、通信部14は、他のコンピュータから情報が送信されてくる旨の通知を応答送信部13から取得した場合には、送信されてくる情報を格納するための領域を情報記憶部16に確保する。そして、通信部14は、他のコンピュータから送信された情報を各NIC30〜33のいずれかが受信した場合には、受信された情報を取得し、情報記憶部16に確保された領域に取得された情報を格納する。   Further, when the communication unit 14 obtains a notification that information is transmitted from another computer from the response transmission unit 13, the communication unit 14 secures an area for storing the transmitted information in the information storage unit 16. To do. Then, when any of the NICs 30 to 33 receives information transmitted from another computer, the communication unit 14 acquires the received information and is acquired in an area secured in the information storage unit 16. Stored information.

ここで、通信部14が実行する処理の例を説明するが、以下の例では、通信部14は、応答情報をコンピュータ25から受信するものとする。また、コンピュータ25はNIC51とNIC30とを使用して応答情報を送信したものとする。   Here, although the example of the process which the communication part 14 performs is demonstrated, the communication part 14 shall receive response information from the computer 25 in the following examples. Further, it is assumed that the computer 25 transmits the response information using the NIC 51 and the NIC 30.

例えば、通信部14は、コンピュータ20からコンピュータ25へ送信された接続要求情報に対する応答情報をNIC30を使用して受信した場合には、応答情報に含まれたNICのアドレスに基づいて、送信元のNIC51を判別する。そして、通信部14は、NIC30とNIC51とを使用して情報記憶部16に記憶された情報をコンピュータ25へ送信する処理を示す通信予約を生成する。その後、通信部14は、生成された通信予約を保留部15に送信する。   For example, when the communication unit 14 receives response information for the connection request information transmitted from the computer 20 to the computer 25 using the NIC 30, the communication unit 14 determines the transmission source information based on the address of the NIC included in the response information. The NIC 51 is determined. And the communication part 14 produces | generates the communication reservation which shows the process which transmits the information memorize | stored in the information storage part 16 to the computer 25 using NIC30 and NIC51. Thereafter, the communication unit 14 transmits the generated communication reservation to the holding unit 15.

また、通信部14は、コンピュータ25から情報が送信されてくる旨の通知を応答送信部13から取得した場合には、送信されてくる情報を格納するための領域を情報記憶部16に確保する。そして、通信部14は、コンピュータ25から送信された情報をNIC31が受信した場合には、受信された情報を取得し、情報記憶部16に確保された領域に取得された情報を格納する。   Further, when the communication unit 14 obtains a notification that information is transmitted from the computer 25 from the response transmission unit 13, the communication unit 14 secures an area for storing the transmitted information in the information storage unit 16. . When the NIC 31 receives information transmitted from the computer 25, the communication unit 14 acquires the received information and stores the acquired information in an area secured in the information storage unit 16.

このように、コンピュータ20は、コンピュータ25に情報を送信する場合には、自装置の各NIC30〜33のうち、情報の送受信処理に最適なNICを使用してコンピュータ25に接続要求情報を送信する。また、コンピュータ25は、接続要求情報に対応する応答情報を、自装置の各NIC50〜53のうち、情報の送受信処理に最適なNICを使用してコンピュータ20に応答情報を送信する。そして、コンピュータ20は、コンピュータ25から応答情報を受信した場合には、自装置が接続要求情報を送信するために使用したNICと、コンピュータ25が応答情報を送信するために使用したNICとを用いて、情報の送受信処理を実行する。   As described above, when transmitting information to the computer 25, the computer 20 transmits connection request information to the computer 25 using the NIC that is most suitable for information transmission / reception processing among the NICs 30 to 33 of its own device. . Further, the computer 25 transmits the response information corresponding to the connection request information to the computer 20 using the NIC most suitable for information transmission / reception processing among the NICs 50 to 53 of the own device. When the computer 20 receives the response information from the computer 25, the computer 20 uses the NIC used by the own device for transmitting the connection request information and the NIC used by the computer 25 for transmitting the response information. The information transmission / reception process is executed.

つまり、コンピュータ20は、自装置の通信状況だけではなく、コンピュータ25の通信状況も考慮して通信に使用されるNICを選択する。このため、コンピュータ20は、情報の送受信処理に最適な自装置のNICと、情報の送受信処理に最適な送信先のNICとを使用して情報の送受信処理を実行することができる。この結果、コンピュータ20は、送信先のNICで競合を起こす可能性を低くすることができる結果、システム全体のスループットを改善することができる。   That is, the computer 20 selects the NIC used for communication in consideration of not only the communication status of the own device but also the communication status of the computer 25. For this reason, the computer 20 can execute the information transmission / reception process using the NIC of the own apparatus optimal for the information transmission / reception process and the destination NIC optimal for the information transmission / reception process. As a result, the computer 20 can reduce the possibility of contention in the destination NIC, thereby improving the overall system throughput.

また、コンピュータ20は、情報を送受信するために使用されるNICの組み合わせを限定することなく、情報の送受信を実行することができる。例えば、N個のNICを有する2台のコンピュータが情報の送受信を行う場合には、使用されるNICの組み合わせの数はNの累乗個となる。このため、図6に示すように、コンピュータ20は、インターフェースの組み合わせが多く、ネットワークインタフェースの競合を抑制することができる。この結果、コンピュータ20は、システム全体のスループットを改善することができる。図6は、実施例2に係るコンピュータの効果を説明するための図である。   Further, the computer 20 can execute transmission / reception of information without limiting the combination of NICs used for transmitting / receiving information. For example, when two computers having N NICs transmit and receive information, the number of NIC combinations used is a power of N. For this reason, as shown in FIG. 6, the computer 20 has many combinations of interfaces, and can suppress competition of network interfaces. As a result, the computer 20 can improve the throughput of the entire system. FIG. 6 is a diagram for explaining the effect of the computer according to the second embodiment.

次に、図7を用いて、接続要求情報と、接続要求情報に対する応答情報とを送受信する具体例を説明する。図7は、接続要求情報と接続要求情報に対する応答情報とを説明するための図である。図7に示す例では、コンピュータ20及びコンピュータ25は、Rendezvousプロトコルを利用してメッセージ通信を実行するアプリケーションプログラムを実行するものする。   Next, a specific example of transmitting / receiving connection request information and response information to the connection request information will be described with reference to FIG. FIG. 7 is a diagram for explaining connection request information and response information to the connection request information. In the example illustrated in FIG. 7, the computer 20 and the computer 25 execute an application program that executes message communication using the Rendezvous protocol.

このアプリケーションプログラムは、上述したプロセス実行部10によって実行されるものとする。また、図7に示す例では、コンピュータ20、及び、コンピュータ25は、MPIライブラリを使用して接続要求情報と応答情報とを送受信するものとする。なお、各コンピュータが有するNICのうち、NIC32〜33、52〜53については、図示を省略した。   This application program is executed by the process execution unit 10 described above. In the example illustrated in FIG. 7, the computer 20 and the computer 25 transmit and receive connection request information and response information using the MPI library. Of the NICs included in each computer, the NICs 32 to 33 and 52 to 53 are not shown.

まず、コンピュータ20で実行されるアプリケーションプログラムは、接続要求情報として、「MPI_Isend」を呼び出すことによって、NIC30からRendezvous要求をコンピュータ25へ送信する。コンピュータ25で実行されるアプリケーションプログラムは、NIC30から送信されたRendezvous要求を受信すると、メモリ上にデータ領域を作成する。   First, the application program executed on the computer 20 transmits a Rendezvous request from the NIC 30 to the computer 25 by calling “MPI_Isend” as connection request information. When the application program executed by the computer 25 receives the Rendezvous request transmitted from the NIC 30, it creates a data area on the memory.

また、コンピュータ25で実行されるアプリケーションプログラムは、自装置にとって情報の送受信を行うのに適切なNICであるNIC51を選択する。そして、コンピュータ25で実行されるアプリケーションプログラムは、「MPI_Irecv」を呼び出して、Rendezvous応答を応答情報としてコンピュータ20へ送信する。   Further, the application program executed on the computer 25 selects the NIC 51 that is an appropriate NIC for transmitting and receiving information to the own apparatus. Then, the application program executed on the computer 25 calls “MPI_Irecv” and transmits a Rendezvous response to the computer 20 as response information.

この時、コンピュータ25は、Rendezvous応答をNIC51から送信することで、コンピュータ25にとって情報の受信を行うために適切なNICをコンピュータ20のアプリケーションプログラムに通知することとなる。   At this time, the computer 25 sends a Rendezvous response from the NIC 51 to notify the application program of the computer 20 of an appropriate NIC for the computer 25 to receive information.

このように、受信側のアプリケーションは、送信側のアプリケーションプログラムからRendezvous要求を受信した場合には、情報を受信するための準備、つまり、データ領域の作成、及び、使用するNICの選択を実行する。そして、受信側のアプリケーションは、情報を受信するための準備が終了した場合には、Rendezvous応答をRendezvous要求の送信元へ送信する。   As described above, when receiving the Rendezvous request from the transmission-side application program, the reception-side application executes preparation for receiving information, that is, creation of the data area and selection of the NIC to be used. . Then, when preparation for receiving information is completed, the receiving-side application transmits a Rendezvous response to the Rendezvous request transmission source.

次に、図8を用いて、コンピュータ20の情報をコンピュータ25へ送信する処理の流れを説明する。図8は、情報の送受信を説明するための図である。まず、コンピュータ20は、Rendezvous要求を送信するためのNICとして、自装置のNIC31を選択する。次に、コンピュータ20は、NIC31からRendezvous要求を送信する。ここで、Rendezvous要求には、NIC31のアドレスである「Send NIC:31」と、送信される情報を格納したメモリアドレスを示す情報である「Send Address:X」とが格納される。   Next, the flow of processing for transmitting information of the computer 20 to the computer 25 will be described with reference to FIG. FIG. 8 is a diagram for explaining transmission and reception of information. First, the computer 20 selects its own NIC 31 as the NIC for transmitting the Rendezvous request. Next, the computer 20 transmits a Rendezvous request from the NIC 31. Here, in the Rendezvous request, “Send NIC: 31” which is the address of the NIC 31 and “Send Address: X” which is information indicating the memory address where the transmitted information is stored are stored.

コンピュータ25は、NIC31から送信されたRendezvous要求を受信した場合には、情報を受信するためのNICとして、自装置のNIC52を選択する。そして、コンピュータ25は、Rendezvous応答として「GET」をNIC52から送信する。   When the computer 25 receives the Rendezvous request transmitted from the NIC 31, the computer 25 selects the NIC 52 of its own device as the NIC for receiving information. Then, the computer 25 transmits “GET” from the NIC 52 as a Rendezvous response.

ここで、Rendezvous応答として送信された「GET」には、Rendezvous要求に格納された情報に加えて、コンピュータ25によって選択されたNIC52のアドレスである「Recv NIC:52」が格納される。また、Rendezvous応答として送信された「GET」には、送信される情報を格納するコンピュータ25のメモリアドレス「Recv Address:Y」が格納される。   Here, “GET” transmitted as the Rendezvous response stores “Recv NIC: 52” which is the address of the NIC 52 selected by the computer 25 in addition to the information stored in the Rendezvous request. The “GET” transmitted as the Rendezvous response stores the memory address “Recv Address: Y” of the computer 25 that stores the transmitted information.

コンピュータ20は、Rendezvous応答として送信された「GET」を受信した場合には、受信された「GET」に格納された情報に従って、自装置の情報をコンピュータ25へ送信する。つまり、コンピュータ20は、NIC31とNIC52とを使用して、自装置のメモリアドレスXに格納されたデータを、コンピュータ25のメモリアドレスYへ送信する。   When the computer 20 receives “GET” transmitted as a Rendezvous response, the computer 20 transmits information on the own device to the computer 25 in accordance with the information stored in the received “GET”. That is, the computer 20 uses the NIC 31 and the NIC 52 to transmit the data stored in the memory address X of the own device to the memory address Y of the computer 25.

次に、図9〜11を用いて、実施例2に係るコンピュータが実行する通信処理の流れを説明する。まず、図9を用いて、Rendezvous要求を送信する処理について説明する。図9は、Rendezvous要求を送信する処理について説明するための図である。   Next, the flow of communication processing executed by the computer according to the second embodiment will be described with reference to FIGS. First, processing for transmitting a Rendezvous request will be described with reference to FIG. FIG. 9 is a diagram for explaining a process of transmitting a Rendezvous request.

図9に示す例では、コンピュータ20は、プロセスの中で送信関数「MPI_Isend」が呼び出されると、コンピュータ20が有する各NIC30〜33のうち、最も空いているNIC30を選択する。そして、コンピュータ20は、「MPI_Isend」によって送信される情報のメモリアドレス情報とNIC30のアドレスとを含むRendezvous要求を、NIC30を使用して送信する。   In the example illustrated in FIG. 9, when the transmission function “MPI_Isend” is called in the process, the computer 20 selects the NIC 30 that is vacant among the NICs 30 to 33 included in the computer 20. Then, the computer 20 uses the NIC 30 to transmit a Rendezvous request including the memory address information of the information transmitted by “MPI_Isend” and the address of the NIC 30.

次に、図10を用いて、受信側のコンピュータがNICを選択する処理について説明する。図10は、受信側のコンピュータがNICを選択する処理を説明するための図である。図10に示す例では、コンピュータ25は、コンピュータ20で呼び出された「MPI_Isend」に対応する「MPI_Irecv」が呼び出された場合には、コンピュータ20が送信したRendezvous要求を受信する。次に、コンピュータ25は、最も空いているNIC51を選択する。   Next, a process of selecting a NIC by the receiving computer will be described with reference to FIG. FIG. 10 is a diagram for explaining processing in which a receiving computer selects a NIC. In the example illustrated in FIG. 10, when “MPI_Irecv” corresponding to “MPI_Isend” called by the computer 20 is called, the computer 25 receives the Rendezvous request transmitted by the computer 20. Next, the computer 25 selects the vacant NIC 51.

次に、図11を用いて、コンピュータが情報を送受信する処理について説明する。図11は、実施例2に係るコンピュータが情報を送受信する処理を説明するための図である。図11に示す例では、コンピュータ25は、NIC51と、コンピュータ20が情報を送信するのに最適なNICであるNIC30とを使用して、「GET」をコンピュータ20へ送信する。   Next, the process in which a computer transmits / receives information is demonstrated using FIG. FIG. 11 is a diagram for explaining processing in which the computer according to the second embodiment transmits and receives information. In the example illustrated in FIG. 11, the computer 25 transmits “GET” to the computer 20 using the NIC 51 and the NIC 30 which is the most suitable NIC for the computer 20 to transmit information.

そして、コンピュータ25は、図11中の点線で示すように、NIC30とNIC51とを使用して、情報を受信する。なお、「GET」には、NIC30を示す情報、コンピュータ20から送信される情報のアドレス、NIC51を示す情報、及びコンピュータ25が情報を格納するアドレスが含まれる。また、図11に示す例では、コンピュータ25は、「GET」によるRDMA(Remote Direct Memory Access)転送によって、情報を受信する。   Then, the computer 25 receives information using the NIC 30 and the NIC 51 as indicated by a dotted line in FIG. “GET” includes information indicating the NIC 30, an address of information transmitted from the computer 20, information indicating the NIC 51, and an address where the computer 25 stores information. In the example shown in FIG. 11, the computer 25 receives information by RDMA (Remote Direct Memory Access) transfer by “GET”.

[コンピュータの処理の流れ]
次に、図12を用いて、実施例2に係るコンピュータが実行する処理の流れを説明する。図12は、実施例2に係るコンピュータが実行する処理の流れを説明するためのシーケンス図である。図12に示す例では、コンピュータ20は、実行するプロセスによって「MPI_Isend」が呼び出されたことをトリガとして処理を開始する。また、コンピュータ25は、実行するプロセスによって「MPI_Irecv」が呼び出されたことをトリガとして処理を開始する。
[Computer processing flow]
Next, the flow of processing executed by the computer according to the second embodiment will be described with reference to FIG. FIG. 12 is a sequence diagram for explaining the flow of processing executed by the computer according to the second embodiment. In the example illustrated in FIG. 12, the computer 20 starts processing with “MPI_Isend” being called by a process to be executed as a trigger. In addition, the computer 25 starts processing with “MPI_Irecv” being called by a process to be executed as a trigger.

まず、コンピュータ20は、情報を送信するのに適切な空きNICを検索する(ステップS101)。次に、コンピュータ20は、Rendezvous要求を送信する処理を示す通信予約を追加する(ステップS102)。次に、コンピュータ20は、通信予約に係るRendezvous要求を送信する処理を実行する(ステップS103)。   First, the computer 20 searches for a free NIC suitable for transmitting information (step S101). Next, the computer 20 adds a communication reservation indicating processing for transmitting a Rendezvous request (step S102). Next, the computer 20 executes a process of transmitting a Rendezvous request related to communication reservation (step S103).

一方、コンピュータ25は、「MPI_Irecv」が呼び出された場合には、対応する「MPI_Isend」によるRendezvous要求の受信を待つ(ステップS104)。そして、コンピュータ25は、Rendezvous要求を受信すると、自装置の空きNICを検索する(ステップS105)。   On the other hand, when “MPI_Irecv” is called, the computer 25 waits for reception of a Rendezvous request by the corresponding “MPI_Isend” (step S104). Then, when receiving the Rendezvous request, the computer 25 searches for a free NIC of its own device (step S105).

次に、コンピュータ25は、通信予約リストにRendezvous応答である「GET」を送信する処理を示す通信予約を追加する(ステップS106)。そして、コンピュータ25は、選択された空きNICにGETを指示し(ステップS107)、GETの制御信号をコンピュータ20へ送信する(ステップS108)。   Next, the computer 25 adds a communication reservation indicating processing for transmitting “GET” as a Rendezvous response to the communication reservation list (step S106). Then, the computer 25 instructs GET to the selected empty NIC (step S107), and transmits a GET control signal to the computer 20 (step S108).

コンピュータ20は、制御信号を受信した場合には(ステップS109)、I/F(Interface)の設定を行う(ステップS110)。つまり、コンピュータ20は、ステップS101にて選択されたNICとステップS105にて選択されたNICとを使用して情報を送信するための設定を行う。   When the computer 20 receives the control signal (step S109), the computer 20 sets the I / F (Interface) (step S110). That is, the computer 20 performs setting for transmitting information using the NIC selected in step S101 and the NIC selected in step S105.

次に、コンピュータ20は、ステップS101にて選択されたNICとステップS105にて選択されたNICとを使用して、データをコンピュータ25へ送信する(ステップS111)。また、コンピュータ25は、ステップS101にて選択されたNICとステップS105にて選択されたNICとを使用して送信されたデータを受信する(ステップS112)。   Next, the computer 20 transmits data to the computer 25 using the NIC selected in step S101 and the NIC selected in step S105 (step S111). Further, the computer 25 receives data transmitted using the NIC selected in step S101 and the NIC selected in step S105 (step S112).

そして、コンピュータ25は、データを受信した場合には、実行したRendezvous応答に係る通信予約を削除する(ステップS113)。また、コンピュータ20は、データを送信した場合には、実行したRendezvous要求に係る通信予約を削除する(ステップS114)。   When the computer 25 receives the data, the computer 25 deletes the communication reservation related to the executed Rendezvous response (step S113). Further, when the data is transmitted, the computer 20 deletes the communication reservation related to the executed Rendezvous request (step S114).

[実施例2の効果]
上述したように、実施例2に係るコンピュータ20は、コンピュータ25と通信する場合には、NIC30〜31の通信状況に応じて、通信に使用するNICを選択する。そして、コンピュータ20は、選択されたNICからコンピュータ25へ接続要求情報を送信する。また、コンピュータ25は、接続要求情報を受信した場合には、通信に使用するNICを選択し、選択されたNICを使用して、接続要求情報に対する応答をコンピュータ20へ送信する。
[Effect of Example 2]
As described above, when communicating with the computer 25, the computer 20 according to the second embodiment selects a NIC to be used for communication according to the communication status of the NICs 30 to 31. Then, the computer 20 transmits connection request information from the selected NIC to the computer 25. Further, when the computer 25 receives the connection request information, the computer 25 selects a NIC to be used for communication, and transmits a response to the connection request information to the computer 20 using the selected NIC.

そして、コンピュータ20は、送信した接続要求情報に対する応答情報を他のコンピュータから受信した場合には、受信した応答情報から、コンピュータ25が使用したNICを特定する。その後、コンピュータ20は、自装置が選択したNICと、特定されたNICとを使用して、情報をコンピュータ25へ送信する。   When the computer 20 receives response information for the transmitted connection request information from another computer, the computer 20 identifies the NIC used by the computer 25 from the received response information. Thereafter, the computer 20 transmits information to the computer 25 using the NIC selected by the own device and the identified NIC.

このため、コンピュータ20は、情報をコンピュータ25へ送信する場合には、コンピュータ25の通信状況に応じたNICを選択することができる。つまり、送信側と受信側との通信状況に応じて、通信を行うために都合の良いNICを決定することができる。この結果、コンピュータ20は、コンピュータ25でのネットワークインタフェースの競合の抑制することができる。また、コンピュータ20は、システム全体のスループットを改善することができる。また、コンピュータ20は、コンピュータ20とコンピュータ25が有する全てのNICを利用することができるため、ネットワークインタフェースの競合を抑制し、システム全体のスループットを向上させることができる。   Therefore, the computer 20 can select a NIC corresponding to the communication status of the computer 25 when transmitting information to the computer 25. That is, a convenient NIC for performing communication can be determined according to the communication status between the transmission side and the reception side. As a result, the computer 20 can suppress network interface contention in the computer 25. Further, the computer 20 can improve the throughput of the entire system. Further, since the computer 20 can use all the NICs included in the computer 20 and the computer 25, it is possible to suppress network interface contention and improve the throughput of the entire system.

また、コンピュータ20は、システムの構造に関係なくネットワークインタフェースの競合を抑制することができるので、システム全体のスループットを向上させることができる。   In addition, since the computer 20 can suppress network interface contention regardless of the system structure, the overall throughput of the system can be improved.

また、コンピュータ20は、インターフェースを使用するための通信予約に応じて、コンピュータ25との通信に使用されるインターフェースを選択する。また、コンピュータ20は、NICを使用するための通信予約に応じて、コンピュータ25からの情報の受信に使用されるNICを選択する。このため、コンピュータ20は、通信に用いられるNICを適切に選択することが出来る結果、システム全体のスループットを改善することができる。   Further, the computer 20 selects an interface to be used for communication with the computer 25 in accordance with a communication reservation for using the interface. Further, the computer 20 selects a NIC used for receiving information from the computer 25 in accordance with a communication reservation for using the NIC. Therefore, the computer 20 can appropriately select the NIC used for communication, and as a result, the throughput of the entire system can be improved.

また、コンピュータ25は、自装置が選択したNICのアドレスを含んだ応答情報を送信する。このため、コンピュータ20は、通信に用いられる適切なNICを選択することができるので、ネットワークインタフェースの競合を抑制し、システム全体のスループットを向上させることができる。   In addition, the computer 25 transmits response information including the address of the NIC selected by the own device. For this reason, since the computer 20 can select an appropriate NIC used for communication, contention of the network interface can be suppressed and the throughput of the entire system can be improved.

また、メッセージ通信のたびに送信側と受信側とで互いに適切なネットワークインターフェースを調べ、その情報を相互で共有するのは、情報共有のための通信が別途必要となり、オーバーヘッドが大きくなる結果、システムのスループットを悪化させてしまう。   In addition, each time a message is communicated, the sending side and the receiving side check each other for an appropriate network interface, and the information is shared with each other because communication for information sharing is required separately, resulting in increased overhead. Will degrade the throughput.

しかし、各コンピュータ20〜25は、Rendezvous要求とRendezvous応答のやり取りを利用することによって、自装置が通信に用いたいNICを通知するので、ごく少ないオーバーヘッドで情報を共有することができる。この結果、各コンピュータ20〜25は、効率的にネットワークインターフェース利用頻度を平準化し、システム全体のスループットを向上させる。   However, each of the computers 20 to 25 uses the exchange of the Rendezvous request and the Rendezvous response to notify the NIC that the own device wants to use for communication, so that information can be shared with very little overhead. As a result, each of the computers 20 to 25 efficiently equalizes the network interface usage frequency and improves the throughput of the entire system.

なお、本実施例の説明においては、コンピュータ20とコンピュータ25との通信について説明した。しかし、本実施例に開示の発明は、コンピュータ20とコンピュータ25との間の通信のみならず、任意のコンピュータ間における通信について、適用することができ、同様の効果を奏することは言うまでもない。   In the description of the present embodiment, communication between the computer 20 and the computer 25 has been described. However, it goes without saying that the invention disclosed in the present embodiment can be applied not only to communication between the computer 20 and the computer 25 but also to communication between arbitrary computers and has the same effect.

これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例3として本発明に含まれる他の実施例を説明する。   Although the embodiments of the present invention have been described so far, the embodiments may be implemented in various different forms other than the embodiments described above. Therefore, another embodiment included in the present invention will be described below as a third embodiment.

(1)NICについて
上述した実施例では、ネットワークインターフェースを有する情報処理装置の一例として、NIC(Network Interface Card)を有するコンピュータについて説明した。しかし、実施例は、これに限定されるものではなく、例えば、ネットワークインターフェースとして、HCA(Host Channel Adapter)やSCSI(Small Computer System Interface)であってもよい。
(1) About NIC In the embodiment described above, a computer having a NIC (Network Interface Card) has been described as an example of an information processing apparatus having a network interface. However, the embodiment is not limited to this. For example, the network interface may be an HCA (Host Channel Adapter) or an SCSI (Small Computer System Interface).

(2)プロトコルについて
上述した実施例では、Rendezvousプロトコルを利用した通信を行うコンピュータについて説明した。しかし、実施例は、これに限定されるものではなく、例えば、通信を行う情報処理装置間で、接続要求情報と応答情報とをやり取りするプロトコルであれば、本願の発明を適用可能である。
(2) Protocol In the embodiment described above, a computer that performs communication using the Rendezvous protocol has been described. However, the embodiment is not limited to this. For example, the present invention can be applied to any protocol that exchanges connection request information and response information between information processing apparatuses that perform communication.

(3)保留部について
上述した実施例では、保留部15によって一時的に保留された通信予約の数によって、通信に使用されるNICを選択していた。しかし、実施例は、これに限定されるものではなく、例えば、各通信予約が示す処理がNICを使用するであろう時間を算出し、算出された時間が最も短いNICを選択してもよい。また、通信予約が示す処理が通信処理によってやり取りする情報量を算出し、算出された情報量が最も小さいNICを選択してもよい。
(3) Regarding the holding unit In the embodiment described above, the NIC used for communication is selected according to the number of communication reservations temporarily held by the holding unit 15. However, the embodiment is not limited to this. For example, the time that the processing indicated by each communication reservation will use the NIC may be calculated, and the NIC with the shortest calculated time may be selected. . Further, the amount of information exchanged by the processing indicated by the communication reservation may be calculated, and the NIC with the smallest calculated information amount may be selected.

(4)プログラム
ところで、実施例1に係る情報処理装置、および実施例2に示すコンピュータは、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムを情報処理装置、又は、コンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図13を用いて、実施例1に示した情報処理装置と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図13は、通信プログラムを実行するコンピュータの一例を説明するための図である。
(4) Program By the way, the information processing apparatus according to the first embodiment and the computer shown in the second embodiment described the case where various processes are realized using hardware. However, the embodiment is not limited to this, and may be realized by executing a program prepared in advance by an information processing apparatus or a computer. In the following, an example of a computer that executes a program having the same function as that of the information processing apparatus described in the first embodiment will be described with reference to FIG. FIG. 13 is a diagram for describing an example of a computer that executes a communication program.

図13に例示されたコンピュータ200は、RAM(Random Access Memory)120、ROM(Read Only Memory)130、HDD(Hard Disk Drive)150がバス170で接続される。また、図13に例示されたコンピュータ200は、CPU(Central Processing Unit)140がバス170で接続される。さらにバス170には、ネットワークと接続するための複数のインターフェースであるI/O(Input Output)160〜162が接続される。   In the computer 200 illustrated in FIG. 13, a RAM (Random Access Memory) 120, a ROM (Read Only Memory) 130, and an HDD (Hard Disk Drive) 150 are connected by a bus 170. Further, the computer 200 illustrated in FIG. 13 is connected to a CPU (Central Processing Unit) 140 via a bus 170. Further, I / O (Input Output) 160 to 162 which are a plurality of interfaces for connecting to the network are connected to the bus 170.

ROM130には、第一検索プログラム132、接続要求送信プログラム133、特定プログラム134、通信プログラム135、第二選択プログラム136、応答送信プログラム137があらかじめ保持される。CPU140が各プログラム132〜137をROM130から読み出して実行することによって、図13に示す例では、各プログラム132〜133は、第一検索プロセス142、接続要求送信プロセス143として機能するようになる。   In the ROM 130, a first search program 132, a connection request transmission program 133, a specifying program 134, a communication program 135, a second selection program 136, and a response transmission program 137 are stored in advance. When the CPU 140 reads out the programs 132 to 137 from the ROM 130 and executes them, the programs 132 to 133 function as the first search process 142 and the connection request transmission process 143 in the example shown in FIG.

また、各プログラム134〜137は、特定プロセス144、通信プロセス145、第二選択プロセス146、応答送信プロセス147として機能するようになる。なお、各プロセス142〜147は、図1に示した各部2〜7と同様の機能を発揮する。また、各プロセス142〜147は、実施例2に係る各部と同等の機能を発揮するようにすることも可能である。   The programs 134 to 137 function as a specific process 144, a communication process 145, a second selection process 146, and a response transmission process 147. In addition, each process 142-147 exhibits the function similar to each part 2-7 shown in FIG. Moreover, each process 142-147 can also be made to exhibit the function equivalent to each part which concerns on Example 2. FIG.

なお、本実施例で説明した通信プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。   The communication program described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This program can be distributed via a network such as the Internet.

また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM(Compact Disc Read Only Memory)、MO(Magneto Optical Disc)、DVD(Digital Versatile Disc)などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。   The program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk (FD), a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical Disc), a DVD (Digital Versatile Disc). The The program can also be executed by being read from a recording medium by a computer.

1 情報処理装置
2 第一選択部
3 接続要求送信部
4 特定部
5 通信部
6 第二選択部
7 応答送信部
8a〜8c インターフェース
10 プロセス実行部
11 選択部
12 接続要求送信部
13 応答送信部
14 通信部
15 保留部
16 情報記憶部
20 コンピュータ
30〜33 NIC
DESCRIPTION OF SYMBOLS 1 Information processing apparatus 2 1st selection part 3 Connection request transmission part 4 Identification part 5 Communication part 6 2nd selection part 7 Response transmission part 8a-8c Interface 10 Process execution part 11 Selection part 12 Connection request transmission part 13 Response transmission part 14 Communication unit 15 Reservation unit 16 Information storage unit 20 Computer 30 to 33 NIC

Claims (6)

複数のインターフェースを有する情報処理装置の通信プログラムにおいて、
前記情報処理装置に、
各インターフェースの通信状況に応じて、通信に使用するインターフェースを選択する第一選択手順と、
前記第一選択手順によって選択されたインターフェースを使用して、他の情報処理装置へ接続要求情報を送信する接続要求送信手順と、
前記接続要求送信手順によって送信された接続要求情報に対する応答情報を前記他の情報処理装置から受信した場合には、信された前記応答情報から、該他の情報処理装置が応答情報を送信するために使用したインターフェースを特定する特定手順と、
前記接続要求送信手順が前記接続要求情報を送信するために使用したインターフェースと、前記特定手順によって特定されたインターフェースとを使用して、前記情報処理装置と情報の送受信を行う通信手順と、
他の情報処理装置から接続要求情報を受信した場合には、各インターフェースの通信状況に応じて、前記他の情報処理装置との通信に使用するインターフェースを選択する第二選択手順と、
前記第二選択手順によって選択されたインターフェースを使用して、前記受信された接続要求情報の送信元へ前記受信された接続要求情報に対する応答情報を送信する応答送信手順と
を実行させることを特徴とする情報処理装置の通信プログラム。
In a communication program for an information processing apparatus having a plurality of interfaces,
In the information processing apparatus,
A first selection procedure for selecting an interface to be used for communication according to the communication status of each interface;
A connection request transmission procedure for transmitting connection request information to another information processing apparatus using the interface selected by the first selection procedure;
When receiving the response information to the connection request information transmitted by the connection request transmission procedure from the other information processing apparatus, from said response information has been received, said other information processing apparatus transmits the response information Specific steps to identify the interface used to
Using the interface, wherein the connection request transmission procedure is used to transmit the connection request information, and an interface that is specified by the specifying step, a communication procedure for transmitting and receiving said information processing apparatus and information,
When receiving the connection request information from the other information processing apparatus, a second selection procedure that selects an interface according to the communication status of each interface is used to communicate with the other information processing apparatus,
A response transmission procedure for transmitting response information for the received connection request information to a transmission source of the received connection request information using the interface selected by the second selection procedure;
The communication program of an information processing apparatus, characterized in that to perform.
前記情報処理装置の通信プログラムにおいて、
前記第一選択手順は、前記各インターフェースを使用するための通信予約に応じて、前記他の情報処理装置への情報の送信に使用されるインターフェースを選択し、
前記第二選択手順は、前記各インターフェースを使用するための通信予約に応じて、前記他の情報処理装置からの情報の受信に使用されるインターフェースを選択する
ことを特徴とする請求項1に記載の情報処理装置の通信プログラム。
In the communication program of the information processing apparatus,
The first selection procedure selects an interface used for transmitting information to the other information processing apparatus according to a communication reservation for using each of the interfaces.
The said 2nd selection procedure selects the interface used for reception of the information from said other information processing apparatus according to the communication reservation for using each said interface. Program of information processing apparatus .
前記情報処理装置の通信プログラムにおいて、
前記特定手順は、前記接続要求送信手順によって送信された接続要求情報に対する応答情報を前記他の情報処理装置から受信した場合には、信された前記応答情報から、前記他の情報処理装置が有する各インターフェースの通信状況に応じて選択された前記他の情報処理装置が前記情報処理装置との通信に使用するインターフェースを特定する特定情報を識別し、別された前記特定情報から、該他の情報処理装置が応答情報を送信するために使用したインターフェースを特定し、
前記応答送信手順は、前記第二選択手順によって選択されたインターフェースを特定する前記特定情報を含んだ前記応答情報を送信する
ことを特徴とする請求項1または2に記載の情報処理装置の通信プログラム。
In the communication program of the information processing apparatus,
The specific procedure, when receiving the response information to the connection request information transmitted by the connection request transmission procedure from the other information processing apparatus, from said response information has been received, the other information processing apparatus from the specific information which the other information processing apparatus that is selected according to the communication status of each interface the interface used to communicate with the information processing apparatus identifies a specific information specific was identify with, the Identify the interface that other information processing devices used to send response information,
The response transmitting step, the communication of the information processing apparatus according to claim 1 or 2, characterized in that transmitting the said response information including the identification information of the interface selected by the second selection procedure for specific program.
複数のインターフェースと、
各インターフェースに係る通信状況に応じて、通信に使用するインターフェースを選択する第一選択部と、
前記第一選択部によって選択されたインターフェースを使用して、他の情報処理装置へ接続要求情報を送信する接続要求送信部と、
前記接続要求送信部によって送信された接続要求情報に対する応答情報を前記他の情報処理装置から受信した場合には、信された前記応答情報から、該他の情報処理装置が応答情報を送信するために使用したインターフェースを特定する特定部と、
前記接続要求送信部が前記接続要求を送信するために使用したインターフェースと、前記特定部によって特定されたインターフェースとを使用して、前記他の情報処理装置と情報を送受信する通信部と、
他の情報処理装置から接続要求情報を受信した場合には、各インターフェースの通信状況に応じて、前記他の情報処理装置との通信に使用するインターフェースを選択する第二選択部と、
前記第二選択部によって選択されたインターフェースを使用して、前記受信された接続要求情報の送信元へ受信された前記接続要求情報に対する応答情報を送信する応答送信部と
を有することを特徴とする情報処理装置。
Multiple interfaces,
A first selection unit that selects an interface to be used for communication according to the communication status of each interface;
A connection request transmission unit that transmits connection request information to another information processing apparatus using the interface selected by the first selection unit;
When receiving the response information to the connection request information transmitted by the connection request transmission unit from the other information processing apparatus, from said response information has been received, it said other information processing apparatus transmits the response information A specific part that identifies the interface used for
An interface for the connection request transmission unit is used for transmitting the connection request, a communication unit using the specified interface by the specifying unit, to transmit and receive the other information processing apparatus and information,
When receiving the connection request information from the other information processing apparatus includes a second selection unit that selects an interface according to the communication status of each interface is used to communicate with the other information processing apparatus,
And characterized in that it has a response transmitting unit using an interface selected by the second selecting unit, and transmits the response information in response to the connection request information received to the sender of the received connection request information Information processing apparatus.
互いに通信する第一の情報処理装置と第二の情報処理装置とを有し、
前記第一の情報処理装置は、
複数のインターフェースと、
各インターフェースの通信状況に応じて、前記第二の情報処理装置との通信に使用するインターフェースを選択する第一選択部と、
前記第一選択部によって選択されたインターフェースを使用して、前記第二の情報処理装置へ接続要求情報を送信する接続要求送信部と、
前記接続要求送信部によって送信された接続要求情報に対する応答情報を前記第二の情報処理装置から受信した場合には、信された前記応答情報から、前記第二の情報処理装置が応答情報を送信するために使用したインターフェースを特定する特定部と、
前記接続要求送信部が前記接続要求情報を送信するために使用したインターフェースと、前記特定部によって特定されたインターフェースとを使用して、前記第二の情報処理装置と情報の送受信を行う通信部と、
を有し、
前記第二の情報処理装置は、
複数のインターフェースと、
前記第一の情報処理装置から接続要求情報を受信した場合には、各インターフェースの通信状況に応じて、前記第一の情報処理装置との通信に使用するインターフェースを選択する第二選択部と、
前記第二選択部によって選択されたインターフェースを使用して、前記受信された接続要求情報の送信元へ前記受信された接続要求情報に対する応答情報を送信する応答送信部と
を有することを特徴とする情報処理システム
A first information processing apparatus and a second information processing apparatus that communicate with each other;
The first information processing apparatus includes:
Multiple interfaces,
A first selection unit that selects an interface to be used for communication with the second information processing apparatus according to the communication status of each interface;
A connection request transmission unit that transmits connection request information to the second information processing apparatus using the interface selected by the first selection unit;
When receiving the response information in response to the connection request the connection request information transmitted by the transmission unit from said second information processing apparatus, from said response information has been received, the second information processing apparatus response information A specific part that identifies the interface used to send,
A communication unit that transmits / receives information to / from the second information processing apparatus using the interface used by the connection request transmitting unit to transmit the connection request information and the interface specified by the specifying unit; ,
Have
The second information processing apparatus
Multiple interfaces,
When connection request information is received from the first information processing apparatus, a second selection unit that selects an interface to be used for communication with the first information processing apparatus according to the communication status of each interface;
Using an interface selected by the second selecting unit, and having a response transmitting unit that transmits the response information in response to the received connection request information to the sender of the received connection request information Information processing system .
複数のインターフェースを有し、互いに通信する第一の情報処理装置と第二の情報処理装置とを有する情報処理システムの通信方法であって、
前記第一の情報処理装置が
各インターフェースの通信状況に応じて、前記第二の情報処理装置との通信に使用するインターフェースを選択する第一選択ステップと、
前記第一選択ステップによって選択されたインターフェースを使用して、前記第二の情報処理装置へ接続要求情報を送信する接続要求送信ステップと、
前記接続要求送信ステップによって送信された接続要求情報に対する応答情報を前記第二の情報処理装置から受信した場合には、信された前記応答情報から、前記第二の情報処理装置が応答情報を送信するために使用したインターフェースを特定する特定ステップと、
前記接続要求送信ステップが前記接続要求情報を送信するために使用したインターフェースと、前記特定ステップによって特定されたインターフェースとを使用して、前記第二の情報処理装置と情報の送受信を行う通信ステップと
を含む方法を実行し、
前記第二の情報処理装置が
前記第一の情報処理装置から接続要求情報を受信した場合には、各インターフェースの通信状況に応じて、前記第一の情報処理装置との通信に使用するインターフェースを選択する第二選択ステップと、
前記第二選択ステップによって選択されたインターフェースを使用して、前記受信された接続要求情報の送信元へ前記受信された接続要求情報に対する応答情報を送信する応答送信ステップと
を含む方法を実行することを特徴とする情報処理システムの通信方法。
A communication method of an information processing system having a plurality of interfaces and having a first information processing device and a second information processing device communicating with each other,
A first selection step in which the first information processing apparatus selects an interface to be used for communication with the second information processing apparatus according to a communication status of each interface;
A connection request transmission step of transmitting connection request information to the second information processing apparatus using the interface selected in the first selection step;
When receiving the response information in response to the connection request transmission connection request information transmitted at step from said second information processing apparatus, from said response information has been received, the second information processing apparatus response information Specific steps to identify the interface used to send,
An interface for the connection request transmission step is used to transmit the connection request information, using the specified interface by the specifying step, a communication step of performing transmission and reception of the second information processing apparatus and information Perform a method that includes
When the second information processing apparatus receives connection request information from the first information processing apparatus, an interface used for communication with the first information processing apparatus is selected according to the communication status of each interface. A second selection step to select;
Performing a response transmission step of transmitting response information for the received connection request information to a transmission source of the received connection request information using the interface selected by the second selection step. A communication method of an information processing system characterized by the above.
JP2010156180A 2010-07-08 2010-07-08 Communication program for information processing apparatus, information processing apparatus, information processing system, and communication method for information processing system Expired - Fee Related JP5573434B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010156180A JP5573434B2 (en) 2010-07-08 2010-07-08 Communication program for information processing apparatus, information processing apparatus, information processing system, and communication method for information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010156180A JP5573434B2 (en) 2010-07-08 2010-07-08 Communication program for information processing apparatus, information processing apparatus, information processing system, and communication method for information processing system

Publications (2)

Publication Number Publication Date
JP2012019418A JP2012019418A (en) 2012-01-26
JP5573434B2 true JP5573434B2 (en) 2014-08-20

Family

ID=45604308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010156180A Expired - Fee Related JP5573434B2 (en) 2010-07-08 2010-07-08 Communication program for information processing apparatus, information processing apparatus, information processing system, and communication method for information processing system

Country Status (1)

Country Link
JP (1) JP5573434B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3178419B2 (en) * 1998-06-18 2001-06-18 日本電気株式会社 Information providing server, information providing client, and recording medium
JP4792692B2 (en) * 2002-10-10 2011-10-12 パナソニック株式会社 Mobile communication device, mobile router, and mobile communication system
JP2009219003A (en) * 2008-03-12 2009-09-24 Sony Corp Communication control apparatus and communication control program
JP4980335B2 (en) * 2008-11-28 2012-07-18 日本電信電話株式会社 Communication system, communication apparatus, communication method, or program

Also Published As

Publication number Publication date
JP2012019418A (en) 2012-01-26

Similar Documents

Publication Publication Date Title
US10986171B2 (en) Method for unified communication of server, baseboard management controller, and server
US10868767B2 (en) Data transmission method and apparatus in optoelectronic hybrid network
US10419531B2 (en) Method for setting gateway device identity, and management gateway device
CN108270676B (en) Network data processing method and device based on Intel DPDK
US20160203024A1 (en) Apparatus and method for allocating resources of distributed data processing system in consideration of virtualization platform
KR20180126401A (en) Method and apparatus for data processing based on multicore
KR20140082630A (en) Method, device, system and storage medium for implementing packet transmission in pcie switching network
CN110808948B (en) Remote procedure call method, device and system
CN107251486A (en) A kind of method for extending linkage, apparatus and system
JP2012065281A (en) Communication program, communication apparatus, communication method, and communication system
JP2016531372A (en) Memory module access method and apparatus
US8775637B2 (en) Recording medium storing communication program, information processing apparatus, and communication procedure
WO2019105360A1 (en) Data transmission method, relevant device and network
CN104734823B (en) Communication system, communication terminal, the method for intermediate station and handshake communication
WO2020235055A1 (en) Virtual machine monitoring device, virtual machine monitoring method, and program
JP2014010703A (en) System that supports cooperation of information processing systems, device, and cooperation method
KR101924002B1 (en) Chip multi processor and router for chip multi processor
JP5573434B2 (en) Communication program for information processing apparatus, information processing apparatus, information processing system, and communication method for information processing system
JP2014187430A (en) Communication system, relay device, communication method, and program
KR102526770B1 (en) Electronic device providing fast packet forwarding with reference to additional network address translation table
JP7456603B2 (en) switch device
CN118413563A (en) Message transmission method, device and system
US20170111447A1 (en) Function migration method, apparatus, and system
EP2939382B1 (en) Distributed data processing system
US9336172B2 (en) Parallel computer system, data transfer device, and method for controlling parallel computer system for performing arbitration

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140502

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140616

R150 Certificate of patent or registration of utility model

Ref document number: 5573434

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees