(57)【要約】      （修正有）【課題】プログラム実行時における特定のプロセスのプロセス間通信の通信性能情報を選択的に取得する。【解決手段】プログラム実行処理時に、論理的プロセス配置体系内におけるプロセスグループの位置を示すグループ位置情報を取得するプロセス制御部(グループ情報取得手段)１と、グループ位置情報に基づきプロセスグループを特定し当該プロセスグループの通信性能を示す情報を取得する性能測定手段４とを備えた。【選択図】図１
2010257351.tif 000002
【特許請求の範囲】
【請求項１】
予め設定されたプログラムの実行処理を行うと共に当該実行処理により生成された処理プロセス相互間で行われるプロセス間通信を制御するプロセッサ部と、前記処理プロセスを含み予め設定された論理的プロセス配置体系を保持した処理プロセス群におけるプロセス間通信の通信性能情報を記憶するプロセス間通信情報管理部とを備えた通信性能情報管理システムであって、
前記プロセッサ部におけるプログラム実行処理時に前記論理的プロセス配置体系の構成形状を示す配置体系情報と前記論理的プロセス配置体系内における前記プロセスグループの位置を示すグループ位置情報とを取得するグループ情報取得手段と、前記配置体系情報およびグループ位置情報に基づき前記プロセスグループを特定するグループ特定手段と、前記特定されたプロセスグループの通信性能を示すグループ通信性能情報を取得すると共に当該グループ通信性能情報を前記プロセス間通信情報管理部に通知する通信性能情報通知手段とを備えたことを特徴とする通信性能情報管理システム。
【請求項２】
前記請求項１に記載の通信性能情報管理システムにおいて、
前記プログラム実行処理時に前記グループ情報取得手段に対して前記配置体系情報および前記グループ位置情報を入力するグループ指定情報入力手段を、前記プロセッサ部に併設したことを特徴とする通信性能情報管理システム。
【請求項３】
前記請求項１、２に記載の通信性能情報管理システムにおいて、
前記グループ情報取得手段は、前記処理プロセス群に予め設定された論理的プロセス配置体系が異なる次元方向からなる構成形状を有する場合に、各次元方向のサイズを示す次元方向サイズ情報を取得する構成計上情報取得機能を備えたことを特徴とする通信性能情報管理システム。
【請求項４】
予め設定されたプログラムの実行処理を行うプロセッサ部と、前記プログラムの実行処理内容を構成する処理プロセスを含み予め設定された論理的プロセス配置体系を保持した処理プロセス群におけるプロセス間通信の通信性能情報を記憶するプロセス間通信情報管理部とを備えた通信性能情報管理システムにあって、前記処理プロセス相互間で行われるプロセス間通信を制御するための通信性能情報管理方法であって、
前記プロセッサ部におけるプログラム実行処理時に、前記論理的プロセス配置体系のサイズを示す配置体系情報と前記論理的プロセス配置体系内における前記プロセスグループの位置を示すグループ位置情報とを取得し、前記配置体系情報およびグループ位置情報に基づき前記プロセスグループを特定し、前記特定されたプロセスグループの通信性能を示すグループ通信性能情報を取得すると共に当該グループ通信性能情報を前記プロセス間通信情報管理部に送信することを特徴とする通信性能情報管理方法。
【請求項５】
予め設定されたプログラムの実行処理を行うプロセッサ部と、前記プログラムの実行処理内容を構成する処理プロセスを含み予め設定された論理的プロセス配置体系を保持した処理プロセス群におけるプロセス間通信の通信性能情報を記憶するプロセス間通信情報管理部とを備えた通信性能情報管理システムにあって、前記処理プロセス相互間で行われるプロセス間通信を制御するための通信性能情報管理プログラムであって、
前記プロセッサ部におけるプログラム実行処理時に前記論理的プロセス配置体系のサイズを示す配置体系情報と前記論理的プロセス配置体系内における前記プロセスグループの位置を示すグループ位置情報とを取得する処理を行うグループ情報取得機能と、
前記配置体系情報およびグループ位置情報に基づき前記プロセスグループを特定する処理を行うグループ特定機能と、
前記特定されたプロセスグループの通信性能を示すグループ通信性能情報を取得すると共に当該グループ通信性能情報を前記プロセス間通信情報管理部に送信する処理を行う通信性能情報通知機能と、
をコンピュータに実行させることを特徴とする通信性能情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムにおけるプログラム処理の中で行われるプロセス間通信の通信性能情報を有効に管理する技術に関する。
【背景技術】
【０００２】
プロセッサが異なる複数の処理プロセスで構成される分散並列プログラムの実行処理を行う多くのコンピュータシステムでは、各処理プロセスに対して配列データが均等に割当てられ、処理プロセス同士が相互にプロセス間通信を行う。
また、このとき、プロセス間通信を行う処理プロセス間では、処理単位としてのプロセスグループが形成され、このプロセスグループが、割当てられた配列データに対してそれぞれ同等の処理を並列的に行う(並列計算処理方式)。
【０００３】
また、実行処理対象となる処理プロセス同士が、予め設定された論理プロセス配置体系を有している場合には、この論理的プロセス配置体系内に、相互にプロセス間通信を行う処理プロセス同士を処理単位としたプロセスグループが形成される
【０００４】
このようなコンピュータシステムで、プログラム実行処理時におけるプロセス間通信性能の分析を行う場合、まず、相互にプロセス間通信を行う処理プロセスからなる各プロセスグループの通信性能は、ほぼ同等となる。このため、ある１つのプロセスグループに属する処理プロセスの通信性能情報を分析することにより、プログラム処理全体にかかる通信性能を分析することが可能である。
【０００５】
ところで、上記コンピュータシステムにおいては、プログラム実行処理中に実行されるプロセスグループのプロセス間通信で、処理遅延が発生する場合がある。
このような処理遅延が発生した場合、プロセス間通信の通信待ちなどが発生すると共に、プロセスグループ間における処理インバランスが発生することにより、分散並列プログラムの実行処理全体の処理速度、処理効率(性能)の低下を引き起こされるといった不都合がある。
【０００６】
このため、分散並列プログラムの実行処理が行われるコンピュータシステムでは、上述のように、プロセス間通信性能の分析を行い、処理インバランスの原因となる処理遅延が生じたプロセスグループ、および処理プロセスを特定する必要がある。
これにより、特定されたプロセスグループ、および処理プロセスに対して、処理遅延や処理インバランスの発生を抑制するためのチューニング作業を行うことが可能となる。
【０００７】
ここで、異なる処理プロセス間における処理インバランスを、上述のように、プロセス間通信性能の分析を行い改善しようとする場合、実行処理される全ての各処理プロセス間通信における通信所要時間、通信待ち時間、通信データ量などの通信性能情報(プロセス間通信情報)を取得した上で、例えば、通信性能などの分析を行うソフトウェア(通信性能分析ツール)などを利用して、個々の処理プロセスや特定のプロセスグループの通信性能を評価する必要があった。
【０００８】
しかしながら、プログラムの実行処理に伴い収集される通信性能情報は膨大なものとなるため、保存および管理するのが困難であると共に、収集された通信性能情報に基づきプロセス間通信の処理インバランスを分析、評価を行うコンピュータシステムにおける処理負荷も膨大なものとなってしまうといった不都合がある。
【０００９】
これに対する関連技術として、同一又は異なるコンピュータ上に配置されているプロセス相互間で行われるプロセス間通信の通信遅延時間を計測する手法が開示されている(特許文献１)。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平５−２３３５７５公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記特許文献１に開示された関連技術では、長時間のプログラム実行、および数万個単位の処理プロセス生成が想定される、例えば、ＨＰＣ(High Performance Computing)分野のコンピュータシステムでは、全ての処理プロセスのプロセス間通信にかかる通信情報を取得し管理することは困難であって、例えば、全ての処理プロセスのプロセス間通信情報を、通信情報ファイルとして保存した場合、通信情報ファイルの容量は膨大なものとなってしまい、全処理プロセスの通信性能情報を保存、管理することは、コンピュータシステムにおける処理負荷が膨大なものとなってしまうといった不都合がある。
【００１２】
［発明の目的］
本発明は、上記関連技術の有する不都合を改善し、プログラム実行処理におけるプロセス間通信の通信性能を分析するために、特定のプロセスグループの通信性能情報を選択的に取得し得る通信性能情報管理システム、通信性能情報管理方法、通信性能情報管理プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明に係る通信性能情報管理システムは、予め設定されたプログラムの実行処理により生成された処理プロセス相互間で行われるプロセス間通信を制御するプロセッサ部と、前記処理プロセスを含み予め設定された論理的プロセス配置体系を保持した処理プロセス群におけるプロセス間通信の通信性能情報を記憶するプロセス間通信情報管理部とを備えた通信性能情報管理システムであって、前記プロセッサ部におけるプログラム実行処理時に前記論理的プロセス配置体系のサイズを示す配置体系情報と前記論理的プロセス配置体系内における前記プロセスグループの位置を示すグループ位置情報とを取得するグループ情報取得手段と、前記配置体系情報およびグループ位置情報に基づき前記プロセスグループを特定するグループ特定手段と、前記特定されたプロセスグループの通信性能を示すグループ通信性能情報を取得すると共に当該グループ通信性能情報を前記プロセス間通信情報管理部に通知する通信性能情報通知手段とを備えた構成をとっている。
【００１４】
又、本発明にかかる通信性能情報管理方法は、予め設定されたプログラムの実行処理を行うプロセッサ部と、前記プログラムの実行処理内容を構成する処理プロセスを含み予め設定された論理的プロセス配置体系を保持した処理プロセス群におけるプロセス間通信の通信性能情報を記憶するプロセス間通信情報管理部とを備えた通信性能情報管理システムにあって、前記処理プロセス相互間で行われるプロセス間通信を制御するための通信性能情報管理方法であって、前記プロセッサ部におけるプログラム実行処理時に、前記論理的プロセス配置体系のサイズを示す配置体系情報と前記論理的プロセス配置体系内における前記プロセスグループの位置を示すグループ位置情報とを取得し、前記配置体系情報およびグループ位置情報に基づき前記プロセスグループを特定し、前記特定されたプロセスグループの通信性能を示すグループ通信性能情報を取得すると共に当該グループ通信性能情報を前記プロセス間通信情報管理部に送信することを特徴としている。
【００１５】
更に、本発明にかかる通信性能情報管理プログラムは、予め設定されたプログラムの実行処理を行うプロセッサ部と、前記プログラムの実行処理内容を構成する処理プロセスを含み予め設定された論理的プロセス配置体系を保持した処理プロセス群におけるプロセス間通信の通信性能情報を記憶するプロセス間通信情報管理部とを備えた通信性能情報管理システムにあって、前記処理プロセス相互間で行われるプロセス間通信を制御するための通信性能情報管理プログラムであって、前記プロセッサ部におけるプログラム実行処理時に前記論理的プロセス配置体系のサイズを示す配置体系情報と前記論理的プロセス配置体系内における前記プロセスグループの位置を示すグループ位置情報とを取得する処理を行うグループ情報取得機能と、前記配置体系情報およびグループ位置情報に基づき前記プロセスグループを特定する処理を行うグループ特定機能と、前記特定されたプロセスグループの通信性能を示すグループ通信性能情報を取得すると共に当該グループ通信性能情報を前記プロセス間通信情報管理部に送信する処理を行う通信性能情報通知機能とをコンピュータに実行させることを特徴としている。
【発明の効果】
【００１６】
本発明は、以上のように構成され機能するので、これによると、プログラム実行処理時に、論理的プロセス配置体系内におけるプロセスグループの位置を示すグループ位置情報を取得するグループ情報取得手段と、グループ位置情報に基づきプロセスグループを特定し当該プロセスグループの通信性能を示す情報を取得する手段とを備えた構成としたことにより、特定のプロセスグループの通信性能情報を選択的に取得することができ、これにより、プログラム実行処理におけるプロセス間通信の通信性能を有効に分析することを可能とする通信性能情報管理システム、通信性能情報管理方法、および通信性能情報管理プログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明による通信性能情報管理システムの一実施形態を示す概略ブロック図である。
【図２】図１に開示した通信性能情報取得システムにおける論理的プロセス配置体系の一例を示した説明図である。
【図３】図１に開示した通信性能情報管理システムにおけるプロセス制御部の動作処理ステップを示すフローチャートである。
【図４】図１に開示した通信性能情報管理システムにおけるプロセス初期化手段の動作処理ステップを示すフローチャートである。
【図５】図１に開示した通信性能情報管理システムにおける性能測定手段の動作処理ステップを示すフローチャートである。
【発明を実施するための形態】
【００１８】
［実施形態］
次に、本発明の実施形態について、その基本的構成内容を説明する。
【００１９】
本実施形態の通信性能情報管理システムは、複数の異なるマイクロプロセッサを含み構成されたスーパーコンピュータなどのＨＰＣ(High Performance Computing)システムであって、予め設定されたメモリなどの記憶領域に読み込まれた分散並列プログラムに基づきプロセスの実行処理を並列して行う分散並列プログラム実行部２１、２２、・・・、２ｎからなる分散並列プログラム実行部２と、外部から指定されたコマンドの実行を行い、生成した処理プロセスを分散並列プログラム実行部２に対して送信する(配置する)プロセス制御部１を備えた構成となっている。
尚、上記プロセス制御部１、および分散並列プログラム２は、通信性能情報管理システム内に予め設定されたプロセッサが、主要メモリなどに読み込まれたプログラムに基づく実行処理を行うことにより実現される。
【００２０】
プロセス制御部１は、図１に示すように、外部から指定された実行コマンドに基づく実行処理を行うコマンド実行手段１１と、実行コマンドに指定されたオプション情報を取得するオプション情報取得手段１２と、オプション情報を解析し指定されたプロセスグループに属する(通信性能採取対象である)処理プロセスを割り出す（特定する）プロセスグループ解析手段１３と、解析した処理プロセスの情報（プロセス情報）を記憶するプロセス情報保持手段１４と、分散並列プログラムの処理プロセスを生成するプロセス生成手段１５と、解析したプロセス情報を生成した分散並列プログラム実行部２に送信するプロセス情報送信部１６から構成される。
【００２１】
分散並列プログラム実行部２は、処理プロセス実行部２１、２２、〜２ｎから構成され、プロセス実行部２１、２２、・・・２ｎはそれぞれ、プロセス初期化手段３、性能測定手段４、プロセス間通信手段５を有する。
【００２２】
プロセス初期化手段３は、プロセス制御部１から解析されたプロセス情報を受信するプロセス情報受信機能３１、受信したプロセス情報を保持するプロセス情報保持機能３２を備えている。
【００２３】
性能測定手段４は、プロセス情報保持機能３２により保持されたプロセス情報を参照するプロセス情報参照機能４１と、参照されたプロセス情報に基づき、当該プロセスの通信性能情報を採取する通信性能情報採取機能４２と、採取した通信性能情報を格納する通信性能情報格納機能４３を備えている。
【００２４】
プロセス間通信手段５は、プロセス間通信が行われる場合に、プロセス間で送受信されるデータの転送処理を行う。
性能情報記憶部６は、プロセス実行部２１、２２、・・・２ｎそれぞれに接続して設けられ、各プロセス実行部で採取されたプロセス(またはプロセスグループ)の通信性能情報を記憶する記憶装置である。
【００２５】
［実施形態の動作説明］
次に、本実施形態の全体の動作について、説明する。
先ず、分散並列プログラム実行部(プロセッサ部)２におけるプログラム実行処理時に、プロセス制御部１は、論理的プロセス配置体系のサイズを示す配置体系情報と論理的プロセス配置体系内における前記プロセスグループの位置を示すグループ位置情報とを取得し(グループ情報取得行程)、性能測定手段４は、プロセス間通信の実行時に、配置体系情報およびグループ位置情報に基づき前記プロセスグループを特定し(グループ特定工程)、特定されたプロセスグループの通信性能を示すグループ通信性能情報を取得して、当該グループ通信性能情報を性能情報記憶部６に格納する(通信性能情報通知行程：「プロセス間通信情報管理部に送信する」に相当)
【００２６】
ここで、上記グループ情報取得行程、グループ特定工程、および通信性能情報通知行程については、その実行内容をプログラム化し、コンピュータに実行させるように構成してもよい。
【００２７】
次に、プログラム実行処理時におけるプロセス制御部１の動作について、図３のフローチャートに基づき説明する。
【００２８】
まず、分散並列プログラム実行部２が、プログラムの実行を行った時(ステップＡ１)に、プロセス制御部１のコマンド実行部１１が、論理的プロセス配置体系の各次元のサイズを示す情報と、特定のプロセスグループの論理的プロセス配置体系における位置を示す座標情報とを取得する。
ここで、特定のプロセスグループは、プロセス間通信情報を採取する採取対象としてのプロセスグループを示す。
【００２９】
本実施形態では、以下に示すように、コンピュータシステムの利用者であるユーザがコマンドラインインタフェースを通してコマンド実行手段１１に対して、特定のプロセスグループを指定するケースについて説明する。
【００３０】
ここでは、指定される実行コマンドを「ｍｐｉｒｕｎ」、各次元のサイズを指定するオプションを−ｎｐｒｏｃｓ、座標情報を指定するオプションを−ｇｒｐとする。
また、本実施形態では、各次元のサイズおよび座標情報は低次元から順に"ｘ"で区切って指定する形式とし、座標情報にｎが指定された場合は、当該次元全体を指すものとする。
【００３１】
ここで、コマンド実行手段１１に送り込まれた実行コマンドを示す。
％  ｍｐｉｒｕｎ  −ｎｐｒｏｃｓ  ４ｘ３ｘ９  −ｇｒｐ  ３ｘｎｘｎ  ａ．ｏｕｔ
【００３２】
ここでは、３次元(1次元目のサイズが４、２次元目のサイズが３、３次元目のサイズが９)の論理的プロセス配置体系上の座標(３，Ｙ，Ｚ)  (ただし、０≦Ｙ≦２，０≦Ｚ≦８とする)のプロセスグループが指定されている。
尚、上記指定された処理プロセス群は、図１における斜線で示されたプロセス群を示す。
【００３３】
次に、コマンド実行手段１１によって、上記実行コマンドに基づく実行処理が行われると、オプション情報取得部１２は、実行コマンドに指定された論理的プロセス配置の各次元のサイズ、およびプロセスグループの座標情報を取得し、プロセスグループ解析部１３に渡す(ステップＡ２：グループ情報取得行程)。
【００３４】
次いで、プロセスグループ解析部１３(グループ特定手段)は、オプション情報取得部１２から渡されたオプション情報に基づき、指定されたプロセスグループに属し、且つ通信性能採取対象であるプロセスを割り出し、当該プロセスにかかるプロセス情報をプロセス情報保持部１４に格納する(ステップＡ３：グループ特定工程)。
【００３５】
ここで、図２を用いてプロセスグループ解析部１３の処理内容を説明する。
この図２では、各処理プロセスを球で表しており、球内の数字は処理プロセスのＩＤ(ランク)を表している。論理的プロセス配置体系のサイズが、図１に示すように、４ｘ３ｘ９である場合、処理プロセスの座標を（Ｘ，Ｙ，Ｚ）とすると、座標とランクの関係は以下の［数１］で表される。
【００３６】
［数１］
（処理プロセスのランク）＝  Ｘ  ＋  ４×Ｙ  ＋  ４×３×Ｚ
【００３７】
従って、プロセスグループの座標情報として、３ｘｎｘｎが指定された場合、当該プロセスグループに属する処理プロセスのランクは、以下の［数２］により割り出すことができる。
【００３８】
［数２］
（プロセスグループに属するプロセスのランク）＝３＋４×Ｙ＋４×３×Ｚ  （０≦Ｙ≦２，０≦Ｚ≦８）
【００３９】
次いで、プロセス制御部１のプロセス生成部１５が、分散並列プログラムの処理プロセスを生成し(ステップＡ４)、プロセス情報送信部１６が、生成したプロセスに対して解析したプロセス情報を送信する(ステップＡ５)。
【００４０】
次に、プロセス初期化手段３における動作について、図４のフローチャートに基づき説明する。
分散並列プログラム実行部２に送信された処理プロセス(プロセス)は、プロセス情報受信機能３１により受信される。また、このとき、プロセス初期化部３は、プロセス間通信に先立ち、プロセス間通信の通信先情報などの初期化処理を行う(ステップＢ１)。
次いで、プロセス情報受信部３１が、プロセス制御部１から解析されたプロセス情報を受信しプロセス情報保持部３２に格納する(ステップＢ２)。
【００４１】
次いで、プロセス間通信部５によりプロセス間通信が実行されたときの動作について、図５のフローチャートに基づき説明する。
上記ステップＢ２に次いで、プロセス間通信部５が、プロセス間通信が実行する(ステップＣ１)。このとき、性能測定手段４のプロセス情報参照部４１が、プロセス情報保持部３２に格納されたプロセス情報を参照する。
ここで、このプロセス情報のプロセスが実行コマンドに指定されたプロセスグループに属していれば(ステップＣ２：ＹＥＳ)、通信性能情報採取機能４２がプロセス間通信性能情報(性能情報)の採取を開始する(ステップＣ３)。
【００４２】
次いで、プロセス間通信手段５がプロセス間通信のデータ転送を行い (ステップＣ４：プロセス間通信処理)、当該プロセス間通信中における通信性能情報が通信性能情報採取機能４２によって取得される(ステップＣ５：通信性能情報採取終了）。
次いで、通信性能情報格納機能４３が、採取した性能情報を性能情報記憶部６へ格納する(ステップＣ６：通信性能情報通知行程)。
【００４３】
また、ステップＣ２で、参照されたプロセス情報のプロセスが実行コマンドに指定されたプロセスグループに属していない場合(ステップＣ２：ＮＯ)、通信性能情報の採取は行われず、プロセス間通信部５がプロセス間通信処理を行う(ステップＣ７)。
【００４４】
以上のように、本実施形態では、論理的プロセス配置体系(図２)内の特定のプロセスグループを示す情報を、プログラムの外部から実行コマンドなどにより指定することを可能とし、これにより、プログラム実行時に、指定されたプロセスグループにおけるプロセス間通信の通信性能情報を取得し、管理することができる。
これのため、プログラム実行時に全プロセスの通信性能情報を保存した場合、その容量が膨大なものとなってしまうＨＰＣ(High Performance Computing)分野のコンピュータシステムにおいても、選択指定したプロセスグループの通信性能情報のみを保存し、容易に管理することを可能とする。
【産業上の利用可能性】
【００４５】
本発明は、多段クロスバーネットワーク、ファットツリー、二次元や三次元のメッシュ、トーラスなどのネットワークを採用するコンピュータシステムに対して有用に適用することができる。
【符号の説明】
【００４６】
１  プロセス制御部
２  分散並列プログラム実行部
３  プロセス初期化手段
４  性能測定手段
５  プロセス間通信手段
６  性能情報記憶部
１１  コマンド実行手段
１２  オプション情報取得手段
１３  プロセスグループ解析手段
１４  プロセス情報保持手段
１５  プロセス生成手段
１６  プロセス情報送信手段
２１、２２、・・・、２ｎ  プロセス実行部
３１  プロセス情報受信機能
３２  プロセス情報保持機能
４１  プロセス情報参照機能
４２  通信性能情報採取機能
４３  通信性能情報格納機能
【図１】
2010257351.tif 000003
【図２】
2010257351.tif 000004
【図３】
2010257351.tif 000005
【図４】
2010257351.tif 000006
【図５】
2010257351.tif 000007