JP2017102510A - 通信アルゴリズム決定プログラム、通信アルゴリズム決定方法および情報処理装置 - Google Patents
通信アルゴリズム決定プログラム、通信アルゴリズム決定方法および情報処理装置 Download PDFInfo
- Publication number
- JP2017102510A JP2017102510A JP2015232760A JP2015232760A JP2017102510A JP 2017102510 A JP2017102510 A JP 2017102510A JP 2015232760 A JP2015232760 A JP 2015232760A JP 2015232760 A JP2015232760 A JP 2015232760A JP 2017102510 A JP2017102510 A JP 2017102510A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- algorithm
- message length
- speed
- measurement
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
Abstract
【課題】メッセージ長に応じた適切な通信アルゴリズムを決定する時間を短くすることを目的とする。
【解決手段】並列計算機システムの情報処理装置は、特定の範囲内のメッセージ長を持つ第1通信を異なる通信アルゴリズムにより通信させて前記各通信アルゴリズムの通信速度を測定し、測定された前記通信速度に基づいて、前記第1通信のメッセージ長よりも長い範囲のメッセージ長を持つ第2通信を行わせる際の前記通信アルゴリズムの手順を決定し、決定された手順で前記第2通信を行わせて、前記各通信アルゴリズムの通信速度を測定する測定部と、前記第1通信による測定結果と前記第2通信による測定結果とに基づいて、メッセージ長に応じた通信アルゴリズムを決定する決定部と、を含む。
【選択図】図2
【解決手段】並列計算機システムの情報処理装置は、特定の範囲内のメッセージ長を持つ第1通信を異なる通信アルゴリズムにより通信させて前記各通信アルゴリズムの通信速度を測定し、測定された前記通信速度に基づいて、前記第1通信のメッセージ長よりも長い範囲のメッセージ長を持つ第2通信を行わせる際の前記通信アルゴリズムの手順を決定し、決定された手順で前記第2通信を行わせて、前記各通信アルゴリズムの通信速度を測定する測定部と、前記第1通信による測定結果と前記第2通信による測定結果とに基づいて、メッセージ長に応じた通信アルゴリズムを決定する決定部と、を含む。
【選択図】図2
Description
本発明は、通信アルゴリズム決定プログラム、通信アルゴリズム決定方法および情報処理装置に関する。
例えば、ハイパフォーマンスコンピューティング等の並列計算機システムにおいて集団通信を行う規格として、MPI(Message Passing Interface)がある。集団通信には複数の通信アルゴリズムが適用される。
関連する技術として、特許文献1乃至特許文献4の技術が提案されている。例えば、多数のプロトコルを使用するワイドインターネット型テレコミュニケーションネットワークの少なくとくも幾つかのサービスを移動加入者に提供する技術が提案されている。
また、MPIの受信関数で指定された受信キーと一致する受信キーに係る受信情報を検索する時間を従来に比べて大幅に短縮させる技術が提案されている。
また、複数の別個のソースからのオペレータ・メッセージ・コマンドを、処理のためにコンピューティング環境の結合ファシリティに提供するのを可能にするためのファシリティを提供する技術が提案されている。
また、ネットワーク通信システムにおいて軽量プロトコル(LWP)およびプロトコルエージェントを使用する技術が提案されている。
集団通信に適用される複数の通信アルゴリズムは、それぞれ、通信されるメッセージのメッセージ長に応じて、通信性能が変化する。例えば、ある通信アルゴリズムは、短いメッセージ長における通信性能は高くなるが、長いメッセージ長における通信性能はそれほど高くならない場合がある。
一方、別の通信アルゴリズムは、長いメッセージ長における通信性能は高くなるが、短いメッセージ長における通信性能はそれほど高くならない場合がある。従って、メッセージ長に応じた適切な通信アルゴリズムが早期に決定されることが好ましい。
1つの側面として、本発明は、メッセージ長に応じた適切な通信アルゴリズムを決定する時間を短くすることを目的とする。
1つの態様では、並列計算機システムの情報処理装置は、特定の範囲内のメッセージ長を持つ第1通信を異なる通信アルゴリズムにより通信させて前記各通信アルゴリズムの通信速度を測定し、測定された前記通信速度に基づいて、前記第1通信のメッセージ長よりも長い範囲のメッセージ長を持つ第2通信を行わせる際の前記通信アルゴリズムの手順を決定し、決定された手順で前記第2通信を行わせて、前記各通信アルゴリズムの通信速度を測定する測定部と、前記第1通信による測定結果と前記第2通信による測定結果とに基づいて、メッセージ長に応じた通信アルゴリズムを決定する決定部と、を含む。
1つの側面によれば、メッセージ長に応じた適切な通信アルゴリズムを決定する時間を短くすることができる。
<実施形態の並列計算機システムの一例>
以下、図面を参照して、実施形態について説明する。図1は、実施形態に係る並列計算機システム1の一例を示す。並列計算機システム1は、複数の計算ノード2と複数の制御ノード3とストレージ4と端末5とを含む。また、並列計算機システム1は、第1ネットワーク6と第2ネットワーク7と第3ネットワーク8とを含む。
以下、図面を参照して、実施形態について説明する。図1は、実施形態に係る並列計算機システム1の一例を示す。並列計算機システム1は、複数の計算ノード2と複数の制御ノード3とストレージ4と端末5とを含む。また、並列計算機システム1は、第1ネットワーク6と第2ネットワーク7と第3ネットワーク8とを含む。
複数の計算ノード2は、それぞれプロセッサと主記憶装置とを含み、所定のプロセスを実行する。計算ノード2は、ノードまたは情報処理装置の一例である。複数の計算ノード2を含むグループを計算ノード群2Gとする。
複数の計算ノード2は、集団通信と称される通信機能を使用して、相互に通信を行い、並列処理を実行する。集団通信のライブラリとして、MPIが適用されてもよい。ただし、集団通信のライブラリはMPIには限定されない。
制御ノード3は、並列計算機システム1の各種の制御を行うコンピュータである。複数の制御ノード3を含むグループを制御ノード群3Gとする。並列計算機システム1に含まれる制御ノード3の数は1つであってもよい。
ストレージ4は、情報を記憶する記憶装置である。図1は、1つのストレージ4が、複数の計算ノード2および複数の制御ノード3により共有されている例を示す。並列計算機システム1は、複数のストレージ4を含んでもよく、1つの計算ノード2に対して、1つのストレージ4が割り当てられてもよい。
端末5は、各種の情報を制御ノード3に送信する。端末5は、該端末5の操作者によって操作され、該操作者の操作を端末5が受け付けて、端末5は制御ノード3に各種の情報を送信する。
第1ネットワーク6は、各計算ノード2と接続され、各計算ノード2は、第1ネットワーク6を介して集団通信を行う。第1ネットワーク6は、複数のスイッチ6Sを含む。スイッチ6Sは、ルータ等であってよい。図1の第1ネットワーク6は、Fat-Treeトポロジの例を示す。ただし、第1ネットワーク6のトポロジは、Fat-Treeには限定されない。
第2ネットワーク7は、各計算ノード2と、各制御ノード3およびストレージ4との間を接続するネットワークである。第3ネットワーク8は、制御ノード3と端末5との間を接続するネットワークである。
なお、各計算ノード2同士は、第1ネットワーク6の他に、別系統のネットワークにより接続されてもよい。別系統のネットワークとしては、例えば、バリア同期や縮約演算等のために用いられるネットワークであってよい。
<計算ノードの一例>
次に、図2を参照して、計算ノード2の一例について説明する。計算ノード2は、演算部11と通信部12と制御部13と測定部14と記憶部15とアルゴリズム決定部16とを含む。図2において、アルゴリズム決定部16は「ALG決定部」と表記される。
次に、図2を参照して、計算ノード2の一例について説明する。計算ノード2は、演算部11と通信部12と制御部13と測定部14と記憶部15とアルゴリズム決定部16とを含む。図2において、アルゴリズム決定部16は「ALG決定部」と表記される。
演算部11は、所定の演算を行う。通信部12は、第1ネットワーク6を介して、他の計算ノード2と通信を行う。制御部13は、計算ノード2が行う実施形態の処理に関する各種の制御を行う。
測定部14は、通信速度測定部14Aと手順決定部14Bとを含む。通信速度測定部14Aは、複数の通信アルゴリズムの通信性能を測定する。測定された通信速度が高速であるほど通信性能が高いことを示し、測定された通信速度が低速であるほど、通信性能は低いことを示す。
手順決定部14Bは、通信アルゴリズムの通信性能を測定する手順を決定する。実施形態では、集団通信に複数の通信アルゴリズムが適用される。手順決定部14Bは、複数の通信アルゴリズムの測定手順(測定する順番)を決定する。通信速度測定部14Aは、手順決定部14Bが決定した手順に従って通信アルゴリズムの通信速度の測定を行う。
記憶部15は、各種の情報を記憶する。例えば、記憶部15は、通信速度測定部14Aが測定した通信速度(測定結果)を記憶する。アルゴリズム決定部16は、集団通信に用いられる複数の通信アルゴリズムのうち、使用される通信アルゴリズムを、メッセージ長(メッセージサイズ)に応じて決定する。
実施形態では、アルゴリズム決定部16は、各メッセージ長における最速の通信アルゴリズムを適切な通信アルゴリズムとして決定する。
<通信アルゴリズム決定の一例>
以下、図3乃至図7を参照して、通信アルゴリズム決定の一例について説明する。図3乃至図7は、メッセージ長と通信速度との関係を示すグラフの例である。各図において、3つのマーク(バツ、三角および丸)は、それぞれ異なる種類の通信アルゴリズムであることを表す。
以下、図3乃至図7を参照して、通信アルゴリズム決定の一例について説明する。図3乃至図7は、メッセージ長と通信速度との関係を示すグラフの例である。各図において、3つのマーク(バツ、三角および丸)は、それぞれ異なる種類の通信アルゴリズムであることを表す。
図3の例において、バツのマークは、通信アルゴリズムALG1であることを表し、三角のマークは、通信アルゴリズムALG2であることを表し、丸のマークは、通信アルゴリズムALG3であることを表す。なお、通信アルゴリズムの種類は3種類には限定されない。
図3の例は、メッセージ長が短い場合と中間程度の場合と長い場合とにおける各通信アルゴリズムの通信速度を示す。メッセージ長が短い集団通信の場合、通信アルゴリズムALG1が最速である。
メッセージ長が中間程度の集団通信の場合、通信アルゴリズムALG2が最速である。メッセージ長が長い集団通信の場合、通信アルゴリズムALG3が最速である。最も通信速度が速い通信アルゴリズムは、最も通信性能が良い通信アルゴリズムである。
短いメッセージ長(以下、短メッセージ長と称する)は、計算ノード2が送信するパケットサイズより小さいサイズ、またはハードウェアに対する命令自体に埋め込まれる即値程度のサイズであってもよい。
長いメッセージ長(以下、長メッセージ長と称する)は、スイッチ6Sに1度に指示できる転送長の最大値付近のサイズ、または多くの通信アルゴリズムの通信性能が飽和すると予想されるサイズであってもよい。
中間程度のメッセージ長(以下、中メッセージ長)は、短メッセージ長と長メッセージ長との中間程度のサイズであってもよい。
中メッセージ長は、特定の範囲内のメッセージ長の一例である。特定の範囲内のメッセージ長には、中メッセージ長だけでなく、短メッセージ長も含まれる場合がある。長メッセージ長は、中メッセージ長よりも長い範囲内のメッセージ長である。
特定の範囲内のメッセージ長の通信アルゴリズムによるテスト通信(集団通信)は、第1通信の一例である。つまり、中メッセージ長および短メッセージ長の通信アルゴリズムによるテスト通信は、第1通信の一例である。また、長メッセージ長の通信アルゴリズムによるテスト通信(集団通信)は、第2通信の一例である。
図4の例に示されるように、短メッセージ長では通信アルゴリズムALG1が最速であり、中メッセージ長では通信アルゴリズムALG2が最速であり、長メッセージ長では通信アルゴリズムALG3が最速である。
従って、アルゴリズム決定部16は、短メッセージ長では通信アルゴリズムALG1が適用されるように、中メッセージ長では通信アルゴリズムALG2が適用されるように、長メッセージ長では通信アルゴリズムALG3が適用されるように決定する。
これにより、メッセージ長に応じて適切な通信アルゴリズムによる集団通信が行われる。図4の破線は、各メッセージ長において推定される最良の通信性能の通信アルゴリズムを示す。集団通信のメッセージ長に応じて、図4の破線内の通信アルゴリズムが適用されることで、メッセージ長に応じて適切な通信アルゴリズムによる集団通信が行われる。
測定部14は、制御部13の制御に基づいて、メッセージ長に応じた各通信アルゴリズムの通信性能を測定する。例えば、端末5は、第3ネットワーク8を介して、実施形態の処理を実現する通信アルゴリズム決定プログラムを実行する指示を制御ノード3に対して送信する。以下、この制御ノード3をジョブ制御ノード3と称する。
実施形態の処理を実現する通信アルゴリズム決定プログラムは、ストレージ4に記憶されているものとする。ジョブ制御ノード3は、上記の指示に基づいて、通信アルゴリズム決定プログラムをストレージ4から取得し、取得した通信アルゴリズム決定プログラムを各計算ノード2に送信する。
各計算ノード2は、受信した通信アルゴリズム決定プログラムを実行する。これにより、各計算ノード2は、実施形態の処理を実行する。
複数の計算ノード2のうち、何れか1つの計算ノード2により実行されるプロセスがマスタープロセスになり、他の計算ノード2により実行されるプロセスがワーカプロセスになる。ワーカプロセスは、マスタープロセスの制御に基づいて、計算ノード2で動作する。
また、ストレージ4には、複数の通信アルゴリズムに関する情報が記憶される。各計算ノード2は、複数の通信アルゴリズムに関する情報をストレージ4から取得し、取得された通信アルゴリズムに関する情報を記憶する。
また、端末5は、ジョブ制御ノード3に対して、測定対象である短メッセージ長、中メッセージ長および長メッセージ長の3つのメッセージ長に関する情報(以下、メッセージ長情報と称する)を送信する。例えば、端末5を操作する操作者は、メッセージ長情報を端末5に入力する。
端末5は、入力されたメッセージ長情報を受け付けて、受け付けたメッセージ長情報をジョブ制御ノード3に送信してもよい。ジョブ制御ノード3は、受信した3つのメッセージ長情報を、各計算ノード2に送信する。各計算ノード2は、受信したメッセージ長情報を、例えば主記憶装置に記憶する。
マスタープロセスが動作する計算ノード2(以下、マスターノードと称する)の制御部13は、短メッセージ長および中メッセージ長において、各通信アルゴリズムのテスト通信を行う。
マスタノードの制御部13は、通信部12を制御して、ワーカプロセスが動作する計算ノード2(以下、ワーカノードと称する)に対して、テスト通信(集団通信)の実行を通知する。
この通知には、テスト通信による通信速度の測定の対象となる通信アルゴリズムに関する情報が含まれる。マスタノードは、複数のワーカノードに対して、該通知をブロードキャストしてもよい。
これにより、マスタノードおよび複数のワーカノードが参加するテスト通信(集団通信)が行われる。マスタノードの制御部13は、短メッセージ長における全ての通信アルゴリズムのテスト通信を行うように、通信部12を制御する。
図4の例では、マスタノードの通信速度測定部14Aは、3つの通信アルゴリズムのテスト通信(短メッセージ長通信)による通信速度を測定し、測定結果を記憶部15に記憶する。図4の例に示されるように、短メッセージ長においては、通信アルゴリズムALG1が最速である。
アルゴリズム決定部16は、短メッセージ長における集団通信では、通信アルゴリズムALG1が適用されるように決定する。
また、マスタノードの通信速度測定部14Aは、中メッセージ長における全ての通信アルゴリズムのテスト通信(中メッセージ長通信)による通信速度を測定し、測定結果を記憶部15に記憶する。
図4の例では、中メッセージ長においては、通信アルゴリズムALG2の通信速度が最速である。アルゴリズム決定部16は、中メッセージ長における集団通信では、通信アルゴリズムALG2が適用されるように決定する。
従って、短メッセージ長および中メッセージ長において、各通信アルゴリズムの通信速度の測定が行われる。短メッセージ長および中メッセージ長における各通信アルゴリズムの測定手順は任意であってもよい。
実施形態では、短メッセージ長および中メッセージ長における通信速度の測定手順(測定する順番)と、長メッセージ長における通信速度の測定手順とは異なる。長メッセージ長の通信速度の測定手順について説明する。
長メッセージ長の通信速度の測定手順は、中メッセージ長における通信速度の測定結果に基づいて、手順決定部14Bが決定する。手順決定部14Bは、長メッセージ長における各通信アルゴリズムの測定手順を以下の(1)および(2)に基づいて決定する。
(1)中メッセージ長における通信速度が最速である通信アルゴリズムを最初に測定する。
(2)中メッセージ長における通信速度が最速でない各通信アルゴリズムについては、中メッセージ長付近における通信速度の増加率(傾き)が高い通信アルゴリズムから順番に測定する。
(1)中メッセージ長における通信速度が最速である通信アルゴリズムを最初に測定する。
(2)中メッセージ長における通信速度が最速でない各通信アルゴリズムについては、中メッセージ長付近における通信速度の増加率(傾き)が高い通信アルゴリズムから順番に測定する。
(1)について説明する。中メッセージ長において最速の通信アルゴリズムは、中メッセージ長に適した通信アルゴリズムであり、中メッセージ長で通信速度が飽和し、長メッセージ長における通信速度はそれほど高くならないことが想定される。
このため、制御部13は、中メッセージ長において最速の通信アルゴリズムの長メッセージ長における通信速度の測定時間を基準として、他の通信アルゴリズムの測定を中断させるか否かを判定する。
従って、通信速度測定部14Aは、中メッセージ長における最速の通信アルゴリズムの通信速度を最初に測定する。制御部13は、通信速度測定部14Aが測定を開始してから終了するまでの時間を計測する。計測された時間は、中メッセージ長における最速の通信アルゴリズムの通信速度の測定時間である。
この測定時間を時間閾値Tthとする。測定時間が時間閾値Tthを越える通信アルゴリズムは、長メッセージ長における最速の通信アルゴリズムではないことが想定される。
そこで、実施形態では、制御部13が通信速度測定部14Aによる各通信アルゴリズムの通信速度の測定時間を監視する。制御部13は、測定時間が時間閾値Tthを越えた時点で、通信速度の測定を中断させる制御を行う。例えば、制御部13は、通信部12および測定部14に対して、測定中断の指示を出す。
これにより、長メッセージ長において最速でないことが想定される通信アルゴリズムについての測定が途中で中断されて、測定が終了するため、長メッセージ長における通信速度の測定時間を短くすることができる。
長メッセージ長における通信速度の測定時間が短くなるため、長メッセージ長において適用される適切な通信アルゴリズムが早期に決定される。例えば、図5の例の場合、中メッセージ長における最速の通信アルゴリズムALG2の通信速度の測定時間が時間閾値Tthである。
通信アルゴリズムALG1の通信速度は、通信アルゴリズムALG2の長メッセージ長における通信速度よりも遅い。このため、通信アルゴリズムALG1の測定時間は時間閾値Tthより長くなる。
このため、制御部13は、長メッセージ長における通信アルゴリズムALG1の測定を途中で中断させる制御を行う。これにより、長メッセージ長における通信アルゴリズムALG1の測定時間が短くなる。
なお、通信アルゴリズムの中には、中メッセージ長付近における通信速度の増加率が低く、且つ長メッセージ長においても通信速度が低速な通信アルゴリズムが存在する可能性もある。
このような通信アルゴリズムが存在するような場合であっても、制御部13は、長メッセージ長における測定時間が時間閾値Tthを超えた時点で、通信速度測定部14Aによる通信速度の測定を中断させるため、測定時間を短くすることができる。
次に、上述した(2)について説明する。手順決定部14Bは、(1)で測定された通信アルゴリズム以外の各通信アルゴリズムについては、中メッセージ長付近における通信速度の増加率(傾き)に基づいて測定手順を決定する。具体的には、手順決定部14Bは、通信速度の増加率が低い通信アルゴリズムから順番に測定されるように測定手順を決定する。
上述したように、中メッセージ長は特定の範囲内のメッセージ長である。通信速度の増加率は、中メッセージ長の通信速度と該中メッセージ長に近いメッセージ長の通信速度とに基づいて、求められてもよい。
実施形態では、通信速度の増加率は、短メッセージ長における通信速度と中メッセージ長における通信速度とに基づいて、求められるものとする。手順決定部14Bは、(1)で測定された通信アルゴリズム以外の各通信アルゴリズムを、求められた通信速度の増加率が低い通信アルゴリズムから順番に測定されるように測定手順を決定する。
中メッセージ長付近で、通信速度の増加率が高い通信アルゴリズムは、長メッセージ長に達する前に飽和し、長メッセージ長では高い通信速度の測定結果が得られないことが想定される。
一方、中メッセージ長付近で、通信速度の増加率が低い通信アルゴリズムは、長メッセージ長近傍で増加率が高くなり、長メッセージ長における通信速度が高くなることが想定される。
(2)で決定された測定手順に従って、通信速度測定部14Aは通信アルゴリズムの通信速度の測定を行う。従って、通信速度測定部14Aは、中メッセージ長付近で最も通信速度の増加率が低い通信アルゴリズムから測定を行う。
制御部13は、中メッセージ長付近で最も通信速度の増加率が低い通信アルゴリズムを長メッセージ長における最速の通信アルゴリズムに決定してもよい。この場合、通信速度測定部14Aは、残りの通信アルゴリズムの測定を行わないため、測定時間を短くすることができる。
また、制御部13は、中メッセージ長付近で最も通信速度の増加率が低い通信アルゴリズムから所定数の通信アルゴリズムについてのみ通信速度を測定し、残りの通信アルゴリズムの通信速度を測定してなくもよい。
この場合、長メッセージ長における通信アルゴリズムの測定サンプルが増えるため、長メッセージ長における最速の通信アルゴリズムを高い精度で検出することができる。また、この場合、全ての通信アルゴリズムの測定が行われないため、測定時間は短くなる。
図5の例の場合、中メッセージ長における最速の通信アルゴリズムはALG2である。また、中メッセージ長付近における通信速度の増加率が最も低い通信アルゴリズムはALG3であり、中メッセージ長付近における通信速度の増加率が最も高い通信アルゴリズムはALG3である。
よって、手順決定部14Bは、上述した(1)および(2)の測定手順の決定に基づいて、通信アルゴリズムALG3、ALG2、ALG1の手順で通信速度の測定を行うように手順を決定する。
なお、図5の例において、網掛けが施されている領域は、測定を中断する対象となる範囲(測定中断対象範囲)である。
<メッセージ長に応じた通信アルゴリズムのテーブルの一例>
次に、図6の例を参照して、メッセージ長に応じた通信アルゴリズムのテーブルの一例について説明する。このテーブルは、マスタノードのアルゴリズム決定部16により作成される。
次に、図6の例を参照して、メッセージ長に応じた通信アルゴリズムのテーブルの一例について説明する。このテーブルは、マスタノードのアルゴリズム決定部16により作成される。
作成されたテーブルは、マスタノードにより、第2ネットワーク7を介して、ストレージ4に記憶される。作成されたテーブルは、各計算ノード2や制御ノード3等が記憶してもよい。
図6の例のテーブルは、ノード数とメッセージ長と通信アルゴリズムとの項目を含む。ノード数は、集団通信に参加する計算ノード2の数を表す。図6の例では、ノード数は一定数(128)である。実施形態では、このノード数は、端末5により指定される。上述した処理は、ノード数が固定された条件下で行われる。
端末5により、上記のノード数とは異なるノード数が指定された場合、計算ノード2は、指定されたノード数で再び上述した処理を行い、メッセージ長に応じた適切な通信アルゴリズムを決定する。
メッセージ長の項目は、上述したメッセージ長を示す。図6の例において、短メッセージ長は4バイト、中メッセージ長は1024バイト、長メッセージ長は4096バイトであるものとする。
通信アルゴリズムの項目は、メッセージ長に応じた通信アルゴリズムの名称を表す。以上のテーブルは、例えば、ストレージ4に設定ファイルとして記憶されてよい。並列計算機システム1の各計算ノード2が、通信テストではなく、実動作を行う場合、図6の例のテーブルを参照して、メッセージ長に応じた通信アルゴリズムを決定する。
例えば、集団通信のメッセージ長が1024バイト以下の場合、各計算ノード2は、通信アルゴリズム「Ring」を使用して集団通信を行う。一方、集団通信のメッセージ長が1024バイトを超えた時点で、各計算ノード2は、通信アルゴリズム「Basic linear」を使用して集団通信を行う。
従って、並列計算機システム1の各計算ノード2が集団通信を用いて、所定の処理を実行する際、各計算ノード2はテーブルを参照して、メッセージ長に応じた適切な通信アルゴリズムを使用して、集団通信を行うことができる。
<新たな測定点での通信アルゴリズムの決定>
上述したように、アルゴリズム決定部16は、3つのメッセージ長のそれぞれについて、最も高速な通信アルゴリズムを決定する。このため、メッセージ長に応じた適切な通信アルゴリズムが早期に決定される。
上述したように、アルゴリズム決定部16は、3つのメッセージ長のそれぞれについて、最も高速な通信アルゴリズムを決定する。このため、メッセージ長に応じた適切な通信アルゴリズムが早期に決定される。
計算ノード2は、より多くのメッセージ長について、各通信アルゴリズムの通信速度の測定を行い、適切な通信アルゴリズムを決定してもよい。これにより、適切な通信アルゴリズムを、より細かく決定することができる。新たな測定点は、既に測定された各メッセージ長における各通信アルゴリズムの通信速度に基づいて求められる。
新たな測定点の決定について、図7の例を参照して説明する。制御部13は、短メッセージ長における最速の通信アルゴリズムの通信速度と中メッセージ長における最速の通信アルゴリズムの通信速度とを記憶部15から読み出す。
制御部13は、短メッセージ長における最速の通信アルゴリズムの通信速度と中メッセージ長における最速の通信アルゴリズムの通信速度との間に線分を形成する。形成された線分は交差する場合がある。線分が交差する点は、最速の通信アルゴリズムが変化する点である。
例えば、図7の例では、通信アルゴリズムALG1の線分と通信アルゴリズムALG2の線分とは交差する。線分が交差する点で、最速の通信アルゴリズムは変化する。制御部13は、線分が交差する点を新たな測定点として、該測定点のメッセージ長における各通信アルゴリズムの通信速度を測定するように、通信速度測定部14Aを制御する。
制御部13は、中メッセージ長と長メッセージ長との間にも上述した線分を形成する。ただし、上述したように、長メッセージ長における通信アルゴリズムALG1の通信速度の測定は中断される。測定が中断された通信アルゴリズムALG1との間には線分は形成されない。
図7の例の場合、中メッセージ長と長メッセージ長との間で、通信アルゴリズムALG2の線分と通信アルゴリズムALG3の線分とは交差する。また、線分の交差点よりも高速な通信アルゴリズムは存在しない。従って、制御部13は、該線分の交差点のメッセージ長を新規の測定点として設定する。
そして、通信速度測定部14Aは、制御部13に制御に基づいて、該線分の交差点のメッセージ長における各通信アルゴリズムの通信速度を測定する。
図8は、新規に設定された2つの測定点のメッセージ長における各通信アルゴリズムの測定結果を表す。短メッセージ長と中メッセージ長との間に新たに設定された測定点における最も速い通信アルゴリズムは、ALG1である。中メッセージ長と長メッセージ長との間に新たに設定された測定点における最も速い通信アルゴリズムは、ALG3である。
これにより、それぞれ長さが異なる5つのメッセージ長について、最も速い通信アルゴリズムが決定される。従って、3つのメッセージ長に基づいて通信アルゴリズムが決定される場合よりも、5つのメッセージ長に基づいて通信アルゴリズムが決定される方が、より細かく適切な通信アルゴリズムが決定される。
制御部13は、隣接する2つの測定点について、同様の処理を繰り返すことで、二分探索的に測定点を増やすことができ、適切な通信アルゴリズムの決定をより細かく行うことができる。
隣接する2つの測定点の間に、交差する線分がない場合、制御部13は、2つの測定点の中間点を新たな測定点としてもよい。これにより、測定点を増やすことができ、メッセージ長に応じた適切な通信アルゴリズムの決定をより細かく行うことができる。
<実施形態の処理の流れを示すフローチャートの一例>
次に、図9乃至図12のフローチャートの例を参照して、実施形態の処理の流れについて説明する。端末5は、該端末5からの操作に基づいて、短メッセージ長、中メッセージ長および長メッセージ長の3つのメッセージ長の入力を受け付ける。
次に、図9乃至図12のフローチャートの例を参照して、実施形態の処理の流れについて説明する。端末5は、該端末5からの操作に基づいて、短メッセージ長、中メッセージ長および長メッセージ長の3つのメッセージ長の入力を受け付ける。
端末5は、入力を受け付けた3つのメッセージ長の情報を、第3ネットワーク8を介して、ジョブ制御ノード3に送信する。ジョブ制御ノード3は、各計算ノード2に対して、3つのメッセージ長の情報を送信する。
各計算ノード2は、3つのメッセージ長の情報を受信する(ステップS1)。各計算ノード2のうち、マスタノードは、短メッセージ長における各通信アルゴリズムのテスト通信を行う。
この際、マスタノードは、各ワーカノードに対して、テスト通信の対象である通信アルゴリズムを特定する情報を通知する。通信部12は、該通信アルゴリズムによる集団通信(テスト通信)を行う。通信速度測定部14Aは、テスト通信に基づく通信速度を測定する。
通信速度測定部14Aは、短メッセージ長における各通信アルゴリズムによるテスト通信に基づく通信速度を測定する(ステップS2)。テスト通信の対象である通信アルゴリズムが変化するごとに、マスタノードは、各ワーカノードに対して、何れの通信アルゴリズムがテスト対象であるかの情報を通知する。
通信速度測定部14Aにより測定された短メッセージ長における各通信アルゴリズムの測定結果は、記憶部15に記憶される。
次に、マスタノードは、中メッセージ長における各通信アルゴリズムのテスト通信を行う(ステップS3)。マスタノードは、テスト対象である通信アルゴリズムが変化するごとに、何れの通信アルゴリズムがテスト対象であるかの情報を各ワーカノードに通知する。
通信速度測定部14Aにより測定された中メッセージ長における各通信アルゴリズムの測定結果は、記憶部15に記憶される。
制御部13は、記憶部15に記憶された中メッセージ長における各通信アルゴリズムの測定結果のうち、最速の通信アルゴリズムを特定する(ステップS4)。制御部13は、特定された通信アルゴリズムを変数として記憶部15に記憶する。
制御部13は、中メッセージ長における各通信アルゴリズムのうち、ステップS4で特定された通信アルゴリズム以外の通信アルゴリズムをリスト化する(ステップS5)。制御部13は、リスト化された通信アルゴリズムを記憶部15に記憶する。
制御部13は、ステップS4で特定された通信アルゴリズム(中メッセージ長における最速の通信アルゴリズム)の長メッセージ長におけるテスト通信を行うように通信部12を制御する。
通信速度測定部14Aは、該テスト通信の通信速度を測定する(ステップS6)。制御部13は、通信速度測定部14Aが、該テスト通信にかかった時間を時間閾値Tthとして記憶部15に記憶する(ステップS7)。
制御部13は、ステップS5でリスト化された各通信アルゴリズムについて、中メッセージ長近傍における通信速度の増加率を求める(ステップS8)。実施形態では、該増加率は、各通信アルゴリズムの短メッセージ長における通信速度と中メッセージ長における通信速度とにより形成される傾きで表される。
制御部13は、記憶部15に記憶されたリストに含まれる各通信アルゴリズムを、検出された各通信アルゴリズムの通信速度の増加率が小さい方から順番に並び替える(ステップS9)。
つまり、制御部13は、通信速度の増加率(傾き)が小さい方から順番に各通信アルゴリズムを並び替える。制御部13は、ステップS9の並び替えを行ったリストを記憶部15に記憶する。そして、処理は「A」に進む。
「A」移行の処理について、図10の例を参照して、説明する。制御部13は、記憶部15に記憶されたリストから通信アルゴリズムを抽出する(ステップS10)。リストに含まれる各通信アルゴリズムは並び替えが行われている。制御部13は、ステップS9の並び替えが行われた順番に従って通信アルゴリズムを抽出する。
制御部13は、抽出された通信アルゴリズムの長メッセージ長における通信アルゴリズムのテスト通信を行うように通信部12を制御する。通信速度測定部14Aは、通信速度を測定する(ステップS11)。
制御部13は、テスト通信が終了したかを監視する(ステップS12)。テスト通信が終了していない場合(ステップS12でNO)、制御部13は、テスト通信の測定時間が時間閾値Tthを越えたか否かを判定する(ステップS13)。
測定時間が時間閾値Tthを越えていない場合(ステップS13でNO)、処理は、ステップS12に戻り、制御部13は、テスト通信が終了したかを引き続き監視する(ステップS12)。
一方、テスト通信の測定時間が時間閾値Tthを超えた場合(ステップS13でYES)、測定時間が時間閾値Tthを越えた時点で、制御部13は、テスト通信を中断させる制御を行い、通信アルゴリズムの測定を終了させる。
これにより、最速でない通信アルゴリズムについての通信速度の測定が中断されるため、メッセージ長に応じた適切な通信アルゴリズムを決定するための時間を短くすることができる。
測定時間が時間閾値Tthに達する前にテスト通信が終了した場合(ステップS12でYES)、制御部13は、時間閾値Tthを今回の測定時間に更新する(ステップS14)。この場合、長メッセージ長における最速の通信アルゴリズムが更新される。
更新された時間閾値Tthよりも測定時間が長い通信アルゴリズムは、長メッセージ長における最速の通信アルゴリズムではない。このため、制御部13は、更新された時間閾値Tthを基準として、通信アルゴリズムの通信速度の測定を中断させることで、メッセージ長に応じた適切な通信アルゴリズムを決定するための時間を短くすることができる。
制御部13は、全ての通信アルゴリズムの通信速度の測定が終了したかを判定する(ステップS15)。全ての通信アルゴリズムの通信速度の測定が終了していない場合(ステップS15でNO)、処理はステップS10に戻る。
全ての通信アルゴリズムの通信速度の測定が終了した場合(ステップS15でYES)、アルゴリズム決定部16は、メッセージ長に応じた通信アルゴリズムを決定する(ステップS16)。
これにより、メッセージ長に応じた適切な通信アルゴリズムが決定される。実施形態では、メッセージ長に応じた適切な通信アルゴリズムは、テーブル形式でストレージ4に記憶される。
次に、図11のフローチャートを参照して、新たな測定点での通信アルゴリズムの決定処理の一例について説明する。制御部13は、記憶部15に記憶された2n+1個の測定点における測定結果を取得する(ステップS21)。なお、nは自然数である。
取得される測定結果は、メッセージ長および該メッセージ長における最速の通信アルゴリズムである。制御部13は、変数iをゼロに設定する(ステップS22)。なお、変数iは整数である。
Msg(i)はi番目のメッセージ長であり、Msg(i+1)は「i+1」番目のメッセージ長であるとする。例えば、メッセージ長が3つの場合、Msg(0)は短メッセージ長であり、Msg(1)は中メッセージ長であり、Msg(2)は長メッセージ長である。
制御部13は、Msg(i)とMsg(i+1)とにおける最速の通信アルゴリズムが同じであるかを判定する(ステップS23)。Msg(i)における最速の通信アルゴリズムをA(i)とし、Msg(i+1)における最速の通信アルゴリズムをA(i+1)とする。
従って、ステップS23において、制御部13は、隣接するメッセージ長における最速の通信アルゴリズムA(i)とA(i+1)とが同じであるかを判定する。
通信アルゴリズムA(i)とA(i+1)とが同じでない場合(ステップS24でNO)、制御部13は、通信アルゴリズムA(i)とA(i+1)とについて、Msg(i)とMsg(i+1)との通信速度を結ぶ線分を形成する(ステップS25)。
ステップS24でNOの場合、上記の線分の交点が存在する。制御部13は、線分の交点を検出し、その交点のメッセージ長をMsg(xi)として新規に設定する(ステップS26)。
通信アルゴリズムA(i)とA(i+1)とが同じである場合(ステップS24でYES)、上記の線分を形成したとしても、線分の交点は存在しない。
この場合、制御部13は、Msg(i)とMsg(i+1)との間に新規にメッセージ長Msg(xi)を設定する(ステップS27)。例えば、制御部13は、メッセージ長Msg(xi)を以下の式に基づいて設定してもよい。
「Msg(xi)=2^((log2Msg(i)+log2Msg(i+1)/2))」
「Msg(xi)=2^((log2Msg(i)+log2Msg(i+1)/2))」
制御部13は、通信アルゴリズムA(i)またはA(i+1)の何れかを優先させた順番で、メッセージ長Msg(xi)について全ての通信アルゴリズムの通信速度の測定を行うように制御する。
この制御に基づいて、通信部12はメッセージ長Msg(xi)における各通信アルゴリズムのテスト通信を行い、通信速度測定部14Aは、テスト通信の速度を測定する(ステップS28)。測定結果は、記憶部15に記憶される。
変数iがゼロの場合、メッセージ長Msg(xi)は、短メッセージ長と中メッセージ長との間に設定される。制御部13は、変数iをインクリメントする(ステップS29)。変数iはゼロであったため、変数iの値は「1」になる。
そして、制御部13は、変数iの値が2nに達したか否かを判定する(ステップS30)。n=1の場合(3つのメッセージ長の場合)、変数iは2nに達していない。この場合(ステップS30でNO)、処理はステップS23に戻る。
変数iが「1」である場合、中メッセージ長と長メッセージ長との間にメッセージ長Msg(xi)が新規に設定される。そして、メッセージ長Msg(xi)における各通信アルゴリズムの通信速度の測定が行われる。
以上により、新たに2つのメッセージ長における各通信アルゴリズムの通信速度の測定が行われる。アルゴリズム決定部16は、合計5つのメッセージ長における各通信アルゴリズムの通信速度のうち最速の通信速度である通信アルゴリズムを決定する(ステップS31)。
このため、通信速度の測定点を2つ増やすことができ、適切な通信アルゴリズムの決定をより細かく行うことができる。
上述した処理により、合計5つのメッセージ長における最速の通信アルゴリズムが決定される。計算ノード2は、ステップS21のnを「2」に設定して、図11の処理を実行することで、合計9つのメッセージ長における最速の通信アルゴリズムを決定することができる。
図9乃至図11のフローチャートの各処理は、集団通信に参加する計算ノード2の数が固定された条件下で行われる。制御部13は、計算ノード2の数(ノード数)を変化させて、メッセージ長に応じた通信アルゴリズムを決定してもよい。
集団通信に参加するノード数が変化すると、各メッセージ長における最速の通信アルゴリズムが変化する場合がある。そこで、ノード数を変化させて、メッセージ長に応じた通信アルゴリズムを決定することで、ノード数とメッセージ長とに応じた適切な通信アルゴリズムが決定される。
<計算ノードのハードウェア構成の一例>
次に、図12の例を参照して、計算ノード2のハードウェア構成の一例を説明する。図12の例に示すように、バス100に対して、プロセッサ111とRandom Access Memory(RAM)112とRead Only Memory(ROM)113と補助記憶装置114と媒体接続部115と通信インタフェース116とが接続されている。
次に、図12の例を参照して、計算ノード2のハードウェア構成の一例を説明する。図12の例に示すように、バス100に対して、プロセッサ111とRandom Access Memory(RAM)112とRead Only Memory(ROM)113と補助記憶装置114と媒体接続部115と通信インタフェース116とが接続されている。
プロセッサ111は任意の処理回路である。プロセッサ111には、例えば、上述したCPUが適用されてもよい。
プロセッサ111はRAM112(主記憶装置)に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態の処理を行うプログラムが適用されてもよい。ROM113はRAM112に展開されるプログラムを記憶する不揮発性の記憶装置である。
補助記憶装置114は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等が補助記憶装置114に適用されてもよい。媒体接続部115は、可搬型記録媒体119と接続可能に設けられている。
可搬型記録媒体119としては、可搬型のメモリや光学式ディスク(例えば、Compact Disc(CD)やDigital Versatile Disc(DVD)等)が適用されてもよい。この可搬型記録媒体119に実施形態の処理を行うプログラムが記録されてもよい。
計算ノード2のうち、通信部12は、通信インタフェース116により実現されてよい。記憶部15は、RAM112または補助記憶装置114により実現されてよい。計算ノード2のうち、通信部12および記憶部15以外の各部は、プロセッサ111が与えられたプログラムを実行することにより実現されてよい。
RAM112、ROM113、補助記憶装置114および可搬型記録媒体119は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
<その他>
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 並列計算機システム
2 計算ノード
3 制御ノード
4 ストレージ
5 端末
6 第1ネットワーク
7 第2ネットワーク
8 第3ネットワーク
11 演算部
12 通信部
13 制御部
14 測定部
14A 通信速度測定部
14B 手順決定部
15 記憶部
16 アルゴリズム決定部
111 プロセッサ
112 RAM
113 ROM
2 計算ノード
3 制御ノード
4 ストレージ
5 端末
6 第1ネットワーク
7 第2ネットワーク
8 第3ネットワーク
11 演算部
12 通信部
13 制御部
14 測定部
14A 通信速度測定部
14B 手順決定部
15 記憶部
16 アルゴリズム決定部
111 プロセッサ
112 RAM
113 ROM
Claims (9)
- 並列計算機システムのノードに、
特定の範囲内のメッセージ長を持つ第1通信を異なる通信アルゴリズムにより通信させて前記各通信アルゴリズムの通信速度を測定し、
測定された前記通信速度に基づいて、前記第1通信のメッセージ長よりも長い範囲のメッセージ長を持つ第2通信を行わせる際の前記通信アルゴリズムの手順を決定し、決定された手順で前記第2通信を行わせて、前記各通信アルゴリズムの通信速度を測定し、
前記第1通信による測定結果と前記第2通信による測定結果とに基づいて、メッセージ長に応じた通信アルゴリズムを決定する、
処理を実行させる通信アルゴリズム決定プログラム。 - 前記ノードに、
前記第1通信による測定結果のうち最速の通信アルゴリズムの通信速度を最初に測定するように前記第2通信の手順を決定する、
処理を実行させる請求項1記載の通信アルゴリズム決定プログラム。 - 前記ノードに、
前記第1通信を前記特定の範囲内の異なるメッセージ長で通信させて、それぞれの通信速度を測定し、
測定された前記それそれの通信速度から得られる、前記特定の範囲内における前記通信速度の増加率に基づいて、前記第2通信の手順を決定する、
処理を実行させる請求項1または2記載の通信アルゴリズム決定プログラム。 - 前記ノードに、
前記通信速度の増加率が低い通信アルゴリズムから順番に通信速度を測定するように、前記第2通信の手順を決定する、
処理を実行させる請求項3記載の通信アルゴリズム決定プログラム。 - 前記ノードに、
前記第1通信の測定結果が最速の通信アルゴリズムにおける前記第2通信の測定時間を閾値として、前記第2通信による測定時間が前記閾値を超えた場合、該第2通信による測定を中断させる、
処理を実行させる請求項1乃至4のうち何れか1項に記載の通信アルゴリズム決定プログラム。 - 前記ノードに、
前記第1通信による測定結果のうち最速の通信アルゴリズムと前記第2通信による測定結果のうち最速の通信アルゴリズムとが異なる場合、前記第1通信のメッセージ長と前記第2通信のメッセージ長との間で最速の通信アルゴリズムが変化する点を検出し、
検出された前記点で前記各通信アルゴリズムの通信速度を測定する、
処理を実行させる請求項1乃至5のうち何れか1項に記載の通信アルゴリズム決定プログラム。 - 前記ノードに、
前記第1通信による測定結果のうち最速の通信アルゴリズムと前記第2通信による測定結果のうち最速の通信アルゴリズムとが同じ場合、前記第1通信のメッセージ長と前記第2通信のメッセージ長との間に点を設定し、
設定された前記点で前記各通信アルゴリズムの通信速度を測定する、
処理を実行させる請求項1乃至5のうち何れか1項に記載の通信アルゴリズム決定プログラム。 - 並列計算機システムのノードが、
特定の範囲内のメッセージ長を持つ第1通信を異なる通信アルゴリズムにより通信させて前記各通信アルゴリズムの通信速度を測定し、
測定された前記通信速度に基づいて、前記第1通信のメッセージ長よりも長い範囲のメッセージ長を持つ第2通信を行わせる際の前記通信アルゴリズムの手順を決定し、決定された手順で前記第2通信を行わせて、前記各通信アルゴリズムの通信速度を測定し、
前記第1通信による測定結果と前記第2通信による測定結果とに基づいて、メッセージ長に応じた通信アルゴリズムを決定する、
処理を実行する通信アルゴリズム決定方法。 - 並列計算機システムの情報処理装置であって、
特定の範囲内のメッセージ長を持つ第1通信を異なる通信アルゴリズムにより通信させて前記各通信アルゴリズムの通信速度を測定し、測定された前記通信速度に基づいて、前記第1通信のメッセージ長よりも長い範囲のメッセージ長を持つ第2通信を行わせる際の前記通信アルゴリズムの手順を決定し、決定された手順で前記第2通信を行わせて、前記各通信アルゴリズムの通信速度を測定する測定部と、
前記第1通信による測定結果と前記第2通信による測定結果とに基づいて、メッセージ長に応じた通信アルゴリズムを決定する決定部と、
を備える情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015232760A JP2017102510A (ja) | 2015-11-30 | 2015-11-30 | 通信アルゴリズム決定プログラム、通信アルゴリズム決定方法および情報処理装置 |
US15/264,696 US9817706B2 (en) | 2015-11-30 | 2016-09-14 | Non-transitory computer-readable recording medium having stored therein a communication algorithm determination program, communication algorithm determination method, and information processing device executing a communication algorithm determination program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015232760A JP2017102510A (ja) | 2015-11-30 | 2015-11-30 | 通信アルゴリズム決定プログラム、通信アルゴリズム決定方法および情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017102510A true JP2017102510A (ja) | 2017-06-08 |
Family
ID=58777944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015232760A Pending JP2017102510A (ja) | 2015-11-30 | 2015-11-30 | 通信アルゴリズム決定プログラム、通信アルゴリズム決定方法および情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9817706B2 (ja) |
JP (1) | JP2017102510A (ja) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI104873B (fi) | 1997-04-16 | 2000-04-14 | Nokia Networks Oy | Datapalvelu matkaviestinverkossa |
JP3640081B2 (ja) * | 1999-12-27 | 2005-04-20 | 日本電気株式会社 | Mpiプログラムのコンパイルにおける最適化方法 |
JP3866980B2 (ja) * | 2002-01-18 | 2007-01-10 | 株式会社エヌ・ティ・ティ・ドコモ | 無線回線制御装置、移動通信システム、無線回線制御方法 |
JP4621747B2 (ja) | 2008-02-15 | 2011-01-26 | 株式会社東芝 | 通信制御装置および情報処理装置 |
EP2564572B1 (en) | 2010-04-30 | 2014-05-21 | InterDigital Patent Holdings, Inc. | Light weight protocol and agent in a network communication |
US8560737B2 (en) | 2011-06-10 | 2013-10-15 | International Business Machines Corporation | Managing operator message buffers in a coupling facility |
WO2013070106A1 (en) * | 2011-11-08 | 2013-05-16 | Intel Corporation | Message passing interface tuning using collective operation modeling |
JP2016096416A (ja) * | 2014-11-13 | 2016-05-26 | 富士通株式会社 | パケット解析プログラム、及びパケット解析方法 |
US10073809B2 (en) * | 2015-04-27 | 2018-09-11 | Intel Corporation | Technologies for scalable remotely accessible memory segments |
-
2015
- 2015-11-30 JP JP2015232760A patent/JP2017102510A/ja active Pending
-
2016
- 2016-09-14 US US15/264,696 patent/US9817706B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US9817706B2 (en) | 2017-11-14 |
US20170153931A1 (en) | 2017-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9853892B2 (en) | Control method, information processing device, and communication system | |
US7643426B1 (en) | Path selection in a network | |
US10425326B2 (en) | Rerouting tunnel traffic in communication networks | |
US9608900B2 (en) | Techniques for flooding optimization for link state protocols in a network topology | |
US9954766B2 (en) | Centralized network control system | |
RU2012138150A (ru) | Система связи, устройство управления, способ связи и программа | |
WO2015154475A1 (zh) | 一种数据处理方法、装置及具备相应装置的计算机 | |
RU2015125312A (ru) | Маршрутизация данных | |
WO2015106729A1 (zh) | 一种负载均衡方法、装置和***、计算机存储介质 | |
EP3474493B1 (en) | Network performance measurement method and detection device | |
CN116095029B (zh) | 网络数据流测量方法、***、终端及存储介质 | |
CN105763463B (zh) | 一种链路探测报文的传输方法和装置 | |
KR102363510B1 (ko) | 프로파일링 기반의 자동화된 네트워크 성능 최적화 시스템 및 그 방법 | |
JP2017102510A (ja) | 通信アルゴリズム決定プログラム、通信アルゴリズム決定方法および情報処理装置 | |
EP3285440B1 (en) | Switching network synchronization method, switching device, access device and storage medium | |
JP2012015837A (ja) | 経路計算装置、データ転送装置、経路計算方法、データ転送方法およびプログラム | |
CN106936651B (zh) | 一种数据流的确定方法及控制器 | |
KR101395009B1 (ko) | 라우팅 경로 선택 방법 및 장치 | |
WO2022049751A1 (ja) | コネクション数計測装置、方法、およびプログラム | |
JP5403756B2 (ja) | 管理装置、プログラム及びトラフィック制御方法 | |
JP6407489B2 (ja) | 転送装置、調整装置およびパラメータ調整方法 | |
KR20160139591A (ko) | 라우팅 방법 및 그 장치 | |
KR101496058B1 (ko) | 회선 활용도 기반 네트워크 코딩 방식 결정 방법 및 장치 | |
JP7388561B2 (ja) | コンピュータシステムおよび演算処理方法 | |
CN104618179B (zh) | 可编程路由交换平台的服务适应性评估方法和装置 |