JP2014049074A - 計算ノード間メッセージ通信状況取得プログラム、方法、及びシステム - Google Patents
計算ノード間メッセージ通信状況取得プログラム、方法、及びシステム Download PDFInfo
- Publication number
- JP2014049074A JP2014049074A JP2012194029A JP2012194029A JP2014049074A JP 2014049074 A JP2014049074 A JP 2014049074A JP 2012194029 A JP2012194029 A JP 2012194029A JP 2012194029 A JP2012194029 A JP 2012194029A JP 2014049074 A JP2014049074 A JP 2014049074A
- Authority
- JP
- Japan
- Prior art keywords
- time
- message
- starting point
- control communication
- transmission
- 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.)
- Granted
Links
Images
Abstract
【解決手段】第1の計算ノードがメッセージの送信命令を実行し、第2の計算ノードがメッセージの受信命令を実行する場合に、前記メッセージの転送に関連する時間を取得するプログラムであって、前記第1の計算ノード及び前記第2の計算ノードのうちの一方から他方に、前記メッセージの転送の開始の起点となる制御通信を送信し、前記起点となる制御通信を、前記他方の計算ノードにおいて受信し、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とを検出し、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とに基づいて、前記メッセージの送信命令及び受信命令の各々における、前記メッセージの転送開始までに要する待ち時間及び/又は前記メッセージの転送に要する経過時間を特定する。
【選択図】図1
Description
(送信側計算ノード) (受信側計算ノード)
MPI_Send(...,comm); MPI_Recv(...,comm,&status);
上記の命令は、送信側で送信関数MPI_Send()を実行し、受信側で受信関数MPI_Recv()を実行することで送信側から受信側にメッセージの転送が行われる(なお、引数commは、通信を行うグループの指定であり、statusは、受信状況を受け取る配列を指定する)。この場合、通信待ち時間やメッセージ転送時間をユーザが把握することができない。このため、例えば、上記ユーザプログラムに以下に示す複数の関数を挿入することで対処することが考えられる。すなわち、
(送信側) (受信側)
ds1 = MPI_Wtime() dr1 = MPI_Wtime();
MPI_Barrier(comm); MPI_Barrier(comm);
ds2 = MPI_Wtime(); dr2 = MPI_Wtime();
MPI_Send(...,comm); MPI_Recv(...,comm,&status);
ds3 = MPI_Wtime(); dr3 = MPI_Wtime();
上記のプログラムにおいて、MPI_Barrier(comm)は、バリヤ同期を取る関数である。すなわち、送信側と受信側で対応するバリヤ関数が同期して実行される。commによって、同期を取るグループが指定される。すなわち、送信側と受信側に存在するバリヤ関数のうち、同じcommの値を持つバリヤ関数が同時に実行される。対応するバリヤ関数が同時に実行されることで、同期を取ることができる。
「メッセージ転送時間」:実際にインターコネクト上にデータが流れている時間。
「通信待ち時間」:送信処理関数が実行され、データを送信しようとした場合、受信側がデータの受信準備ができていないために送信が開始できない時間。或いは、受信処理関数が実行され、受信側でデータの受信準備ができているが、送信側からデータが送られてこない時間。
(第1の計算ノード) (第2の計算ノード)
MPI_Send(...,comm); MPI_Recv(...,comm,&status);
図1において、送信処理関数は以下のシーケンスを有する。Eagerプロトコルのメッセージ転送は、比較的小さいデータを転送する際に利用される。メッセージの転送には、バッファが利用される。
図12において、メッセージ転送の起点となる制御通信140aは、第2の計算ノードの受信処理関数の開始時刻t161aよりも前に、第1の計算ノードから送信されてもよい。すなわち、Eagerプロトコルでは、送受信バッファを利用するため、メッセージ転送150aは、第2の計算ノードの受信処理関数の開始時刻t161aに左右されることなく、実行されてもよい。
(付記1)
第1の計算ノードがメッセージの送信命令を実行し、第2の計算ノードがメッセージの受信命令を実行する場合に、前記メッセージの転送に関連する時間を取得するプログラムであって、
前記第1の計算ノード及び前記第2の計算ノードのうちの一方から他方に、前記メッセージの転送の開始の起点となる制御通信を送信し、
前記起点となる制御通信を、前記他方の計算ノードにおいて受信し、
少なくとも、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とを検出し、
少なくとも、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とに基づいて、前記メッセージの送信命令及び前記メッセージの受信命令の各々における、前記メッセージの転送開始までに要する待ち時間及び/又は前記メッセージの転送に要する経過時間を特定する、
処理、をコンピュータに実行させるプログラム。
(付記2)
前記検出する処理は、
前記メッセージの送信命令の実行開始時刻と、前記メッセージの受信命令の実行開始時刻とを検出し、
前記メッセージの転送における、メッセージ送信完了時刻と、メッセージ受信完了時刻とを検出する、
処理を含み、
前記特定する処理は、
前記メッセージの送信命令の実行開始時刻と、前記メッセージの受信命令の実行開始時刻と、前記メッセージ送信完了時刻と、メッセージ受信完了時刻とを利用する、付記1記載のプログラム。
(付記3)
前記特定する処理は、
前記第1の計算ノードにおける前記メッセージの送信命令の実行開始時刻と、前記第1の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻との差に基づいて、前記第1の計算ノードにおける前記メッセージの転送開始までに要する待ち時間を特定し、又は前記第2の計算ノードにおける前記メッセージの受信命令の実行開始時刻と、前記第2の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻との差に基づいて、前記第2の計算ノードにおける前記メッセージの転送開始までに要する待ち時間を特定する、
処理を含む、付記2記載のプログラム。
(付記4)
前記特定する処理は、
前記第1の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻と、前記第1の計算ノードにおける前記メッセージの転送終了時刻との差に基づいて、前記第1の計算ノードにおける前記メッセージの転送時間を特定し、又は前記第2の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻と、前記第2の計算ノードにおける前記メッセージの転送終了時刻との差に基づいて、前記第2の計算ノードにおける前記メッセージの転送時間を特定する、
処理を含む、付記2又は3記載のプログラム。
(付記5)
前記メッセージの転送は、CPUコア間通信、インターコネクト、バス、LAN、WAN、インターネットのうち、少なくとも1つを用いて実行される、
付記2ないし4のうちいずれか1項に記載のプログラム。
(付記6)
第1の計算ノードがメッセージの送信命令を実行し、第2の計算ノードがメッセージの受信命令を実行する場合に、前記メッセージの転送に関連する時間を取得する方法であって、
前記第1の計算ノード及び前記第2の計算ノードのうちの一方から他方に、前記メッセージの転送の開始の起点となる制御通信を送信し、
前記起点となる制御通信を、前記他方の計算ノードにおいて受信し、
少なくとも、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とを検出し、
少なくとも、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とに基づいて、前記メッセージの送信命令及び前記メッセージの受信命令の各々における、前記メッセージの転送開始までに要する待ち時間及び/又は前記メッセージの転送に要する経過時間を特定する、
処理、を有する方法。
(付記7)
前記検出する処理は、
前記メッセージの送信命令の実行開始時刻と、前記メッセージの受信命令の実行開始時刻とを検出し、
前記メッセージの転送における、メッセージ送信完了時刻と、メッセージ受信完了時刻とを検出する、
処理を含み、
前記特定する処理は、
前記メッセージの送信命令の実行開始時刻と、前記メッセージの受信命令の実行開始時刻と、前記メッセージ送信完了時刻と、メッセージ受信完了時刻とを利用する、付記6記載の方法。
(付記8)
前記特定する処理は、
前記第1の計算ノードにおける前記メッセージの送信命令の実行開始時刻と、前記第1の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻との差に基づいて、前記第1の計算ノードにおける前記メッセージの転送開始までに要する待ち時間を特定し、又は前記第2の計算ノードにおける前記メッセージの受信命令の実行開始時刻と、前記第2の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻との差に基づいて、前記第2の計算ノードにおける前記メッセージの転送開始までに要する待ち時間を特定する、
処理を含む、付記7記載の方法。
(付記9)
前記特定する処理は、
前記第1の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻と、前記第1の計算ノードにおける前記メッセージの転送終了時刻との差に基づいて、前記第1の計算ノードにおける前記メッセージの転送時間を特定し、又は前記第2の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻と、前記第2の計算ノードにおける前記メッセージの転送終了時刻との差に基づいて、前記第2の計算ノードにおける前記メッセージの転送時間を特定する、
処理を含む、付記7又は8項記載の方法。
(付記10)
前記メッセージの転送は、CPUコア間通信、インターコネクト、バス、LAN、WAN、インターネットのうち、少なくとも1つを用いて実行される、
付記7ないし9のうちいずれか1項に記載の方法。
(付記11)
第1の計算ノードがメッセージの送信命令を実行し、第2の計算ノードがメッセージの受信命令を実行する場合に、前記メッセージの転送に関連する時間を取得するシステムであって、
前記第1の計算ノード及び前記第2の計算ノードのうちの一方から他方に、前記メッセージの転送の開始の起点となる制御通信を送信する送信部と、
前記起点となる制御通信を、前記他方の計算ノードにおいて受信する受信部と、
少なくとも、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とを検出する時刻検出部と、
少なくとも、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とに基づいて、前記メッセージの送信命令及び前記メッセージの受信命令の各々における、前記メッセージの転送開始までに要する待ち時間及び/又は前記メッセージの転送に要する経過時間を特定する経過時間特定部と、
を有するシステム。
(付記12)
前記時刻検出部は、
前記メッセージの送信命令の実行開始時刻と、前記メッセージの受信命令の実行開始時刻とを検出する実行開始時刻検出部と、
前記メッセージの転送における、メッセージ送信完了時刻と、メッセージ受信完了時刻とを検出するメッセージ送受信完了時刻検出部と、を含み、
前記経過時間特定部は、
前記メッセージの送信命令の実行開始時刻と、前記メッセージの受信命令の実行開始時刻と、前記メッセージ送信完了時刻と、メッセージ受信完了時刻とを利用する、
付記11記載のシステム。
(付記13)
前記経過時間特定部は、
前記第1の計算ノードにおける前記メッセージの送信命令の実行開始時刻と、前記第1の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻との差に基づいて、前記第1の計算ノードにおける前記メッセージの転送開始までに要する待ち時間を特定し、又は前記第2の計算ノードにおける前記メッセージの受信命令の実行開始時刻と、前記第2の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻との差に基づいて、前記第2の計算ノードにおける前記メッセージの転送開始までに要する待ち時間を特定する、待ち時間特定部、
を有する、付記12記載のシステム。
(付記14)
前記経過時間特定部は、
前記第1の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻と、前記第1の計算ノードにおける前記メッセージの転送終了時刻との差に基づいて、前記第1の計算ノードにおける前記メッセージの転送時間を特定し、又は前記第2の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻と、前記第2の計算ノードにおける前記メッセージの転送終了時刻との差に基づいて、前記第2の計算ノードにおける前記メッセージの転送時間を特定する、メッセージ転送時間特定部、
を有する、付記12又は13記載のシステム。
(付記15)
前記メッセージの転送は、CPUコア間通信、インターコネクト、バス、LAN、WAN、インターネットのうち、少なくとも1つを用いて実行される、
付記12ないし14のうちいずれか1項に記載のシステム。
1112 送信部
1114 受信部
1120 時刻検出部
1122 実行開始時刻検出部
1124 メッセージ送受信完了時刻検出部
1130 経過時間特定部
1132 待ち時間特定部
1134 メッセージ転送時間特定部
1140 通信時間結果
Claims (7)
- 第1の計算ノードがメッセージの送信命令を実行し、第2の計算ノードがメッセージの受信命令を実行する場合に、前記メッセージの転送に関連する時間を取得するプログラムであって、
前記第1の計算ノード及び前記第2の計算ノードのうちの一方から他方に、前記メッセージの転送の開始の起点となる制御通信を送信し、
前記起点となる制御通信を、前記他方の計算ノードにおいて受信し、
少なくとも、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とを検出し、
少なくとも、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とに基づいて、前記メッセージの送信命令及び前記メッセージの受信命令の各々における、前記メッセージの転送開始までに要する待ち時間及び/又は前記メッセージの転送に要する経過時間を特定する、
処理、をコンピュータに実行させるプログラム。 - 前記検出する処理は、
前記メッセージの送信命令の実行開始時刻と、前記メッセージの受信命令の実行開始時刻とを検出し、
前記メッセージの転送における、メッセージ送信完了時刻と、メッセージ受信完了時刻とを検出する、
処理を含み、
前記特定する処理は、
前記メッセージの送信命令の実行開始時刻と、前記メッセージの受信命令の実行開始時刻と、前記メッセージ送信完了時刻と、メッセージ受信完了時刻とを利用する、請求項1記載のプログラム。 - 前記特定する処理は、
前記第1の計算ノードにおける前記メッセージの送信命令の実行開始時刻と、前記第1の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻との差に基づいて、前記第1の計算ノードにおける前記メッセージの転送開始までに要する待ち時間を特定し、又は前記第2の計算ノードにおける前記メッセージの受信命令の実行開始時刻と、前記第2の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻との差に基づいて、前記第2の計算ノードにおける前記メッセージの転送開始までに要する待ち時間を特定する、
処理を含む、請求項2記載のプログラム。 - 前記特定する処理は、
前記第1の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻と、前記第1の計算ノードにおける前記メッセージの転送終了時刻との差に基づいて、前記第1の計算ノードにおける前記メッセージの転送時間を特定し、又は前記第2の計算ノードにおける前記起点となる制御通信の送信時刻又は前記起点となる制御通信の受信時刻と、前記第2の計算ノードにおける前記メッセージの転送終了時刻との差に基づいて、前記第2の計算ノードにおける前記メッセージの転送時間を特定する、
処理を含む、請求項2又は3記載のプログラム。 - 前記メッセージの転送は、CPUコア間通信、インターコネクト、バス、LAN、WAN、インターネットのうち、少なくとも1つを用いて実行される、
請求項2ないし4のうちいずれか1項に記載のプログラム。 - 第1の計算ノードがメッセージの送信命令を実行し、第2の計算ノードがメッセージの受信命令を実行する場合に、前記メッセージの転送に関連する時間を取得する方法であって、
前記第1の計算ノード及び前記第2の計算ノードのうちの一方から他方に、前記メッセージの転送の開始の起点となる制御通信を送信し、
前記起点となる制御通信を、前記他方の計算ノードにおいて受信し、
少なくとも、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とを検出し、
少なくとも、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とに基づいて、前記メッセージの送信命令及び前記メッセージの受信命令の各々における、前記メッセージの転送開始までに要する待ち時間及び/又は前記メッセージの転送に要する経過時間を特定する、
処理、を有する方法。 - 第1の計算ノードがメッセージの送信命令を実行し、第2の計算ノードがメッセージの受信命令を実行する場合に、前記メッセージの転送に関連する時間を取得するシステムであって、
前記第1の計算ノード及び前記第2の計算ノードのうちの一方から他方に、前記メッセージの転送の開始の起点となる制御通信を送信する送信部と、
前記起点となる制御通信を、前記他方の計算ノードにおいて受信する受信部と、
少なくとも、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とを検出する時刻検出部と、
少なくとも、前記起点となる制御通信の送信時刻と、前記起点となる制御通信の受信時刻とに基づいて、前記メッセージの送信命令及び前記メッセージの受信命令の各々における、前記メッセージの転送開始までに要する待ち時間及び/又は前記メッセージの転送に要する経過時間を特定する経過時間特定部と、
を有するシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012194029A JP5949346B2 (ja) | 2012-09-04 | 2012-09-04 | 計算ノード間メッセージ通信状況取得プログラム、方法、及びシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012194029A JP5949346B2 (ja) | 2012-09-04 | 2012-09-04 | 計算ノード間メッセージ通信状況取得プログラム、方法、及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014049074A true JP2014049074A (ja) | 2014-03-17 |
JP5949346B2 JP5949346B2 (ja) | 2016-07-06 |
Family
ID=50608632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012194029A Expired - Fee Related JP5949346B2 (ja) | 2012-09-04 | 2012-09-04 | 計算ノード間メッセージ通信状況取得プログラム、方法、及びシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5949346B2 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009199121A (ja) * | 2008-02-19 | 2009-09-03 | Nec Corp | 情報処理装置、通信情報採取方法、及び、プログラム |
-
2012
- 2012-09-04 JP JP2012194029A patent/JP5949346B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009199121A (ja) * | 2008-02-19 | 2009-09-03 | Nec Corp | 情報処理装置、通信情報採取方法、及び、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5949346B2 (ja) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090248934A1 (en) | Interrupt dispatching method in multi-core environment and multi-core processor | |
JP6091724B2 (ja) | リンクのヘルスチェック方法および装置 | |
US20180285294A1 (en) | Quality of service based handling of input/output requests method and apparatus | |
Larsen et al. | Architectural breakdown of end-to-end latency in a TCP/IP network | |
JP5490336B2 (ja) | Pciエクスプレス・マルチプル・ルートi/o仮想化環境における低待ち時間の優先順位付け | |
CN109688058B (zh) | 报文处理方法、装置及网络设备 | |
CN110622478A (zh) | 数据同步处理的方法和装置 | |
WO2015014198A1 (en) | Data packet processing | |
WO2018077052A1 (zh) | 一种虚拟交换机的升级方法和装置 | |
TWI497970B (zh) | 用於改良之時脈偏移測量之技術 | |
US20170364279A1 (en) | Systems and methods for non-uniform memory access aligned i/o for virtual machines | |
US10621124B2 (en) | Method, device and computer program product for enabling SR-IOV functions in endpoint device | |
US9270620B2 (en) | Memory transfer optimization of network adapter data placement when performing header-data split operations | |
US8588095B2 (en) | Data conversion device and data conversion method | |
US20170235685A1 (en) | I/o processing system including dynamic missing interrupt and input/output detection | |
CN109417507B (zh) | 一种通过部分直接内存访问dma访问内存的方法和系统 | |
JP5853819B2 (ja) | 制御プログラム、制御方法、記憶制御装置および情報処理システム | |
WO2017080386A1 (zh) | 一种报文处理方法和装置 | |
US20160188340A1 (en) | System and method for performing parallel operations using a plurality of nodes | |
JP5949346B2 (ja) | 計算ノード間メッセージ通信状況取得プログラム、方法、及びシステム | |
WO2018057165A1 (en) | Technologies for dynamically transitioning network traffic host buffer queues | |
US10284501B2 (en) | Technologies for multi-core wireless network data transmission | |
WO2022116901A1 (zh) | Iis总线译码方法、装置、示波器及计算机可读存储介质 | |
JP2010165105A (ja) | 通信装置及びその制御プログラム | |
WO2018196223A1 (zh) | 一种数据处理方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150512 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151023 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151027 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151222 |
|
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: 20160510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160523 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5949346 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |