JP2009199121A - 情報処理装置、通信情報採取方法、及び、プログラム - Google Patents

情報処理装置、通信情報採取方法、及び、プログラム Download PDF

Info

Publication number
JP2009199121A
JP2009199121A JP2008037074A JP2008037074A JP2009199121A JP 2009199121 A JP2009199121 A JP 2009199121A JP 2008037074 A JP2008037074 A JP 2008037074A JP 2008037074 A JP2008037074 A JP 2008037074A JP 2009199121 A JP2009199121 A JP 2009199121A
Authority
JP
Japan
Prior art keywords
communication
time
information
inter
information processing
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
Application number
JP2008037074A
Other languages
English (en)
Other versions
JP4978504B2 (ja
Inventor
Takeshi Hayasaka
武 早坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008037074A priority Critical patent/JP4978504B2/ja
Publication of JP2009199121A publication Critical patent/JP2009199121A/ja
Application granted granted Critical
Publication of JP4978504B2 publication Critical patent/JP4978504B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】発生するプロセス間通信が膨大な数となるケースについても、各プロセスの処理量が不均一になっている箇所を特定するための情報を、選択的、かつ、自動的に採取し保存できる情報処理装置を提供する。
【解決手段】分散並列プログラム10は、複数のプロセス11を有する。分散並列プログラム10は、プロセス間で通信を行い、処理を実行する。プロセス間通信情報処理部13は、プロセス間通信にて通信待ちが発生したときに、通信待ち時間を測定し、プロセス間通信情報ファイル14に記録する。
【選択図】図1

Description

本発明は、情報処理装置、通信情報採取方法、及び、プログラムに関し、更に詳しくは、複数プロセス間で通信を行い処理を実行する情報処理装置、並びに、そのような情報処理装置における通信情報採取方法及びプログラムに関する。
複数のプロセスから構成されるメッセージパッシング型分散並列プログラムがある。メッセージパッシング型分散並列プログラムの実行において、各プロセスの処理量が均一ではないと(インバランスが発生していると)、後続のプロセス間通信において通信待合わせが発生し、プロセス間通信所要時間が増大する。これにより、プログラム全体の実行性能が低下する。プログラムの実行性能チューニングのために、インバランス発生箇所を特定し、改善する手法が採られている。インバランスの発生は、プロセス間所要時間が増大している箇所を検出することで検出可能である。
従来は、各プロセスの処理量が不均一となっている箇所を検出するために、プロセス間通信に関する情報を採取・保存し、プログラム実行終了後にその情報を解析している。すなわち、プログラムの実行開始時から終了まで、分散並列プログラムを構成する全てのプロセスについて、全てのプロセス間通信イベント情報(通信相手プロセス、通信データサイズ、通信所要時間など)を採取し、その情報をファイルに保存し、解析している。採取したプロセス間通信イベント情報の解析では、専用のツールを利用し、例えば、縦軸をプロセス、横軸を時間として、採取したプロセス間通信情報をグラフィカルに表示させ、送信側プロセスと受信側プロセスの対応状況、各プロセス間通信に要した時間等を目視により確認し、通信時間が長い箇所を特定している。
ここで、メッセージ交換型通信システムにて、通信待ち合わせを行う技術が、特許文献1に記載されている。特許文献1では、プロセス間での通信の発生、特に通信待合せの発生を監視し、その情報を採取する。次に通信待ち合わせが発生したときには、以前に発生した通信待ち合わせの状態を参照し、適切な待ち合わせ方式、すなわちビジーウェイト方式又はサスペンド方式の何れかを選択する。特許文献1では、このようにすることで、通信性能の低下を抑えつつ、通信待ち合わせ処理に必要なCPU資源の浪費を回避することができるとしている。
特開2001−117787号公報
上記した、プロセス間通信に関する情報を採取・保存し、プログラム実行終了後にその情報を解析する手法では、実行プロセス数が少ない場合や、実行が短時間で終了するプログラムでは、特に問題は発生しない。しかし、HPC(High Performance Computing)分野のアプリケーションプログラム、特に大規模科学技術計算プログラムなどでは、プロセス数が多く、また、プログラムの実行が長時間にわたり、発生するプロセス間通信の数が膨大となる。このため、収集する情報が膨大となり、通信情報ファイルのサイズが巨大になることで、ファイルアクセスのコストが増大するという問題が発生する。また、解析を行う際に、プロセス間通信の発生状況を示すグラフィカル表示も複雑となり、目視による確認が困難となるという問題も発生する。
また、通信性能情報の採取に際しては、実行性能重視の観点から、通信中に性能情報採取用のコードなど、実行時のオーバーヘッドとなり実行性能低下の要因となる処理を組み込むことはできない。このため、情報採取の方法としては、ユーザプログラムから情報採取用手続き呼び出し、情報採取用手続きから実際にプロセス間通信を行う手続きを呼び出すラッパー式が一般的に採られている。この場合は、プロセス間通信を行う手続きとは別に、情報採取用の手続きを用意する必要がある。
特許文献1では、通信待合せ時間を採取している。しかし、特許文献1では、採取した通信待合せ時間は、通信待合せ方式の選択にのみ使用しており、これをファイルに書き出して、後の解析に用いることはしていない。従って、特許文献1に記載の技術では、プログラム実行後に、発生した通信待合せ時間の解析を行うことはできず、インバランス発生箇所を特定することはできない。
本発明は、発生するプロセス間通信が膨大な数となるケースについても、各プロセスの処理量が不均一になっている箇所を特定するための情報を、選択的、かつ、自動的に採取し保存できる通信情報採取方法、情報処理装置、及び、プログラムを提供することを目的とする。
上記目的を達成するために、本発明の情報処理装置は、複数のプロセス間で通信を行い、処理を実行する情報処理装置であって、プロセス間の通信にて通信待ちが発生したときに、通信待ち時間を測定しプロセス間通信情報ファイルに記録するプロセス間通信情報処理部とを備えることを特徴とする。
本発明の通信情報採取方法は、複数のプロセス間で通信を行い、処理を実行する情報処理装置における通信情報採取方法であって、前記情報処理装置が、プロセス間の通信にて通信待ちが発生したか否かを判断するステップと、前記情報処理装置が、前記通知待ちが発生したと判断すると、通信待ち時間を測定しプロセス間通信情報ファイルに記録するステップとを有することを特徴とする。
本発明のプログラムは、複数のプロセス間で通信を行い、処理を実行するコンピュータに、通信情報を採取する処理を実行させるプログラムであって、前記コンピュータに、プロセス間の通信にて通信待ちが発生したか否かを判断する処理と、前記通知待ちが発生したと判断されると、通信待ち時間を測定しプロセス間通信情報ファイルに記録する処理とを実行させることを特徴とする。
本発明の通信情報採取方法、情報処理装置、及び、プログラムは、発生するプロセス間通信が膨大な数となるケースについても、各プロセスの処理量が不均一になっている箇所を特定するための情報を、選択的、かつ、自動的に採取し保存できる。
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の一実施形態の分散並列プログラムを示している。分散並列プログラム10は、複数のプロセス11−1〜11−nを有する。プロセス11−1〜11−nは、プロセス間通信処理部12−1〜12−nを有する。プロセス間通信処理部12−1〜12−nは、プロセス間通信情報処理部13−1〜13−nを有する。分散並列プログラム10は、サーバなどのコンピュータ(情報処理装置)に読み込まれ、コンピュータ上で各種の処理を実行する。
プロセス間通信処理部12は、プロセス間通信処理を行う。プロセス間通信情報処理部13は、プロセス間通信処理部12がプロセス間通信を実施した際に、各種通信情報を採取し処理する。プロセス間通信情報処理部13は、プロセス間で通信待ち合わせが発生したときにのみ、各種通信情報を採取する。プロセス間通信情報処理部13が採取する通信情報は、通信待ち時間と、データ転送時間とを含む。プロセス間通信情報ファイル14−1〜14−nは、プロセス11−1〜11−nについて採取されたプロセス間通信情報を格納するファイルであり、プロセスごとに存在する。
図2に、動作手順を示す。分散並列プログラム10を構成する各プロセス11は、プロセス間通信処理部12により、プロセス間通信手続きを実行する。プロセス間通信処理部12は、通信対象のプロセス側で、通信開始の準備が整っているか否かを判定する(ステップS1)。通信対象プロセスで通信開始の準備が整っている場合は、プロセス間データ転送処理を実行し(ステップS2)、プロセス間通信手続きを終了する。このとき、プロセス間通信情報処理部13による通信情報の収集は行わない。
プロセス間通信処理部12は、通信対象プロセス側で通信開始の準備が整っていないと判断したときは、通信待ち合わせのロジックに移行する。通信待ち合わせのロジックにて、プロセス間通信情報処理部13により、通信情報の採取を実施する。プロセス間通信情報処理部13は、通信待ち合わせロジックへの移行時に、通信待ち合わせ開始時刻を採取する(ステップS3)。プロセス間通信処理部12は、通信対象プロセス側で通信開始の準備が整っているか否かを再度確認し(ステップS4)、準備が整うまでステップS4を繰り返し実行して待機する。
プロセス間通信処理部12が通信対象プロセスで通信開始の準備が整ったと判断すると、プロセス間通信情報処理部13は、プロセス間待ち合わせ終了時刻を採取する(ステップS5)。ステップ3で採取した時刻とステップS5で採取した時刻との時間差が、通信待ち合わせ時間となる。プロセス間通信処理部12は、プロセス間のデータ転送処理を実施する(ステップS6)。ステップS6のデータ転送処理は、ステップS2のデータ転送処理と同じ処理である。
データ転送処理の実施後、プロセス間通信情報処理部13は、プロセス間データ転送処理の終了時刻を採取する(ステップS7)。ステップS5で採取した時刻とステップS7で採取した時刻との時間差が、データ転送所要時間となる。プロセス間通信情報処理部13は、データサイズや通信相手プロセス情報などのその他の情報を採取する(ステップS8)。プロセス間通信情報処理部13は、通信待ち合わせ時間、データ転送所要時間、及び、ステップS8で取得したその他の情報を、プロセス間通信情報ファイル14に書き込む(ステップS9)。
図3に、ラッパー方式で採取される情報と本実施形態で採取される情報とを模式的に示す。ラッパー方式では、ユーザプログラム51に通信情報採取用手続き52を設け、通信情報採取用手続き52が、通信手続き53の前後で情報採取処理54、55を行うことで、情報を採取する。このようにして採取された情報は、データ転送時間と通信待ち時間とを含む。
ラッパー方式では、データ転送時間と通信待ち時間とを含む情報しか採取できないので、通信時間に占める通信待ち時間のみを選択的に採取することがでない。このため、通信待ちの発生は、通信時間全体から判断する必要がある。より詳細には、通信データサイズ、及び、プロセス間通信経路ごとに、あらかじめ、通信待ちが発生しない場合の理想的なデータ転送所要時間である基準時間を算出又は測定しておき、これと実際の通信所要時間とを比較して、所要時間が基準時間を上回るか否かで、通信待ちの発生を判断する必要がある。
本実施形態では、通信処理を行う通信手続き中(プロセス間通信処理部12内)に、情報採取用コード(プロセス間通信情報処理部13)を組み込み、通信待ちの発生を契機として情報採取を実施する。本実施形態では、通信待ちが発生した通信のみを対象に情報を採取することができるため、全てのプロセスについて全てのプロセス間通信イベント情報を採取する場合に比して、採取した情報をファイルに書き出すコスト、及び、ファイルサイズを大幅に削減することができる。従って、発生するプロセス間通信が膨大な数となるケースについても、各プロセスの処理量が不均一になっている箇所を特定するための情報を、選択的、かつ、自動的に採取し保存できる。
本実施形態では、プロセス間通信ごとに、通信待ち合わせ時間とデータ転送時間とを分離して採取する。通信待ち合わせ時間とデータ転送時間とを分離して採取することで、インバランス発生箇所を特定するために必要な情報を保存することができ、その後の解析に利用することができる。また、本実施形態では、通信待ちの発生を契機として情報採取を行っており、通信待ちが発生しない場合は、情報採取を行わないので、性能への影響も小さい。更に、ラッパー方式では、通信待ち発生を判断するために、通信データサイズ及び通信経路ごとに基準時間を保持する必要があった。本実施形態では、通信待ちの発生を契機として情報採取を行い、通信待ち時間は転送サイズや通信経路とは無関係であるので、ラッパー方式の場合と異なり、データ転送に要する基準時間を保持する必要はない。
以上、本発明をその好適な実施形態に基づいて説明したが、本発明の情報処理装置、通信情報採取方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
本発明の分散並列プログラムを示すブロック図。 情報採取の動作手順を示すフローチャート。 ラッパー方式で採取される情報と本実施形態で採取される情報とを模式的に示すブロック図。
符号の説明
10:分散並列プログラム
11:プロセス
12:プロセス間通信処理部
13:プロセス間通信情報処理部
14:プロセス間通信情報ファイル

Claims (8)

  1. 複数のプロセス間で通信を行い、処理を実行する情報処理装置であって、
    プロセス間の通信にて通信待ちが発生したときに、通信待ち時間を測定しプロセス間通信情報ファイルに記録するプロセス間通信情報処理部とを備える情報処理装置。
  2. 前記プロセス間通信情報処理部は、前記通信待ちが発生した時刻と、前記プロセス間通信が開始された時刻とを取得し、前記通信待ちが発生した時刻と前記通信が開始された時刻との時間差から、前記通信待ち時間を求める、請求項1に記載の情報処理装置。
  3. 前記プロセス間通信情報処理部は、前記プロセス間通信が終了するとデータ転送終了時刻を取得し、前記通信が開始された時刻と前記データ転送終了時刻との時間差から、データ転送所要時間を求め、前記プロセス間通信情報ファイルに記録する、請求項2に記載の情報処理装置。
  4. 前記プロセス間通信情報処理部は、前記プロセス間通信が終了すると、データサイズ及び通信相手プロセス情報を取得し、該取得した情報を前記プロセス間通信情報ファイルに記録する、請求項1乃至3の何れか一に記載の情報処理装置。
  5. 前記複数のプロセスのそれぞれが、他のプロセスとの間で通信を行うプロセス間通信処理部を備えており、該プロセス間通信処理部内に、前記プロセス間通信情報処理部を有する、請求項1乃至4の何れか一に記載の情報処理装置。
  6. 複数のプロセス間で通信を行い、処理を実行する情報処理装置における通信情報採取方法であって、
    前記情報処理装置が、プロセス間の通信にて通信待ちが発生したか否かを判断するステップと、
    前記情報処理装置が、前記通知待ちが発生したと判断すると、通信待ち時間を測定しプロセス間通信情報ファイルに記録するステップとを有する通信情報採取方法。
  7. 前記情報処理装置は、前記通信待ちが発生したと判断すると、該通信待ちが発生した時刻を記憶し、通信相手のプロセスが通信可能となるまで待機し、通信可能となると該通信可能となった時刻を記憶し、前記通信待ちが発生した時刻と前記通信可能となった時刻との時間差から、前記通信待ち時間を求める、請求項6に記載の通信情報採取方法。
  8. 複数のプロセス間で通信を行い、処理を実行するコンピュータに、通信情報を採取する処理を実行させるプログラムであって、前記コンピュータに、
    プロセス間の通信にて通信待ちが発生したか否かを判断する処理と、
    前記通信待ちが発生したと判断されると、通信待ち時間を測定しプロセス間通信情報ファイルに記録する処理とを実行させるプログラム。
JP2008037074A 2008-02-19 2008-02-19 情報処理装置、通信情報採取方法、及び、プログラム Expired - Fee Related JP4978504B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008037074A JP4978504B2 (ja) 2008-02-19 2008-02-19 情報処理装置、通信情報採取方法、及び、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008037074A JP4978504B2 (ja) 2008-02-19 2008-02-19 情報処理装置、通信情報採取方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2009199121A true JP2009199121A (ja) 2009-09-03
JP4978504B2 JP4978504B2 (ja) 2012-07-18

Family

ID=41142584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008037074A Expired - Fee Related JP4978504B2 (ja) 2008-02-19 2008-02-19 情報処理装置、通信情報採取方法、及び、プログラム

Country Status (1)

Country Link
JP (1) JP4978504B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011175459A (ja) * 2010-02-24 2011-09-08 Nec Corp 性能情報採取装置、性能情報採取方法、及び性能情報採取プログラム
JP2014049074A (ja) * 2012-09-04 2014-03-17 Fujitsu Ltd 計算ノード間メッセージ通信状況取得プログラム、方法、及びシステム
JP7434925B2 (ja) 2020-01-23 2024-02-21 日本電気株式会社 情報処理装置、情報処理方法およびプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040139A (ja) * 1996-07-19 1998-02-13 Nec Corp パフォーマンスモニタ方式
JP2000315198A (ja) * 1999-05-06 2000-11-14 Hitachi Ltd 分散処理システム及びその性能モニタリング方法
JP2001117787A (ja) * 1999-10-15 2001-04-27 Nec Corp メッセージ交換型通信システム及びその通信待ち合せ方法
JP2005216078A (ja) * 2004-01-30 2005-08-11 Nec Corp 計算機システム性能測定分析用のトランザクションプロファイルの生成システム、その生成方法及びプログラム
JP2006134203A (ja) * 2004-11-09 2006-05-25 Hitachi Ltd 分散制御システム
JP2007249373A (ja) * 2006-03-14 2007-09-27 Osaka Prefecture Univ 分散型プログラムの監視システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040139A (ja) * 1996-07-19 1998-02-13 Nec Corp パフォーマンスモニタ方式
JP2000315198A (ja) * 1999-05-06 2000-11-14 Hitachi Ltd 分散処理システム及びその性能モニタリング方法
JP2001117787A (ja) * 1999-10-15 2001-04-27 Nec Corp メッセージ交換型通信システム及びその通信待ち合せ方法
JP2005216078A (ja) * 2004-01-30 2005-08-11 Nec Corp 計算機システム性能測定分析用のトランザクションプロファイルの生成システム、その生成方法及びプログラム
JP2006134203A (ja) * 2004-11-09 2006-05-25 Hitachi Ltd 分散制御システム
JP2007249373A (ja) * 2006-03-14 2007-09-27 Osaka Prefecture Univ 分散型プログラムの監視システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011175459A (ja) * 2010-02-24 2011-09-08 Nec Corp 性能情報採取装置、性能情報採取方法、及び性能情報採取プログラム
JP2014049074A (ja) * 2012-09-04 2014-03-17 Fujitsu Ltd 計算ノード間メッセージ通信状況取得プログラム、方法、及びシステム
JP7434925B2 (ja) 2020-01-23 2024-02-21 日本電気株式会社 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
JP4978504B2 (ja) 2012-07-18

Similar Documents

Publication Publication Date Title
JP5520371B2 (ja) 多重仮想マシンのためのサポートを有する、トレース・データの時間ベース・コンテキスト・サンプリング
US9389936B2 (en) Monitoring the responsiveness of a user interface
US20100017583A1 (en) Call Stack Sampling for a Multi-Processor System
US8352946B2 (en) Managing migration ready queue associated with each processor based on the migration ready status of the tasks
JP6260130B2 (ja) ジョブ遅延検知方法、情報処理装置、およびプログラム
CN105955876B (zh) 一种数据监控处理方法以及装置
US20140006606A1 (en) Message Queue Transaction Tracking Using Application Activity Trace Data
CN105607986A (zh) 用户行为日志数据采集方法及装置
EP4182796B1 (en) Machine learning-based techniques for providing focus to problematic compute resources represented via a dependency graph
TW201415216A (zh) 測試日誌擷取系統及方法
CN102893261B (zh) 空闲转换采样方法及其系统
JP5437977B2 (ja) 解析システム、解析装置、解析方法及び解析プログラム
JP4978504B2 (ja) 情報処理装置、通信情報採取方法、及び、プログラム
JP2008158889A (ja) トラブル要因検出プログラム、トラブル要因検出方法およびトラブル要因検出装置
CN111290942A (zh) 压力测试方法、装置以及计算机可读介质
CN112988544A (zh) 操作系统性能瓶颈的分析方法、系统、设备和存储介质
US11409704B2 (en) Method, device and computer program product for managing storage system
CN108062224B (zh) 基于文件句柄的数据读写方法、装置及计算设备
EP4060435B1 (en) Method and system for infrastructure monitoring
CN107342917B (zh) 用于检测网络设备性能的方法和装置
JP5509921B2 (ja) 性能情報採取装置、性能情報採取方法、及び性能情報採取プログラム
CN113485891A (zh) 业务日志监控方法、装置、存储介质及电子设备
US11036693B2 (en) Apparatus of continuous profiling for multicore embedded system and method of the same
US9633061B2 (en) Methods for determining event counts based on time-sampled data
US20150121352A1 (en) Identification of code synchronization points

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111031

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120222

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120228

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: 20120321

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120403

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4978504

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees