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 PDFInfo
- 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
Links
- 230000006854 communication Effects 0.000 title claims description 216
- 238000004891 communication Methods 0.000 title claims description 190
- 230000010365 information processing Effects 0.000 title claims description 143
- 238000000034 method Methods 0.000 title claims description 56
- 230000004044 response Effects 0.000 claims description 121
- 230000005540 biological transmission Effects 0.000 claims description 119
- 238000010187 selection method Methods 0.000 claims 7
- 238000010586 diagram Methods 0.000 description 36
- 230000006870 function Effects 0.000 description 16
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
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
まず、情報処理装置#1は、情報処理装置#3に情報を送信する場合には、自装置の通信状況に応じて、送信元のネットワークインターフェースを自装置が有するNIC#1〜#2から選択する。図14に示す例では、情報処理装置#1は、NIC#1を送信元のネットワークインターフェースとして選択する。そして、情報処理装置#1は、送信先のネットワークインターフェースとして、NIC#1と対応付けられたNIC#5を使用して情報処理装置#3へ情報を送信する。
First, when transmitting information to the information
また、複数のネットワークインターフェースを使用して他の情報処理装置と情報の送受信を行う技術として、分割された情報をそれぞれ独立した経路で送信するトランキングという技術が知られている。例えば、図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
また、トランキングの技術が適用された情報処理装置は、ネットワークインターフェース間を接続する経路(以下、リンクという)がそれぞれ独立しているファットツリー型のネットワークに接続される。例えば、図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
しかしながら、上述したネットワークインターフェースを選択する技術では、送信元の通信状況に応じて、送信先のネットワークインターフェースが選択されるので、送信先での競合を発生させる場合がある。つまり、情報処理装置は、送信先の通信状況と関係なく通信に使用するネットワークインターフェースを選択するので、送信先のネットワークインターフェースで競合を発生させる場合がある。このため、情報処理装置は、システム全体のスループットを悪化させてしまうという問題があった。 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,
そして、情報処理装置#2は、送信先のNICとして、NIC#3に対応付けられたNIC#5を選択する。このため、図17中星印で示すように、情報処理装置#1と情報処理装置#2とがNIC#5を同時に使用して通信することとなり、情報処理装置#3へ送信される情報がNIC#5に集中するため、NIC#5で競合を発生させてしまう。
Then, the information
この結果、情報を受信するための待ち行列がNIC#5で発生し、NIC#5がボトルネックとなるため、システム全体のスループットを悪化させてしまうという問題があった。なお、情報処理装置は、あらかじめ対応付けられたネットワークインターフェースの組を使用して情報を送信するので、ネットワークインターフェースの組み合わせパターンが限定されてしまう。この結果、特定のネットワークインターフェースを利用することによる競合が頻繁に発生しやすい。
As a result, a queue for receiving information is generated in
また、上述したトランキングの技術では、ネットワークインターフェース同士を接続するリンクごとに異なる情報を同時に送信する。このため、情報処理装置は、各ネットワークインターフェースがリンクを共用する構造のネットワークに接続された場合には、スループットを悪化させてしまうという問題があった。 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
一つの側面では、本発明は、ネットワークインタフェースの競合の抑制を図ることを目的とする。 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.
以下に添付図面を参照して本願に係る通信プログラム、情報処理装置、情報通信システム及び通信方法について説明する。 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
第一選択部2は、各インターフェース8a〜8cの通信状況に応じて、通信に使用するインターフェースを選択する。接続要求送信部3は、第一選択部2によって選択されたインターフェースを使用して、情報処理装置1aへ接続要求情報を送信する。
The
特定部4は、接続要求送信部3によって送信された接続要求情報に対する応答情報を情報処理装置1aから受信した場合には、受信された応答情報から情報処理装置1aが応答情報を送信するために使用したインターフェースを特定する。通信部5は、接続要求送信部3が接続要求情報を送信するために使用したインターフェースと特定部4によって特定されたインターフェースとを使用して、情報処理装置1aと情報の送受信を行う。
When the
つまり、情報処理装置1が送信側であり、情報処理装置1aが受信側である場合に、送信側である情報処理装置1は、自装置に都合の良いインターフェースを使用して接続要求情報を送信する。そして、情報処理装置1は、受信側の情報処理装置1aが選択したインターフェースを特定し、特定された受信側に都合の良いインターフェースを使って通信する。
That is, when the
第二選択部6は、情報処理装置1aから接続要求情報を受信した場合には、各インターフェース8a〜8cの通信状況に応じて、情報処理装置1aとの通信に使用するインターフェースを選択する。応答送信部7は、第二選択部6によって選択されたインターフェースを使用して、情報処理装置1aへ接続要求情報に対する応答情報を送信する。
When receiving the connection request information from the information processing apparatus 1a, the
つまり、情報処理装置1が受信側であり、情報処理装置1aが送信側である場合に、受信側である情報処理装置1は、受信側に都合の良いインターフェースを選択し、選択したインターフェースを使用して応答情報を情報処理装置1aに通知する。
That is, when the
上述したように、情報処理装置1は、自装置の通信状態に応じて選択されたインターフェースを使用して接続要求情報を情報処理装置1aへ送信する。また、情報処理装置1は、送信した接続要求情報に対する応答情報を情報処理装置1aから受信した場合には、受信された応答情報から、情報処理装置1aが使用したインターフェースを特定する。そして、情報処理装置1は、接続要求情報を送信するために使用したインターフェースと特定されたインターフェースとを使用して、情報処理装置1aと情報の送受信を行う。
As described above, the
また、情報処理装置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
このため、情報処理装置1は、情報の送信先となる情報処理装置1aの通信状態に応じて、通信に用いるインターフェースを選択することができる。また、情報処理装置1は、通信に用いるインターフェースを限定せずに、情報の送受信を行う事ができる。このため、情報処理装置1は、送信側と受信側との通信状況に応じて、使用するネットワークインターフェースを決定することで、ネットワークインタフェースの競合を抑制する。また、情報処理装置1は、スループットを向上させる。
For this reason, the
以下の実施例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
各コンピュータ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
次に、図3を用いて、コンピュータ20が有する各部について説明する。図3は、実施例2に係るコンピュータを説明するためのブロック図である。図3に示す例では、コンピュータ20は、4つのNIC30〜33を有する。また、コンピュータ20は、プロセス実行部10、情報記憶部16を有する。以下に各部について説明する。
Next, each part of the
情報記憶部16は、他のコンピュータ21〜25へ送信する情報を一時的に記憶する。また、情報記憶部16は、他のコンピュータ21〜25からNIC30〜33を使用して受信した情報を一時的に記憶する。
The
NIC30は、ネットワークを介して、他のコンピュータ21〜25が有する各NIC34〜53と接続され、各NIC34〜53との通信処理を制御する。具体的には、NIC30は、他のコンピュータ21〜25の各NIC34〜53から接続要求情報を受信した場合には、受信された接続要求情報を応答送信部13へ転送する。
The
例えば、NIC30は、コンピュータ25のNIC50から接続要求情報を受信した場合には、受信された接続要求情報を応答送信部13へ転送する。また、NIC30は、コンピュータ25のNIC51から情報を受信した場合には、受信された情報を通信部14に転送する。
For example, when receiving connection request information from the
また、NIC30は、コンピュータ25のNIC51に応答情報を送信する関数呼び出し情報を保留部15から取得した場合には、コンピュータ25のNIC51を送信先として応答情報を送信する。また、NIC30は、保留部15から、コンピュータ25のNIC51を使用して情報の送信を行うための関数呼び出し情報を取得した場合には、コンピュータ25のNIC51に対して、情報を送信する。
In addition, when the
プロセス実行部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
以下の説明では、プロセス実行部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
保留部15は、通信予約を各NICごとに一時的に保留する。また、保留部15は、通信を終了したNICに係る通信予約のうち、最初に保留された通信予約が示す処理を実行する。ここで、通信予約とは、通信処理を各NIC30〜33に実行させるために必要な関数呼び出しを識別する情報であり、例えば、「MPI_Isend」や「MPI_Irecv」等である。
The holding
具体的には、保留部15は、接続要求送信部12、応答送信部13及び通信部14から送信された通信予約を受信する。そして、保留部15は、通信予約を実行するNICが通信中である場合には、受信された通信予約を一時的に保留する。その後、保留部15は、受信された通信予約を実行するNICが通信を終了した場合には、保留された通信予約のうち、通信を終了したNICを使用する通信予約であって、かつ、最初に記憶された通信予約をNICに通知する。そして、保留部15は、通知された通信予約に係る通信処理が終了した場合には、終了した通信処理に係る通信予約を消去する。
Specifically, the holding
例えば、保留部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
また、図5に示す例では、保留部15は、NIC30を使用する通信予約を3件、NIC31を使用する通信予約を1件、NIC32を使用する通信予約を2件、NIC33を使用する通信予約を3件記憶している。図5は、保留された処理の実行を説明するための図である。この例では、保留部15は、NIC30が実行中の通信処理が終了した場合には、図5の点線で示すように、NIC30が実行した通信予約を消去する。
In the example shown in FIG. 5, the holding
ここで、保留部15は、NIC30の通信予約を実行する場合には、通信予約に含まれる関数呼び出しを識別する情報をNIC30に送信する。NIC30は、保留部15から関数呼び出しを識別する情報を取得した場合には、取得された関数呼び出しを識別する情報に応じた処理を実行する。
Here, when executing the communication reservation of the
このように、保留部15は、NIC30〜33が通信中に接続要求送信部12、応答送信部13、通信部14によって生成された通信予約を受信した場合には、通信予約を一時的に保留する。そして、保留部15は、保留された通信予約が使用するNICが通信処理を終了し、新たな通信予約に係る通信処理を実行することができる場合には、保留された通信予約に係る通信処理を実行させる。また、保留部15は、保留された処理を関数呼び出しを識別する情報で記憶し、通信予約が格納されたメモリのアドレスを通信予約の順番管理に使用する。
As described above, when the
図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
また、選択部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
具体的には、選択部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
また、選択部11は、後述する応答送信部13からNICを選択する旨の指示を受けた場合にも同様に、保留部15によって保留された通信予約が最も少ないNICを選択する。そして、選択部11は、選択されたNICを応答送信部13に通知する。
Similarly, when the selection unit 11 receives an instruction to select a NIC from the
ここで、図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
ここで、保留部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
また、選択部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
図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
例えば、接続要求送信部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
接続要求送信部12は、通信に使用するNICとしてNIC30が通知された場合には、コンピュータ25が有するNIC50〜53のうち、通知されたNIC30に対応付けられたNICであるNIC50を判別する。また、接続要求送信部12は、接続要求情報として、NIC30のアドレスを含んだ接続要求情報を生成する。そして、接続要求送信部12は、生成された接続要求情報をNIC30とNIC50を使用してコンピュータ25へ送信する処理を示す通信予約を生成する。その後、接続要求送信部12は、生成された通信予約を保留部15に送信する。
When the
応答送信部13は、選択部11によって選択されたNICを使用して、接続要求情報の送信元へ接続要求情報に対する応答情報を送信する。また、応答送信部13は、選択部11によって選択されたNICを一意に特定するアドレスを含んだ応答情報を送信する。
The
具体的には、応答送信部13は、他のコンピュータ20〜25から送信された接続要求情報を受信した場合には、NICを選択する旨の指示を選択部11へ送信する。また、応答送信部13は、受信された接続要求情報に含まれるNICのアドレスに基づいて、受信された接続要求情報を送信するために使用された送信元のNICを判別する。
Specifically, when the
また、応答送信部13は、通信に使用されるNICを選択部11から通知された場合には、選択部11から通知されたNICのアドレスを含む応答情報を生成する。そして、応答送信部13は、選択部11から通知されたNICと接続要求の送信元が使用したNICとを使用して、生成された応答情報を送信する処理を示す通信予約を生成する。
Further, when the selection unit 11 is notified of the NIC used for communication, the
その後、応答送信部13は、生成された通信予約を保留部15に送信する。また、応答送信部13は、接続要求情報を受信した場合には、他のコンピュータから情報が送信されてくる旨の通知を通信部14に送信する。
Thereafter, the
ここで、応答送信部13が実行する処理の例を説明するが、以下の例では、応答送信部13は、コンピュータ25から送信された接続要求情報を受信するものとする。また、コンピュータ25は、NIC51とNIC31を使用して接続要求情報を送信したものとする。例えば、応答送信部13は、コンピュータ25から送信された接続要求情報をNIC31を介して受信した場合には、NICを選択する旨の指示を選択部11へ送信する。
Here, an example of processing executed by the
また、応答送信部13は、受信された応答情報に基づいて、受信された接続要求情報を送信するために使用されたコンピュータ25のNIC51を判別する。また、応答送信部13は、通信に使用するNICとしてNIC30を選択部11から通知された場合には、NIC30のアドレスを含んだ応答情報を生成する。そして、応答送信部13は、生成された応答情報をNIC30とNIC51とを使用してコンピュータ25に送信する処理を示す通信予約を生成する。その後、応答送信部13は、生成された通信予約を保留部15に送信する。
Moreover, the
通信部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
そして、通信部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
また、通信部14は、コンピュータ20から送信された接続要求情報に対する応答情報を他のコンピュータより受信する。また、通信部14は、応答情報を受信した場合には、受信された応答情報に含まれているNICのアドレスに基づいて、受信された応答情報を送信するために使用された送信元のNICを判別する。
Further, the communication unit 14 receives response information for the connection request information transmitted from the
そして、通信部14は、応答情報を受信したコンピュータ20のNICと、判別された送信元のNICとを使用して情報記憶部16に記憶された情報を送信先のコンピュータへ送信する処理を実行する。つまり、通信部14は、処理を示す通信予約を生成し、生成された通信予約を保留部15に送信する。
Then, the communication unit 14 performs processing for transmitting the information stored in the
また、通信部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
ここで、通信部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
例えば、通信部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
また、通信部14は、コンピュータ25から情報が送信されてくる旨の通知を応答送信部13から取得した場合には、送信されてくる情報を格納するための領域を情報記憶部16に確保する。そして、通信部14は、コンピュータ25から送信された情報をNIC31が受信した場合には、受信された情報を取得し、情報記憶部16に確保された領域に取得された情報を格納する。
Further, when the communication unit 14 obtains a notification that information is transmitted from the
このように、コンピュータ20は、コンピュータ25に情報を送信する場合には、自装置の各NIC30〜33のうち、情報の送受信処理に最適なNICを使用してコンピュータ25に接続要求情報を送信する。また、コンピュータ25は、接続要求情報に対応する応答情報を、自装置の各NIC50〜53のうち、情報の送受信処理に最適なNICを使用してコンピュータ20に応答情報を送信する。そして、コンピュータ20は、コンピュータ25から応答情報を受信した場合には、自装置が接続要求情報を送信するために使用したNICと、コンピュータ25が応答情報を送信するために使用したNICとを用いて、情報の送受信処理を実行する。
As described above, when transmitting information to the
つまり、コンピュータ20は、自装置の通信状況だけではなく、コンピュータ25の通信状況も考慮して通信に使用されるNICを選択する。このため、コンピュータ20は、情報の送受信処理に最適な自装置のNICと、情報の送受信処理に最適な送信先のNICとを使用して情報の送受信処理を実行することができる。この結果、コンピュータ20は、送信先のNICで競合を起こす可能性を低くすることができる結果、システム全体のスループットを改善することができる。
That is, the
また、コンピュータ20は、情報を送受信するために使用されるNICの組み合わせを限定することなく、情報の送受信を実行することができる。例えば、N個のNICを有する2台のコンピュータが情報の送受信を行う場合には、使用されるNICの組み合わせの数はNの累乗個となる。このため、図6に示すように、コンピュータ20は、インターフェースの組み合わせが多く、ネットワークインタフェースの競合を抑制することができる。この結果、コンピュータ20は、システム全体のスループットを改善することができる。図6は、実施例2に係るコンピュータの効果を説明するための図である。
Further, the
次に、図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
このアプリケーションプログラムは、上述したプロセス実行部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
まず、コンピュータ20で実行されるアプリケーションプログラムは、接続要求情報として、「MPI_Isend」を呼び出すことによって、NIC30からRendezvous要求をコンピュータ25へ送信する。コンピュータ25で実行されるアプリケーションプログラムは、NIC30から送信されたRendezvous要求を受信すると、メモリ上にデータ領域を作成する。
First, the application program executed on the
また、コンピュータ25で実行されるアプリケーションプログラムは、自装置にとって情報の送受信を行うのに適切なNICであるNIC51を選択する。そして、コンピュータ25で実行されるアプリケーションプログラムは、「MPI_Irecv」を呼び出して、Rendezvous応答を応答情報としてコンピュータ20へ送信する。
Further, the application program executed on the
この時、コンピュータ25は、Rendezvous応答をNIC51から送信することで、コンピュータ25にとって情報の受信を行うために適切なNICをコンピュータ20のアプリケーションプログラムに通知することとなる。
At this time, the
このように、受信側のアプリケーションは、送信側のアプリケーションプログラムから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
コンピュータ25は、NIC31から送信されたRendezvous要求を受信した場合には、情報を受信するためのNICとして、自装置のNIC52を選択する。そして、コンピュータ25は、Rendezvous応答として「GET」をNIC52から送信する。
When the
ここで、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
コンピュータ20は、Rendezvous応答として送信された「GET」を受信した場合には、受信された「GET」に格納された情報に従って、自装置の情報をコンピュータ25へ送信する。つまり、コンピュータ20は、NIC31とNIC52とを使用して、自装置のメモリアドレスXに格納されたデータを、コンピュータ25のメモリアドレスYへ送信する。
When the
次に、図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
次に、図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
次に、図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
そして、コンピュータ25は、図11中の点線で示すように、NIC30とNIC51とを使用して、情報を受信する。なお、「GET」には、NIC30を示す情報、コンピュータ20から送信される情報のアドレス、NIC51を示す情報、及びコンピュータ25が情報を格納するアドレスが含まれる。また、図11に示す例では、コンピュータ25は、「GET」によるRDMA(Remote Direct Memory Access)転送によって、情報を受信する。
Then, the
[コンピュータの処理の流れ]
次に、図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
まず、コンピュータ20は、情報を送信するのに適切な空きNICを検索する(ステップS101)。次に、コンピュータ20は、Rendezvous要求を送信する処理を示す通信予約を追加する(ステップS102)。次に、コンピュータ20は、通信予約に係るRendezvous要求を送信する処理を実行する(ステップS103)。
First, the
一方、コンピュータ25は、「MPI_Irecv」が呼び出された場合には、対応する「MPI_Isend」によるRendezvous要求の受信を待つ(ステップS104)。そして、コンピュータ25は、Rendezvous要求を受信すると、自装置の空きNICを検索する(ステップS105)。
On the other hand, when “MPI_Irecv” is called, the
次に、コンピュータ25は、通信予約リストにRendezvous応答である「GET」を送信する処理を示す通信予約を追加する(ステップS106)。そして、コンピュータ25は、選択された空きNICにGETを指示し(ステップS107)、GETの制御信号をコンピュータ20へ送信する(ステップS108)。
Next, the
コンピュータ20は、制御信号を受信した場合には(ステップS109)、I/F(Interface)の設定を行う(ステップS110)。つまり、コンピュータ20は、ステップS101にて選択されたNICとステップS105にて選択されたNICとを使用して情報を送信するための設定を行う。
When the
次に、コンピュータ20は、ステップS101にて選択されたNICとステップS105にて選択されたNICとを使用して、データをコンピュータ25へ送信する(ステップS111)。また、コンピュータ25は、ステップS101にて選択されたNICとステップS105にて選択されたNICとを使用して送信されたデータを受信する(ステップS112)。
Next, the
そして、コンピュータ25は、データを受信した場合には、実行したRendezvous応答に係る通信予約を削除する(ステップS113)。また、コンピュータ20は、データを送信した場合には、実行したRendezvous要求に係る通信予約を削除する(ステップS114)。
When the
[実施例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
そして、コンピュータ20は、送信した接続要求情報に対する応答情報を他のコンピュータから受信した場合には、受信した応答情報から、コンピュータ25が使用したNICを特定する。その後、コンピュータ20は、自装置が選択したNICと、特定されたNICとを使用して、情報をコンピュータ25へ送信する。
When the
このため、コンピュータ20は、情報をコンピュータ25へ送信する場合には、コンピュータ25の通信状況に応じたNICを選択することができる。つまり、送信側と受信側との通信状況に応じて、通信を行うために都合の良いNICを決定することができる。この結果、コンピュータ20は、コンピュータ25でのネットワークインタフェースの競合の抑制することができる。また、コンピュータ20は、システム全体のスループットを改善することができる。また、コンピュータ20は、コンピュータ20とコンピュータ25が有する全てのNICを利用することができるため、ネットワークインタフェースの競合を抑制し、システム全体のスループットを向上させることができる。
Therefore, the
また、コンピュータ20は、システムの構造に関係なくネットワークインタフェースの競合を抑制することができるので、システム全体のスループットを向上させることができる。
In addition, since the
また、コンピュータ20は、インターフェースを使用するための通信予約に応じて、コンピュータ25との通信に使用されるインターフェースを選択する。また、コンピュータ20は、NICを使用するための通信予約に応じて、コンピュータ25からの情報の受信に使用されるNICを選択する。このため、コンピュータ20は、通信に用いられるNICを適切に選択することが出来る結果、システム全体のスループットを改善することができる。
Further, the
また、コンピュータ25は、自装置が選択したNICのアドレスを含んだ応答情報を送信する。このため、コンピュータ20は、通信に用いられる適切なNICを選択することができるので、ネットワークインタフェースの競合を抑制し、システム全体のスループットを向上させることができる。
In addition, the
また、メッセージ通信のたびに送信側と受信側とで互いに適切なネットワークインターフェースを調べ、その情報を相互で共有するのは、情報共有のための通信が別途必要となり、オーバーヘッドが大きくなる結果、システムのスループットを悪化させてしまう。 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
なお、本実施例の説明においては、コンピュータ20とコンピュータ25との通信について説明した。しかし、本実施例に開示の発明は、コンピュータ20とコンピュータ25との間の通信のみならず、任意のコンピュータ間における通信について、適用することができ、同様の効果を奏することは言うまでもない。
In the description of the present embodiment, communication between the
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例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
(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
ROM130には、第一検索プログラム132、接続要求送信プログラム133、特定プログラム134、通信プログラム135、第二選択プログラム136、応答送信プログラム137があらかじめ保持される。CPU140が各プログラム132〜137をROM130から読み出して実行することによって、図13に示す例では、各プログラム132〜133は、第一検索プロセス142、接続要求送信プロセス143として機能するようになる。
In the
また、各プログラム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
なお、本実施例で説明した通信プログラムは、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。 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
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.
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)
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 |
-
2010
- 2010-07-08 JP JP2010156180A patent/JP5573434B2/en not_active Expired - Fee Related
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 |