JP4899511B2 - システム分析プログラム、システム分析装置、およびシステム分析方法 - Google Patents

システム分析プログラム、システム分析装置、およびシステム分析方法 Download PDF

Info

Publication number
JP4899511B2
JP4899511B2 JP2006030974A JP2006030974A JP4899511B2 JP 4899511 B2 JP4899511 B2 JP 4899511B2 JP 2006030974 A JP2006030974 A JP 2006030974A JP 2006030974 A JP2006030974 A JP 2006030974A JP 4899511 B2 JP4899511 B2 JP 4899511B2
Authority
JP
Japan
Prior art keywords
address
analysis
nodes
time
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.)
Expired - Fee Related
Application number
JP2006030974A
Other languages
English (en)
Other versions
JP2007213205A (ja
Inventor
周史 山村
耕一 久門
美由紀 小野
聡 平井
和宏 松本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006030974A priority Critical patent/JP4899511B2/ja
Priority to US11/497,295 priority patent/US7472039B2/en
Publication of JP2007213205A publication Critical patent/JP2007213205A/ja
Application granted granted Critical
Publication of JP4899511B2 publication Critical patent/JP4899511B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3404Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3471Address tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は並列計算機システムを管理するためのシステム分析プログラム、システム分析装置、およびシステム分析方法に関し、特に運用中の並列計算機システムで発生した障害等を検出するためのシステム分析プログラム、システム分析装置、およびシステム分析方法に関する。
R&D(Research and Development)、HPC(High Performance Computing)、バイオインフォマティックスなどの多くの分野において、並列計算機システムの利用が進んでいる。ここで、「並列計算機」は、ネットワークにより複数台の計算機を接続したコンピュータシステムである。並列計算機システムには、クラスタシステムやグリッドコンピューティングシステムを含むものとする。なお、並列計算機システムを構成する各コンピュータはノードと呼ばれる。
並列計算機システムの実例として、(1)高速なネットワークと高性能PC(パーソナルコンピュータ)で構成され、主として単一の並列プログラムを実行する「PCクラスタシステム」(以下、「クラスタ」と略記)や、(2)複数のコンピュータを1台の仮想計算機と見立てて、利用者が必要な計算能力や記憶容量を取り出して使う「グリッドコンピューティングシステム」(以下、「グリッド」と略記)などが挙げられる。
このような多数台の計算ノードで構成される並列計算機システム上では、システムの動作状況を管理するために「プログラムプロファイリング」(タイマー等によるサンプリングを指す。以下、「プロファイリング」と略記)が行われる。
プロファイリングを行うソフトウェアは、例えば、対象プログラムについて、プログラム開始から終了まで、システムの性能データを測定する。また、プログラム実行中の任意の時間区間のみ測定する場合もある。
図13は、従来のプロファイリングの状況を示す図である。この図では、1msごとにサンプリングを行い、その時点でのプログラムの実行中のアドレスを記録している。アドレス記録テーブル911は、関数ごとに何回サンプリングされたかを示す数値を格納する記憶領域である。
アドレス記録テーブル911には、関数名、アドレス範囲、およびサンプリングカウントの欄が設けられている。関数名の欄には、実行される関数の名称が設定される。アドレス範囲の欄には、関数が実行される際に指定されるメモリアドレスの範囲が設定される。サンプリングカウントの欄には、関数ごとに、サンプリングによってアドレスが採取された回数が設定される。
この例では、10回サンプリングが行われており、サンプリング時のアドレスは、それぞれ「0x05」、「0x11」、「0x13」、「0x23」、「0x11」、「0x23」、「0x23」、「0x23」である。プロファイリング機能では、サンプリング時にCPU(Central Processing Unit)が実行しているアドレスを検出する。さらに、プロファイリング機能では、アドレス記録テーブル911を参照し、検出したアドレスがどの関数のアドレス範囲に属するのかを判断する。そして、プロファイリング機能は、検出したアドレスが属する関数のサンプリングカウントをカウントアップする。
その結果、10秒間のサンプリングによって、関数「Func A」が1回、関数「Func B」が3回、関数「Func C」が4回、関数「Func D」が0回というサンプリングカウントが得られる。このような測定結果により、実行時間の最も長いものが関数「Func C」(全体の50%)であることが分かる。
並列計算機システムを管理する場合には、図13に示したような方法で各ノードのプロファイル結果を取得する。そして、ノードごとに集計処理等が行われる。例えば、並列計算機を構成する各プロセッサの実計算時間等の性能情報を取得し、円グラフやレーダーチャートで表示する技術がある(特許文献1参照)。
また、各計算ノードのデータを統計処理して分類することにより、性能評価において重要な特徴を抽出しようとする研究も行われている(非特許文献1参照)。
特開平10−63550号公報 Dong H. Ahn and Jeffrey S. Vetter,"Scalable analysis techniques for microprocessor performance counter metrics",Proc.SC 2002,2002
しかし、特許文献1に示したような既存の記述をクラスタやグリッドなどの多数台で構成される計算機システムに適用した場合、以下に挙げる2点の課題がある。
1.プログラム全体を1つの測定対象としてプロファイリングの結果を出力する。従って、プログラム実行中に発生する微細な(極めて短い時間で生じる)挙動変化が全データに対して相対的に小さく見える。そのため分析者が微細な挙動変化を捕捉できない。並列処理においては、この種の変化が全体性能を低下させる要因となり得る。
2.採取されるプロファイルデータが計算ノードの台数に比例して増大する。プロファイリングにより分析を行う際、当該データを、計算ノード間で相互比較してボトルネックとなる処理を抽出する必要がある。しかし、数千ノードを対象として、微細な挙動変化を検出するための詳細なプロファイリングを行うことは実質的に不可能である。
なお、非特許文献1は、プロファイリングデータの取得技術に関しては言及されていない。そのため、非特許文献1の技術は、上記2点の課題の解決には寄与しない。
本発明はこのような点に鑑みてなされたものであり、極めて短時間に生じる挙動変化を見逃さずに検出することができるシステム分析プログラム、システム分析装置、およびシステム分析方法を提供することを目的とする。
本発明では上記課題を解決するために、図1に示すようなシステム分析プログラムが提供される。本発明に係るシステム分析プログラムは、計算機システムの処理内容を分析するために、図1に示す機能をコンピュータに実行させることができる。
アドレスデータ格納手段2は、所定のサンプリング周期でCPU1が実行しているアドレスを取得し、取得したアドレスに取得時刻を関連づけて、アドレスデータとしてアドレス記録テーブル3に時系列で格納する。実行処理判断手段5は、CPU1で実行される処理の名称と、処理を実行する際にプログラム上で指定されるメモリアドレスとが関連づけて登録された処理アドレス対応テーブル4を参照し、アドレス記録テーブル3に格納されたアドレスデータのアドレスに基づき、アドレスデータを取得した際に実行されていた処理の名称を判断し、アドレス記録テーブル3内のアドレスデータに処理の名称を設定する。解析手段6は、任意の解析単位時間を指定した解析要求が入力されると、アドレス記録テーブル3に格納されたアドレスデータの処理名を、指定された解析単位時間ごとに集計し、解析単位時間ごとの実行した処理の内訳を解析する。表示手段7は、解析手段6の解析結果8を表示する。
このようなシステム分析プログラムを実行するコンピュータによれば、アドレスデータ格納手段2により、所定のサンプリング周期でCPU1が実行しているアドレスが取得され、取得したアドレスに取得時刻が関連づけられ、アドレスデータとしてアドレス記録テーブル3に時系列で格納される。次に、実行処理判断手段5により、アドレスデータを取得した際に実行されていた処理の名称が判断され、アドレス記録テーブル3内のアドレスデータに処理の名称が設定される。その後、任意の解析単位時間を指定した解析要求が入力されると、解析手段6により、アドレス記録テーブル3に格納されたアドレスデータの処理名が、指定された解析単位時間ごとに集計され、解析単位時間ごとの実行した処理の内訳が解析される。そして、表示手段7により、解析手段6の解析結果8が表示される。
また、上記課題を解決するために、計算機システムの処理内容を分析するためのシステム分析装置において、所定のサンプリング周期でCPUが実行しているアドレスを取得し、取得したアドレスに取得時刻を関連づけて、アドレスデータとしてアドレス記録テーブルに時系列で格納するアドレスデータ格納手段と、前記CPUで実行される処理の名称と、前記処理を実行する際にプログラム上で指定されるメモリアドレスとが関連づけて登録された処理アドレス対応テーブルを参照し、前記アドレス記録テーブルに格納された前記アドレスデータのアドレスに基づき、前記アドレスデータを取得した際に実行されていた処理の名称を判断し、前記アドレス記録テーブル内のアドレスデータに処理の名称を設定する実行処理判断手段と、任意の解析単位時間を指定した解析要求が入力されると、前記アドレス記録テーブルに格納された前記アドレスデータの処理名を、指定された前記解析単位時間ごとに集計し、前記解析単位時間ごとの実行した処理の内訳を解析する解析手段と、前記解析手段の解析結果を表示する表示手段と、を有することを特徴とするシステム分析装置が提供される。
このようなシステム分析装置によれば、アドレスデータ格納手段により、所定のサンプリング周期でCPUが実行しているアドレスが取得され、取得したアドレスに取得時刻が関連づけられ、アドレスデータとしてアドレス記録テーブルに時系列で格納される。次に、実行処理判断手段により、CPUで実行される処理の名称と、アドレス記録テーブルに格納されたアドレスデータのアドレスに基づき、アドレスデータを取得した際に実行されていた処理の名称が判断され、アドレス記録テーブル内のアドレスデータに処理の名称が設定される。その後、任意の解析単位時間を指定した解析要求が入力されると、解析手段により、アドレス記録テーブルに格納されたアドレスデータの処理名が、指定された解析単位時間ごとに集計され、解析単位時間ごとの実行した処理の内訳が解析される。そして、表示手段により、解析手段の解析結果が表示される。
また、上位課題を解決するために、計算機システムの処理内容をコンピュータにより分析するためのシステム分析方法において、アドレスデータ格納手段が、所定のサンプリング周期でCPUが実行しているアドレスを取得し、取得したアドレスに取得時刻を関連づけて、アドレスデータとしてアドレス記録テーブルに時系列で格納し、実行処理判断手段が、前記CPUで実行される処理の名称と、前記処理を実行する際にプログラム上で指定されるメモリアドレスとが関連づけて登録された処理アドレス対応テーブルを参照し、前記アドレス記録テーブルに格納された前記アドレスデータのアドレスに基づき、前記アドレスデータを取得した際に実行されていた処理の名称を判断し、前記アドレス記録テーブル内のアドレスデータに処理の名称を設定し、解析手段が、任意の解析単位時間を指定した解析要求が入力されると、前記アドレス記録テーブルに格納された前記アドレスデータの処理名を、指定された前記解析単位時間ごとに集計し、前記解析単位時間ごとの実行した処理の内訳を解析し、表示手段が、前記解析手段の解析結果を表示する、ことを特徴とするシステム分析方法が提供される。
このようなシステム分析方法によれば、アドレスデータ格納手段により、所定のサンプリング周期でCPUが実行しているアドレスが取得され、取得したアドレスに取得時刻が関連づけられ、アドレスデータとしてアドレス記録テーブルに時系列で格納される。次に、実行処理判断手段により、CPUで実行される処理の名称と、アドレス記録テーブルに格納されたアドレスデータのアドレスに基づき、アドレスデータを取得した際に実行されていた処理の名称が判断され、アドレス記録テーブル内のアドレスデータに処理の名称が設定される。その後、任意の解析単位時間を指定した解析要求が入力されると、解析手段により、アドレス記録テーブルに格納されたアドレスデータの処理名が、指定された解析単位時間ごとに集計され、解析単位時間ごとの実行した処理の内訳が解析される。そして、表示手段により、解析手段の解析結果が表示される。
本発明では、CPUが実行しているアドレスを取得し時系列で格納するようにしたため、任意の解析単位時間ごとに実行した処理の推移を解析することができる。その結果、非常に短時間で発生する問題を検出することが可能となる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本実施の形態の概略を示す図である。本実施の形態では、任意の解析単位時間ごとに実行した処理の推移を解析するため、アドレスデータ格納手段2、アドレス記録テーブル3、処理アドレス対応テーブル4、実行処理判断手段5、解析手段6、および表示手段7が設けられる。
アドレスデータ格納手段2は、所定のサンプリング周期(例えば、1ms)でCPU1が実行しているアドレスを取得する。そして、アドレスデータ格納手段2は、取得したアドレスに取得時刻を関連づけて、アドレスデータとしてアドレス記録テーブル3に時系列で格納する。
処理アドレス対応テーブル4は、CPU1で実行される処理の名称と、処理を実行する際にプログラム上で指定されるメモリアドレスとが関連づけて登録されている。処理アドレス対応テーブル4では、例えば1つの関数を1つの処理として、その関数が実行されるときにCPU1で指定されるアドレスの領域が、あらかじめ処理アドレス対応テーブル4に設定される。
実行処理判断手段5は、処理アドレス対応テーブル4を参照し、アドレス記録テーブル3に格納されたアドレスデータのアドレスに基づき、アドレスデータを取得した際に実行されていた処理の名称を判断する。さらに、実行処理判断手段5は、アドレス記録テーブル3内のアドレスデータに処理の名称を設定する。
解析手段6は、任意の解析単位時間(例えば、10s)を指定した解析要求が入力されると、アドレス記録テーブル3に格納されたアドレスデータの処理名を、指定された解析単位時間ごとに集計する。そして、解析手段6は、解析単位時間ごとの実行した処理の内訳を解析する。
表示手段7は、解析手段6の解析結果8を表示する。例えば、表示手段7は、解析単位時間ごとの棒グラフによって、各解析時間内で実行された処理に費やした時間の割合を、色分けして表示する。
このような構成によれば、アドレスデータ格納手段2により、所定のサンプリング周期でCPU1が実行しているアドレスが取得され、取得したアドレスに取得時刻が関連づけられ、アドレスデータとしてアドレス記録テーブル3に時系列で格納される。次に、実行処理判断手段5により、アドレスデータを取得した際に実行されていた処理の名称が判断され、アドレス記録テーブル3内のアドレスデータに処理の名称が設定される。
その後、任意の解析単位時間を指定した解析要求が入力されると、解析手段6により、アドレス記録テーブル3に格納されたアドレスデータの処理名が、指定された解析単位時間ごとに集計され、解析単位時間ごとの実行した処理の内訳が解析される。そして、表示手段7により、解析手段6の解析結果8が表示される。
このように、CPU1が実行しているアドレスを取得し、そのアドレスを時系列で格納するようにしたため、その後、任意の解析単位時間ごとに実行した処理の内訳を解析することができる。その結果、任意の解析単位時間ごとの処理の内容の内訳が判断できるようになる。すなわち、通常のプロファイラが見逃しがちな異常を発見できる。例えば、解析単位時間を非常に短時間に指定すれば、極めて短い時間で発生する問題までも検出することが可能となる。
ところで、解析手段6における解析処理に関しては、非特許文献1で示されたような、各ノードのデータを統計処理して分類することにより、性能評価において重要な特徴を抽出する処理を適用することができる。さらに、図1に示した機能は、多数台のノードで構成されるクラスタシステムの解析に利用できる。すなわち、クラスタシステム上で、プログラムプロファイリングと統計処理を組み合わせることにより、プログラムの並列化に伴う性能ボトルネックの検出や異常動作を行っているノードの迅速な発見が可能となる。
なお、測定対象となるコンピュータ(ノード)と解析を行うコンピュータとは、同じコンピュータであってもよく、個別のコンピュータであってもよい。例えば、クラスタシステムの各ノードの性能分析を行う場合、クラスタを構成するノードとは別に性能分析を行うコンピュータが用意される。以下、クラスタシステムの性能の評価分析を、クラスタシステムにネットワークで接続された管理サーバで行う場合を例に採り、実施の形態を具体的に説明する。
図2は、本実施の形態のシステム構成例を示す図である。クラスタシステム200は、複数のノード210,220,230,・・・で構成されている。ノード210,220,230,・・・には、ネットワーク10を介して管理サーバ100が接続されている。管理サーバ100は、クラスタシステム200から性能データを収集して、統計処理を行う。
このように管理サーバ100は、多数台のノード210,220,230,・・・を対象として時系列プロファイリング測定を行う。すなわち、全てのノード210,220,230,・・・の実行アドレスを管理サーバ100で収集し、自動解析を行う。
図3は、本実施の形態に用いる管理サーバのハードウェア構成例を示す図である。管理サーバ100は、CPU101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3には、管理サーバ100のハードウェア構成のみが示されているが、各ノード210,220,230,・・・も同様のハードウェアで実現できる。
図4は、性能分析を行うための機能を示すブロック図である。図4には、ノード210と管理サーバ100との機能が示されている。
ノード210は、実行アドレス取得部211、アドレスデータ記憶部212、および関数アドレス対応テーブル213を有している。
実行アドレス取得部211は、管理サーバ100からサンプリング要求を受け取ると、そのアドレスデータ取得要求で指示された期間(サンプリング期間)だけ、ノード210のCPUが実行しているアドレスを所定間隔で取得する。なお、サンプリング要求には、サンプリング期間やサンプリング周期を示す情報が含まれる。ここで、CPUが実行しているアドレスとは、CPU内のプログラムカウンタと呼ばれるレジスタに設定されている値である。
具体的には、実行アドレス取得部211は、サンプリングアドレスを時系列で記録するためのアドレスデータ記憶部212を、メインメモリ(RAM)上に確保する。サンプリング周期は、例えば、1msである。実行アドレス取得部211は、サンプリング周期ごとにノード210のOSに割り込みをかけ、OSの割り込みハンドラがそのときのプログラムの走行アドレスを記録する。その際、実行アドレス取得部211は、取得したアドレスに、取得時刻を示す時刻情報(タイムスタンプ)を付加する。
サンプリング期間終了後、実行アドレス取得部211は、メインメモリ上のアドレスデータ記憶部212の内容をHDD上のファイルに書き出し保存するとともに、そのファイルを管理サーバ100のアドレスデータ収集部110に送信する。そして、実行アドレス取得部211は、ノード210上で管理対象となるプログラムの関数とそのアドレス区間を記録した関数アドレス対応テーブル213(一般に「シンボルテーブルファイル」とも呼ばれる)を、HDDに格納する。
アドレスデータ記憶部212は、実行アドレス取得部211が取得したアドレスを時系列で記憶する記憶領域である。関数アドレス対応テーブル213は、各ノード210,220,230,・・・で実行される関数と、その関数を実行する際のアドレス範囲とが対応付けて登録されたデータテーブルである。
管理サーバ100は、アドレスデータ収集部110、実行関数判断部130、時系列アドレス記憶部140、統計処理部150、および解析結果表示部160を有している。
アドレスデータ収集部110は、ユーザからの操作入力に応答して、各ノード210,220,230,・・・に対してサンプリング要求を送信する。なお、サンプリング要求で指定するべきサンプリング期間やサンプリング間隔は、ユーザからの操作入力によって指定される。また、アドレスデータ収集部110は、各ノード210,220,230,・・・のアドレスデータ記憶部に蓄積されたアドレスデータを収集し、時系列アドレス記憶部140内のノードごとのアドレス記録テーブル141に記録する。
実行関数判断部130は、関数アドレス対応テーブル213を参照し、アドレスデータ収集部110が収集したアドレスデータに基づいて、そのアドレスデータが採取されたときにノードで実行されていた関数を判断する。そして、実行関数判断部130は、アドレス記録テーブル141,142,143,・・・内の各アドレスデータに対して、アドレスに対応する関数の識別情報を格納する。すなわち、実行関数判断部130は、アドレス記録テーブル141,142,143,・・・と関数アドレス対応テーブル213とを組み合わせることで、時系列でプログラムの走行していた関数履歴を生成する。このようにして生成された時系列データは任意の単位時間に区切って集計処理を行うことができる。
時系列アドレス記憶部140は、アドレスデータと関数との対応関係を記憶する記憶装置である。時系列アドレス記憶部140には、ノード210,220,230,・・・ごとのアドレス記録テーブル141,142,143,・・・が設けられている。アドレス記録テーブル141,142,143,・・・には、対応するノードから採取されたアドレスデータと、そのアドレスデータに応じた関数の識別情報との組(実行関数情報)が時系列で登録される。
統計処理部150は、時系列アドレス記憶部140内のアドレス記録テーブル141,142,143,・・・に格納されたノードごとの実行関数情報に基づいて、関数の実行状況に関する統計処理を行う。具体的には、統計処理部150は、ユーザから統計処理の際の単位時間の指定を受け付け、指定された単位時間ごとの関数の実行状況を解析する。
例えば、統計処理部150は、複数台のノード210,220,230,・・・それぞれで測定した時系列のアドレスデータを、合計、平均、最大、最小、その他の統計処理を行うことによってクラスタシステム200全体のプロファイル結果を時間変化に対して評価することができる。これにより、クラスタシステム200上で、プログラムの挙動が時間が経過するのに対してどのように変化したかを確認することができる。
解析結果表示部160は、統計処理部150の解析結果をモニタ11の画面に表示する。
このような機能の管理サーバ100により、クラスタシステム200の動作状況を任意の時間間隔ごとに集計して、並列化効果を解析することができる。以下、図4に示す構成に基づく、クラスタシステム200の動作状況解析処理の内容を説明する。
図5は、動作状況解析の手順を示すシーケンス図である。以下、図5に示す処理をステップ番号に沿って説明する。
[ステップS11]ユーザは、管理サーバ100のアドレスデータ収集部110に対して、各ノード210,220,230,・・・のアドレスデータの収集指示を入力する。すると、アドレスデータ収集部110は、各ノード210,220,230,・・・に対して、サンプリング要求を出力する。この例では、1msごとのサンプリングを指示したものとする。
[ステップS12]サンプリング要求を受け取った各ノード210では、実行アドレス取得部211がCPUで実行されているアドレスの採取を開始する。実行アドレス取得部211は、採取したアドレスに対して時刻情報に対応づけてアドレスデータ記憶部212に格納する。同様に、他のノード220,230,・・・においても、アドレスが採取される。アドレスの採取は、サンプリング要求によって指定された期間行われる。
[ステップS13]アドレスデータ収集部110は、サンプリング期間だけ待機する。
[ステップS14]アドレスデータ収集部110は、サンプリング期間が終了すると、各ノード210,220,230,・・・に対して、アドレスデータを要求する。
[ステップS15]各ノード210では、実行アドレス取得部211がアドレスデータの要求を受け付ける。同様に、他のノード220,230,・・・でもアドレスデータの要求が受け付けられる。
[ステップS16]アドレスデータの要求を受け取ったノード210では、実行アドレス取得部211が、管理サーバ100に対して採取したアドレスデータを送信する。同様に、他のノード220,230,・・・からも、管理サーバ100に対してアドレスデータが送信される。
[ステップS17]管理サーバ100では、各ノード210,220,230,・・・から送られたアドレスデータをアドレスデータ収集部110が受け取る。そして、アドレスデータ収集部110は、収集したアドレスデータを時系列アドレス記憶部140内のアドレス記録テーブル141,142,143,・・・に格納する。
[ステップS18]その後、実行関数判断部130は、アドレス記録テーブル141,142,143,・・・内の各アドレスデータに対して、そのアドレスデータに対応する関数の識別情報を設定する。
[ステップS19]統計処理部150は、アドレスデータを解析し、グラフ等による解析結果を作成する。
[ステップS20]解析結果表示部160は、統計処理部150による解析結果を表示する。
以上のような手順で、クラスタシステム200の動作が解析される。以下、図5に示した処理の内容を具体的に説明する。
図6は、アドレス記録テーブルへの情報設定状況を示す図である。図6に示すように、ノード210では、1msごとにサンプリングが行われ、その時点でCPUが実行しているアドレスが記録されている。アドレスデータ収集部110は、これらのアドレスと時刻情報とを収集し、アドレス記録テーブル141に設定する。
アドレス記録テーブル141には、時刻とアドレスとの欄が設けられている。時刻の欄には、アドレスが採取された時刻を示す時刻情報が設定される。アドレスの欄には、採取されたアドレスが設定される。この例では、1msごとに10回サンプリングが行われており、サンプリング時のアドレスは、それぞれ「0x05」、「0x11」、「0x13」、「0x23」、「0x11」、「0x23」、「0x23」、「0x23」である。
このようなアドレス記録テーブル141に対して、実行関数判断部130が、関数名を付加する。その際、実行関数判断部130は、関数アドレス対応テーブル213を参照して、アドレスに対応する関数(そのアドレスに対してCPUがアクセスしているときに実行されている関数)を判断する。
関数アドレス対応テーブル213には、関数名とアドレス範囲との欄が設けられている。関数名の欄には、各ノードで実行される関数が設定される。アドレス範囲の欄には、関数を実行するためのプログラムで使用されるメモリ空間上でのアドレス範囲が設定される。例えば、関数「Func A」のアドレス範囲は「0x00」−「0x10」である。すなわち、CPUが「Func A」を実行している間は、「0x00」−「0x10」の範囲内のアドレスから命令が読み出されている。
図5の例では、時刻「1ms」の実行アドレスは「0x05」であり、関数「Func A」が実行されている。時刻「2ms」の実行アドレスは「0x11」であり、関数「Func B」が実行されている。時刻「3ms」の実行アドレスは「0x13」であり、関数「Func B」が実行されている。時刻「4ms」の実行アドレスは「0x23」であり、関数「Func C」が実行されている。時刻「5ms」の実行アドレスは「0x11」であり、関数「Func B」が実行されている。以降、時刻「6ms」、「7ms」、「8ms」の実行アドレスは共に「0x23」であり、関数「Func C」が実行されている。
このように、サンプリングされたアドレスを時系列で記録することで、統計処理部150において任意の時間間隔でのデータ解析が可能となる。すなわち、測定後に「任意の時間間隔」での集計処理が可能となる。例えば、プログラム実行全体を以下のような4つの領域に分割して評価することができる(tはサンプリングの時刻)。
1.0ms < t <= 2ms
この領域では、Func A : Func B : Func C : Func D = 50% : 50% : 0% : 0%
2.2ms < t <=5ms
この領域では、Func A : Func B : Func C : Func D = 0% : 50% : 50% : 0%
3.4ms < t <=7ms
この領域では、Func A : Func B : Func C : Func D = 0% : 50% : 50% : 0%
4.6ms < t <=8ms
この領域では、Func A : Func B : Func C : Func D = 0% : 0% : 100% : 0%
このように、任意の時間間隔でのプログラム内部の関数別実行時間内訳を知ることができる。これにより、プログラム実行全体の中で動作内容の変化を詳細に捉えることができる。
なお、図6では、説明を分かりやすくするために関数が4つしか実行されていないが、実際のクラスタシステムでは、多数の関数が実行される。以下、ノード数がn(nは自然数)、実行される関数の数がN(Nは自然数)の場合に、1msのサンプリングを行った例を示す。
図7は、統計処理部におけるデータ解析状況例を示す図である。統計処理部150は、各ノードに対応するアドレス記録テーブルを解析し、10秒ごとの各関数の実行時間を計算する。この際、統計処理部150は、関数に対応するアドレスデータが1回採取されるごとに、その関数の処理が1ms実行されたものと換算する。そして、統計処理部150は、ノードごとの各関数の実行時間を10秒ごとに集計し、集計結果テーブル151,・・・,15nに集計結果を設定する。例えば、集計結果テーブル151を参照すると、「ノード#1」のノードでは、0−10秒の間に、関数名「Func #1」の関数が100ms実行されている。
ここで、集計結果テーブル151,・・・,15nからは、それぞれN×時間分割数に相当するデータが得られる。そのデータがノード数(n)分得られることで、N×時間分割数×nのデータが得られる。得られたデータのデータ・クラスタリング分析を行う。
データ・クラスタリング分析とは、データの構造が似ているものを同じグループ(クラスタ)にまとめるデータ分析を行う手法である。分類するグループ数は、ユーザが任意に指定することができる。データ・クラスタリング分析手法には、例えば、Complete法と呼ばれる手法がある。これは、2つのクラスタそれぞれの中から1個ずつデータを選んでデータ間の距離を求め、それらの中で、最も遠いデータ間の距離をこの2つのクラスタ間の距離とする方法である。データ間の距離は、データ構造が類似するほど小さな値となる。
このような分析を行うことで、異常ノード等を発見することが可能となる。例えば、ほとんどのノードにおいて、関数名「Func #1」の関数が最も長く実行されている状況下で、1つのノードのみが関数名「Func #2」の関数が最も長く実行されている時間帯があった場合、そのノードの動作が異常であると判断できる。
しかも、本実施の形態では、採取したアドレスデータを収集しているため、解析時の時間分割数を任意に指定することができる。すなわち、時間分割数を多くすれば、関数の実行時間を集計する際の時間間隔が短くなる。その結果、非常に短時間で発生する異常までも検出可能となる。
このような異常の検出処理は、統計処理(クラスタ分析)を用いることで自動化することが可能である。統計処理部150が異常状況を検出して、解析結果表示部160が異常内容を報告することができる。このとき、問題の時間区間に加え、そのときのシステム全体の挙動変化を報告することができる。
以下、統計処理例について説明する。
図8は、クラスタ分析を利用した統計処理の例を示す図である。一般にクラスタシステム200上で動作するアプリケーションは科学技術系アプリケーションである。その場合、各ノード210,220,230,・・・の動作はほとんど同じと推定することができる。換言すると、各ノード210,220,230,・・・の動作がほとんど同じになるようにプログラムの最適化が行われている。したがって、得られた時系列データはほとんど同様結果を示すと期待される。
ここで、各ノード210,220,230,・・・のアドレス記録テーブル141,142,143,・・・の全てを入力として、統計処理部150が統計処理(クラスタ分析)を行う。これにより、各ノード210,220,230,・・・の動作結果を任意の時間単位で分類できる。図8の例では、「グループ#1」と「グループ#2」との2つのグループに分類されている。「グループ#1」には1つのノードのみが含まれ、それ以外のノードは全て「グループ#2」に含まれている。そこで、統計処理によって「グループ#1」に含まれるノードの解析結果21と、「グループ#2」に含まれるノードの解析結果31,32,33,・・・が生成される。
図9は、「グループ#1」内のノードの解析結果の例を示す図である。この例は、10秒単位で集計および分類した場合の「グループ#1」に含まれるノードの解析結果21である。各ノードでの関数ごとの実行時間がグラフによって示されている。
図9の例で、解析単位時間ごと関数実行時間の内訳を比較すると、10秒から20秒間にだけ、他と異なる関数が実行されていることが分かる。すなわち、該当するノードの処理性能が設計通りで無い場合、10秒〜20秒の間にのみ実行されている関数が原因となっている可能性がある。
ここで、図9では関数の区別をグラフ中の網掛の違いで示しているが、色分けによって関数を区別できるようにしてもよい。
また、同一時間帯の関数実行時間の内訳を、異なるグループ間で比較することによっても、特異な処理を検出できる。
図10は、「グループ#2」内のノードの解析結果の例を示す図である。この例は、10秒単位で集計および分類した場合の「グループ#2」に含まれるノードの解析結果31である。「グループ#2」内の他の解析結果32,33,・・・は、解析結果31とほとんど同じ内容となる。
図9と図10とに示した解析結果21,31を比較すると、「グループ#1」のノードのみ、動作が他と異なることがわかる。すなわち、解析結果21では、「問題プロセス:関数1」と「問題プロセス:関数3」の処理が、10秒〜20秒の間に発生していることがわかる。
また、階層的グループ化を行ったデータに対して、グループごとの実行時間を集計することもできる。この結果から、計算機台数を増加することにより、どのグループ(処理内容)で並列化効果が得られているかを検出することができる。その際、グループごとに色分け等の視覚的に異なる表示とすることで並列化の様子を視認しやすくなる。
たとえば、所定の業務を実行するための並列化の度合いを、1ノードから8ノードまで増加させたときの、それぞれの動作状況を解析することで、並列化の有効度が判断できる。
図11は、並列度の有効性を比較するグラフを示す図である。図11の例では、横軸に実行時間が取られており、各ノードにおいて実行された関数が網掛の違いで示されている。なお、この例では、5秒を1ブロックとしている。解析の結果、1ノードのグループ、2ノードのグループ、4ノードのグループ、8ノードのグループが生成されている。
図11の例では、矢印で示した範囲の関数については、1ノードのグループにおける処理時間と、8ノードのグループにおける処理時間とに差がない。すなわち、並列度がほとんどないことがわかる。
また、クラスタ分析において、動作内容(関数別実行時間の内訳)ごとにグループ化することができる。
図12は、経過時間ごとの単位時間内での処理内容の変化を示す図である。この図では、横軸に経過時間(秒単位)が示されている。そして、10msごとの処理内容が、棒グラフで示されている。1つの棒グラフは、10ms内で実行された関数の実行時間を、網掛の違いによって示している。また、グループ化によりプログラムをグループ41〜43に分けた結果が、矩形の枠で示されている。この例では、対象プログラムが3つの処理内容に分類できた。
図12に示されるグループ41〜43は、例えば「初期化処理」や「計算コア」、「データ回収処理」などといった、プログラムの意味的な違いによって分かれる。したがって、並列度(ノードの台数)が向上するにつれ、どの処理が効率的な並列化を達成できているかを容易に判断することができる。
以上説明したように、多数台の計算ノードで構成される並列計算機システム上で、プログラムプロファイリングと統計処理を組み合わせる。これにより、プログラムの並列化に伴う性能ボトルネックの検出や異常動作を行っているノードを迅速かつ自動で発見することが可能となる。その結果、性能評価・分析に必要となる人的・時間的コストを大幅に削減することができる。
すなわち、プログラム全体を通して、一旦採取したプロファイリングデータに対し、ある時間単位で関数実行時間内訳を再計算する(時系列プロファイリング)ようにしたため、特定の短時間内に発生した微細な挙動変化を確認できる。しかも、時系列プロファイリングデータにおける関数実行時間を説明変数として入力し、クラスタ分析を行うことにより、各ノード内でのプログラム実行内容の変化を関数レベルよりも意味的に大きな処理単位で確認できる。
また、時系列プロファイリングデータを、ノード単位、あるいは全ノード合計を集計し、それらで得た関数実行時間を説明変数としてクラスタ分析を行うことにより、同様の処理を行っているノードを自動検出し、分析者が扱うべきデータ量を大幅に削減することができる。ここで、説明変数とは、データ分析において予測したい変数(目的変数)を説明する変数である。
クラスタ分析によって、ノードをグループ分けすることで、大量の計算ノードの中から異なるプログラム実行内容を持つノード、およびその発生時間帯を自動検出できる。すなわち、グループ間の関数実行時間の内訳を比較し、例えば、他と異なる関数が実行されたグループがあれば、そのグループ内のノードに何らかの問題があると考えられる。また、解析の時間間隔ごとに関数実行時間の内訳を比較し、例えば、他と異なる関数が実行された時間帯があれば、その時間帯に実行される処理に何らかの問題があると考えられる。
さらに、分類されたグループごとに色分け表示するようにしたことで、クラスタやグリッドを構成する計算ノード数が変化した場合に処理内容ごとに並列効果を視覚的に確認することができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、管理サーバが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
本実施の形態の概略を示す図である。 本実施の形態のシステム構成例を示す図である。 本実施の形態に用いる管理サーバのハードウェア構成例を示す図である。 性能分析を行うための機能を示すブロック図である。 動作状況解析の手順を示すシーケンス図である。 アドレス記録テーブルへの情報設定状況を示す図である。 統計処理部におけるデータ解析状況例を示す図である。 クラスタ分析を利用した統計処理の例を示す図である。 「グループ#1」内のノードの解析結果の例を示す図である。 「グループ#2」内のノードの解析結果の例を示す図である。 並列度の有効性を比較するグラフを示す図である。 経過時間ごとの単位時間内での処理内容の変化を示す図である。 従来のプロファイリングの状況を示す図である。
符号の説明
1 CPU
2 アドレスデータ格納手段
3 アドレス記録テーブル
4 処理アドレス対応テーブル
5 実行処理判断手段
6 解析手段
7 表示手段
8 解析結果

Claims (5)

  1. 複数のノードを含む並列計算機システムの処理内容を分析するためのシステム分析プログラムにおいて、
    コンピュータを、
    複数の処理を含む対象プログラムを、並列処理させるノード数を変えて前記並列計算機システムに複数回実行させたときに、所定のサンプリング周期で、前記複数のノードそれぞれにおいて取得時刻を含めて採取された、プロセッサが実行したアドレスを、前記複数のノードそれぞれから収集し、収集した取得時刻を含むアドレスをアドレスデータとしてアドレス記録テーブルに格納するアドレスデータ格納手段、
    前記複数のノードそれぞれのプロセッサで実行される処理の名称と、処理を実行する際にプログラム上で指定されるメモリアドレスとが関連づけて登録された処理アドレス対応テーブルを参照し、前記アドレス記録テーブルに格納されたアドレスデータのアドレスを取得した際に実行されていた処理の名称を判断し、前記アドレス記録テーブル内のアドレスデータに処理の名称を設定する実行処理判断手段、
    析単位時間を指定した解析要求が入力されると、前記アドレス記録テーブルに格納された前記アドレスデータの処理名を、指定された前記解析単位時間ごとに集計し、並列処理のノード数ごとに、前記解析単位時間ごとの実行された処理を時系列に並べたグラフを生成する解析手段、
    前記解析手段で生成された前記グラフを表示する表示手段、
    として機能させるシステム分析プログラム。
  2. 前記解析手段は、解析時間帯ごとの処理の実行内訳を比較するグラフを生成することを特徴とする請求項1記載のシステム分析プログラム。
  3. 前記解析手段は、前記ノードの統計処理によるグループ化を行い、解析時間帯ごとの処理の実行内訳をグループごとに解析することを特徴とする請求項1記載のシステム分析プログラム。
  4. 複数のノードを含む並列計算機システムの処理内容を分析するためのシステム分析装置において、
    複数の処理を含む対象プログラムを、並列処理させるノード数を変えて前記並列計算機システムに複数回実行させたときに、所定のサンプリング周期で、前記複数のノードそれぞれにおいて取得時刻を含めて採取された、プロセッサが実行したアドレスを、前記複数のノードそれぞれから収集し、収集した取得時刻を含むアドレスをアドレスデータとしてアドレス記録テーブルに格納するアドレスデータ格納手段と、
    前記複数のノードそれぞれのプロセッサで実行される処理の名称と、該処理を実行する際にプログラム上で指定されるメモリアドレスとが関連づけて登録された処理アドレス対応テーブルを参照し、前記アドレス記録テーブルに格納されたアドレスデータのアドレスを取得した際に実行されていた処理の名称を判断し、前記アドレス記録テーブル内の該アドレスデータに処理の名称を設定する実行処理判断手段と、
    解析単位時間を指定した解析要求が入力されると、前記アドレス記録テーブルに格納された前記アドレスデータの処理名を、指定された前記解析単位時間ごとに集計し、並列処理のノード数ごとに、前記解析単位時間ごとの実行された処理を時系列に並べたグラフを生成する解析手段と、
    前記解析手段で生成された前記グラフを表示する表示手段と、
    を有するシステム分析装置。
  5. 複数のノードを含む並列計算機システムの処理内容をコンピュータにより分析するためのシステム分析方法において、
    前記コンピュータが、
    複数の処理を含む対象プログラムを、並列処理させるノード数を変えて前記並列計算機システムに複数回実行させたときに、所定のサンプリング周期で、前記複数のノードそれぞれにおいて取得時刻を含めて採取された、プロセッサが実行したアドレスを、前記複数のノードそれぞれから収集し、収集した取得時刻を含むアドレスをアドレスデータとしてアドレス記録テーブルに格納し、
    前記複数のノードそれぞれのプロセッサで実行される処理の名称と、該処理を実行する際にプログラム上で指定されるメモリアドレスとが関連づけて登録された処理アドレス対応テーブルを参照し、前記アドレス記録テーブルに格納されたアドレスデータのアドレスを取得した際に実行されていた処理の名称を判断し、前記アドレス記録テーブル内の該アドレスデータに処理の名称を設定し、
    解析単位時間を指定した解析要求が入力されると、前記アドレス記録テーブルに格納された前記アドレスデータの処理名を、指定された前記解析単位時間ごとに集計し、並列処理のノード数ごとに、前記解析単位時間ごとの実行された処理を時系列に並べたグラフを生成し、
    生成された前記グラフを表示する、
    システム分析方法。
JP2006030974A 2006-02-08 2006-02-08 システム分析プログラム、システム分析装置、およびシステム分析方法 Expired - Fee Related JP4899511B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006030974A JP4899511B2 (ja) 2006-02-08 2006-02-08 システム分析プログラム、システム分析装置、およびシステム分析方法
US11/497,295 US7472039B2 (en) 2006-02-08 2006-08-02 Program, apparatus, and method for analyzing processing activities of computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006030974A JP4899511B2 (ja) 2006-02-08 2006-02-08 システム分析プログラム、システム分析装置、およびシステム分析方法

Publications (2)

Publication Number Publication Date
JP2007213205A JP2007213205A (ja) 2007-08-23
JP4899511B2 true JP4899511B2 (ja) 2012-03-21

Family

ID=38335107

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006030974A Expired - Fee Related JP4899511B2 (ja) 2006-02-08 2006-02-08 システム分析プログラム、システム分析装置、およびシステム分析方法

Country Status (2)

Country Link
US (1) US7472039B2 (ja)
JP (1) JP4899511B2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070168978A1 (en) * 2005-12-19 2007-07-19 Inventec Corporation Computer program code debugging method and system
JP4681491B2 (ja) * 2006-03-31 2011-05-11 富士通株式会社 プロファイリングプログラムおよびプロファイリング方法
US7930595B2 (en) * 2006-06-22 2011-04-19 International Business Machines Corporation Method and apparatus for analyzing error conditions in a massively parallel computer system by identifying anomalous nodes within a communicator set
US7971190B2 (en) * 2006-11-30 2011-06-28 Intel Corporation Machine learning performance analysis tool
JP4905165B2 (ja) * 2007-02-07 2012-03-28 富士通株式会社 監視支援プログラム、監視方法および監視システム
US8572295B1 (en) 2007-02-16 2013-10-29 Marvell International Ltd. Bus traffic profiling
US7698598B1 (en) * 2007-04-24 2010-04-13 Netapp, Inc. Automatic generation of core files and automatic generation of support information with generation of core files
US8819643B1 (en) * 2007-09-25 2014-08-26 The Mathworks, Inc. Parallel program profiler
JP5167984B2 (ja) * 2008-06-26 2013-03-21 富士通株式会社 命令トレース生成プログラム、命令トレース生成装置および命令トレース生成方法
JP5278901B2 (ja) * 2008-10-24 2013-09-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 頻繁に発生するイベントを推定する方法
CN101888517B (zh) * 2009-05-12 2015-03-11 虹软(杭州)多媒体信息技术有限公司 影像处理系统及其处理方法
JP5428912B2 (ja) * 2010-02-08 2014-02-26 富士通株式会社 集計方法、集計プログラム、集計装置
WO2013165372A1 (en) * 2012-04-30 2013-11-07 Hewlett-Packard Development Company, L.P. Identifying a change to indicate a degradation within a computing device
JP5974856B2 (ja) * 2012-11-27 2016-08-23 富士通株式会社 サンプリングプログラム、サンプリング方法及び情報処理装置
JP6075204B2 (ja) * 2013-05-17 2017-02-08 富士通株式会社 性能情報収集プログラム、情報処理装置及び性能情報収集方法
JP6131829B2 (ja) * 2013-10-31 2017-05-24 富士通株式会社 情報処理装置、情報処理装置の解析方法および情報処理装置の解析プログラム
JP6384109B2 (ja) * 2014-04-24 2018-09-05 富士通株式会社 情報処理装置,処理方法及び処理プログラム
US9858284B2 (en) * 2015-04-21 2018-01-02 International Business Machines Corporation Crowd sourced data sampling at the crowd
US9838495B2 (en) 2015-04-21 2017-12-05 International Business Machines Corporation Managing data acquisition
JP6672808B2 (ja) * 2016-01-13 2020-03-25 富士通株式会社 情報処理装置、実行時間補正方法、および実行時間補正プログラム
WO2017171726A1 (en) * 2016-03-29 2017-10-05 Hewlett Packard Enterprise Development Lp Distributed data clustering using an untrusted mediator
GB2551747B (en) * 2016-06-29 2019-04-10 Advanced Risc Mach Ltd Diagnostic data capture
US10331115B2 (en) * 2016-11-28 2019-06-25 Asm Ip Holding B.V. Substrate processing system, storage medium and data processing method
US10795757B2 (en) * 2017-06-29 2020-10-06 Level 3 Communications, Llc Streaming server statistics and predictive mitigation
CN111723202B (zh) * 2020-05-19 2024-05-17 支付宝(杭州)信息技术有限公司 一种舆情数据的处理装置、方法和系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250339A (ja) * 1992-03-05 1993-09-28 Fujitsu Ltd プログラム性能評価支援装置
JPH0973405A (ja) * 1995-09-07 1997-03-18 Hitachi Ltd 並列プログラム稼働状態表示方法
JPH10171682A (ja) * 1996-12-09 1998-06-26 Hitachi Ltd プログラム動作情報の生成方法
JPH10240581A (ja) * 1997-02-28 1998-09-11 Fujitsu Ltd Cpu時間測定装置
US6327674B1 (en) * 1997-12-09 2001-12-04 Kabushiki Kaisha Toshiba Digital information recording and reproducing system and defect managing system applied to the same
US6301615B1 (en) * 1998-10-14 2001-10-09 Sun Microsystems, Inc. Cluster performance monitoring utility
US6233678B1 (en) * 1998-11-05 2001-05-15 Hewlett-Packard Company Method and apparatus for profiling of non-instrumented programs and dynamic processing of profile data
US6408292B1 (en) * 1999-08-04 2002-06-18 Hyperroll, Israel, Ltd. Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions
JP2004078338A (ja) * 2002-08-12 2004-03-11 Fujitsu Ltd コンピュータ性能評価方法及び装置
JP4414349B2 (ja) * 2003-05-13 2010-02-10 富士通株式会社 入出力装置、計算機、計算機システム、入出力制御プログラム、os、ページ管理プログラム、及びページ管理方法
JP3937341B2 (ja) * 2004-01-30 2007-06-27 日本電気株式会社 計算機システム性能測定分析用のトランザクションプロファイルの生成システム、その生成方法及びプログラム

Also Published As

Publication number Publication date
JP2007213205A (ja) 2007-08-23
US7472039B2 (en) 2008-12-30
US20070185688A1 (en) 2007-08-09

Similar Documents

Publication Publication Date Title
JP4899511B2 (ja) システム分析プログラム、システム分析装置、およびシステム分析方法
US9864676B2 (en) Bottleneck detector application programming interface
US20070157177A1 (en) Methods and apparatus to analyze processor systems
Ren et al. Google-wide profiling: A continuous profiling infrastructure for data centers
US20060130001A1 (en) Apparatus and method for call stack profiling for a software application
JP5520371B2 (ja) 多重仮想マシンのためのサポートを有する、トレース・データの時間ベース・コンテキスト・サンプリング
JP2007207173A (ja) 性能分析プログラム、性能分析方法、および性能分析装置
US20100251160A1 (en) Measurement and reporting of performance event rates
EP2831740B1 (en) Logical grouping of profile data
CN110309130A (zh) 一种用于主机性能监控的方法及装置
EP3798848B1 (en) Analyzing large-scale data processing jobs
JP2017111601A (ja) 調査対象特定プログラム、および調査対象特定方法
US9442817B2 (en) Diagnosis of application server performance problems via thread level pattern analysis
JP2018194988A (ja) 情報処理装置、情報処理方法、およびプログラム
US20090182994A1 (en) Two-level representative workload phase detection method, apparatus, and computer usable program code
WO2020202433A1 (ja) 情報処理装置およびapi使用履歴表示プログラム
CN111459815B (zh) 一种实时计算引擎测试方法和系统
CN107451038B (zh) 硬件事件采集方法、处理器和计算系统
US6725363B1 (en) Method for filtering instructions to get more precise event counts
JP2004348640A (ja) ネットワーク管理システム及びネットワーク管理方法
CN102930046B (zh) 数据处理方法、计算节点及系统
JP2014106679A (ja) サンプリングプログラム、サンプリング方法及び情報処理装置
US20050204346A1 (en) Using sampling data for program phase detection
JP7135831B2 (ja) 分析プログラム、および分析装置
CN112540899B (zh) 基于性能数据时空特性的分析装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110523

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees