JP2010244180A - プロセス間通信管理システム、プロセス間通信管理方法、プロセス間通信通信管理プログラム - Google Patents
プロセス間通信管理システム、プロセス間通信管理方法、プロセス間通信通信管理プログラム Download PDFInfo
- Publication number
- JP2010244180A JP2010244180A JP2009090085A JP2009090085A JP2010244180A JP 2010244180 A JP2010244180 A JP 2010244180A JP 2009090085 A JP2009090085 A JP 2009090085A JP 2009090085 A JP2009090085 A JP 2009090085A JP 2010244180 A JP2010244180 A JP 2010244180A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- processing
- inter
- time
- processes
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】処理遅延が生じた処理プロセスを迅速に特定する。
【解決手段】複数の異なるプロセスにより構成されるプログラムに基づきその内容の実行処理を行うプロセッサ部と、プロセス相互間で行われるプロセス間通信の通信所要時間に基づき処理遅延が生じたプロセスを特定する処理遅延箇所特定部とを有し、プロセッサ部による実行処理時に、上記プロセスのうちの一の処理プロセスの通信所要時間を計測し当該通信所要時間を基準時間として設定するプロセス間通信初期化手段2と、他の処理プロセスにおける通信所要時間と基準時間とを比較して基準時間より長い通信所要時間を取得し当該通信所要時間に対応するプロセス間通信を行った処理プロセスを特定するプロセス間通信処理手段4とを備えた。
【選択図】図1
【解決手段】複数の異なるプロセスにより構成されるプログラムに基づきその内容の実行処理を行うプロセッサ部と、プロセス相互間で行われるプロセス間通信の通信所要時間に基づき処理遅延が生じたプロセスを特定する処理遅延箇所特定部とを有し、プロセッサ部による実行処理時に、上記プロセスのうちの一の処理プロセスの通信所要時間を計測し当該通信所要時間を基準時間として設定するプロセス間通信初期化手段2と、他の処理プロセスにおける通信所要時間と基準時間とを比較して基準時間より長い通信所要時間を取得し当該通信所要時間に対応するプロセス間通信を行った処理プロセスを特定するプロセス間通信処理手段4とを備えた。
【選択図】図1
Description
本発明は、コンピュータシステムにおけるプログラム処理実行時に行われるプロセス間通信にかかる通信情報を取得し管理するプロセス間通信情報管理システムに関する。
スーパーコンピュータなどにおける、例えば、単段クロスバーネットワークなどを採用されたコンピュータシステムでは、当該コンピュータシステム内に設定されたノード間における通信時間がその接続位置によらず均一である場合が多い。
この場合、各ノードに設定されたプロセッサに対して処理プロセスが生成(配置)されても、処理プロセス相互間で行われるデータ転送(以下「プロセス間通信」という)にかかる所要時間(プロセス間通信時間)は均一となる。
この場合、各ノードに設定されたプロセッサに対して処理プロセスが生成(配置)されても、処理プロセス相互間で行われるデータ転送(以下「プロセス間通信」という)にかかる所要時間(プロセス間通信時間)は均一となる。
この場合、各処理プロセスにおけるプロセス間通信時間の基準値(基準時間)として、予め設定された定数値を用いることができる。
これにより、プログラム実行中におけるプロセス間通信がこの基準時間を超えている場合には、処理プロセス間で処理インバランスが生じたことから、各処理プロセスにおけるプロセス間通信に遅延が生じているものと判断することができ、このため、通信時間の遅延が生じた処理プロセスの通信情報(プロセス間通信時間)を取得することにより、処理インバランスの発生箇所としての処理プロセスを特定することができる。
これにより、プログラム実行中におけるプロセス間通信がこの基準時間を超えている場合には、処理プロセス間で処理インバランスが生じたことから、各処理プロセスにおけるプロセス間通信に遅延が生じているものと判断することができ、このため、通信時間の遅延が生じた処理プロセスの通信情報(プロセス間通信時間)を取得することにより、処理インバランスの発生箇所としての処理プロセスを特定することができる。
一方、コンピュータシステム内に設置されるノード数が増加されるのに伴い、例えば、多段クロスバーネットワーク、ファットツリー、二次元あるいは三次元のメッシュやトーラス等のネットワーク構成が採用されたコンピュータシステムが増えてきている。
これらのコンピュータシステムにおいては、ネットワークに接続されているノード間の距離が、ネットワーク上必ずしも等距離ではない。このため、ネットワーク上の距離により、ノード間通信に要する通信時間(プロセス間通信時間)が異なることになる。
このため、上記のように、予め設定された定数値の基準時間に基づき各プロセスにおけるプロセス間通信の通信所要時間を比較しても、通常のプロセス間通信時間よりも通信所要時間が長い処理プロセスを特定することができない。
更には、例えば、このコンピュータシステムで、異なる複数のプロセス(処理プロセス)から構成されるメッセージパッシング型の分散並列プログラムが実行される場合を考えると、プロセスごとの処理量が均一とならず、特にプロセス間における処理インバランス発生している場合、プログラム全体の実行性能が低下してしまう場合が生じ得る。
例えば、あるプロセスにおいて処理の遅延が発生している場合には、プロセス間通信を開始するタイミングにズレ(処理インバランス)が生じるため、通信開始までの間、プロセス間で待合せが必要となり、通信所要時間が増大してしまう。
これに対しては、分散並列プログラムの実行性能チューニングを行うことにより、プログラムの実効性能を改善することができる。このため、実行性能チューニングを行うために、処理インバランスの原因となる処理遅延の発生箇所を特定する必要がある。
プロセス間通信所要時間が増大している箇所の処理プロセスを特定するための手法としては、以下のような手法が考えられる。
例えば、まず、プログラムの実行開始から終了まで全体を通して各プロセスにおける全てのプロセス間通信処理にかかる情報(通信相手プロセス、通信データサイズ、通信所要時間、など)を採取・保存する。
次いで、プログラムの実行終了後に、専用のツールソフトウェアを利用して、例えば、縦軸をプロセス、横軸を時間として、採取したプロセス間通信情報をグラフィカルに表示させ、送信側プロセスと受信側プロセスの対応状況やプロセス間通信所要時間を目視により確認する。これにより、通信所要時間が増大している箇所を特定することができる。
次いで、プログラムの実行終了後に、専用のツールソフトウェアを利用して、例えば、縦軸をプロセス、横軸を時間として、採取したプロセス間通信情報をグラフィカルに表示させ、送信側プロセスと受信側プロセスの対応状況やプロセス間通信所要時間を目視により確認する。これにより、通信所要時間が増大している箇所を特定することができる。
しかしながら、例えば、採取する通信情報が膨大な量となった場合に、プロセス間通信の発生状況を示すためのグラフィカル表示を行った場合、表示内容が複雑かつ煩雑となるため、目視による確認が困難となるといった不都合が生じ得る。
また、この関連技術として、各プロセスにおける各種処理時間を測定し、更に、それらを他のプロセスの測定値と比較することにより、特異点を検出して、並列プログラムの実行性能を解析して表示する手法が開示されている(特許文献1)。
しかしながら、上記特許文献1に開示された関連技術では、特にHPC(High Performance Computing)分野のコンピュータシステムで実行されるプログラムなど、プロセス数が多く、また、プログラムの実行が長時間に及び、プロセス間通信の実行回数が非常に多くなる場合には、コンピュータシステムへの負荷が膨大になってしまうという不都合がある。
更に、上述のように、プロセス間通信の発生状況を示すためのグラフィカル表示を行った場合でも、表示内容が複雑かつ煩雑となるため、目視による確認が困難となり、処理手数が膨大となり、手間がかかるといった不都合がある。
更に、上述のように、プロセス間通信の発生状況を示すためのグラフィカル表示を行った場合でも、表示内容が複雑かつ煩雑となるため、目視による確認が困難となり、処理手数が膨大となり、手間がかかるといった不都合がある。
[発明の目的]
本発明は、上記関連技術の有する不都合を改善し、プログラム処理時に生じたプロセス間通信の処理インバランスを改善するために、処理遅延が生じた処理プロセスを迅速に特定するプロセス間通信管理システム、プロセス間通信管理方法、プロセス間通信管理プログラムを提供することを、その目的とする。
本発明は、上記関連技術の有する不都合を改善し、プログラム処理時に生じたプロセス間通信の処理インバランスを改善するために、処理遅延が生じた処理プロセスを迅速に特定するプロセス間通信管理システム、プロセス間通信管理方法、プロセス間通信管理プログラムを提供することを、その目的とする。
上記目的を達成するために、本発明に係るプロセス間通信管理システムは、複数の異なる処理プロセスにより構成されるプログラムに基づきその内容の実行処理を行うプロセッサ部と、前記処理プロセス相互間で行われるプロセス間通信の通信所要時間に基づき処理遅延が生じた処理プロセスを特定する処理遅延箇所特定部とを備えたプロセス間通信管理システムであって、前記プロセッサ部による実行処理時に、前記処理プロセスのうちの一の処理プロセスの通信所要時間を計測すると共に当該計測された通信所要時間を基準時間として設定する通信時間計測手段と、前記処理プロセスのうちの他の処理プロセスにおける通信所要時間と前記基準時間とを比較して前記基準時間より長い通信所要時間を取得すると共に当該通信所要時間に対応するプロセス間通信を行った処理プロセスを特定する遅延通信特定手段とを有し、前記遅延通信特定手段は、前記特定された処理プロセスを示すプロセス特定情報および前記取得した通信所要時間を前記処理遅延箇所特定部に通知する特定通信時間通知機能を備えた構成をとっている。
又、本発明にかかるプロセス間通信管理方法は、複数の異なる処理プロセスにより構成されるプログラムに基づきその内容の実行処理を行うプロセッサ部と、前記処理プロセス相互間で行われるプロセス間通信の通信所要時間を取得する処理遅延特定部とを備え、当該処理遅延特定部が前記プロセッサ部におけるプログラム実行処理時に処理遅延が生じた処理プロセスを特定するプロセス間通信管理方法であって、前記プロセッサ部によるプログラム実行処理時に、前記処理プロセスのうちの一の処理プロセスの通信所要時間を計測し、当該計測された通信所要時間を基準時間として設定し、前記基準時間と前記処理プロセスのうちの他の処理プロセスの通信所要時間とを比較して当該通信所要時間が前記基準時間より長い場合にその通信所要時間を取得し、当該通信所要時間に対応するプロセス間通信を行った処理プロセスを特定し、前記特定された処理プロセスを示すプロセス特定情報および前記取得した通信所要時間を前記処理遅延特定部に通知することを特徴としている。
又、本発明にかかるプロセス通信管理プログラムは、複数の異なる処理プロセスにより構成されるプログラムに基づきその内容の実行処理を行うプロセッサ部と、前記処理プロセス相互間で行われるプロセス間通信の通信所要時間を取得する処理遅延特定部とを備え、当該処理遅延特定部が前記プロセッサ部の実行処理時に処理遅延が生じた処理プロセスを特定するためのプロセス間通信管理プログラムであって、前記プロセッサ部による実行処理時に計測された前記処理プロセスのうちの一の処理プロセスの通信所要時間を基準時間として設定する基準時間設定機能と、前記基準時間と前記処理プロセスのうちの他の処理プロセスの通信所要時間と比較して前記基準時間より長い通信所要時間を取得し当該通信所要時間に対応するプロセス間通信を行った処理プロセスを特定する遅延プロセス特定機能とを、前記プロセッサ部の備えたコンピュータに実行させること特徴としている。
本発明は、以上のように構成され機能するので、これによると、プロセッサ部によるプログラム実行処理時に、前記処理プロセスのうちの一の処理プロセスの通信所要時間を計測する手段と、他の処理プロセスにおける通信所要時間と前記基準時間とを比較して前記基準時間より長い通信所要時間を取得して、当該通信所要時間の処理プロセスを特定する手段とを備えた構成としたことにより、プログラム処理時に生じたプロセス間通信の処理インバランスの状況を有効に把握すると共に、処理遅延が生じた処理プロセスを迅速に特定するための情報を確実に取得するプロセス間通信管理システム、プロセス間通信管理方法、プロセス間通信管理プログラムを提供することができる。
[実施形態]
次に、本発明の実施形態について、その基本的構成内容を説明する。
次に、本発明の実施形態について、その基本的構成内容を説明する。
本実施形態は、図2に示すように、複数の異なるノード#1〜#nがプロセス間通信専用ネットワークを介して接続されたコンピュータシステムであって、各ノードが予め設定されたプロセスの実行処理を行うことにより、分散並列プログラムの実行処理を行う。
尚、各ノードは、予め設定されたプログラムに基づき実行処理を行うプロセッサと、実行処理の対象となるデータ、およびプログラムを読込むメモリなどを備え、各ノード上に設定された各プロセッサは、予め設定されたプロセス制御部により割当てられた処理プロセス(以下「プロセス」という)の実行処理を行うものとする。
尚、各ノードは、予め設定されたプログラムに基づき実行処理を行うプロセッサと、実行処理の対象となるデータ、およびプログラムを読込むメモリなどを備え、各ノード上に設定された各プロセッサは、予め設定されたプロセス制御部により割当てられた処理プロセス(以下「プロセス」という)の実行処理を行うものとする。
ここで、各ノード内には、分散並列プログラムの実行処理単位である異なる複数のプロセスが割当てられているものとする。
また、この各プロセスは、当該プロセスの実行処理に伴い、プロセス間通信専用ネットワークを介して他のノード上に設定されたプロセスとの間でプロセス間通信を行うものとする。
また、この各プロセスは、当該プロセスの実行処理に伴い、プロセス間通信専用ネットワークを介して他のノード上に設定されたプロセスとの間でプロセス間通信を行うものとする。
図2では、各ノード#1〜#n上に予め設定されたプロセッサに対して配置されたプロセスの配置状況の一例を示している。
ここでは、本実施形態のコンピュータシステムにおける各ノード#1〜#nのプロセッサには、それぞれ4つプロセスが配置され、プロセス同士は、プロセス間通信専用ネットワークを介して相互に接続されており、ノード#1〜#n内におけるプロセス間通信は、それぞれこのプロセス間通信専用ネットワークを介して行われるものとする。
ここでは、本実施形態のコンピュータシステムにおける各ノード#1〜#nのプロセッサには、それぞれ4つプロセスが配置され、プロセス同士は、プロセス間通信専用ネットワークを介して相互に接続されており、ノード#1〜#n内におけるプロセス間通信は、それぞれこのプロセス間通信専用ネットワークを介して行われるものとする。
また、上記各プロセスの実行処理を行う総体としての分散並列プログラム実行本体部1は、図1に示すように、予め設定された複数の異なるプロセス(処理プロセス)の実行処理を行うプロセス実行部11、12、・・・111、112、・・・〜1nからなり、各プロセス実行部で生成されたプロセス間通信情報を記憶するプロセス間通信情報記憶部5が各プロセス実行部に接続された構成となっている。
尚、分散並列プログラム実行本体部1は、各ノード上に設定された複数の異なるプロセッサと、このプロセッサによる処理制御によって予め設定されたプログラムが読み込まれる主要メモリ、HDD(ハードディスクドライブ)、処理対象となるデータ、およびプログラムが通信バスなどを含み構成されるものとする。
ここで、上記各プロセス実行部は、図2に示す各ノード内に設定されたプロセッサの動作により実現されるものとする。例えば、プロセス実行部11は、ノード#1内に予め設置されたプロセッサの動作により実現され、ノード#1内に生成された4つのプロセス(図2)の実行処理を行う。
尚、各ノード内には、異なる複数のプロセッサが設置された構成であってもよい。
尚、各ノード内には、異なる複数のプロセッサが設置された構成であってもよい。
分散並列プログラム実行本体部1内に設定された各プロセス実行部11〜1nは、以下に示す構成を有するものとする。
尚、ここでは、プロセス実行部11内の構成について説明するが、他のプロセス実行部12〜1n内の構成についても、同様の内部構成を有するものとする。
尚、ここでは、プロセス実行部11内の構成について説明するが、他のプロセス実行部12〜1n内の構成についても、同様の内部構成を有するものとする。
プロセス実行部11は、予め設定された各プロセスにおけるプロセス間通信の通信初期化処理を行うプロセス間通信処理初期化手段2と、各プロセスに設定されたプロセス間通信の通信基準時間を記憶するプロセス間通信基準時間保持手段3と、各プロセスにおけるプロセス間通信のデータ転送を行うプロセス間通信処理手段(遅延通信特定手段)4を備えている。
尚、プロセス実行部11内に設定された上記プロセス間通信処理初期化手段2、プロセス間通信基準時間保持手段3、およびプロセス間通信処理手段4についても、ノード#1内に設置されたプロセッサ、メモリ、HDDの動作により実現されるものとする。
また、プロセス実行部11は、分散並列プログラム実行本体部1が、分散並列プログラムの実行処理を開始したときに、プロセス間通信を行うための準備処理であるプロセス間通信初期化処理を行うプロセス間通信初期化手段2を備えている。このプロセス間通信初期化設定では、プロセス間通信の実施に必要な各種データの初期化、および通信先、通信経路の設定を行う。
プロセス間通信初期化手段2は、予め設定された複数の異なるプロセス(例えば、ノード#1内のプロセッサに設定された4つのプロセス)から任意に1つのプロセスを、代表プロセスとして選択する代表プロセス選択機能を有する。
また、プロセス間通信初期化手段2は、分散並列プログラム実行本体部1による分散並列プログラムの処理実行時に、予め設定されたプロセスで実行されるプロセス間通信の通信時間(以下「プロセス間通信時間」という)を取得して、プロセス間通信基準時間の算出(計測)を行うプロセス間通信基準採取機能(通信時間計測手段)21を備えている。
また、プロセス間通信基準時間採取機能21は、図2に示すように、各ノード#1〜#n内に複数の異なるプロセスが生成されている(配置されている)場合に、各ノード(例えばノード#1)内に設定されたプロセスの中から、代表プロセスを選択決定する代表プロセス決定機能を備えている。
これにより、プロセス間通信基準採取機能21は、分散並列プログラム実行本体部1による分散並列プログラムの処理実行時に、代表プロセス間で実行されるプロセス間通信の通信所要時間を計測し、計測された通信所要時間をプロセス間通信基準時間として取得する。
具体的には、プロセス間通信基準時間採取機能21は、例えば、ノード#1内に設定された4つのプロセスから任意に1つのプロセスを代表プロセスとして選択し、この代表プロセス間のプロセス間通信の通信所要時間の計測を行う。
具体的には、プロセス間通信基準時間採取機能21は、例えば、ノード#1内に設定された4つのプロセスから任意に1つのプロセスを代表プロセスとして選択し、この代表プロセス間のプロセス間通信の通信所要時間の計測を行う。
尚、この代表基準時間計測機能では、プロセス間通信基準時間採取機能21が、予め設定された複数のプロセス(例えば4つ)のうち、各プロセスのプロセス通信で利用される通信ネットワークの種類や構成、または各プロセスの配置状況に基づき、例えば、最も通信時間の長いプロセスを代表プロセスとして選択決定する設定としてもよい。
これにより、プロセッサ上に配置された各プロセスにおける通信基準時間を算出するために行われる通信回数を、軽減することができる。更には、通信基準時間の算出にかかるコンピュータシステム(プロセッサ)における処理負荷を軽減することができ、且つ通信基準時間をより短時間で迅速に算出することができる。
尚、プロセス間通信基準時間採取機能21は、通信時間の計測を行うと共に計測された通信時間から、通信ネットワークの種類や構成、プロセス配置の状況に基づき、各プロセスにおける通信基準時間を算出する設定としてもよい。
また、この通信基準時間は、各プロセスが通常のプロセス間通信を行われた場合に計測される通信時間を示し、例えば、当該プロセスで処理インバランスが生じていた場合には、プロセス間通信所要時間は、算出された通信基準時間よりも長くなる。
また、この通信基準時間は、各プロセスが通常のプロセス間通信を行われた場合に計測される通信時間を示し、例えば、当該プロセスで処理インバランスが生じていた場合には、プロセス間通信所要時間は、算出された通信基準時間よりも長くなる。
また、プロセス間通信基準採取機能21は、各ノード内で設定された代表プロセス以外のプロセス(非代表プロセス)に対して、上記算出された代表プロセスの基準時間を継承(コピー)して設定する処理を行う(基準時間継承設定機能)。
具体的には、例えば、同一ノード内のプロセッサに割当てられた2つのプロセスPおよびQについて、プロセスPからプロセスQ方向へのプロセス間通信と、反対にプロセスQからプロセスP方向へのプロセス間通信とが、通信ネットワーク上同一経路を通過し、且つ通信性能が同一である場合に、一方のプロセスの通信基準時間を計測し、他方のプロセスの通信基準時間については、一方の通信基準時間を継承(コピー)する。
更に、プロセス間通信基準採取機能21は、計測した通信基準時間、あるいは、他プロセスから継承したプロセス間通信基準時間をプロセス間通信基準時間保持手段3に格納する基準時間格納機能を有する。
プロセス間通信処理手段4は、各プロセスにおけるプロセス間通信が実行されたときに、各ノード内に予め設定されたタイマーに基づきプロセス間通信開始時間を取得する通信開始時間取得機能と、プロセス間データ転送機能42により行われるプロセス間データ転送処理の終了時に、上記タイマーに基づきプロセス間通信完了時間を取得する通信完了時間取得機能とを有している。
プロセス間通信情報処理部41は、取得したプロセス間通信開始時間および完了時間の差分値に基づき、当該プロセス間通信にかかった時間の長さを示すプロセス間通信所要時間長を算出すると共に、このプロセス間通信所要時間長と予め算出されたプロセス間通信基準時間(基準時間)とを比較する通信時間比較機能(遅延通信特定手段の一部に対応)を備えている。
また、プロセス間通信処理手段4は、取得したプロセス間通信所要時間が基準時間よりも長い場合に、このプロセス間通信所要時間に対応するプロセス間通信を行ったプロセスを示すプロセス特定情報を含むプロセス間通信情報を生成し、プロセス間通信情報記憶部5に格納するプロセス間通信情報格納機能(遅延通信特定手段の一部に対応)を備えている。
[実施形態の動作説明]
次に、本実施形態の動作について、その概略を説明する。
分散並列プログラム実行本体部(プロセッサ部)1による分散並列プログラムの実行処理時に、予め設定されたプロセスのうちの一の処理プロセス(代表プロセス)の通信所要時間を計測し、当該計測された通信所要時間を基準時間として設定する(基準時間設定工程)。
次いで、プロセス間通信処理手段4が、他のプロセスにおけるプロセス間通信の通信所要時間と設定された基準時間とを比較して、通信所要時間が基準時間より長い場合に、その通信所要時間を取得し、当該通信所要時間に対応するプロセス間通信を行った処理プロセスを特定し(遅延プロセス特定手段)、特定された処理プロセスを示すプロセス特定情報、および取得した通信所要時間をプロセス間通信情報記憶部5に格納する。
次に、本実施形態の動作について、その概略を説明する。
分散並列プログラム実行本体部(プロセッサ部)1による分散並列プログラムの実行処理時に、予め設定されたプロセスのうちの一の処理プロセス(代表プロセス)の通信所要時間を計測し、当該計測された通信所要時間を基準時間として設定する(基準時間設定工程)。
次いで、プロセス間通信処理手段4が、他のプロセスにおけるプロセス間通信の通信所要時間と設定された基準時間とを比較して、通信所要時間が基準時間より長い場合に、その通信所要時間を取得し、当該通信所要時間に対応するプロセス間通信を行った処理プロセスを特定し(遅延プロセス特定手段)、特定された処理プロセスを示すプロセス特定情報、および取得した通信所要時間をプロセス間通信情報記憶部5に格納する。
ここで、上記基準時間設定工程、および遅延プロセス特定工程については、その実行内容をプログラム化し、コンピュータに実行させるように構成してもよい。
次に、本実施形態の動作について、図3、および4のフローチャートに基づいて詳説する。
まず、分散並列プログラム実行本体部1が、メッセージパッシング型の分散並列プログラムの実行処理を開始する。このとき、各プロセス実行部11〜1nは、プロセス間通信を行うための準備処理としてのプロセス間通信初期化設定を行う(ステップA1)。
このプロセス間通信初期化設定では、各プロセスプロセス実行部11〜1nのプロセス間通信初期化手段2が、プロセス間通信の実施に必要な各種データの初期化を行う(通信データ初期化機能:ステップA2)。
また、プロセス間通信基準採取機能21が、分散並列プログラム実行本体部1による分散並列プログラムの処理実行時に、代表プロセス間で実行されるプロセス間通信の通信所要時間を計測し、計測された通信所要時間をプロセス間通信基準時間として取得する(ステップA3)。
また、プロセス間通信基準採取機能21が、分散並列プログラム実行本体部1による分散並列プログラムの処理実行時に、代表プロセス間で実行されるプロセス間通信の通信所要時間を計測し、計測された通信所要時間をプロセス間通信基準時間として取得する(ステップA3)。
ここで、上記通信データ初期化工程、および基準時間取得工程について、詳説する。
まず、各ノード#1〜#n内のプロセッサには、図2に示すように、複数の異なるプロセスが生成されている。ここで、プロセス間通信初期化手段2が、各ノード(例えばノード#1)内における代表プロセスを決定する。
次いで、プロセス間通信初期化手段2は、例えばノード#1内のプロセッサに設定された4つのプロセスから任意に1つのプロセスを、代表プロセスとして選択する(代表プロセス選択機能)。
次いで、プロセス間通信基準採取機能21が、この代表プロセスの通信基準時間の計測を行う。
まず、各ノード#1〜#n内のプロセッサには、図2に示すように、複数の異なるプロセスが生成されている。ここで、プロセス間通信初期化手段2が、各ノード(例えばノード#1)内における代表プロセスを決定する。
次いで、プロセス間通信初期化手段2は、例えばノード#1内のプロセッサに設定された4つのプロセスから任意に1つのプロセスを、代表プロセスとして選択する(代表プロセス選択機能)。
次いで、プロセス間通信基準採取機能21が、この代表プロセスの通信基準時間の計測を行う。
次いで、プロセス間通信基準採取機能21は、各ノード内に設定された代表プロセス以外のプロセス(非代表プロセス)に対して、計測された代表プロセスの基準時間を継承(コピー)する処理を行う(基準時間継承設定工程:ステップA4)。
具体的には、例えば、同一ノード内のプロセッサに割当てられた2つのプロセスPおよびQについて、プロセスPからプロセスQ方向へのプロセス間通信と、反対にプロセスQからプロセスP方向へのプロセス間通信とが、通信ネットワーク上同一経路を通過し、且つ通信性能が同一である場合に、一方のプロセスの通信基準時間を計測し、他方のプロセスの通信基準時間については、一方の通信基準時間を継承(コピー)する。
ここで、プロセス間通信基準採取機能21は、計測した通信基準時間、あるいは、他プロセスから継承したプロセス間通信基準時間をプロセス間通信基準時間保持手段3に格納ものとする。
これにより、プロセス間通信基準時間の計測時における、プロセス間通信基準時間採取機能21から各ノード上に設定されたプロセスに対しての通信回数を有効に軽減することができ、このため、各プロセスに対して、迅速に基準時間を設定することができる。
次に、プロセス間通信の実行時以降の動作について、図4のフローチャートに基づき、説明する。
まず、各プロセスにおけるプロセス間通信の実行時に(ステップB1)、プロセス間通信処理手段4が、各ノード#1〜#n内に予め設定されたタイマーに基づきプロセス間通信開始時間を取得する(ステップB2)。
ここで、プロセス間データ転送機能42が、プロセス間におけるデータ転送処理を実行する(ステップB3)。
ここで、プロセス間データ転送機能42が、プロセス間におけるデータ転送処理を実行する(ステップB3)。
次に、プロセス間通信処理手段4が、プロセス間データ転送処理の終了時に、プロセス間通信完了時間を採取する(ステップB4)。
次いで、プロセス間通信情報処理部41が、取得されたプロセス間通信開始時間と完了時間の差分値に基づき、プロセス間通信にかかった時間の長さを示すプロセス間通信所要時間(通信所要時間長)を算出すると共に、この通信所要時間長と予め算出された基準時間とを比較する(ステップB5)。
次いで、プロセス間通信情報処理部41が、取得されたプロセス間通信開始時間と完了時間の差分値に基づき、プロセス間通信にかかった時間の長さを示すプロセス間通信所要時間(通信所要時間長)を算出すると共に、この通信所要時間長と予め算出された基準時間とを比較する(ステップB5)。
ここで、通信所要時間長が基準時間より長い場合に、プロセス間通信処理手段4は、この基準時間と、このプロセス間通信を行ったプロセスを示すプロセス特定情報とを含むプロセス間通信情報を生成し、プロセス間通信情報記憶部5に格納する(ステップB6:特定通信時間通知機能に対応)。
これにより、処理遅延が生じたプロセスを特定するためのプロセス特定情報と当該プロセスの通信所要時間がプロセス間通信情報記憶部5に格納される。
このため、本実施形態では、コンピュータシステムの分散並列プログラム実行時に処理インバランスが発生した場合に、プロセス間通信情報記憶部5に格納された情報(プロセス特定情報およびプロセス間通信所要時間)に基づき、処理遅延が生じたプロセスを迅速に特定することができる。
このため、分散並列プログラム実行本体部(処理遅延箇所特定部に対応)1内で、例えば、分散並列プログラムの実行性能チューニングを行うソフトウェアなどを利用することによって、プログラムの実効性能を改善して、処理インバランスの改善を図ることを可能とする。
このため、本実施形態では、コンピュータシステムの分散並列プログラム実行時に処理インバランスが発生した場合に、プロセス間通信情報記憶部5に格納された情報(プロセス特定情報およびプロセス間通信所要時間)に基づき、処理遅延が生じたプロセスを迅速に特定することができる。
このため、分散並列プログラム実行本体部(処理遅延箇所特定部に対応)1内で、例えば、分散並列プログラムの実行性能チューニングを行うソフトウェアなどを利用することによって、プログラムの実効性能を改善して、処理インバランスの改善を図ることを可能とする。
また、本実施形態では、代表プロセスにおけるプロセス間通信の基準時間をプログラム実行時に計測することにより、各プロセスに対して、プログラム実行時の条件に即した、より正確な基準時間を設定することができる。
このため、適正に実行処理が行われているプロセスにおけるプロセス間通信の通信所要情報を取得することなく、また、必要なプロセス間通信情報の採取漏れを軽減した、プロセス間通信情報の取得にかかる有効なフィルタリングを行うことができ、これにより、プログラム実行時におけるプロセス内で処理インバランスが発生している箇所(遅延プロセス)を迅速、且つ正確に特定することができる。
このため、適正に実行処理が行われているプロセスにおけるプロセス間通信の通信所要情報を取得することなく、また、必要なプロセス間通信情報の採取漏れを軽減した、プロセス間通信情報の取得にかかる有効なフィルタリングを行うことができ、これにより、プログラム実行時におけるプロセス内で処理インバランスが発生している箇所(遅延プロセス)を迅速、且つ正確に特定することができる。
更に、本実施形態では、実際に分散並列プログラムが実行されている環境下における条件(通信ネットワークの種類、構成、プロセス配置の状況など)に即して、各プロセスにおける、より正確なプロセス間通信の基準時間を取得することができる。
本発明は、多段クロスバーネットワーク、ファットツリー、二次元や三次元のメッシュ、トーラスなどのネットワークを採用するコンピュータシステムに対して有用に適用することができる。
1 分散並列プログラム実行本体部(処理遅延箇所特定部)
2 プロセス間通信初期化手段(通信時間計測手段)
3 プロセス間通信基準時間保持手段
4 プロセス間通信処理手段(遅延通信特定手段)
5 プロセス間通信情報記憶部
11、12、13… プロセス実行部
21 プロセス間通信基準時間採取機能
41 プロセス間通信情報処理機能
42 プロセス間データ転送機能
2 プロセス間通信初期化手段(通信時間計測手段)
3 プロセス間通信基準時間保持手段
4 プロセス間通信処理手段(遅延通信特定手段)
5 プロセス間通信情報記憶部
11、12、13… プロセス実行部
21 プロセス間通信基準時間採取機能
41 プロセス間通信情報処理機能
42 プロセス間データ転送機能
Claims (7)
- 複数の異なる処理プロセスにより構成されるプログラムに基づきその内容の実行処理を行うプロセッサ部と、前記処理プロセス相互間で行われるプロセス間通信の通信所要時間に基づき処理遅延が生じた処理プロセスを特定する処理遅延箇所特定部とを備えたプロセス間通信管理システムであって、
前記プロセッサ部による実行処理時に、前記処理プロセスのうちの一の処理プロセスの通信所要時間を計測すると共に当該計測された通信所要時間を基準時間として設定する通信時間計測手段と、
前記処理プロセスのうちの他の処理プロセスにおける通信所要時間と前記基準時間とを比較して前記基準時間より長い通信所要時間を取得すると共に当該通信所要時間に対応するプロセス間通信を行った処理プロセスを特定する遅延通信特定手段とを有し、
前記遅延通信特定手段は、前記特定された処理プロセスを示すプロセス特定情報および前記取得した通信所要時間を前記処理遅延箇所特定部に通知する特定通信時間通知機能を備えたことを特徴とするプロセス間通信管理システム。 - 前記請求項1に記載のプロセス間通信管理システムにおいて、
前記通信時間計測手段は、予め設定された前記複数の異なる処理プロセスから前記一の処理プロセスを任意に選択するプロセス任意選択機能を備えたことを特徴とするプロセス間通信管理システム。 - 前記請求項1に記載のプロセス間通信管理システムにおいて、
前記通信時間計測手段は、前記処理プロセスの前記プロセッサ部に対する配置位置に基づき前記処理プロセスから前記一の処理プロセスを選択するプロセス位置選択機能を備えたことを特徴とするプロセス間通信管理システム。 - 前記請求項1に記載のプロセス間通信管理システムにおいて、
前記通信時間計測手段は、前記処理プロセスから前記各処理プロセスにより行われるプロセス間通信の通信経路に基づき前記一の処理プロセスを選択するプロセス経路選択機能を備えたことを特徴とするプロセス間通信管理システム。 - 前記請求項1乃至4に記載のプロセス間通信管理システムにおいて、
前記処理遅延特定部は、前記通知された処理プロセスに処理遅延が生じているか否かを、当該処理プロセスが配置された前記プロセッサ部の配置位置に基づき判定する処理遅延判定機能を備えたことを特徴とするプロセス間通信管理システム。 - 複数の異なる処理プロセスにより構成されるプログラムに基づきその内容の実行処理を行うプロセッサ部と、前記処理プロセス相互間で行われるプロセス間通信の通信所要時間を取得する処理遅延特定部とを備え、当該処理遅延特定部が前記プロセッサ部におけるプログラム実行処理時に処理遅延が生じた処理プロセスを特定するプロセス間通信管理方法であって、
前記プロセッサ部によるプログラム実行処理時に、前記処理プロセスのうちの一の処理プロセスの通信所要時間を計測し、当該計測された通信所要時間を基準時間として設定し、前記基準時間と前記処理プロセスのうちの他の処理プロセスの通信所要時間とを比較して当該通信所要時間が前記基準時間より長い場合にその通信所要時間を取得し、当該通信所要時間に対応するプロセス間通信を行った処理プロセスを特定し、前記特定された処理プロセスを示すプロセス特定情報および前記取得した通信所要時間を前記処理遅延特定部に通知することを特徴としたプロセス間通信管理方法。 - 複数の異なる処理プロセスにより構成されるプログラムに基づきその内容の実行処理を行うプロセッサ部と、前記処理プロセス相互間で行われるプロセス間通信の通信所要時間を取得する処理遅延特定部とを備え、当該処理遅延特定部が前記プロセッサ部の実行処理時に処理遅延が生じた処理プロセスを特定するためのプロセス間通信管理プログラムであって、
前記プロセッサ部による実行処理時に計測された前記処理プロセスのうちの一の処理プロセスの通信所要時間を基準時間として設定する基準時間設定機能と、前記基準時間と前記処理プロセスのうちの他の処理プロセスの通信所要時間と比較して前記基準時間より長い通信所要時間を取得し当該通信所要時間に対応するプロセス間通信を行った処理プロセスを特定する遅延プロセス特定機能とを、前記プロセッサ部の備えたコンピュータに実行させることを特徴としたプロセス間通信管理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009090085A JP2010244180A (ja) | 2009-04-02 | 2009-04-02 | プロセス間通信管理システム、プロセス間通信管理方法、プロセス間通信通信管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009090085A JP2010244180A (ja) | 2009-04-02 | 2009-04-02 | プロセス間通信管理システム、プロセス間通信管理方法、プロセス間通信通信管理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010244180A true JP2010244180A (ja) | 2010-10-28 |
Family
ID=43097154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009090085A Withdrawn JP2010244180A (ja) | 2009-04-02 | 2009-04-02 | プロセス間通信管理システム、プロセス間通信管理方法、プロセス間通信通信管理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010244180A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101555927B1 (ko) * | 2013-09-16 | 2015-09-30 | (주)토탈소프트뱅크 | 프로세스 구간의 소요시간 측정을 통한 작업 지연 원인 분석방법 |
CN115600671A (zh) * | 2022-10-20 | 2023-01-13 | 北京百度网讯科技有限公司(Cn) | 深度学习框架的数据处理方法、装置、设备和存储介质 |
-
2009
- 2009-04-02 JP JP2009090085A patent/JP2010244180A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101555927B1 (ko) * | 2013-09-16 | 2015-09-30 | (주)토탈소프트뱅크 | 프로세스 구간의 소요시간 측정을 통한 작업 지연 원인 분석방법 |
CN115600671A (zh) * | 2022-10-20 | 2023-01-13 | 北京百度网讯科技有限公司(Cn) | 深度学习框架的数据处理方法、装置、设备和存储介质 |
CN115600671B (zh) * | 2022-10-20 | 2023-06-20 | 北京百度网讯科技有限公司 | 深度学习框架的数据处理方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6394726B2 (ja) | 運用管理装置、運用管理方法、及びプログラム | |
JP5532150B2 (ja) | 運用管理装置、運用管理方法、及びプログラム | |
JP5358814B2 (ja) | センサ情報補完システムおよびセンサ情報補完方法 | |
US10432491B2 (en) | Control device for estimation of power consumption and energy efficiency of application containers | |
CN108228442B (zh) | 一种异常节点的检测方法及装置 | |
JP5267681B2 (ja) | 性能データ収集方法、性能データ収集装置及び性能データ管理システム | |
WO2017215557A1 (zh) | 一种采集性能监视单元pmu事件的方法及装置 | |
KR101916294B1 (ko) | 클라우드 데이터 센터 분석을 위한 기술 | |
CN113746798B (zh) | 基于多维度分析的云网络共享资源异常根因定位方法 | |
CN112636942B (zh) | 业务主机节点的监测方法及装置 | |
CN105471938B (zh) | 服务器负载管理方法及装置 | |
US10185851B2 (en) | Reader in RFID system, operating method of the reader, tag device, and operating method of the tag device | |
JP2010244180A (ja) | プロセス間通信管理システム、プロセス間通信管理方法、プロセス間通信通信管理プログラム | |
US9736023B2 (en) | Apparatus and method for changing status of cluster nodes, and recording medium having the program recorded therein | |
JP5240220B2 (ja) | ソフトウェア実効性能評価システム、ソフトウェア実効性能評価方法、及びプログラム | |
JP4978504B2 (ja) | 情報処理装置、通信情報採取方法、及び、プログラム | |
JP2017182346A (ja) | 解析プログラム、解析装置、及び解析方法 | |
US9336044B2 (en) | Parallel computer, and job information acquisition method for parallel computer | |
JP2006228093A (ja) | Pcクラスタ計算機における計算ノードの選択と選択された計算ノードの起動とプログラムの配布スケジューリング処理の方法およびその装置 | |
JP2009211588A (ja) | データベース・アクセス遅延の解析情報採取装置、解析情報採取方法およびプログラム | |
WO2014099139A1 (en) | Non real-time metrology data management | |
TW201403479A (zh) | 伺服器系統的排程方法 | |
JP5446970B2 (ja) | タイムアウト時間設定装置、タイムアウト時間設定方法、及びプログラム | |
JP4983636B2 (ja) | トランザクション装置、遅延障害分析装置、遅延障害分析方法およびプログラム | |
US20230409401A1 (en) | Performance resource amount information management apparatus, computer system, and performance resource amount information management method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120605 |