JP5440935B2 - Itシステムの挙動測定・解析システム、およびその方法 - Google Patents

Itシステムの挙動測定・解析システム、およびその方法 Download PDF

Info

Publication number
JP5440935B2
JP5440935B2 JP2009554205A JP2009554205A JP5440935B2 JP 5440935 B2 JP5440935 B2 JP 5440935B2 JP 2009554205 A JP2009554205 A JP 2009554205A JP 2009554205 A JP2009554205 A JP 2009554205A JP 5440935 B2 JP5440935 B2 JP 5440935B2
Authority
JP
Japan
Prior art keywords
event
data
wake
time
sleep
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.)
Active
Application number
JP2009554205A
Other languages
English (en)
Other versions
JPWO2009104344A1 (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.)
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 JP2009554205A priority Critical patent/JP5440935B2/ja
Publication of JPWO2009104344A1 publication Critical patent/JPWO2009104344A1/ja
Application granted granted Critical
Publication of JP5440935B2 publication Critical patent/JP5440935B2/ja
Active 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • 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
    • G06F11/3423Recording 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 where the assessed time is active or idle time

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

本発明は、IT(Information Technology)システムの挙動測定・解析システム、およびその方法に関する。
近年のITシステムの性能向上は、1プロセッサの性能向上よりも、1システムへの複数プロセッサ搭載(マルチ・プロセッサ化)に依るところが大きい。このようなマルチ・プロセッサ・システムは、複数の処理を複数のプロセッサで同時に処理させている。これにより、システムとしての性能向上を目論んでいる。しかし、マルチ・プロセッサ・システムでは、複数のプロセッサで実行されている複数の処理が、同時刻に共有資源の使用を必要とする場合がある。即ち、共有資源による競合(以下、共有資源競合とも称する)が発生する場合がある。共有資源競合が発生したとき、プロセッサの台数に見合った性能の向上が達成できない場合がある。このため、ITシステムでプログラムを実行させたときの挙動を測定・解析する。そこで、共有資源競合が発生しているかどうかを調べ、更に競合が発生している場合には、どの部分で資源競合が発生しているかを調べる。これらを調べることは、ITシステムの性能を向上させる上で重要な手がかりとなる。
計算機の挙動を測定する手法としては、イベント・ドリブン手法とサンプリング手法に大別される。イベント・ドリブン手法とは、測定対象計算機によるプログラム実行に伴って内部で発生するイベント(プロセス切り換え、I/O処理の開始・終了、通信など)を契機として測定操作を行うものである。イベント・ドリブン方式の一種として、イベント・トレース手法と呼ばれるものがある。イベント・トレース手法とは、発生したイベントに関する情報を時系列データ(トレース・データ)として記録し、これを後から解析することで最終的な解析結果を得るものである。
イベント・トレース手法とイベント・トレース手法以外のイベント・ドリブン方式の間には測定データ量、適用可能なアルゴリズムの種類、種々のアルゴリズムを繰り返し適用可能かどうか、といった点で大きな差があるが、解析結果を得るまでのメカニズムは両者とも同じと考えてよい。すなわち、測定対象システム内で発生するイベントおよびそれらのイベントに対応する解析処理を定めたアルゴリズムを測定対象システムに適用する、という点で共通している。異なるのはアルゴリズムを適用する時期(測定の結果得られるトレース・データに適用するのか、測定時に適用するのか)である。このため、これ以降はイベント・トレース手法を取り上げて説明する。
イベント・トレース手法では、測定結果であるトレース・データから有意義な結果を得るためには、トレース・データを処理するアルゴリズムが必要となる。このアルゴリズムは、解析の目的に応じて種々のアルゴリズムが用意されているが、共有資源競合に関する解析を行うアルゴリズムはこれまで存在しなかった。
一方、サンプリング手法は、一定の時間間隔で測定対象システムの状態を調べ、これを時間方向に集計することで、システムの挙動を大域的な視点で調べる。この方法は、長時間に亘るシステム動作の概要を把握する目的には適しているが、共有資源競合のような微視的な動作について測定・解析する目的には適していない。
以上より、従来技術では、マルチ・プロセッサ構成のITシステムにおいて、共有資源競合に関する挙動について測定・解析する手段が存在しなかった。
監視・検査・分析に関連する技術について紹介する。
特開昭60−11948号公報には、タスク状態遷移監視装置が記載されている。タスク状態遷移監視装置は、実時間並行処理部と、データ表示処理部と、を具備することを特徴としている。実時間並行処理部は、実時間並行処理プログラム内で定義されるタスクのタスク識別コード、タスク状態遷移の原因およびタスク状態遷移時の時刻を出力する機能をもった管理部を具備している。データ表示処理部は、管理部から出力された情報を入力としタスク識別コードをユーザ登録タスク名に変換し、ユーザ登録タスク名、並行処理プログラムの実行時刻、ユーザ登録タスク名と並行処理プログラムの実行時刻とを対応付けるタスク状態およびタスク状態遷移の原因をデータ表示部に表示させる。
特開平5−346861号公報には、マルチタスキングソフトウェアの検査装置が記載されている。マルチタスキングソフトウェアの検査装置は、複数のタスクを有するマルチタスクプログラムをスケジューラにより並行的に実行させる切替制御動作を検査するものである。この検査装置は、検出部と、記憶部と、検査部と、出力部と、を具備したことを特徴としている。検出部は、スケジューラの切替制御による切替を検出する。記憶部は、検出部により検出された切替データを記憶する。検査部は、記憶部に記憶されている切替データと入力された切替制御に関する仕様データとを比較・照合してマルチタスクプログラムの実行動作が仕様を満足するか否かを検査する。出力部は、検出部の検出結果および検査部の検査結果を出力する。
特開平4−76640号公報には、オンライン中のタスク中断時間分析方式が記載されている。オンライン中のタスク中断時間分析方式は、走行状態のタスク処理の一時中断がタイムスライス/メモリフォールドなどによる割込みにより行われ、タスクのレディ状態への移行が割込み処理の終了後に行われ、また走行状態への復帰がタスクディスパッチャーにより行われるものである。このタスク中断時間分析方式は、オンライン処理性能測定中か否かを示す状態フラグと、測定対象のタスクIDを保持している計算部と、第1、第2及び第3の情報収集処理ルーチンを備えている。割込み解析ルーチンは、オンラインタスク走行中に割込みが発生した時、それが測定対象タスクでの割込みである場合は、当該タスクIDを設定し、割込み後の経過時間を表示するタイマを作動させると共に、第1の情報収集処理ルーチンを起動して、当該ルーチンにてタスクID、割込み発生時刻やタイムスライス/メモリフォールド等の割込み原因種別などの情報収集を行った後で、割込み実行ルーチンを起動し、それ以外の場合は割込み実行ルーチンを直接起動する。割込み実行ルーチンは、所定の割込み処理を終了した時点で、当該割込み発生元のタスクIDが設定されていて、上記タイマの値が予め定めた値を超えている場合、第2の情報収集処理ルーチンを起動して、タスクID、現在の時刻などを収集し、その後で、タスクディスパッチャーに制御を渡し、それ以外では、タスクディスパッチャーに直接に制御を渡す。タスクディスパッチャーは、タスクへのバッチ契機で、ディスパッチ先タスクのIDと割込み発生元のタスクIDが一致するか調べ、一致する場合、タイマの値が予め定めた値を超えていると、第3の情報収集処理ルーチンを呼び、ディスパッチ先タスクの実行優先度、タスクID、現在の時刻などを収集せしめ、更に、設定されている割込み発生元のタスクIDの初期化、上記タイマの停止を行った後で通常通りディスパッチを行い、それ以外では、単に通常通りディスパッチを行う、ことを特徴としている。
上述のように、マルチ・プロセッサ構成のITシステムにおいて、共有資源競合に関する挙動について測定・解析する手段が存在しない。従って、本発明の課題は、ITシステムにおいて、共有資源による競合が発生している可能性を提示することができる挙動測定・解析システムを提供することにある。
本発明のITシステムの挙動測定・解析システムは、イベント・トレーサと、トレース・バッファと、解析部と、出力部と、を具備している。トレーサは、マルチ・プロセッサ構成のITシステムにプロセス休眠イベント、プロセス起床イベント、プロセス中断イベント、プロセス再開イベントが発生したとき、それぞれ、休眠イベント・データ、起床イベント・データ、中断イベント・データ、再開イベント・データを生成する。休眠イベント・データ、起床イベント・データ、中断イベント・データ、再開イベント・データは、そのイベントの種類を示す情報と、そのイベントが発生したときのイベント発生時刻と、それぞれプロセスを休眠、起床、中断、再開するためのプロセス休眠処理、プロセス起床処理、プロセス中断処理、プロセス再開処理を示す情報を含んでいる。トレース・バッファは、休眠イベント・データ、起床イベント・データ、中断イベント・データ、再開イベント・データを含むデータをトレース・データとして記録する。解析部は、トレース・データを参照し、プロセス中断処理と、プロセス中断処理により中断されるプロセスを起床するプロセス起床処理と、イベント発生時刻と、に基づいて、実行される複数のプロセスに対して、プロセス起床処理が実行される回数と、プロセス中断イベントからプロセス起床イベント、プロセス再開イベントまでの時間である第1時間とを累積する。出力部は、回数と第1時間とを含む第1解析結果を出力する。プロセス起床処理は、同時刻に共有資源を同時に使用してしまう可能性があり、共有資源競合に起因する。このため、第1解析結果により、マルチ・プロセッサ構成のITシステムにおいて、共有資源による競合が発生している可能性を提示することができる。
上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。
図1は、本発明の実施形態によるITシステムの挙動測定・解析システムの構成を示すブロック図である。 図2は、本発明の実施形態によるITシステムの挙動測定・解析システムの動作を示すフローチャート図である。 図3は、共有資源による競合が発生したときにプロセス起床処理が繰り返し実行されることについて具体的に説明するためのタイミング図である。 図4は、データ解析システム30の解析部31が使用する中間データの構造を示した図である。 図5は、データ解析システム30の解析部31が出力する結果データの構造を示した図である。 図6は、測定対象システム10の動作を、測定対象イベントのみに着目して図示したタイミング図である。 図7は、測定対象システム10から採取したトレース・データをダンプ表示した図である。
以下に添付図面を参照して、本発明の実施形態によるITシステムの挙動測定・解析システムについて詳細に説明する。
図1は、本発明の実施形態によるITシステムの挙動測定・解析システムの構成を示している。この挙動測定・解析システムは、マルチ・プロセッサ構成のIT(Information Technology)システムの挙動を測定・解析するコンピュータであり、測定対象システム10と、データ解析システム30と、を具備している。
測定対象システム10は、ITシステムに接続され、そのITシステムを監視する。測定対象システム10は、アプリケーション・プログラム11、12と、オペレーティング・システム(OS;Operating System)13と、イベント・トレーサ14(以下、トレーサ14)と、を備えている。
トレーサ14は、コンピュータプログラムが格納された記録媒体である格納部16と、そのコンピュータプログラムを実行する実行部15と、を備えている。実行部15は、コンピュータ(測定対象システム10)が起動するときなどに上記コンピュータプログラムを格納部16から読み取って実行する。そのコンピュータプログラムは、制御部21、プロセス休眠イベント記録部22、プロセス起床イベント記録部23、プロセス中断イベント記録部24、プロセス再開イベント記録部25、トレース・バッファ26を含んでいる。制御部21は、トレース採取操作の入切を制御する。プロセス休眠イベント記録部22、プロセス起床イベント記録部23、プロセス中断イベント記録部24、プロセス再開イベント記録部25は、それぞれ、プロセス休眠イベント、プロセス起床イベント、プロセス中断イベント、プロセス再開イベントをトレース・バッファ26に記録する。
測定対象システム10は、通常のコンピュータと同様、OS13の管理下でアプリケーション・プログラム11、12を実行する。その際、オペレータがトレーサ14内の制御部21を用いてトレース操作を入状態とする。このとき、上記プログラムの実行に伴ってOS13内のプロセス休眠処理、プロセス起床処理、プロセス中断処理、プロセス再開処理が実行される。これらの処理にそれぞれ対応するトレーサ14内のプロセス休眠イベント記録部22、プロセス起床イベント記録部23、プロセス中断イベント記録部24、プロセス再開イベント記録部25が起動される。プロセス休眠処理、プロセス起床処理、プロセス中断処理、プロセス再開処理は、それぞれ、プロセスを休眠、起床、中断、再開するための処理を表している。
ITシステムにプロセス休眠イベント、プロセス起床イベント、プロセス中断イベント、プロセス再開イベントが発生したものとする。この場合、トレーサ14は、以下に示す測定処理を実行する。
測定処理において、プロセス休眠イベント記録部22、プロセス起床イベント記録部23、プロセス中断イベント記録部24、プロセス再開イベント記録部25は、それぞれ、休眠イベント・データ、起床イベント・データ、中断イベント・データ、再開イベント・データを生成してトレース・バッファ26に記録する。ここで、休眠イベント・データ、起床イベント・データ、中断イベント・データ、再開イベント・データは、そのイベントの種類を示す情報と、そのイベントが発生したときの時刻(イベント発生時刻)と、それぞれプロセス休眠処理、プロセス起床処理、プロセス中断処理、プロセス再開処理の実行主体を示す情報を含んでいる。また、起床イベント・データは、更に、起床対象となる起床対象プロセスを示す情報を含んでいる。
その結果、トレース・バッファ26には、例えばイベント発生時刻に従って、1番目から最終番目まで順番に複数のイベント・データ(休眠イベント・データ、起床イベント・データ、中断イベント・データ、再開イベント・データ)がトレース・データとして記録される。このトレース・データの採取は、オペレータがトレーサ14内の制御部21を用いてトレース操作を切状態とすることで終了する。
データ解析システム30は、測定対象システム10に接続されている。データ解析システム30は、コンピュータプログラムが格納された記録媒体である格納部34と、そのコンピュータプログラムを実行する実行部33と、を備えている。実行部33は、コンピュータ(データ解析システム30)が起動するときなどに上記コンピュータプログラムを格納部34から読み取って実行する。そのコンピュータプログラムは、解析部31と、出力部32と、を含んでいる。
トレース・データの採取が終了した場合、解析部31は、以下に示す解析処理を実行する。
解析処理において、解析部31は、トレース・バッファ26に記録されたトレース・データを参照する、又は、読み出す。このとき、解析部31は、プロセス中断処理と、プロセス中断処理により中断されるプロセスを起床するプロセス起床処理と、イベント発生時刻と、に基づいて、実行される複数のプロセスに対して、プロセス起床処理が実行される回数と、プロセス中断イベントからプロセス起床イベントもしくはプロセス再開イベントまでの時間(以下、時間帯、時間累計、第1時間とも称する)とを累積する。解析部31は、上記回数と上記第1時間とを含む解析結果(以下、第1解析結果とも称する)を生成し、出力部32は、第1解析結果を出力する。
また、解析処理において、解析部31は、トレース・データを参照又は読み出したときに、プロセス休眠処理と、プロセス休眠処理により休眠状態のプロセスを起床するプロセス起床処理と、イベント発生時刻と、に基づいて、実行される複数のプロセスに対して、プロセス起床処理が実行される回数と、プロセス休眠イベントからプロセス起床イベントもしくはプロセス再開イベントまでの時間(以下、時間帯、時間累計、第2時間とも称する)とを累積する。解析部31は、上記回数と上記第2時間とを含む解析結果(以下、第2解析結果とも称する)を生成し、出力部32は、第2解析結果を出力する。
このように、本発明の実施形態によるITシステムの挙動測定・解析システムによれば、上記の解析結果を生成して出力する。共有資源による競合が発生すると、関係するプロセスの間でプロセス起床処理が繰り返し実行される。このため、解析結果により、マルチ・プロセッサ構成のITシステムにおいて、共有資源による競合が発生している可能性を提示することができる。
図2は、本発明の実施形態によるITシステムの挙動測定・解析システムの動作を示すフローチャート図である。
まず、測定対象システム10は、上述の測定処理を実行する(ステップs0)。
次に、データ解析システム30は、上述の解析処理を実行する。ここで、解析処理の流れを簡単に説明する。最初に、データ読み込み位置をトレース・データの先頭に設定する(ステップs1)。次に、データ読み込み位置から1イベント分のイベント・データを読み込む(ステップs2)。次に、そのイベント・データに含まれる情報により、イベントの種類を判別する(ステップs3)。判別の結果、その種類がプロセス休眠イベントの場合はプロセス休眠イベントの処理を実行する(ステップs4−1)。判別の結果、その種類がプロセス中断イベントの場合はプロセス中断イベントの処理を実行する(ステップs4−2)。判別の結果、その種類がプロセス起床イベントの場合はプロセス起床イベントの処理を実行する(ステップs4−3)。判別の結果、その種類がプロセス再開イベントの場合はプロセス再開イベントの処理(ステップs4−4)を実行する。その後、データ読み込み位置がトレース・データの最後かどうか、つまり、トレース・データの最後まで処理したかどうかを調べる(ステップs5)。まだ処理すべきトレース・データが残っている場合はデータ読み込み位置を次のイベント・データに移動させて(ステップs6)、解析を継続する。ステップs5において、トレース・データの最後まで処理したと判定された場合は、この処理によって得られた解析結果を出力部32に渡して(ステップs7)、解析処理を終了する。
[具体例]
次に、具体的な例を用いて、本発明の実施形態によるITシステムの挙動測定・解析システムの動作を説明する。
まず、図3を用いて、共有資源による競合が発生したときにプロセス起床処理が繰り返し実行されることについて具体的に説明する。
ここでは、プロセスa、b、cが各々CPU1、2、3を使い、1つの共有資源について競合しながら処理を進めている、という状況である。図において、「休眠」はプロセス休眠イベントを表している。「起床」はプロセス起床イベントを表している。「中断」はプロセス中断イベントを表している。「再開」はプロセス再開イベントを表している。「要求」は共有資源使用の要求を表している。「獲得」は共有資源の獲得(使用開始)を表している。「解放」は共有資源の解放(使用終了)を表している。
最初に、プロセスaが共有資源の使用を開始した後、プロセスbおよびcがその共有資源の使用要求を行っている。この場合、プロセスbおよびcによる共有資源の使用要求は、プロセスaが既に共有資源を使用しているため、受理されない。その結果、プロセスbおよびcはプロセス休眠処理を行った後、実行を中断する。その後、プロセスaが共有資源の使用を終了すると、休眠状態にあるプロセスから1つ(例ではプロセスb)を選んでプロセス起床処理を行う。その結果、プロセスbは実行を再開し、共有資源を使用しての処理を行う。次に、プロセスaが共有資源の使用要求を行うが、このときはプロセスbが共有資源を使用しているため、プロセスaはプロセス休眠処理を行った後、実行を中断する。その後、プロセスbが共有資源の使用を終了すると、休眠状態にあるプロセスから1つ(例ではプロセスc)を選んでプロセス起床処理を行う。プロセスcが共有資源の使用を終了した際は、プロセスaを起床する。このように、共有資源による競合が発生すると、関係するプロセスの間でプロセス起床処理が繰り返し実行されることになる。
次に、図2、図4〜図7を用いて、データ解析システム30の解析部31の動作(解析処理)を詳細に説明する。
この解析処理では、データ解析システム30の格納部は、コンピュータプログラムを記憶する記録領域の他に、作業用として各プロセスに対して用意された中間データを記憶する記憶領域と、解析結果を格納するために休眠プロセスと起床プロセスの対で参照する結果データを記憶する記憶領域を含んでいる。図4は、解析部31が使用する中間データの構造を示した図であり、図5は、解析部31が出力する結果データの構造を示した図である。図4、図5において、プロセス識別番号を軸として複数のデータ要素(中間データ、結果データ)が並んでいるのは、プロセス識別番号をキーとする連想配列を表している。図5では、起床対象プロセスをキーとする連想配列の各要素にプロセス起床処理の実行主体をキーとする連想配列が存在している。中間データは、プロセス中断イベント(プロセス中断処理)によりプロセスが中断したときのイベント発生時刻として中断時刻を記録するための中断時刻記録領域と、True又はFalseに設定される休眠フラグと、を含んでいる。結果データは、回数を記録するための回数記録領域と、時間累計(時間帯)を記録するための時間累計記録領域と、を含んでいる。以降、例えばプロセスaについて用意された中間データのフィールドx(休眠フラグ、中断時刻記録領域)を‘中間データ[a].x’、と表記し、休眠プロセスがaであり起床プロセスがbについて結果データのフィールドy(時間累計記録領域、回数記録領域)を‘結果データ[a][b].y’と表記する。
上記の記法を用いて図2のステップs4−1からs4−4で行う処理、すなわち中間データ(以下、作業データ)および結果データに対する操作を以下に示す。
・プロセス休眠イベント(ステップs4−1)において、作業データ[自プロセス].休眠フラグをTrueに設定する。
・プロセス中断イベント(ステップs4−2)において、作業データ[自プロセス].中断時刻記録領域に現在時刻(イベント・データに記録されたイベント発生時刻、以下同様)を設定する。
・プロセス起床イベント(ステップs4−3)において、プロセス起床処理の実行主体がプロセス、かつ、作業データ[起床対象プロセス].休眠フラグがTrueの場合、以下を実行する。結果データ[起床対象プロセス][自プロセス].時間累計記録領域に記録された時間累計に、現在時刻−作業データ[起床対象プロセス].中断時刻記録領域に記録された時刻を加える。また、結果データ[起床対象プロセス][自プロセス].回数記録領域に記録された回数に1を加える。
・プロセス再開イベント(ステップs4−4)において、作業データ[自プロセス].休眠フラグをFalseに設定する。
図6は、図3に示した動作(測定対象システム10の動作)を、測定対象イベントであるプロセス休眠、起床、中断、再開イベントのみに着目してタイミング図表示したものである。また、図7は、測定対象システム10から採取したトレース・データをダンプ表示したものである。このトレース・データを、上記のステップs4−1〜s4−4を実装した解析部31に入力すると、下記の結果が得られる。
結果データ[a][c].時間累計記録領域に記録された時間累計(時間帯)=時刻“12”−時刻“8”、
結果データ[a][c].回数記録領域に記録された回数=1
結果データ[b][a].時間累計記録領域に記録された時間累計(時間帯)=時刻“6”−時刻“2”、
結果データ[a][c].回数記録領域に記録された回数=1
結果データ[c][b].時間累計記録領域に記録された時間累計(時間帯)=時刻“10”−時刻“4”、
結果データ[a][c].回数記録領域に記録された回数=1
この結果より、プロセスaがbを起床し、プロセスbがcを起床し、プロセスcがaを起床していることが判明するので、出力部32では、プロセスa、b、cの間で共有資源の競合が発生している可能性が高い、という結果を出力する。
次に、本発明の実施形態によるITシステムの挙動測定・解析システムの効果について説明する。
トレーサ14は、ITシステムにプロセス休眠イベント、プロセス起床イベント、プロセス中断イベント、プロセス再開イベントが発生した場合、それぞれ、休眠イベント・データ、起床イベント・データ、中断イベント・データ、再開イベント・データを生成し、それらのイベント・データをトレース・データとしてトレース・バッファ26に記録する。休眠イベント・データ、起床イベント・データ、中断イベント・データ、再開イベント・データは、そのイベントの種類を示す情報と、そのイベントが発生したときのイベント発生時刻と、それぞれプロセスを休眠、起床、中断、再開するためのプロセス休眠処理、プロセス起床処理、プロセス中断処理、プロセス再開処理を実行する実行主体を示す情報を含んでいる。ここで、起床イベント・データは、更に、起床対象となる起床対象プロセスを示す情報を含んでいる。解析部31は、トレース・データを参照又は入力する。このとき、解析部31は、プロセス中断処理と、プロセス中断処理により中断されるプロセスを起床するプロセス起床処理と、イベント発生時刻と、に基づいて、実行される複数のプロセスに対して、プロセス起床処理が実行される回数と、プロセス中断イベントからプロセス起床イベントもしくはプロセス再開イベントまでの時間(時間帯、時間累計、第1時間)とを累積する。解析部31は、上記回数と上記第1時間とを含む解析結果(第1解析結果)を生成し、この第1解析結果は出力部32から出力される。このように、本発明の実施形態によるITシステムの挙動測定・解析システムによれば、上記の第1解析結果を生成して出力する。共有資源による競合が発生すると、関係するプロセスの間でプロセス起床処理が繰り返し実行される。このため、第1解析結果により、マルチ・プロセッサ構成のITシステムにおいて、共有資源による競合が発生している可能性を提示することができる。
また、解析部31は、トレース・データを参照又は入力したときに、プロセス休眠処理と、プロセス休眠処理により休眠状態のプロセスを起床するプロセス起床処理と、イベント発生時刻と、に基づいて、実行される複数のプロセスに対して、プロセス起床処理が実行される回数と、プロセス休眠イベントからプロセス起床イベントもしくはプロセス再開イベントまでの時間(時間帯、時間累計、第2時間)とを累積する。解析部31は、上記回数と上記第2時間とを含む解析結果(第2解析結果)を生成し、この第2解析結果は出力部32から出力される。この場合でも、本発明の実施形態によるITシステムの挙動測定・解析システムによれば、上記の第2解析結果を生成して出力する。共有資源による競合が発生すると、関係するプロセスの間でプロセス起床処理が繰り返し実行される。このため、第2解析結果により、マルチ・プロセッサ構成のITシステムにおいて、共有資源による競合が発生している可能性を提示することができる。
なお、本実施形態では、プロセス休眠イベントをトレース対象イベントに含むトレーサ14を使用したが、これに限定されない。他の実施形態として、プロセス中断イベントで採取する情報に、中断するプロセスの状態を示す情報、すなわち、中断するプロセスが休眠状態であるかどうかを示す情報(プロセス状態情報、とする)を含むイベント・データを出力するトレーサ14を使用することも可能である。すなわち、プロセス中断イベントに含まれるプロセス状態情報が休眠状態を示しているときには、そのプロセス中断イベントは、同時刻でプロセス休眠イベントとプロセス中断イベントが順に発生したものと解釈して図2に示すアルゴリズムを適用すればよい。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2008年2月22日に出願された特許出願番号2008−040977号の日本特許出願に基づいており、その出願による優先権の利益を主張し、その出願の開示は、引用することにより、そっくりそのままここに組み込まれている。

Claims (7)

  1. マルチ・プロセッサ構成のIT(Information Technology)システムにおいて、プロセスの休眠、起床、中断、再開のイベントが発生したとき、それぞれのイベントに対応したイベント・データを生成するイベント・トレーサと、
    それぞれのイベント・データは、そのイベントの種類を示す情報と、そのイベントが発生したときのイベント発生時刻と、そのイベントを発生させた処理を実行する主体であるプロセスを示す情報とを含み、それぞれのイベント・データを含むデータをトレース・データとして記録するトレース・バッファと、
    前記トレース・データを参照し、前記プロセスの休眠、起床、中断、再開のイベントにそれぞれ対応したイベント・データと、前記イベント発生時刻とに基づいて、実行される複数のプロセスに対して、起床するプロセスと起床されるプロセスの組合せ毎に、前記プロセス起床処理が実行される回数とプロセス中断時間の累計とを出力し、起床するプロセスと起床されるプロセスの間でプロセス起床処理が繰り返し実行され、共有資源の競合が発生している可能性を提示する解析部と
    を具備する
    ITシステムの挙動測定・解析システム。
  2. 前記解析部は、作業用として各プロセスに対して用意された中間データを記憶する記憶領域と、解析結果を格納するために休眠プロセスと起床プロセスの対で参照する結果データを記憶する記憶領域とを含み、
    前記中間データは、前記プロセス中断処理によりプロセスが中断したときのイベント発生時刻として中断時刻を記録するための中断時刻記録領域と、True又はFalseに設定される休眠フラグとを含み、
    前記結果データは、回数を記録するための回数記録領域と、時間累計を記録するための時間累計記録領域とを含む
    請求項1に記載のITシステムの挙動測定・解析システム。
  3. 前記中間データ及び前記結果データにはそれぞれ、プロセス識別番号を軸として複数のデータ要素が並んでおり、
    前記中間データには、自プロセスのプロセス識別番号をキーとする連想配列が存在し、
    前記結果データには、起床対象となる起床対象プロセスをキーとする連想配列の各要素にプロセス起床処理の実行主体をキーとする連想配列が存在している
    請求項2に記載のITシステムの挙動測定・解析システム。
  4. 前記解析部は、
    プロセスaについて用意された中間データのフィールドx(休眠フラグ、中断時刻記録領域)を“中間データ[a].x”、と表記し、休眠プロセスがaであり起床プロセスがbの時の結果データのフィールドy(時間累計記録領域、回数記録領域)を“結果データ[a][b].y”と表記する場合、
    プロセス休眠イベントにおいて、中間データ[自プロセス].休眠フラグをTrueに設定する手段と、
    プロセス中断イベントにおいて、中間データ[自プロセス].中断時刻記録領域に現在時刻を設定する手段と、
    プロセス起床イベントにおいて、プロセス起床処理の実行主体がプロセス、かつ、中間データ[起床対象プロセス].休眠フラグがTrueの場合、結果データ[起床対象プロセス][自プロセス].時間累計記録領域に記録された時間累計に、現在時刻−中間データ[起床対象プロセス].中断時刻記録領域に記録された時刻を加え、結果データ[起床対象プロセス][自プロセス].回数記録領域に記録された回数に1を加える手段と、
    プロセス再開イベントにおいて、中間データ[自プロセス].休眠フラグをFalseに設定する手段と
    を具備する
    請求項3に記載のITシステムの挙動測定・解析システム。
  5. 前記イベント・トレーサは、トレース採取操作が入状態になってから切状態になるまで、前記イベント発生時刻に従って、順番に複数のイベント・データを前記トレース・データとして前記トレース・バッファに記録する
    請求項1乃至4のいずれか一項に記載のITシステムの挙動測定・解析システム。
  6. 計算機により実施されるITシステムの挙動測定・解析方法であって、
    マルチ・プロセッサ構成のIT(Information Technology)システムにおいて、プロセスの休眠、起床、中断、再開のイベントが発生したとき、それぞれのイベントに対応したイベント・データを生成することと、
    それぞれのイベント・データは、そのイベントの種類を示す情報と、そのイベントが発生したときのイベント発生時刻と、そのイベントを発生させた処理を実行する主体であるプロセスを示す情報とを含み、それぞれのイベント・データを含むデータをトレース・データとして記録することと、
    前記トレース・データを参照し、前記プロセスの休眠、起床、中断、再開のイベントにそれぞれ対応したイベント・データと、前記イベント発生時刻とに基づいて、実行される複数のプロセスに対して、起床するプロセスと起床されるプロセスの組合せ毎に、前記プロセス起床処理が実行される回数とプロセス中断時間の累計とを出力し、起床するプロセスと起床されるプロセスの間でプロセス起床処理が繰り返し実行され、共有資源の競合が発生している可能性を提示することと
    を含む
    ITシステムの挙動測定・解析方法。
  7. 計算機により実施されるプログラムであって、
    マルチ・プロセッサ構成のIT(Information Technology)システムにおいて、プロセスの休眠、起床、中断、再開のイベントが発生したとき、それぞれのイベントに対応したイベント・データを生成するステップと、
    それぞれのイベント・データは、そのイベントの種類を示す情報と、そのイベントが発生したときのイベント発生時刻と、そのイベントを発生させた処理を実行する主体であるプロセスを示す情報とを含み、それぞれのイベント・データを計算機に実行させるためのデータをトレース・データとして記録するステップと、
    前記トレース・データを参照し、前記プロセスの休眠、起床、中断、再開のイベントにそれぞれ対応したイベント・データと、前記イベント発生時刻とに基づいて、実行される複数のプロセスに対して、起床するプロセスと起床されるプロセスの組合せ毎に、前記プロセス起床処理が実行される回数とプロセス中断時間の累計とを出力し、起床するプロセスと起床されるプロセスの間でプロセス起床処理が繰り返し実行され、共有資源の競合が発生している可能性を提示するステップと
    を計算機に実行させるための
    プログラム。
JP2009554205A 2008-02-22 2008-12-25 Itシステムの挙動測定・解析システム、およびその方法 Active JP5440935B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009554205A JP5440935B2 (ja) 2008-02-22 2008-12-25 Itシステムの挙動測定・解析システム、およびその方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008040977 2008-02-22
JP2008040977 2008-02-22
JP2009554205A JP5440935B2 (ja) 2008-02-22 2008-12-25 Itシステムの挙動測定・解析システム、およびその方法
PCT/JP2008/073589 WO2009104344A1 (ja) 2008-02-22 2008-12-25 Itシステムの挙動測定・解析システム、およびその方法

Publications (2)

Publication Number Publication Date
JPWO2009104344A1 JPWO2009104344A1 (ja) 2011-06-16
JP5440935B2 true JP5440935B2 (ja) 2014-03-12

Family

ID=40985235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009554205A Active JP5440935B2 (ja) 2008-02-22 2008-12-25 Itシステムの挙動測定・解析システム、およびその方法

Country Status (3)

Country Link
US (1) US8495652B2 (ja)
JP (1) JP5440935B2 (ja)
WO (1) WO2009104344A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011111215A1 (ja) * 2010-03-11 2011-09-15 富士通株式会社 ソフトウェア制御装置、ソフトウェア制御方法、およびソフトウェア制御プログラム
US8499197B2 (en) * 2010-11-15 2013-07-30 Microsoft Corporation Description language for identifying performance issues in event traces
US8850172B2 (en) 2010-11-15 2014-09-30 Microsoft Corporation Analyzing performance of computing devices in usage scenarios
US9588568B2 (en) * 2012-11-16 2017-03-07 Samsung Electronics Co., Ltd. Monitoring and managing processor activity in power save mode of portable electronic device
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US9361204B2 (en) 2013-02-19 2016-06-07 Arm Limited Generating trace data including a lockup identifier indicating occurrence of a lockup state
US20130219372A1 (en) 2013-03-15 2013-08-22 Concurix Corporation Runtime Settings Derived from Relationships Identified in Tracer Data
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
CN105765528B (zh) 2013-11-13 2019-09-24 微软技术许可有限责任公司 具有可配置原点定义的应用执行路径跟踪的方法、系统和介质
US10178056B2 (en) * 2015-02-17 2019-01-08 International Business Machines Corporation Predicting and updating availability status of a user
US10579446B2 (en) 2018-04-13 2020-03-03 Microsoft Technology Licensing, Llc Per-request event detection to improve request-response latency
CN113360208B (zh) * 2021-06-15 2022-11-25 读书郎教育科技有限公司 一种解决语音唤醒应用占用录音的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0346040A (ja) * 1989-07-14 1991-02-27 Hitachi Ltd ハードウエアモニタ
JPH08314767A (ja) * 1995-05-19 1996-11-29 Hitachi Ltd データベース操作性能の測定方法および計算機装置
JPH09212373A (ja) * 1996-01-30 1997-08-15 Pfu Ltd プロセス監視装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6011948A (ja) 1983-07-01 1985-01-22 Matsushita Electric Ind Co Ltd タスク状態遷移監視装置
JP2882860B2 (ja) 1990-07-13 1999-04-12 日本電信電話株式会社 オンライン中タスク中断時間分析方式
JPH05346861A (ja) 1992-06-15 1993-12-27 Toshiba Corp マルチタスキングソフトウェアの検査装置
JPH09179754A (ja) * 1995-12-21 1997-07-11 Mitsubishi Electric Corp タスク監視装置及びタスク監視方法
US8495679B2 (en) * 2000-06-30 2013-07-23 Thomson Licensing Method and apparatus for delivery of television programs and targeted de-coupled advertising
US7516209B2 (en) * 2003-06-27 2009-04-07 Microsoft Corporation Method and framework for tracking/logging completion of requests in a computer system
JP3937341B2 (ja) * 2004-01-30 2007-06-27 日本電気株式会社 計算機システム性能測定分析用のトランザクションプロファイルの生成システム、その生成方法及びプログラム
JP4347082B2 (ja) * 2004-02-23 2009-10-21 日本電気株式会社 イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム
JP4654707B2 (ja) * 2005-02-18 2011-03-23 日本電気株式会社 ボトルネック検出システム、測定対象サーバ、ボトルネック検出方法およびプログラム
JP4562568B2 (ja) * 2005-03-28 2010-10-13 富士通テン株式会社 異常検出プログラムおよび異常検出方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0346040A (ja) * 1989-07-14 1991-02-27 Hitachi Ltd ハードウエアモニタ
JPH08314767A (ja) * 1995-05-19 1996-11-29 Hitachi Ltd データベース操作性能の測定方法および計算機装置
JPH09212373A (ja) * 1996-01-30 1997-08-15 Pfu Ltd プロセス監視装置

Also Published As

Publication number Publication date
US20110004443A1 (en) 2011-01-06
US8495652B2 (en) 2013-07-23
JPWO2009104344A1 (ja) 2011-06-16
WO2009104344A1 (ja) 2009-08-27

Similar Documents

Publication Publication Date Title
JP5440935B2 (ja) Itシステムの挙動測定・解析システム、およびその方法
JP5795820B2 (ja) プロセッサ、方法、システム、及び、プログラム
JP5615990B2 (ja) オーバーヘッドを抑えた電力プロフィール情報の取得
TWI266987B (en) Method for monitoring locks, processor, system for monitoring locks, and machine-readable medium
US8402463B2 (en) Hardware threads processor core utilization
JP4294778B2 (ja) プロセッサパイプラインにより処理される相互作用の特性の統計値を推定する方法
US7191445B2 (en) Method using embedded real-time analysis components with corresponding real-time operating system software objects
US20080077928A1 (en) Multiprocessor system
JP4562568B2 (ja) 異常検出プログラムおよび異常検出方法
TW200941340A (en) A method and apparatus for suspending execution of a thread until a specified memory access occurs
JPH11272520A (ja) プロセッサパイプラインにおいて多数の潜在的に同時の命令をサンプリングする装置
JPH11272518A (ja) プロセッサパイプラインにより処理される命令の特性の統計値を推定する方法
JP2010128664A (ja) マルチプロセッサシステム、競合回避プログラム及び競合回避方法
WO2009123343A1 (ja) 競合分析装置、競合分析方法、及びプログラム
JPH09330237A (ja) プロセス切り替え装置およびプロセス切り替え方法
JP4330429B2 (ja) プロファイル情報の取得装置及び方法
JP2008507020A (ja) マイクロプロセッサ出力ポート、及び、そこから提供された命令の制御
JP2009048358A (ja) 情報処理装置及びスケジューリング方法
JP4066838B2 (ja) 共有リソースの競合検出器および共有リソースの競合検出方法
JP2005215816A (ja) ハードウェアモニタを用いた性能プロファイリング方法
Kumura et al. Overhead-Aware Schedulability Analysis on Responsive Multithreaded Processor
JP2000215062A (ja) 命令制御方法
JP2998793B2 (ja) 情報処理装置の試験方式
CN116737374A (zh) 基于多线程的基准码识别方法、装置、计算机设备及介质
JPH04256036A (ja) プログラム解析システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130822

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131205

R150 Certificate of patent or registration of utility model

Ref document number: 5440935

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150