JP4453823B2 - Performance bottleneck analysis system and performance bottleneck analysis method - Google Patents
Performance bottleneck analysis system and performance bottleneck analysis method Download PDFInfo
- Publication number
- JP4453823B2 JP4453823B2 JP2004160755A JP2004160755A JP4453823B2 JP 4453823 B2 JP4453823 B2 JP 4453823B2 JP 2004160755 A JP2004160755 A JP 2004160755A JP 2004160755 A JP2004160755 A JP 2004160755A JP 4453823 B2 JP4453823 B2 JP 4453823B2
- Authority
- JP
- Japan
- Prior art keywords
- resource
- bottleneck
- waiting
- processes
- measurement
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、情報処理システム、及び情報処理方法に係り、特にコンピュータシステムの性能劣化または性能が期待通りに向上しない原因を特定するコンピュータシステムの性能ボトルネック解析システム及び性能ボトルネック解析方法に関する。 The present invention relates to an information processing system and an information processing method, and more particularly, to a performance bottleneck analysis system and a performance bottleneck analysis method for a computer system for identifying a cause of performance deterioration or performance improvement of a computer system as expected.
従来のコンピュータシステムの性能ボトルネック解析システムの一例が、特許文献1に記載されている。図20に示すように、この従来の性能ボトルネック解析システム10は、入力装置12、処理装置14、及び記憶装置16を具備する。処理装置14は、測定対象設定手段18、セマフォ待ち状態開始検出手段20、セマフォ待ち状態終了検出手段22、セマフォ情報検索手段24、及びセマフォ待ち累積時間計算手段26とを備える。また、記憶装置16は、セマフォ待ち情報リスト記憶手段28を備える。
An example of a performance bottleneck analysis system of a conventional computer system is described in
上記構成を有する従来の性能ボトルネック解析システム10は、以下のように動作する。まず、入力装置12を通じて、ユーザから測定対象であるセマフォ識別子のリストが指定され、測定対象設定手段18に送信される。この測定対象設定手段18は、各セマフォ識別子に対して、セマフォ待ちに要した時間の累積を示すセマフォ待ち累積時間を付与し、セマフォ待ち情報リスト記憶手段28に格納する。その際、セマフォ待ち累積時間は、0の値で初期化しておく。
The conventional performance
セマフォ待ち状態開始検出手段20は、コンピュータシステム30上で動作するプロセス(タスク)があるセマフォに対するセマフォ待ち状態に変化したことを検出して、検出時の時刻(待ち開始時刻)を取得する。次に、セマフォ待ち状態開始検出手段20は、検出したセマフォの識別子と待ち開始時刻をセマフォ情報検索手段24に付与する。
The semaphore wait state start detection means 20 detects that a process (task) operating on the
セマフォ情報検索手段24は、記憶装置16に備わるセマフォ待ち情報リスト記憶手段28に記憶されたセマフォ待ち情報のリストを使用して、セマフォ待ち状態開始検出手段20から受けとったセマフォ識別子を検索し、セマフォ識別子が測定対象であるか否かを調べる。そして、受けとったセマフォ識別子が測定対象であれば、セマフォ識別子に待ち開始時刻を付与して、セマフォ待ち情報リスト記憶手段28が有するセマフォ待ち情報のリストを更新する。
The semaphore information search means 24 uses the list of semaphore wait information stored in the semaphore wait information list storage means 28 provided in the
セマフォ待ち状態終了検出手段22は、プロセスがあるセマフォに対するセマフォ待ち状態を終了して他の処理を開始したことを検出して、検出時の時刻(待ち終了時刻)を取得する。その後、セマフォ待ち状態終了検出手段22は、検出したセマフォの識別子と待ち終了時刻をセマフォ情報検索手段24に与える。 The semaphore wait state end detection means 22 detects that the process has ended the semaphore wait state for a semaphore and started another process, and acquires the time at detection (wait end time). Thereafter, the semaphore wait state end detection means 22 gives the detected semaphore identifier and the wait end time to the semaphore information search means 24.
セマフォ情報検索手段24は、セマフォ待ち状態終了検出手段から受けとったセマフォ識別子を検索し、セマフォ識別子が測定対象かどうかを調べる。このとき、受けとったセマフォ識別子が測定対象であれば、セマフォ識別子に付与されている待ち開始時刻及びその時点での待ち累積時間を読み出し、待ち開始時刻と待ち終了時刻と待ち累積時間とを、セマフォ待ち累積時間計算手段26に与える。
The semaphore
セマフォ待ち累積時間計算手段26は、受けとった待ち開始時刻と待ち終了時刻とから、今回の待ち時間を計算し、一緒に受けとった待ち累積時間に今回の待ち時間を加算する。その後、加算した結果の待ち累積時間をセマフォ情報検索手段24に与える。 The semaphore waiting accumulated time calculating means 26 calculates the current waiting time from the received waiting start time and waiting end time, and adds this waiting time to the waiting accumulated time received together. Thereafter, the accumulated waiting time as a result of the addition is given to the semaphore information search means 24.
セマフォ情報検索手段24は、受けとった新しい待ち累積時間をセマフォ識別子と共に記憶装置16に備わるセマフォ待ち情報リスト記憶手段28に付与して、セマフォ待ち情報リストを更新する。このとき、セマフォ識別子に付与されていた待ち開始時刻は、削除される。
The semaphore information search means 24 gives the received new accumulated waiting time together with the semaphore identifier to the semaphore wait information list storage means 28 provided in the
そして、プログラムの終了後、セマフォ待ち累積時間の最大なセマフォがボトルネックとして特定される。 After the program ends, the semaphore with the longest accumulated semaphore waiting time is identified as the bottleneck.
しかしながら、あるコンピュータシステムに関して、待ち時間の長いセマフォが必ずしもボトルネックとは限らない。なぜなら、長い待ち状態が意図されたものであり、関連する他のプロセスがCPU等のハードウェア資源を有効に活用してさえいれば、待ち時間は、システムの性能効率を低下させないためである。 However, for some computer systems, semaphores with long latencies are not always a bottleneck. This is because a long waiting state is intended, and the waiting time does not decrease the performance efficiency of the system as long as other related processes effectively use hardware resources such as a CPU.
また、特定のセマフォを待つプロセスが複数ある場合に、真のボトルネックを特定できない可能性がある。なぜなら、待ち累積時間の算定が各々のプロセスごとに実行されるため、特定のセマフォを待つプロセスが多数存在し、なおかつ各々の待ち累積時間が比較的短い場合に、そのセマフォがボトルネックとして特定されないためである。 Also, if there are multiple processes waiting for a specific semaphore, the true bottleneck may not be identified. Because the calculation of the waiting time is executed for each process, there are many processes waiting for a specific semaphore, and when each waiting time is relatively short, the semaphore is not specified as a bottleneck. Because.
さらに、プロセスの状態が変化した時刻を計測しなければならないために、プロセスの待ち状態への変化や待ち状態の終了を検出するためには、プログラムの実行環境に特別な機構が必要とされる。 Furthermore, since the time at which the process state changes must be measured, a special mechanism is required in the program execution environment in order to detect a change to the process wait state and the end of the wait state. .
また、観測対象のセマフォをユーザが指定しなければならないために、解析対象のプログラムの中身をユーザが知っている必要がある。 In addition, since the user must specify the semaphore to be observed, the user needs to know the contents of the program to be analyzed.
そこで、本発明は、従来のコンピュータシステムにおける性能ボトルネック解析システムが有する上記問題点に鑑みてなされたものであり、本発明の目的は、ソフトウェアの中身のよくわからないコンピュータシステムに対し、セマフォやファイルロック待ち、ネットワークを介したデータ到着待ち等のソフトウェア資源待ちを原因とする性能劣化を、汎用の実行環境やツールを用いて検出可能な、新規かつ改良されたコンピュータシステムにおける性能ボトルネック解析システム及び性能ボトルネック解析方法を提供することである。 Therefore, the present invention has been made in view of the above-mentioned problems of the performance bottleneck analysis system in the conventional computer system, and the object of the present invention is to provide a semaphore and a file for a computer system whose software contents are not well understood. A performance bottleneck analysis system in a new and improved computer system capable of detecting performance degradation caused by waiting for software resources such as waiting for lock and waiting for data arrival via a network using a general-purpose execution environment and tools, and It is to provide a performance bottleneck analysis method.
また、ソフトウェアの稼働に最適なCPU等のハードウェア資源の量を推定することの可能な、新規かつ改良されたコンピュータシステムにおける性能ボトルネック解析システム及び性能ボトルネック解析方法を提供することである。 Another object of the present invention is to provide a performance bottleneck analysis system and a performance bottleneck analysis method in a new and improved computer system capable of estimating the amount of hardware resources such as a CPU optimal for software operation.
上記課題を解決するために、本発明のある観点によれば、複数のプロセスが少なくとも1つのハードウエア資源(以下、HW資源と記す。)を利用するコンピュータシステムの性能ボトルネック解析システムにおいて、前記複数のプロセスの各々について、前記HW資源を利用中であるHW資源利用状態であるか、あるいは相互排他的に利用する複数のソフトウェア資源(以下、SW資源と記す。)の1つの取得を待っているSW資源待ち状態であるか、および、当該SW資源待ち状態のプロセスが待っているSW資源の種類をそれぞれ示すプロセス状態を計測するプロセス状態計測手段と、前記HW資源利用状態のプロセス数が前記HW資源数より少ないHW資源未活用状況を検出する未活用状況検出手段と、前記HW資源未活用状況が検出された場合に、前記複数のSW資源の各々についてSW資源待ち状態のプロセス数(以下、待ちプロセス数という。)をカウントするカウント手段と、SW資源ごとに求められた前記待ちプロセス数を性能ボトルネック解析結果として出力する出力手段と、を備えることを特徴とする、性能ボトルネック解析システムが提供される。 In order to solve the above problems, according to an aspect of the present invention, a plurality of processes at least one hardware resource (hereinafter referred to as HW resource.) In the performance bottleneck analysis system of a computer system that utilizes the For each of a plurality of processes, waiting for acquisition of one of the plurality of software resources (hereinafter referred to as SW resources) that are in the HW resource use state in which the HW resource is being used or that are mutually exclusive. A process state measuring unit for measuring a process state indicating a SW resource waiting state and a type of SW resource waiting for the SW resource waiting process, and the number of processes in the HW resource use state Unused status detecting means for detecting an unused status of HW resources smaller than the number of HW resources, and detecting the unused status of HW resources. In this case, the counting means for counting the number of processes waiting for SW resources (hereinafter referred to as the number of waiting processes) for each of the plurality of SW resources, and the number of waiting processes obtained for each SW resource are set as performance bottles. There is provided a performance bottleneck analysis system comprising an output means for outputting as a neck analysis result .
このような構成とすることにより、プロセス状態計測手段が外部の対象システムの上で動作する各プロセスの状態を計測し、その計測結果から、未活用状況検出手段がHW資源を利用中のプロセスがHW資源数より少ないHW未活用状況を検出し、HW資源未活用状況が検出された場合に、カウント手段がHW未活用状況時における各ソフトウェア資源に対する待ちプロセスの数を算出できる。すなわち、HW(ハードウェア)資源利用中のプロセスがHW資源数を下回るHW未活用状況の検出と、HW未活用状況下におけるSW資源待ちプロセス数の算出ができるように構成されているため、待ちプロセス数の多いSW資源をボトルネックとみなすことにより、性能上のボトルネックとなっているSW(ソフトウェア)資源を特定することができる。 By adopting such a configuration, the process state measuring unit measures the state of each process operating on the external target system, and from the measurement result, the process in which the unused state detecting unit is using the HW resource is determined. When an HW unused status less than the number of HW resources is detected, and the HW resource unused status is detected, the counting means can calculate the number of waiting processes for each software resource when the HW unused status is detected . In other words, the configuration is such that the process that is using the HW (hardware) resource can detect the HW unused state where the number of HW resources is less than the number of HW resources and can calculate the number of SW resource waiting processes when the HW is not used. By considering a SW resource having a large number of processes as a bottleneck, it is possible to identify a SW (software) resource that is a bottleneck in performance.
また、このとき、プロセス状態計測手段は前記プロセス状態を複数回計測し、前記カウント手段によりカウントされたプロセス数から平均プロセス数を待ちプロセス数として算出する平均値算出手段を更に備えることとしてもよい。 At this time, the process state measuring means measures a plurality of times the process state, it is also possible that the counted number of the process further comprises an average value calculating means for calculating a number of processes waiting for the number average process by they said counting means .
このような構成とすることにより、複数回の測定に基づいて、SW資源待ちプロセス数の平均値が算出されるので、性能上のボトルネックとなっているSW資源をより正確に特定することができる。 With this configuration, the average value of the number of SW resource waiting processes is calculated based on a plurality of measurements, so that it is possible to more accurately identify the SW resource that is a bottleneck in performance. it can.
さらに、このとき、プロセス状態計測手段が計測に要した時間を算出する計測所要時間取得手段と、計測に要した時間と所定しきい値とを比較してボトルネックがHW資源側にあるか否かを判定するHWボトルネック判定手段とを更に有し、計測に要した時間が所定しきい値を超えていればボトルネックがHW資源側にあると判定され、出力手段はHW資源がボトルネックであることを出力し、計測に要した時間が所定しきい値以内であればボトルネックがHW資源側にないと判定され、カウント手段は前記待ちプロセス数をカウントする、こととしてもよい。 Further, at this time, the measurement time acquisition means for calculating the time required for the measurement by the process state measurement means, and the time required for the measurement are compared with a predetermined threshold value to determine whether the bottleneck is on the HW resource side. or further comprising a determining HW Bottoleneck means, time required for measurement is a bottleneck if more than a predetermined threshold is determined to be in HW resource side, the output means is HW resource bottlenecks If the time required for the measurement is within a predetermined threshold value, it is determined that the bottleneck is not on the HW resource side, and the counting means may count the number of waiting processes.
このような構成とすることにより、プロセス状態の計測自身がHW資源を利用するという事実に基づき、計測に要した時間を算出できるため、性能上のボトルネックがHW資源側にあることを判定できる。 By adopting such a configuration, it is possible to calculate the time required for the measurement based on the fact that the process state measurement itself uses the HW resource, so it is possible to determine that the performance bottleneck is on the HW resource side. .
さらに、このとき、HWボトルネック判定手段がボトルネックがHW資源側にあると判定した時、コンピュータシステムのHW資源数を変更させるHW構成変更手段を更に備えることとしてもよい。 Further, at this time, when the HW bottleneck determining unit determines that the bottleneck is on the HW resource side, it may further include an HW configuration changing unit that changes the number of HW resources of the computer system .
このような構成とすることにより、プロセス状態計測手段が外部のシステムの上で動作する各プロセスの状態の計測に要した時間を、計測所要時間取得部が算出し、算出結果から、HWボトルネック判定部が、HW資源がボトルネックになっているかどうかを判定し、ボトルネックになっている場合は、HW資源数を一定数増やし、なっていない場合は、HW資源を一定数減らすよう動作される。このため、性能上のボトルネックの所在に基づいてHW資源数を増減できるため、HW資源の数を自動的に調整され、最適なHW資源数でシステムを運用することができる。 With such a configuration, the measurement time acquisition unit calculates the time required for the process state measurement means to measure the state of each process operating on the external system, and the HW bottleneck is calculated from the calculation result. The determination unit determines whether or not the HW resource is a bottleneck. If the bottleneck is a bottleneck, the determination unit increases the number of HW resources. If not, the determination unit operates to decrease the HW resource by a certain number. The For this reason, since the number of HW resources can be increased or decreased based on the location of the bottleneck in performance, the number of HW resources can be automatically adjusted, and the system can be operated with the optimum number of HW resources.
また、このとき、前記待ちプロセス数を所定基準でソートおよび/または抽出するフィルタリング手段を備えることとしてもよい。 At this time, a filtering means for sorting and / or extracting the number of waiting processes on a predetermined basis may be provided.
このような構成とすることにより、待ちプロセスの数が多いSW資源を抽出できるため、性能上のボトルネックとなっているSW資源をより早く特定することができる。 With such a configuration, SW resources with a large number of waiting processes can be extracted, so that SW resources that are bottlenecks in performance can be identified earlier.
以上説明したように本発明によれば、ソフトウェアの中身のよくわからないコンピュータシステムに対し、セマフォやファイルロック待ち、ネットワークを介したデータ到着待ち等のソフトウェア資源待ちを原因とする性能ボトルネックを、汎用の実行環境やツールを用いて検出できる。 As described above, according to the present invention, a performance bottleneck caused by waiting for software resources such as waiting for semaphores, waiting for file locks, waiting for data arrival via the network, etc. Can be detected using the execution environment and tools.
また、HW資源の数を自動的に調整することにより、ソフトウェアの稼働に最適なCPU等のハードウェア資源の量を推定することも実現される。 In addition, by automatically adjusting the number of HW resources, it is possible to estimate the amount of hardware resources such as a CPU that is optimal for the operation of software.
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, in this specification and drawing, about the component which has the substantially same function structure, the duplicate description is abbreviate | omitted by attaching | subjecting the same code | symbol.
(第1実施形態)
まず、本発明の第1実施形態によるコンピュータシステムの性能ボトルネック解析システムの構成について図面を使用しながら説明する。図1は、本発明の第1実施形態によるコンピュータシステムの性能ボトルネック解析システムの構成を示すブロック図である。
(First embodiment)
First, the configuration of the performance bottleneck analysis system for a computer system according to the first embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of a performance bottleneck analysis system for a computer system according to a first embodiment of the present invention.
図1に示すように、本実施形態の性能ボトルネック解析システム100は、処理装置102と、記憶装置104と、出力装置106とを具備して構成されている。
As shown in FIG. 1, the performance
処理装置102は、プロセス状態計測手段108と、HW(hardware:ハードウェア)資源利用プロセス数比較部110と、SW(software:ソフトウェア)資源待ちプロセスカウント部112と、出力部114とを備える。また、記憶装置104は、外部のシステム120の備えるHW資源の個数を記憶するHW資源数記憶部116と、SW資源待ち行列長記憶部118とを備える。
The
次に、本実施形態の性能ボトルネック解析システム100に備わる上述した各構成要素の動作の概略について、以下で説明する。
Next, an outline of the operation of each component described above provided in the performance
処理装置102に備わるプロセス状態計測手段108は、外部のシステム120上で動作するプロセスの実行状態に関する情報を取得し、取得した情報の一部を処理装置102内に備わるHW資源利用プロセス数比較部110やSW資源待ちプロセスカウント部112に付与する。
The process state measuring means 108 provided in the
HW資源利用プロセス数比較部110は、プロセス状態計測手段108からHW資源を利用中のプロセスに関するデータを入力し、記憶装置104に備わるHW資源数記憶部116から外部システム120のHW資源数を入力し、HW資源を利用中のプロセス数とHW資源数とを比較する。そして、この比較の結果により得られるHW資源を利用中のプロセス数とHW資源数との大小関係をSW資源待ちプロセスカウント部112に報知する。
The HW resource utilization process
SW資源待ちプロセスカウント部112は、プロセス状態計測手段108からSW資源待ち状態のプロセスに関するデータを入力し、HW資源利用プロセス数比較部110からHW資源を利用中のプロセス数とHW資源数との大小関係を入力する。そして、HW資源を利用中のプロセス数がHW資源数よりも小さければ、SW資源待ち状態のプロセスが待つSW資源の種類を抽出し、各SW資源に関して、SW資源を待つプロセスがいくつあるかを数え、その結果得られた各SW資源に関する待ちプロセスの数をSW資源待ち行列長記憶部118に記憶する。
The SW resource wait
出力部114は、SW資源待ち行列長記憶部118から、各SW資源に関する待ちプロセスの数を入力し、ディスプレイ装置やファイル、ディスク等の出力装置106に出力する。
The
次に、本実施形態の性能ボトルネック解析システム100の動作について、図1及び図2を参照しながら詳細に説明する。図2は、本実施形態によるコンピュータシステムの性能ボトルネック解析システム100の動作を示すフローチャートである。
Next, the operation of the performance
まず、本実施形態では、事前準備として、外部システム120のHW(ハードウェア)資源数をHW資源数記憶部116に設定する(ステップA11)。ここでHW資源とは、例えばCPU(中央演算装置)のように、複数の利用主体(プロセス)が時分割方式に代表されるスケジューリングポリシーに基づいて利用する物理的な資源を指す。コンピュータシステムは、一般に、複数のCPUを備えることができる。コンピュータシステムのCPU数は、システムの仕様やBIOS(basic input output system)等のファームウェア、OSの提供するコマンドや関数等から知ることができる。
First, in the present embodiment, as advance preparation, the number of HW (hardware) resources of the
次に、SW資源待ち行列長記憶部118に記憶された、各ソフトウェア資源Siに対する待ちプロセス数QSiを全て0に初期化する(ステップA12)。このとき、ステップA11とステップA12は、順番が逆であってもよい。
Next, the number of waiting processes QSi for each software resource Si stored in the SW resource queue
次に、プロセス状態計測手段108は、外部システム120の上で動作するプロセスの現在の実行状態を計測する(ステップA13)。プロセスの実行状態は、次の2種類の情報を含む。1つは、プロセスが現在HW資源を利用中(実行可能状態)か、または特定のSW(ソフトウェア)資源が取得可能になるのを待っている状態(休眠状態)かの区別である。もう1つは、休眠状態のプロセスが待つSW資源の種類である。
Next, the process
SW資源としては、排他制御を行なうためのセマフォやロックのほか、ネットワークやディスクに対するデータの送受信が終了したことを示すフラグ等がある。Linux等のUNIX(登録商標、以下同じ。)系OSの場合、プロセス状態に関するこれらの情報は、例えば外部システム120上でpsコマンドを発行することにより取得可能である。
The SW resource includes a semaphore and lock for performing exclusive control, and a flag indicating that transmission / reception of data to / from the network or disk has been completed. In the case of a UNIX (registered trademark, the same shall apply hereinafter) OS such as Linux, these pieces of information relating to the process state can be obtained by issuing a ps command on the
また、本実施形態の性能ボトルネック解析システム100は、外部のシステム120と同一のシステム上で動作させてもよい。
Further, the performance
次に、HW資源利用プロセス数比較部110は、プロセス状態計測手段108が計測したHW資源を利用中のプロセスの個数R(実行可能プロセス数)を数える(ステップA14)と共に、HW資源数記憶部116を参照し、実行可能プロセス数RとHW資源数とを比較する(ステップA15)。
Next, the HW resource utilization process
ここで検出したいのは、実行可能プロセス数RがHW資源数を下回るような状況(HW未活用状況)である。このような状況が頻繁に発生する場合、システム120のHW資源が十分に活用されないために性能劣化が起きている可能性が高い。そして、このような状況が発生する原因の大半は、プロセスのSW資源待ちである。
What is desired to be detected here is a situation in which the number of executable processes R is less than the number of HW resources (HW unused status). When such a situation occurs frequently, there is a high possibility that performance degradation has occurred because the HW resources of the
一般に、計算の過程において、プロセスには、多くの待ち状態が発生する。待ち状態には、複数プロセスによるクリティカルセクションの同時実行を禁止するためのセマフォや、ファイルやエントリの同時更新を禁止するためのファイルロックの取得待ち以外には、ネットワークの送受信待ちやディスクの入出力待ち等がある。 In general, many wait states occur in a process in the course of calculation. In the wait state, other than waiting to acquire a semaphore for prohibiting simultaneous execution of critical sections by multiple processes and file lock for prohibiting simultaneous update of files and entries, network waits for transmission / reception and disk input / output There is waiting etc.
システムがクライアントからのリクエストに対して結果を返すサーバであると考えると、リクエストの内容が均一で、かつHW資源の利用率が一定である限り、システムが一定時間内に処理できるリクエスト数は、略一定である。これは、リクエストの到着間隔に関係なく成立する。なぜなら、リクエストによって発生する処理が空ループのような無駄な計算をしていない限り、一定数のリクエストの処理に要する計算量は、一定だからである。 Assuming that the system is a server that returns a result in response to a request from a client, as long as the content of the request is uniform and the usage rate of the HW resource is constant, It is almost constant. This is true regardless of the arrival interval of requests. This is because the amount of calculation required for processing a certain number of requests is constant unless the processing generated by the request performs a wasteful calculation such as an empty loop.
従って、リクエストの到着数が処理能力の範囲内であれば、リクエストの応答時間も一定時間内に収まるが、リクエストの到着数がシステムの処理能力の限界を越えると、応答時間は、急激に悪化し始める。これは、システム内に処理待ちのリクエストが滞留し始めると、リクエストの応答時間が悪化し、その結果、滞留するリクエストがさらに増えるという悪循環のためである。 Therefore, if the number of request arrivals is within the processing capability range, the response time of the request will be within a certain time. However, if the number of request arrivals exceeds the limit of the system processing capability, the response time will deteriorate rapidly. Begin to. This is due to a vicious circle in which the response time of requests deteriorates when requests waiting to be processed start to stay in the system, and as a result, the number of staying requests further increases.
つまり、HW資源の利用率が限界に達するまでは、リクエストの応答時間は、通常では、あまり悪化しないため、従来の性能ボトルネック解析では、CPU負荷のようなHW資源利用率を監視して、利用率が非常に高くなった場合に、利用率の高いHWをボトルネックとして特定していた。しかしながら、SW資源を待つプロセスは、HW資源を消費しないため、通常の解析対象であるCPU負荷のようなHW資源利用率からは、性能劣化原因を特定することが困難であった。本発明の目的は、SW資源待ちを原因とする性能劣化を検出し、原因となっているSW資源を特定することにある。 That is, until the utilization rate of the HW resource reaches the limit, the response time of the request does not usually deteriorate so much, so in the conventional performance bottleneck analysis, the HW resource utilization rate such as the CPU load is monitored, When the utilization rate became very high, the HW with the high utilization rate was identified as the bottleneck. However, since the process waiting for the SW resource does not consume the HW resource, it is difficult to identify the cause of the performance deterioration from the HW resource utilization rate such as the CPU load that is a normal analysis target. An object of the present invention is to detect performance degradation caused by waiting for SW resources and to identify the SW resource that is the cause.
システムの応答時間は、HW資源利用時間とSW資源待ち時間との和で表現できる。ここで、「HWを利用している」というのは、HW資源を各計算主体間で少しの時間ずつ共用しながら利用しているという意味であり、正確には、HW利用時間は、HW資源を物理的に利用している時間とHW資源待ち時間との和となる。 The response time of the system can be expressed as the sum of the HW resource use time and the SW resource wait time. Here, “using HW” means that the HW resource is shared while being used for a short time between the calculation subjects. To be precise, the HW usage time is the HW resource usage time. Is the sum of the time for physically using and the HW resource waiting time.
HW未活用状況時においては、HW資源をほぼ占有できるため、HW資源待ち時間は、相対的に小さな値となる一方、HW資源利用時間は、略一定と考えられる。しかしながら、ボトルネックとなっているSW資源に関しては、資源の取得に長時間を要し、SW資源待ちのプロセスが滞留するため、休眠プロセスが待つSW資源を調べて、待つプロセスの多いSW資源をボトルネックとみなすのが合理的である。 Since the HW resources can be almost occupied when the HW is not being used, the HW resource waiting time is a relatively small value, while the HW resource utilization time is considered to be substantially constant. However, regarding SW resources that are bottlenecks, it takes a long time to acquire the resources, and the processes waiting for the SW resources stay, so the SW resources that the dormant process waits for are examined, and the SW resources that have many waiting processes are found. It is reasonable to regard it as a bottleneck.
そこで、次の動作として、SW資源待ちプロセスカウント部112は、HW未活用状況が観測された場合、プロセス状態計測手段108が計測した休眠プロセス情報から、プロセスが待つ各SW資源を調べて、各SW資源を待つ休眠プロセスがいくつあるかを1つ1つ数え、SW資源待ち行列長記憶部118に記憶する(ステップA16及びステップA17)。
Therefore, as the next operation, when the HW underutilization state is observed, the SW resource waiting
全ての休眠プロセスを数え終わると、出力部114は、各SW資源に関する待ちプロセスの数を、ディスプレイ装置やファイル、ディスク等の出力装置106に出力する。また、外部のシステムや装置に結果を伝達してもよい。さらに、HW資源利用プロセス数比較部110によってHW未活用状況が観測されなかった場合には、その旨を出力することもできる。
When all the sleep processes are counted, the
以上詳述したように、本実施形態では、HW資源利用中のプロセスの数がHW資源数を下回っている状況を検出し、このような状況下において各SW資源を待つプロセスの数を算出できるように構成されているため、性能上のボトルネックとなっているSW資源を特定することができる。 As described above in detail, in this embodiment, it is possible to detect a situation where the number of processes using HW resources is less than the number of HW resources, and to calculate the number of processes waiting for each SW resource in such a situation. Therefore, it is possible to identify the SW resource that is a bottleneck in performance.
(第2実施形態)
次に、本発明の第2実施形態によるコンピュータシステムの性能ボトルネック解析システムの構成について図面を使用しながら説明する。図3は、本発明の第2実施形態によるコンピュータシステムの性能ボトルネック解析システム200の構成を示すブロック図である。
(Second Embodiment)
Next, the configuration of a performance bottleneck analysis system for a computer system according to a second embodiment of the present invention will be described with reference to the drawings. FIG. 3 is a block diagram showing a configuration of a performance
図3に示すように、本発明の第2実施形態の性能ボトルネック解析システム200は、図1に示した第1実施形態にかかる性能ボトルネック解析システム100と比べて、処理装置202がフィルタリング部220を具備する点で異なる。
As shown in FIG. 3, the performance
フィルタリング部220は、SW資源待ち行列長記憶部218から、各SW資源に関する待ちプロセスの数を入力し、ある条件で抽出またはソートしたSW資源を出力部214に付与する。
The
次に、本実施形態の性能ボトルネック解析システム200の全体の動作について、図3及び図4を参照しながら詳細に説明する。図4は、本実施形態によるコンピュータシステムの性能ボトルネック解析システム200の動作を示すフローチャートである。
Next, the overall operation of the performance
図4のステップA21〜A27で示される本実施形態におけるプロセス状態計測手段108、HW資源利用プロセス数比較部110、SW資源待ちプロセスカウント部112の動作は、第1実施形態の対応する部分の動作と同一のため、これらの動作の説明は、省略する。
The operations of the process
第1実施形態では、各SW資源に関する待ちプロセス数が求まった時点で処理を終了していたが、本実施形態では、フィルタリング部220が、待ちプロセス数を使って抽出またはソートしたSW資源を出力部214に付与する(図4のステップA28)。抽出またはソートの方法としては、待ちプロセス数が一定数を越えたSW資源のみを抽出する、または待ちプロセスの多い若しくは少ない順にSW資源をソートする、または待ちプロセス数を使ってソートしたSW資源の中から待ちプロセス数が一定数を越えているものだけをソートされた順番で抽出する等がある。出力部214には、抽出またはソートしたSW資源だけでなく、その待ちプロセス数を一緒に与えてもよい。
In the first embodiment, the process is terminated when the number of waiting processes for each SW resource is obtained. In this embodiment, the
このように、本実施形態では、待ちプロセスの数が多いSW資源を抽出できるように構成されているため、性能上のボトルネックとなっているSW資源をより早く特定することができる。 Thus, in this embodiment, since it is comprised so that SW resource with many number of waiting processes can be extracted, SW resource used as the bottleneck in performance can be identified earlier.
(第3実施形態)
次に、本発明の第3実施形態によるコンピュータシステムにおける性能ボトルネック解析システムの構成について図面を使用しながら説明する。図5は、本発明の第3実施形態によるコンピュータシステムの性能ボトルネック解析システム300の構成を示すブロック図である。
(Third embodiment)
Next, the configuration of the performance bottleneck analysis system in the computer system according to the third embodiment of the present invention will be described with reference to the drawings. FIG. 5 is a block diagram showing the configuration of a performance
図5に示すように、本発明の第3実施形態の性能ボトルネック解析システム300は、図1に示した第1実施形態にかかる性能ボトルネック解析システム100と比べて、処理装置302が平均値算出部320を有する点と、記憶装置304が未活用事象発生回数記憶部322を有する点で異なる。
As illustrated in FIG. 5, the performance
平均値算出部320は、SW資源待ち行列長記憶部318に記憶された各SW資源に関する1個以上の待ちプロセス数を参照し、各SW資源に関する待ちプロセス数の平均値を算出し、出力部314に与える。
The average
次に、本実施形態の性能ボトルネック解析システム300の全体の動作について、図5及び図6を参照しながら詳細に説明する。図6は、本実施形態によるコンピュータシステムの性能ボトルネック解析システム300の動作を示すフローチャートである。
Next, the overall operation of the performance
図6のステップA31〜A37で示される本実施形態におけるプロセス状態計測手段108、HW資源利用プロセス数比較部110、SW資源待ちプロセスカウント部112の動作は、第1実施形態の対応する部分の動作と同一のため、これらの動作の説明は、省略する。
The operations of the process
第1実施形態では、プロセスの状態を1回しか計測していなかったが、本実施形態では、複数回の計測を行なう。このため、ステップA32のあとに、HW未活用状況の発生回数を数えるための変数Cを0に初期化して、未活用事象発生回数記憶部322に記憶する(図6のステップB31)。ステップB31は、ステップA32の前やステップA31の前に行なってもよい。 In the first embodiment, the process state is measured only once, but in the present embodiment, measurement is performed a plurality of times. For this reason, after step A32, a variable C for counting the number of occurrences of the HW underutilization situation is initialized to 0 and stored in the unutilized event occurrence number storage unit 322 (step B31 in FIG. 6). Step B31 may be performed before step A32 or before step A31.
次に、計測を続けるかどうかが判断される(ステップB32)。計測回数が予め定められた回数に達した場合、外部から終了命令が到着した場合、一定時間が経過した場合等に、計測を終了する。 Next, it is determined whether or not to continue the measurement (step B32). When the number of times of measurement reaches a predetermined number of times, when an end command arrives from the outside, or when a certain time has passed, the measurement is ended.
計測を続ける際に、ステップA35において、HW未活用状況が観測されなかった場合は、ステップB32以降の実行を繰り返す。また、ステップA35において、HW未活用状況が観測された場合、HW資源利用プロセス数比較部110は、未活用事象発生回数記憶部322の記憶する変数Cを1増やす(ステップB33)
When the measurement is continued, if the HW unused state is not observed in step A35, the execution after step B32 is repeated. When the HW unused state is observed in step A35, the HW resource utilization process
その後、ステップA36及びA37のループ処理により、各SW資源Siに対する待ちプロセス数QSiに、今回計測された待ちプロセス数を追加し、SW資源待ち行列長記憶部318を更新する。上述した待ちプロセス数の追加を終えると、再度ステップB32以降の工程の実行を繰り返す。
Thereafter, the number of waiting processes measured this time is added to the number of waiting processes QSi for each SW resource Si by the loop processing of steps A36 and A37, and the SW resource queue
ステップB32において計測が終了した場合、平均値算出部320は、まず未活用事象発生回数記憶部322の記憶する変数Cと0を比較することにより、HW未活用状況が発生したかどうかを判断する(ステップB34)。
When the measurement is completed in step B32, the average
HW未活用状況が発生していた(C≠0)場合は、各SW資源Siに対する待ちプロセス数QSiには、1回以上の計測による合計値が保持されているため、各QSiをHW未活用状況の発生回数Cで割って、各SW資源Siに対する待ちプロセス数の平均値を算出する(ステップB35)。 When the HW unused status has occurred (C ≠ 0), the number of waiting processes QSi for each SW resource Si holds the total value by one or more measurements, so that each QSi is not used in HW Dividing by the number of occurrences C of the situation, the average value of the number of waiting processes for each SW resource Si is calculated (step B35).
HW未活用状況が発生していなかった場合は、処理を終了する。また、発生していなかった旨を出力部314に伝達して、出力装置106に出力するようにしてもよい。
If no HW unused state has occurred, the process is terminated. Further, the fact that it has not occurred may be transmitted to the
最後に、出力部314は、各SW資源Siに対する待ちプロセス数の平均値を出力装置106に出力する。このとき、第2実施形態におけるフィルタリング部(図3の220)が実行するように、待ちプロセス数の平均値を使って抽出またはソートした結果を出力するようにしてもよい。
Finally, the
このように、本実施形態では、複数回の測定を行なって、SW資源に対する待ちプロセス数の平均値を算出するように構成されているため、測定した瞬間だけ偶然に発生していたような例外的な状態の影響を小さくすることにより、性能上のボトルネックとなっているSW資源をより正確に特定することができる。 As described above, in the present embodiment, the measurement is performed a plurality of times and the average value of the number of waiting processes for the SW resource is calculated. By reducing the influence of the general state, it is possible to more accurately identify the SW resource that is a bottleneck in performance.
(第4実施形態)
次に、本発明の第4実施形態によるコンピュータシステムの性能ボトルネック解析システムの構成について図面を使用しながら説明する。図7は、本発明の第4実施形態によるコンピュータシステムの性能ボトルネック解析システム400の構成を示すブロック図である。
(Fourth embodiment)
Next, the configuration of a performance bottleneck analysis system for a computer system according to a fourth embodiment of the present invention will be described with reference to the drawings. FIG. 7 is a block diagram showing the configuration of a performance
図7に示すように、本発明の第4実施形態の性能ボトルネック解析システム400は、図1に示した第1実施形態にかかる性能ボトルネック解析システム100と比べて、処理装置402が計測所要時間取得部422と、HWボトルネック判定部420とを有する点で異なる。
As shown in FIG. 7, the performance
計測所要時間取得部422は、プロセス状態計測手段108の計測の開始時刻と終了時刻を取得して、計測に要した時間を算出し、HWボトルネック判定部420に与える。
The measurement required
HWボトルネック判定部420は、計測所要時間取得部422から計測所要時間を入力し、計測所要時間と閾値との比較によって、HW資源がボトルネックになっているかどうかを判断する。HW資源がボトルネックになっていなかった場合は、SW資源待ち行列長記憶部418から各SW資源に関する待ちプロセスの数を入力し、出力部414に与える。
The HW
次に、本実施形態の性能ボトルネック解析システム400の全体の動作について、図7及び図8を参照しながら詳細に説明する。図8は、本実施形態によるコンピュータシステムの性能ボトルネック解析システム400の動作を示すフローチャートである。
Next, the overall operation of the performance
図8のステップA41〜A47で示される本実施形態におけるプロセス状態計測手段108、HW資源利用プロセス数比較部110、SW資源待ちプロセスカウント部112の動作は、第1実施形態の対応する部分の動作と同一のため、これらの動作の説明は、省略する。
The operations of the process state measuring means 108, the HW resource utilization process
第1実施形態では、プロセスの状態を計測した(ステップA13)後に、すぐにHW資源を利用中のプロセスの個数を数えていた(ステップA14)が、本実施形態では、計測所要時間取得部422が、プロセス状態計測手段108による計測動作と協調して、計測にかかった時間を算出する。
In the first embodiment, after the process state is measured (step A13), the number of processes that are using the HW resource is counted immediately (step A14). However, in this embodiment, the measurement required
次に、HWボトルネック判定部420は、計測所要時間取得部422が算出した計測所要時間が一定の範囲内に収まっているかどうかを判定する(図8のステップC41)。
Next, the HW
計測が一定時間内に完了していれば、ボトルネックがHW資源側には有していないと判断する(ステップC42)。このときの閾値は、システムの正常稼働時やテスト稼働時のデータを元に外部から付与される。これ以降のステップA44〜A47における各部の動作は、第1実施形態と同様である。 If the measurement is completed within a certain time, it is determined that the bottleneck does not exist on the HW resource side (step C42). The threshold value at this time is given from the outside based on data during normal operation or test operation of the system. Subsequent operations in steps A44 to A47 are the same as those in the first embodiment.
計測に一定以上の時間がかかっていた場合、HWボトルネック判定部420は、ボトルネックがHW資源側にあると判断する(ステップC43)。
When the measurement takes a certain time or more, the HW
このように判断するのは、プロセス状態の計測自体がCPU等のHW資源を使用するためである。例えば、外部システム120上にHW資源を利用中のプロセスが大量に存在する場合、プロセス状態の計測のためにpsコマンドを発行しても、psコマンドの処理がスケジューリングされず、応答が非常に遅れるため、プロセス状態を即座に測定することができない。このような場合には、HW資源がボトルネックになっていると判断することができる。
This determination is made because the process state measurement itself uses a HW resource such as a CPU. For example, if there are a large number of processes using HW resources on the
最後に出力部414は、HW資源がボトルネックであれば、その旨を出力装置106に出力し、HW資源がボトルネックでなければ、第1実施形態と同様、HW未活用状況が観測されたかどうかに基づいて、各SW資源に関する待ちプロセスの数を出力装置106に出力する。
Finally, if the HW resource is a bottleneck, the
このように、本実施形態では、プロセス状態の計測自身がHW資源を利用するという事実に基づき、プロセス状態の計測に要した時間を算出できるように構成されているため、性能上のボトルネックがHW資源側にあることを判定できる。 As described above, in the present embodiment, since the process state measurement itself is configured to be able to calculate the time required for the process state measurement based on the fact that the HW resource is used, there is a performance bottleneck. It can be determined that it is on the HW resource side.
(第5実施形態)
次に、本発明の第5実施形態によるコンピュータシステムの性能ボトルネック解析システムの構成について図面を使用しながら説明する。図9は、本発明の第5実施形態によるコンピュータシステムの性能ボトルネック解析システム500の構成を示すブロック図である。
(Fifth embodiment)
Next, the configuration of a performance bottleneck analysis system for a computer system according to a fifth embodiment of the present invention will be described with reference to the drawings. FIG. 9 is a block diagram showing the configuration of a performance
図9に示すように、本発明の第5実施形態は、図5に示した第3実施形態にかかる性能ボトルネック解析システム300と比べて、処理装置502に計測所要時間取得部522とHWボトルネック判定部524を有する点と、記憶装置504が計測所要時間及び計測回数記憶部526を有する点で異なる。この計測所要時間及び計測回数記憶部526には、プロセス状態計測手段108がプロセス状態の計測に要した時間及び計測回数を記憶される。
As shown in FIG. 9, the fifth embodiment of the present invention has a
次に、本実施形態の性能ボトルネック解析システム500の全体の動作について、図9及び図10を参照しながら詳細に説明する。図10は、本実施形態によるコンピュータシステムの性能ボトルネック解析システム500の動作を示すフローチャートである。
Next, the overall operation of the performance
図10のステップA51〜A57及びB51〜B55で示される本実施形態によるコンピュータシステムの性能ボトルネック解析システム500におけるプロセス状態計測手段108、HW資源利用プロセス数比較部110、SW資源待ちプロセスカウント部112、平均値算出部320の動作は、第3実施形態の対応する部分の動作と同一のため、これらの動作の説明は、省略する。
In the performance
第3実施形態では、プロセス状態の計測に要した時間を取得していなかったが、本実施形態では、計測に要した時間を1回以上記憶し、計測に要した時間の平均値を求めることによって、ボトルネックがHW資源側にあるかどうかを判定する。 In the third embodiment, the time required for the measurement of the process state is not acquired, but in this embodiment, the time required for the measurement is stored once or more, and the average value of the time required for the measurement is obtained. To determine whether the bottleneck is on the HW resource side.
まず、ステップB51のあとで、計測回数Nと計測所要時間の合計TTを両方とも0に初期化する(図10のステップD51)。このステップD51は、ステップB51やステップA52、ステップA51の前に行なってもよい。 First, after step B51, the total number TT of the number of times of measurement N and the time required for measurement is initialized to 0 (step D51 in FIG. 10). This step D51 may be performed before step B51, step A52, or step A51.
次に、ステップB52において計測を続ける場合、ステップA53においてプロセス状態を計測後に計測回数Nを1増やす(ステップD52)。このステップD52は、ステップA53の前に行なってもよい。 Next, when the measurement is continued in step B52, the measurement count N is incremented by 1 after measuring the process state in step A53 (step D52). This step D52 may be performed before step A53.
次に、今回の計測に要した時間Tを計測回数Nと計測所要時間の合計TTに加える(ステップD53)。これ以降の処理(ステップA54以降)は、第3実施形態のステップA53以降と同様である。 Next, the time T required for the current measurement is added to the total number TT of the measurement times N and the required measurement time (step D53). The subsequent processing (after step A54) is the same as that after step A53 of the third embodiment.
ステップB52において、計測を終了したときは、計測所要時間の平均となるTT/Nを算出する(ステップD54)。このとき、1回も計測を行なっていない可能性がある場合は、平均値の算出を行なう前に計測回数Nが0でないことを確認して、0による除算が発生しないようにしてもよい。 In step B52, when the measurement is completed, TT / N that is the average of the required measurement time is calculated (step D54). At this time, if there is a possibility that the measurement has not been performed once, it may be confirmed that the number of times of measurement N is not 0 before the calculation of the average value, so that division by 0 does not occur.
次に、計測所要時間の平均TT/Nが一定の範囲内に収まっているかどうかを判定する(ステップD55)。 Next, it is determined whether or not the average required time TT / N is within a certain range (step D55).
一定の範囲内に収まっている場合は、ボトルネックがHW資源側にはないと判断する(ステップC52)。これ以降のステップB54及びB55の動作は、第3実施形態のステップB34及びB35と同様である。 If it is within a certain range, it is determined that the bottleneck is not on the HW resource side (step C52). The subsequent operations of Steps B54 and B55 are the same as Steps B34 and B35 of the third embodiment.
計測所要時間の平均TT/Nが一定の範囲内に収まっていなかった場合は、ボトルネックがHW資源側にあると判断する(ステップC53)。 If the average measurement time TT / N is not within a certain range, it is determined that the bottleneck is on the HW resource side (step C53).
最後に、出力部514は、HW資源がボトルネックであれば、その旨を出力装置106に出力し、HW資源がボトルネックでなければ、第1実施形態と同様、HW未活用状況が観測されたかどうかに基づいて、各SW資源に関する待ちプロセスの数を出力装置106に出力する。
Finally, if the HW resource is a bottleneck, the
このように、本実施形態では、プロセス状態の計測に要した時間を複数回測定し、その平均値を算出できるように構成されているため、性能上のボトルネックがHW資源側にあることをより正確に判定できる。 As described above, in this embodiment, the time required for measuring the process state is measured a plurality of times, and the average value can be calculated. Therefore, the performance bottleneck is on the HW resource side. More accurate judgment can be made.
(第6実施形態)
次に、本発明の第6実施形態によるコンピュータシステムの性能ボトルネック解析システムの構成について図面を使用しながら説明する。図11は、本発明の第6実施形態によるコンピュータシステムの性能ボトルネック解析システム600の構成を示すブロック図である。
(Sixth embodiment)
Next, the configuration of a performance bottleneck analysis system for a computer system according to a sixth embodiment of the present invention will be described with reference to the drawings. FIG. 11 is a block diagram showing the configuration of a performance
図11を参照すると、本発明の第6実施形態の性能ボトルネック解析システム600は、図7に示した第4実施形態にかかる性能ボトルネック解析システム400と比べて、HW構成変更手段640を有する点で異なる。
Referring to FIG. 11, the performance
HW構成変更手段640は、処理装置602に備わるHWボトルネック判定部620から、ボトルネックがHW資源とSW資源のどちらにあるかを入力し、外部システム120の有するHW資源の個数を変更して、この変更を記憶装置604に備わるHW資源数記憶部116に反映させる。
The HW configuration changing means 640 inputs whether the bottleneck is in the HW resource or the SW resource from the HW bottleneck determination unit 620 provided in the
次に、本実施形態の性能ボトルネック解析システム600の全体の動作について、図11及び図12を参照しながら詳細に説明する。図12は、本実施形態によるコンピュータシステムの性能ボトルネック解析システム600の動作を示すフローチャートである。
Next, the overall operation of the performance
図12のステップA61〜A67及びステップC61〜C63で示される本実施形態によるコンピュータシステムの性能ボトルネック解析システム600におけるプロセス状態計測手段108、HW資源利用プロセス数比較部110、SW資源待ちプロセスカウント部112、計測所要時間取得部422、HWボトルネック判定部420の動作は、第4実施形態の対応する部分の動作と同一のため、これらの動作の説明は、省略する。
In the performance
第4実施形態では、ステップC43において、ボトルネックがHW資源側にあると判断した時点で処理を終了していたが、本実施形態では、HW構成の変更を試みる(図12のステップE61)。 In the fourth embodiment, the processing is terminated when it is determined in step C43 that the bottleneck is on the HW resource side. However, in this embodiment, the HW configuration is changed (step E61 in FIG. 12).
具体的には、ボトルネックがHW資源側にある場合には、HW資源が不足していると考え、HW資源の数を増やす。このようなHW資源の追加は、外部システム120におけるOSやBIOSのパラメータの変更後に再起動を行なう等の処理を実行することによって実現できる。また、複数の計算ノードの集合で構成され、利用する計算ノードの数を動的に変更できるシステムにおいては、計算ノードの追加命令を発行するだけでよい。
Specifically, when the bottleneck is on the HW resource side, it is considered that the HW resource is insufficient, and the number of HW resources is increased. Such addition of HW resources can be realized by executing processing such as restarting after changing the parameters of the OS or BIOS in the
HWの構成を変更できるかどうかは、外部システム120の状況等に応じて、外部から判断結果が入力される。HW構成の変更を行なった場合は、HW資源の個数を再設定し(ステップA61)、さらにステップA63以降の処理を繰り返す。HW構成を変更しない場合は、処理を終了する。
Whether the configuration of the HW can be changed is input from the outside according to the status of the
また、図12のフローチャートには記載していないが、ボトルネックがHW資源側にないと判断した場合には、システム内のHW資源に余剰があると考え、ステップC62以降の何れかの工程でHW資源を削減することもできる。 Also, although not described in the flowchart of FIG. 12, if it is determined that the bottleneck is not on the HW resource side, it is considered that there is a surplus in the HW resource in the system, and in any process after step C62 HW resources can also be reduced.
最後に、出力部614は、ボトルネックの所在や、HW構成変更手段640によってHWの構成が変更されていれば、その変更結果を出力装置106に出力する。また、ボトルネックがHW資源側になければ、HW未活用状況が観測されたかどうかに基づいて、各SW資源に関する待ちプロセスの数を出力装置106に出力する。
Finally, if the location of the bottleneck or the configuration of the HW has been changed by the HW configuration change means 640, the
このように、本実施形態では、ボトルネックの所在に基づいてHW資源数を増減できるように構成されているため、最適なHW資源数でシステムを運用することができる。 Thus, in this embodiment, since it is comprised so that the number of HW resources can be increased / decreased based on the location of a bottleneck, a system can be operated with the optimal number of HW resources.
(第7実施形態)
次に、本発明の第7実施形態によるコンピュータシステムの性能ボトルネック解析システムの構成について図面を使用しながら説明する。図13は、本発明の第7実施形態によるコンピュータシステムの性能ボトルネック解析システム700の構成を示すブロック図である。
(Seventh embodiment)
Next, the configuration of a performance bottleneck analysis system for a computer system according to a seventh embodiment of the present invention will be described with reference to the drawings. FIG. 13 is a block diagram showing a configuration of a performance
図13を参照すると、本発明の第7実施形態の性能ボトルネック解析システム700は、図9に示した第5実施形態にかかる性能ボトルネック解析システム500と比べて、HW構成変更手段740を有する点と、処理装置702が記憶初期化部730を具備する点で異なる。
Referring to FIG. 13, the performance
HW構成変更手段740は、第6実施形態におけるHW構成変更手段640と同様に、処理装置702に備わるHWボトルネック判定部724から、ボトルネックがHW資源とSW資源のどちらにあるかを入力し、外部システム120の有するHW資源の個数を変更して、この変更を記憶装置704に備わるHW資源数記憶部116に反映させる。
Similarly to the HW
記憶初期化部730は、記憶装置704の有する各構成要素である計測所要時間及び計測回数記憶部726、HW資源数記憶部116、未活用事象発生回数記憶部722、及びSW資源待ち行列長記憶部718の記憶内容を初期状態に初期化する。
The
次に、本実施形態の性能ボトルネック解析システム700の全体の動作について、図13及び図14を参照しながら詳細に説明する。図14は、本実施形態によるコンピュータシステムの性能ボトルネック解析システム700の動作を示すフローチャートである。
Next, the overall operation of the performance
図14のステップA71〜A77、B71〜B75、C72〜C73及びD71〜D75で示される本実施形態によるコンピュータシステムの性能ボトルネック解析システム700におけるプロセス状態計測手段108、HW資源利用プロセス数比較部110、SW資源待ちプロセスカウント部112、平均値算出部320、計測所要時間取得部522、HWボトルネック判定部724の動作は、第5実施形態の対応する部分の動作と同一のため、これらの動作の説明は、省略する。
The process state measuring means 108 and the HW resource utilization
第5実施形態では、ステップC53において、ボトルネックがHW資源側にあると判断した時点で処理を終了していたが、本実施形態では、第6実施形態と同様、HW構成の変更を試みる(図14のステップE71)。 In the fifth embodiment, the processing is terminated when it is determined in step C53 that the bottleneck is on the HW resource side, but in this embodiment, as in the sixth embodiment, an attempt is made to change the HW configuration ( Step E71 in FIG. 14).
HW構成の変更を行なった場合、解析を最初からやり直すために、処理装置702に備わる記憶初期化部730が、ステップA71、ステップA72、ステップB71、及びステップD71の初期化処理を再実行して、記憶装置704の有するHW資源数記憶部116、SW資源待ち行列長記憶部718、未活用事象発生回数記憶部722、及び計測所要時間及び計測回数記憶部726の記憶内容を初期化する。初期化のあと、さらにステップB72以降の処理を繰り返す。
When the HW configuration is changed, the
また、図14のフローチャートには記載していないが、ステップC72においてボトルネックがHW資源側にないと判断した場合には、システム内のHW資源に余剰があると考え、ステップC72以降のいずれかの工程で、HW資源を削減することもできる。 Although not described in the flowchart of FIG. 14, if it is determined in step C72 that the bottleneck is not on the HW resource side, it is considered that there is a surplus in the HW resource in the system, and any of the steps after step C72 is performed. In this step, HW resources can be reduced.
最後に、出力部714は、ボトルネックの所在や、HW構成変更手段740によってHWの構成が変更されていれば、その変更結果を出力装置106に出力する。また、ボトルネックがHW資源側になければ、HW未活用状況が観測されたかどうかに基づいて、各SW資源に関する待ちプロセスの数を出力装置106に出力する。
Finally, if the location of the bottleneck or the configuration of the HW has been changed by the HW configuration changing means 740, the
このように、本実施形態では、ボトルネックの所在に基づいてHW資源数を増減できるように構成されているため、最適なHW資源数でシステムを運用することができる。また、プロセス状態の計測に要した時間を複数回測定し、その平均値を算出できるように構成されているため、HW資源がボトルネックとなっている場合に、性能上のボトルネックがHW資源側にあることをより正確に判定できる。 Thus, in this embodiment, since it is comprised so that the number of HW resources can be increased / decreased based on the location of a bottleneck, a system can be operated with the optimal number of HW resources. In addition, since the time required for measuring the process state is measured a plurality of times and the average value can be calculated, when the HW resource is a bottleneck, the performance bottleneck is the HW resource. It is possible to more accurately determine that it is on the side.
(第8実施形態)
次に、本発明の第8実施形態によるコンピュータシステムの性能ボトルネック解析システムの構成について図面を使用しながら説明する。図15は、本発明の第8実施形態によるコンピュータシステムの性能ボトルネック解析システム800の構成を示すブロック図である。
(Eighth embodiment)
Next, the configuration of a performance bottleneck analysis system for a computer system according to an eighth embodiment of the present invention will be described with reference to the drawings. FIG. 15 is a block diagram showing a configuration of a performance
図15に示すように、本実施形態の性能ボトルネック解析システム800は、処理装置802、記憶装置804、及び出力装置106を具備する。
As shown in FIG. 15, the performance
本実施形態における処理装置802は、SW資源識別子取得手段806と、SW資源待ち時間計測部808と、出力部810とを備え、記憶装置804は、SW資源識別子記憶部812と、SW資源待ち時間記憶部814とを備える。
The
上記のSW資源識別子取得手段806は、外部システム120の上で動作するプロセスが利用している各SW資源の識別子情報を取得して、かかる識別子情報をSW資源識別子記憶部812に記憶する。
The SW resource
SW資源待ち時間計測部808は、SW資源識別子記憶部812からSW資源識別子を入力し、SW資源の取得を待つプロセスを外部システム120に新たに投入し、各SW資源の取得に要する時間をそれぞれ計測して、記憶装置804に備わるSW資源待ち時間記憶部814に記憶させる。
The SW resource wait
出力部810は、記憶装置804に備わるSW資源待ち時間記憶部814から各SW資源の取得に要した時間を入力し、これを出力装置106に出力する。
The
次に、本実施形態の性能ボトルネック解析システム800の全体の動作について、図15及び図16を参照しながら詳細に説明する。図16は、本実施形態によるコンピュータシステムの性能ボトルネック解析システム800の動作を示すフローチャートである。
Next, the overall operation of the performance
まず、SW資源識別子取得手段806は、外部システム120の上で動作するプロセスがOSに対して発行しているシステムコールを調べて、システムコールの引数として指定されたSW資源の識別子情報を取得し、記憶装置804に備わるSW資源識別子記憶部812に記憶させる(図16のステップF81)。
First, the SW resource
上記のシステムコールの引数情報は、プログラムのソースコードが参照でき、かつプログラム上に直接識別子が記載されている場合は、そこから取得できる。また、例えば、Linux等のUNIX系OS上で動作するプロセスに対しては、strace等のコマンドやptrace等のシステムコールによって、動作中のプロセスが発行しているシステムコール及び呼出し時の引数をリアルタイムに取得できる。計測にかけられる時間が限られている場合は、一定時間内に取得できたSW資源識別子のみをSW資源識別子記憶部812に記憶する。
The argument information of the above system call can be obtained from the source code of the program when the identifier is directly described on the program. In addition, for example, for a process that runs on a UNIX OS such as Linux, a system call issued by a running process and an argument at the time of the call are issued in real time by a command such as trace or a system call such as ptrace. Can be obtained. When the time available for measurement is limited, only the SW resource identifier that can be acquired within a certain time is stored in the SW resource
次に、SW資源待ち時間計測部808は、SW資源識別子記憶部812から1個以上のSW資源識別子を入力し、各SW資源識別子に関して、SW資源を待つプログラムを作成、または既に作成済みのプログラムに対してSW資源識別子を引数として与えて外部システム120上で実行し、SW資源を実際に取得するまでにかかる時間を計測する。
Next, the SW resource waiting
このとき実行するプログラムは、まずSW資源待ちを行なう処理の前に現在時刻を取得し、次にSW資源識別子を使ってSW資源の取得を行ない、取得後に再度現在時刻を取得して、取得の前後の時刻から取得に要した時間を算出するプログラムとなる。取得したSW資源識別子は、極力早く解放する。 The program to be executed at this time first acquires the current time before the process of waiting for the SW resource, then acquires the SW resource using the SW resource identifier, acquires the current time again after acquisition, and acquires the current time. This program calculates the time required for acquisition from the previous and subsequent times. The acquired SW resource identifier is released as soon as possible.
SW資源待ち時間の計測を、SW資源識別子取得手段806が取得した全てのSW資源識別子に対して行ない(ステップF82及びステップF83)、計測した所要時間をSW資源待ち時間記憶部814に記憶する。
SW resource waiting time is measured for all SW resource identifiers acquired by the SW resource identifier acquiring unit 806 (step F82 and step F83), and the measured required time is stored in the SW resource waiting
最後に、出力部810は、SW資源待ち時間記憶部814から、各SW資源識別子に対して計測したSW資源待ち時間を入力し、待ち時間を出力装置106に出力する。このとき、待ち時間とともに、SW資源の種類やSW資源識別子を出力してもよい。また、このとき、待ち時間を用いてSW資源識別子をソートまたは一定以上の待ち時間のSW資源識別子だけを抽出して出力してもよい。
Finally, the
このように、本実施形態では、SW資源識別子に対して、SW資源を取得するのに要する時間を計測できるように構成されているため、性能上のボトルネックとなっているSW資源とその識別子を特定できる。 As described above, in the present embodiment, the SW resource identifier is configured so that the time required to acquire the SW resource can be measured. Can be identified.
(第9実施形態)
次に、本発明の第9実施形態によるコンピュータシステムの性能ボトルネック解析システムの構成について図面を使用しながら説明する。図17は、本発明の第9実施形態によるコンピュータシステムの性能ボトルネック解析システム900の構成を示すブロック図である。
(Ninth embodiment)
Next, the configuration of a performance bottleneck analysis system for a computer system according to a ninth embodiment of the present invention will be described with reference to the drawings. FIG. 17 is a block diagram showing a configuration of a performance
図17に示すように、本実施形態の性能ボトルネック解析システム900は、図15に示した第8実施形態にかかる性能ボトルネック解析システム800と比べて、処理装置902がプロセス状態計測手段916と、HW資源利用プロセス数比較部918とを具備する点と、記憶装置904がHW資源数記憶部920を具備する点で異なる。
As shown in FIG. 17, the performance
プロセス状態計測手段916と、HW資源利用プロセス数比較部918の動作は、第1実施形態で示した対応する手段及び処理部と同様である。
The operations of the process
次に、本実施形態の性能ボトルネック解析システム900の全体の動作について、図17及び図18を参照しながら詳細に説明する。図18は、本実施形態によるコンピュータシステムの性能ボトルネック解析システム900の動作を示すフローチャートである。
Next, the overall operation of the performance
図18のステップA91及びステップA93〜A95で示される本実施形態におけるプロセス状態計測手段916、HW資源利用プロセス数比較部918の動作は、第1実施形態の対応する部分の動作と同一のため、説明を省略する。
The operations of the process
第1実施形態では、ステップA15においてHW未活用状況が観測された場合、各SW資源を待つ休眠プロセスがいくつあるかを数えていたが、本実施形態では、SW資源資源識別子取得手段906が、SW資源待ち状態の各プロセスに対して、発行中のシステムコールを調べ、引数として与えられているSW資源識別子情報を取得して、SW資源識別子記憶部812に記憶する(図18のステップA96及びステップG91)。
In the first embodiment, when the HW underutilization state is observed in step A15, the number of dormant processes waiting for each SW resource is counted. However, in this embodiment, the SW resource resource
このとき、SW資源待ち状態のプロセスがSW資源待ち状態に遷移する際に発行されたシステムコール及び引数は、例えば、Linux等のUNIX系OSの場合、strace等のコマンドやptrace等のシステムコールによって取得可能である。 At this time, the system call and argument issued when the SW resource waiting process transitions to the SW resource waiting state are, for example, in the case of a UNIX-based OS such as Linux, by a command such as trace or a system call such as ptrace. It can be acquired.
全てのSW資源待ち状態のプロセスに対して、SW資源識別子情報を取得し終わると、次にSW資源待ち時間計測部808は、第8実施形態における対応する処理部と同様、SW資源識別子記憶部812から1個以上のSW資源識別子を入力し、各SW資源識別子に関して、SW資源待ち時間の計測を行ない、計測した待ち時間をSW資源待ち時間記憶部814に記憶する(ステップF92及びステップF93)。
When the SW resource identifier information has been acquired for all the SW resource waiting processes, the SW resource waiting
最後に、出力部810は、第8実施形態と同様に、SW資源待ち時間記憶部814から、各SW資源識別子に対して計測したSW資源待ち時間を入力し、出力装置106に出力する。このとき、待ち時間とともに、SW資源の種類やSW資源識別子を出力してもよい。
Finally, as in the eighth embodiment, the
このように、本実施形態では、SW資源待ち状態のプロセスに対してのみSW資源識別子情報を採集し、各SW資源を取得するのに要する時間を計測できるように構成されているため、性能上のボトルネックとなっているSW資源とその識別子をより早く特定することができる。 As described above, the present embodiment is configured to collect the SW resource identifier information only for the process waiting for the SW resource and measure the time required to acquire each SW resource. It is possible to identify the SW resource that is the bottleneck and the identifier thereof earlier.
次に、以下に記載した具体的な各実施例を用いて本発明を実施するための最良の形態の動作について説明する。 Next, the operation of the best mode for carrying out the present invention will be described using specific embodiments described below.
実施例1は、上述した本発明の第1及び第2実施形態に対応するものである。 Example 1 corresponds to the first and second embodiments of the present invention described above.
ここでは、HW資源をCPUとし、外部システム120の備えるHW資源の数は4つ、つまり4つのCPUを備えているものとする。また、外部システム120には、UNIX系OSであるLinuxが搭載されているとする。
Here, it is assumed that the HW resource is a CPU, and the number of HW resources included in the
まず、メモリ等の記憶装置104内に、外部のシステム120の備えるHW資源数である整数値4が設定される。
First, an integer value 4 that is the number of HW resources provided in the
次に、プロセス状態計測手段108は、外部システム120上でpsコマンドを発行し、プロセスの実行状態に関する情報を取得する。ここで、psコマンドの出力例を図19に示す。図19は、psコマンドをlオプションつきで発行した出力例を示す図である。
Next, the process
図19に示すように、3行目以降の各行が各プロセスに対応しており、PIDの列は、プロセスID(識別子)を表し、COMMANDの列は、プロセスの名前を表す。また、STATの列は、プロセスの状態の概略を表しており、R表示は、CPUを利用中であることを表し、S表示は、SW資源を待つ休眠状態であることを表す。さらに、WCHANの列は、休眠状態のプロセスがSW資源の取得を待つ際に実行しているOS内の関数を表す。例えば、セマフォの取得を待っていればsemop、プロセス間通信におけるメッセージの到着待ちであればmsgrcv、子プロセスの終了待ちであればwait4と言った具合に表示される。つまり、WCHANの列から休眠中のプロセスが待つSW資源の種類がわかる。 As shown in FIG. 19, each of the third and subsequent rows corresponds to each process, the PID column represents the process ID (identifier), and the COMMAND column represents the name of the process. The STAT column represents an outline of the process state. The R display represents that the CPU is being used, and the S display represents a sleep state waiting for SW resources. Further, the WCHAN column represents a function in the OS that is executed when a dormant process waits for acquisition of SW resources. For example, semop is displayed when waiting for acquisition of a semaphore, msggrcv is displayed when waiting for arrival of a message in inter-process communication, and wait4 is displayed when waiting for termination of a child process. That is, the type of SW resource that a sleeping process waits for can be known from the WCHAN column.
次に、HW資源利用プロセス数比較部110は、psコマンドの出力から、CPU利用中、すなわちプロセスの状態の概略を表すSTATがCPUを利用中であることを表すRのプロセス数を数える。このとき、全てのプロセスを対象としてもよいが、一般に外部システム120上には、性能を解析したいプロセスとは、直接関係ないプロセスが存在しているため、ここではabcと名づけられた一連のプロセスの性能について考えることにする。
Next, from the output of the ps command, the HW resource utilization process
外部システム120の備えるCPU数は、4つであるが、プロセスabcに関しては、CPU利用中のプロセス数は、3つしかないため、HW資源利用プロセス数比較部110は、外部システム120が、使用されていないCPUの存在するHW未活用状況にあることを検出する。この時点で、検出した旨を出力部114に与えて、出力装置106に出力してもよい。
The number of CPUs provided in the
次に、SW資源待ちプロセスカウント部112は、HW未活用状況の検出を受けて、各SW資源を待つ休眠プロセスがいくつあるかを数える。図19の例では、wait4すなわち子プロセスの終了待ちプロセスが1つ、semopすなわちセマフォを待ちプロセスが3つ、msgrcvすなわちメッセージ待ちのプロセスが2つと算出される。
Next, the SW resource waiting
最後に出力部114は、ディスプレイ等の出力装置106に算出結果を出力する。待ちプロセスの多いSW資源が、より重要なボトルネックである。このとき、第2実施形態におけるフィルタリング部220を用いて、待ちプロセス数の多い順番でソートを行ない、semop:3、msgrcv:2、wait4:1等のように出力することもできる。また、待ちプロセスの数が一定数以上のSW資源のみを出力するようにしてもよい。
Finally, the
次に、実施例2を用いて、本発明を実施するための最良の形態の動作を説明する。かかる実施例2は、本発明の第3実施形態に対応するものである。 Next, the operation of the best mode for carrying out the present invention will be described using the second embodiment. Example 2 corresponds to the third embodiment of the present invention.
実施例1と同様、HW未活用状況下での各SW資源を待つ休眠プロセスがいくつあるかを数えるが、本実施例では、複数回の計測を行なって休眠プロセス数の平均値を求める。 Similar to the first embodiment, the number of dormant processes waiting for each SW resource in the HW unused state is counted. In this embodiment, the average value of the number of dormant processes is obtained by performing a plurality of measurements.
例えば、計測を5回行ない、そのうちの3回については、HW未活用状況が検出されたとする。1回目のHW未活用状態検出時には、wait4:1、semop:3、msgrcv:2、すなわち子プロセスの終了待ちプロセスが1つ、セマフォを待ちプロセスが3つ、メッセージ待ちのプロセスが2つ観測され、2回目と3回目の検出時には、それぞれwait4:1、semop:3、msgrcv:3とwait4:1、semop:4、msgrcv:1のように観測されたとする。 For example, it is assumed that the measurement is performed 5 times, and the HW unused state is detected about 3 times. When the first HW underutilization state is detected, wait4: 1, semop: 3, msggrcv: 2, that is, one process waiting for child process termination, three processes waiting for semaphores, and two processes waiting for messages are observed. In the second and third detections, it is assumed that observations are made as wait4: 1, semop: 3, msgrcv: 3 and wait4: 1, semop: 4, msggrcv: 1, respectively.
平均値算出部320は、SW資源待ち行列長記憶部318に記憶された、各SW資源に対する待ちプロセス数の合計、すなわちwait4:3、semop:10、msgrcv:6のそれぞれを未活用事象発生回数記憶部322に記憶された3で割って、平均待ちプロセス数wait4:1.00、semop:3.33、msgrcv:2.00を算出する。このとき、平均待ちプロセス数は、小数値であってもよい。そして、出力部314は、求めた各SW資源に対する平均待ちプロセス数を出力装置106に出力する。
The average
次に、実施例3を用いて、本発明を実施するための最良の形態の動作を説明する。かかる実施例3は、本発明の第4及び第5実施形態に対応するものである。 Next, the operation of the best mode for carrying out the present invention will be described using the third embodiment. Example 3 corresponds to the fourth and fifth embodiments of the present invention.
実施例1と同様の具体例を使って説明すると、本実施例では、プロセス状態計測手段108がpsコマンドを発行してから、psコマンドの結果を取得するまでに要した時間を計測所要時間取得部422が計測する。
To explain using a specific example similar to the first embodiment, in this embodiment, the time required from the process state measuring means 108 issuing the ps command to acquiring the result of the ps command is measured. The
このときの計測には、gettimeofday等の現在時刻を取得するシステムコールを使用して、psコマンドを実行する直前と直後の時刻を取得して、コマンドの応答時間を算出する方法や、コマンドの応答時間を出力するtime等のコマンドを使用する方法等がある。 For the measurement at this time, a system call for obtaining the current time such as gettimeofday is used to obtain the time immediately before and after the execution of the ps command to calculate the response time of the command. There is a method of using a command such as time for outputting time.
次に、HWボトルネック判定部420は、計測所要時間が一定の範囲内に収まっているかどうかを調べる。計測所要時間が2.3秒であり、許容値が1.5秒であった場合、計測所要時間が許容値を越えているため、HWボトルネック判定部420は、ボトルネックがHW資源側、すなわちCPUにあると判断する。この場合、出力部414は、ボトルネックがCPUであることを出力装置106に出力する。
Next, the HW
計測所要時間が許容値を越えていなかった場合は、実施例1と同様、HW未活用状況の検出を行ない、各SW資源に対する平均待ちプロセス数を出力する。 If the required measurement time does not exceed the allowable value, the HW unused status is detected as in the first embodiment, and the average number of waiting processes for each SW resource is output.
第5実施形態においては、複数回の計測に基づき、計測所要時間の平均値をもってHWボトルネックの判定を行なう。例えば、プロセス状態の計測を1分ごとに100回行なった結果、所要時間の平均値が1.3秒であったとする。許容値が1.5秒の場合、この期間では、ボトルネックがHW資源側には存在しないものと判断する。
In the fifth embodiment, the HW bottleneck is determined based on the average value of the required measurement times based on a plurality of measurements. For example, it is assumed that the average value of the required time is 1.3 seconds as a result of measuring the
次に、実施例4を用いて、本発明を実施するための最良の形態の動作を説明する。かかる実施例4は、本発明の第6及び第7実施形態に対応するものである。 Next, the operation of the best mode for carrying out the present invention will be described using a fourth embodiment. Example 4 corresponds to the sixth and seventh embodiments of the present invention.
実施例1及び実施例3と同様の具体例を使って説明すると、本実施例では、HWボトルネック判定部620によってボトルネックがCPUにあると判断された場合、外部システムのCPUを増強する。 In the present embodiment, when the HW bottleneck determination unit 620 determines that the bottleneck is in the CPU, the CPU of the external system is augmented.
例えば、外部システム120に未使用のCPUや他のサービスに割り当てられたCPUが存在していた場合、OSのパラメータやBIOSの書換え及び再起動等の手段によって、性能解析対象のプロセスに割り当てられるCPU数を増やすことができる。また、外部システム120をより性能の高いコンピュータシステムに交換または切り替えても良い。例えば、ネットワークにつながったコンピュータシステムは、IPアドレスの動的変更等の手段によって、他のコンピュータシステムに自動的に切り替えることが可能である。
For example, when there are unused CPUs or CPUs assigned to other services in the
外部システム120の切替えや、構成の変更を行なった場合、出力部614は、その旨を出力装置106に出力する。
When the
さらに処理を続ける場合は、記憶装置604に保持されているHW資源数を、変更後の構成に再設定して、プロセス状態の計測以降の処理を繰り返す。
When the processing is further continued, the number of HW resources held in the
第7実施形態においては、ボトルネックがHW資源側にあるかどうかの判定を実施例3における第5実施形態と同様、測定結果の平均値をもって行なう。 In the seventh embodiment, whether the bottleneck is on the HW resource side is determined based on the average value of the measurement results as in the fifth embodiment in the third embodiment.
次に、実施例5を用いて、本発明を実施するための最良の形態の動作を説明する。かかる実施例5は、本発明の第8実施形態に対応するものである。 Next, the operation of the best mode for carrying out the present invention will be described using a fifth embodiment. Example 5 corresponds to the eighth embodiment of the present invention.
まず、SW資源識別子取得手段806が、外部システム120の上で動作するプロセスが利用している各SW資源の識別子情報を取得する。SW資源識別子とは、例えばセマフォの場合であれば、各セマフォを識別するためのセマフォIDである。UNIX系OS等の場合、セマフォIDは、単なる整数値である。
First, the SW resource
SW資源識別子は、プログラムのソースコード上から直接取得できる場合がある他、動作中のプロセスに対しても、straceコマンドを使用して、SW資源識別子を取得できる。例えばセマフォ待ちを行なうプロセスの場合、プロセスIDが例えば246だとすると、コマンドstrace-p246の発行によって出力semop(8、 ...)が得られ、セマフォ識別子が8であることがわかる。 In some cases, the SW resource identifier can be obtained directly from the source code of the program, and the SW resource identifier can be obtained for a running process by using the trace command. For example, in the case of a process that waits for a semaphore, if the process ID is 246, for example, an output semop (8,.
次に、SW資源待ち時間計測部808は、取得したセマフォIDとセマフォの取得を行なう関数semopを使用して、実際にセマフォを取得するプログラムを作成し、外部システム120上で実行する。
Next, the SW resource wait
取得にかかる時間の計測には、システムコールgettimeofday等を使用して、関数semopの呼出しの直前と直後の時刻から算出する方法や、timeコマンドを使用する方法等がある。 The measurement of the time taken for acquisition includes a method of calculating from the time immediately before and immediately after calling the function semop using a system call gettimeofday or the like, and a method of using a time command.
異なるセマフォ識別子や、セマフォ以外のSW資源に対しても、同様に計測を行なう。 The same measurement is performed for different semaphore identifiers and SW resources other than semaphores.
最後に出力部810は、ディスプレイ等の出力装置106に計測結果を出力する。
Finally, the
次に、実施例6を用いて、本発明を実施するための最良の形態の動作を説明する。かかる実施例6は、本発明の第9実施形態に対応するものである。 Next, the operation of the best mode for carrying out the present invention will be described using Example 6. Example 6 corresponds to the ninth embodiment of the present invention.
実施例1及び実施例5と同様の具体例を使って説明すると、本実施例では、プロセス状態計測手段916がpsコマンドの出力から取得した休眠状態のプロセスに対して、SW資源識別子取得手段906がstrace等のコマンドを使用して、休眠中のプロセスが待つSW資源の識別子を取得する。
In the present embodiment, the SW resource
SW資源待ち時間計測部808は、HW資源利用プロセス数比較部918によってHW未活用状況が検出された場合に、実施例5と同様、SW資源識別子を用いて、SW資源に対する実際の待ち時間を計測する。
The SW resource wait
最後に出力部810は、ディスプレイ等の出力装置106に計測結果を出力する。
Finally, the
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。 As mentioned above, although preferred embodiment of this invention was described referring an accompanying drawing, it cannot be overemphasized that this invention is not limited to the example which concerns. It will be apparent to those skilled in the art that various changes and modifications can be made within the scope of the claims, and these are naturally within the technical scope of the present invention. Understood.
本発明は、コンピュータシステムにおける性能ボトルネック解析システムに適用可能であり、特にサーバの状態を監視して性能劣化の原因を解析する性能評価システムや、システム開発時における性能ボトルネックを特定するための開発ツールといった用途に適用可能である。また、並列計算機やクラスタ型サーバ等の複数の計算ノードが用意され、あるユーザの利用する計算ノードの数を調整できるシステムにおいて、利用効率や利用に対する課金等の理由から、ユーザの利用する計算ノードの数を最適化するといった用途にも適用可能である。 The present invention is applicable to a performance bottleneck analysis system in a computer system, and in particular, a performance evaluation system for analyzing the cause of performance degradation by monitoring the state of a server, and for identifying a performance bottleneck at the time of system development It is applicable to uses such as development tools. In addition, in a system in which a plurality of computing nodes such as parallel computers and cluster type servers are prepared and the number of computing nodes used by a user can be adjusted, the computing nodes used by the user for reasons such as usage efficiency and charging for usage It is also applicable to uses such as optimizing the number of
100 性能ボトルネック解析システム
102 処理装置
104 記憶装置
106 出力装置
108 プロセス状態計測手段
110 HW資源利用プロセス数比較部
112 SW資源待ちプロセスカウント部
114 出力部
116 HW資源数記憶部
118 SW資源待ち行列長記憶部
120 システム
220 フィルタリング部
320 平均値算出部
322 未活用事象発生回数記憶部
420 ボトルネック判定部
422 計測所要時間取得部
526 計測所要時間及び計測回数記憶部
640 HW構成変更手段
730 記憶初期化部
806 SW資源識別子取得手段
808 SW資源待ち時間計測部
812 SW資源識別子記憶部
814 SW資源待ち時間記憶部
DESCRIPTION OF
Claims (12)
前記複数のプロセスの各々について、前記HW資源を利用中であるHW資源利用状態であるか、あるいは相互排他的に利用する複数のソフトウェア資源(以下、SW資源と記す。)の1つの取得を待っているSW資源待ち状態であるか、および、当該SW資源待ち状態のプロセスが待っているSW資源の種類をそれぞれ示すプロセス状態を計測するプロセス状態計測手段と、
前記HW資源利用状態のプロセス数が前記HW資源数より少ないHW資源未活用状況を検出する未活用状況検出手段と、
前記HW資源未活用状況が検出された場合に、前記複数のSW資源の各々についてSW資源待ち状態のプロセス数(以下、待ちプロセス数という。)をカウントするカウント手段と、
SW資源ごとに求められた前記待ちプロセス数を性能ボトルネック解析結果として出力する出力手段と、
を備えることを特徴とする性能ボトルネック解析システム。 In a performance bottleneck analysis system for a computer system in which a plurality of processes use at least one hardware resource (hereinafter referred to as HW resource),
For each of the plurality of processes, waiting for acquisition of one of a plurality of software resources (hereinafter referred to as SW resources) that are in the HW resource use state in which the HW resource is being used or are mutually exclusive. A process state measuring means for measuring a process state indicating each of the SW resource waiting states and the types of SW resources waiting for the SW resource waiting state processes;
An underutilization status detecting means for detecting an unutilized status of an HW resource in which the number of processes in the HW resource utilization status is less than the number of the HW resources;
Counting means for counting the number of processes waiting for SW resources (hereinafter referred to as the number of waiting processes) for each of the plurality of SW resources when the HW resource unused state is detected;
An output means for outputting the number of waiting processes obtained for each SW resource as a performance bottleneck analysis result;
A performance bottleneck analysis system comprising:
前記カウント手段によりカウントされたプロセス数から平均プロセス数を前記待ちプロセス数として算出する平均値算出手段を更に備えることを特徴とする請求項1に記載の性能ボトルネック解析システム。 The process state measuring means measures the process state a plurality of times,
2. The performance bottleneck analysis system according to claim 1, further comprising an average value calculating unit that calculates an average number of processes as the number of waiting processes from the number of processes counted by the counting unit.
前記計測に要した時間と所定しきい値とを比較してボトルネックがHW資源側にあるか否かを判定するHWボトルネック判定手段と、
を更に有し、
前記HWボトルネック判定手段は、前記計測に要した時間が所定しきい値を超えていればボトルネックがHW資源側にあると判定し、その場合、前記出力手段はHW資源がボトルネックであることを出力し、
前記HWボトルネック判定手段は、前記計測に要した時間が所定しきい値以内であればボトルネックがHW資源側にないと判定し、その場合、前記カウント手段は前記待ちプロセス数をカウントする、
ことを特徴とする請求項1に記載の性能ボトルネック解析システム。 And measuring the required time obtaining means for calculating a time during which the process state measuring means required for the measurement,
HW bottleneck determination means for comparing the time required for the measurement with a predetermined threshold to determine whether the bottleneck is on the HW resource side ;
Further comprising
The HW bottleneck determining means determines that the bottleneck is on the HW resource side if the time required for the measurement exceeds a predetermined threshold, and in that case, the output means is that the HW resource is a bottleneck. Output that
If the time required for the measurement is within a predetermined threshold , the HW bottleneck determination means determines that the bottleneck is not on the HW resource side, and in that case, the counting means counts the number of waiting processes.
The performance bottleneck analysis system according to claim 1.
前記複数回の計測にわたる計測所要時間の平均値を算出する第1平均値算出手段と、
前記カウント手段によりカウントされたプロセス数から平均プロセス数を前記待ちプロセス数として算出する第2平均値算出手段と、
前記平均計測所要時間と所定しきい値とを比較してボトルネックがHW資源側にあるか否かを判定するHWボトルネック判定手段と、
を更に有し、
前記HWボトルネック判定手段は、前記平均計測所要時間が前記所定しきい値を超えていればボトルネックがHW資源側にあると判定し、その場合、前記出力手段はHW資源がボトルネックであることを出力し、
前記HWボトルネック判定手段は、前記平均計測所要時間が前記所定しきい値以内であればボトルネックがHW資源側にないと判定し、その場合、前記第2平均値算出手段が前記平均プロセス数を前記待ちプロセス数として算出する、
ことを特徴とする請求項1に記載の性能ボトルネック解析システム。 And measuring the required time obtaining means for calculating a time required for a plurality of times of measurement by said process condition measurement means,
First average value calculating means for calculating an average value of the measurement required time over the plurality of measurements;
Second average value calculating means for calculating the average number of processes as the number of waiting processes from the number of processes counted by the counting means;
HW bottleneck determination means for comparing the average measurement required time with a predetermined threshold value to determine whether the bottleneck is on the HW resource side;
Further comprising
The HW bottleneck determination means determines that the bottleneck is on the HW resource side if the average measurement time exceeds the predetermined threshold value, and in this case, the output means indicates that the HW resource is a bottleneck. Output that
The HW bottleneck determination means determines that the bottleneck is not on the HW resource side if the average measurement required time is within the predetermined threshold value , and in this case, the second average value calculation means determines the average number of processes. the calculated as the number of the waiting process,
The performance bottleneck analysis system according to claim 1.
前記複数のプロセスの各々について、前記HW資源を利用中であるHW資源利用状態であるか、あるいは相互排他的に利用する複数のソフトウェア資源(以下、SW資源と記す。)の1つの取得を待っているSW資源待ち状態であるか、および、当該SW資源待ち状態のプロセスが待っているSW資源の種類をそれぞれ示すプロセス状態を計測するプロセス状態計測ステップと、
前記HW資源利用状態のプロセス数が前記HW資源数より少ないHW資源未活用状況を検出する未活用状況検出ステップと、
前記HW資源未活用状況が検出された場合に、前記複数のSW資源の各々についてSW資源待ち状態のプロセス数(以下、待ちプロセス数という。)をカウントするカウントステップと、
SW資源ごとに求められた前記待ちプロセス数を性能ボトルネック解析結果として出力する出力ステップと、
を含むことを特徴とする性能ボトルネック解析方法。 In a performance bottleneck analysis method for a computer system in which a plurality of processes use at least one hardware resource (hereinafter referred to as HW resource),
For each of the plurality of processes, waiting for acquisition of one of a plurality of software resources (hereinafter referred to as SW resources) that are in the HW resource use state in which the HW resource is being used or are mutually exclusive. A process state measurement step for measuring a process state indicating the SW resource waiting state and the type of SW resource waiting for the SW resource waiting process;
An underutilization status detection step of detecting an underutilization status of HW resources in which the number of processes in the HW resource utilization status is less than the number of HW resources;
A counting step of counting the number of SW resource waiting processes (hereinafter referred to as the number of waiting processes) for each of the plurality of SW resources when the HW resource unused state is detected;
An output step of outputting the number of waiting processes obtained for each SW resource as a performance bottleneck analysis result;
A performance bottleneck analysis method comprising:
前記カウントステップによりカウントされたプロセス数から平均プロセス数を前記待ちプロセス数として算出する平均値算出ステップを更に含むことを特徴とする請求項7に記載の性能ボトルネック解析方法。 The process state measuring step measures the process state a plurality of times,
8. The performance bottleneck analysis method according to claim 7, further comprising an average value calculation step of calculating an average process number as the number of waiting processes from the number of processes counted in the counting step.
前記計測に要した時間と所定しきい値とを比較してボトルネックがHW資源側にあるか否かを判定するHWボトルネック判定ステップと、
を更に含み、
前記HWボトルネック判定ステップが、前記計測に要した時間が所定しきい値を超えていればボトルネックがHW資源側にあると判定し、その場合、前記出力ステップにおいてHW資源にボトルネックがあることが出力され、
前記HWボトルネック判定ステップが、前記計測に要した時間が所定しきい値以内であればボトルネックがHW資源側にないと判定し、その場合、前記カウントステップで前記待ちプロセス数がカウントされる、
ことを特徴とする請求項7に記載の性能ボトルネック解析方法。 And measuring the required time obtaining step of calculating the time required for measurement of the process conditions,
HW bottleneck determination step for comparing the time required for the measurement with a predetermined threshold value to determine whether the bottleneck is on the HW resource side ;
Further including
If the time required for the measurement exceeds a predetermined threshold value, the HW bottleneck determination step determines that the bottleneck is on the HW resource side, and in that case , the HW resource has a bottleneck in the output step. Is output,
If the time required for the measurement is within a predetermined threshold , the HW bottleneck determination step determines that the bottleneck is not on the HW resource side, and in that case , the number of waiting processes is counted in the counting step. ,
The performance bottleneck analysis method according to claim 7.
前記複数回の計測にわたる計測所要時間の平均値を算出する第1平均値算出ステップと、
前記カウントステップによりカウントされたプロセス数から平均プロセス数を前記待ちプロセス数として算出する第2平均値算出ステップと、
前記平均計測所要時間と所定しきい値とを比較してボトルネックがHW資源側にあるか否かを判定するHWボトルネック判定ステップと、
を更に有し、
前記HWボトルネック判定ステップが、前記平均計測所要時間が前記所定しきい値を超えていればボトルネックがHW資源側にあると判定し、その場合、前記出力ステップによりHW資源にボトルネックがあることが出力され、
前記HWボトルネック判定ステップが、前記平均計測所要時間が前記所定しきい値以内であればボトルネックがHW資源側にないと判定し、その場合、前記第2平均値算出ステップは前記平均プロセス数を前記待ちプロセス数として算出する、
ことを特徴とする請求項7に記載の性能ボトルネック解析方法。 A plurality of measurements required time obtaining step of calculating the time required for measurement in the process state measuring step,
A first average value calculating step for calculating an average value of the measurement required time over the plurality of measurements;
A second average value calculating step of calculating an average number of processes as the number of waiting processes from the number of processes counted in the counting step;
An HW bottleneck determination step for comparing the average measurement required time with a predetermined threshold to determine whether the bottleneck is on the HW resource side;
Further comprising
The HW bottleneck determination step determines that the bottleneck is on the HW resource side if the average required time exceeds the predetermined threshold value, and in that case , the output step causes a bottleneck in the HW resource. Is output,
The HW bottleneck determination step determines that the bottleneck is not on the HW resource side if the average measurement required time is within the predetermined threshold value . In this case , the second average value calculation step includes the average number of processes. the calculated as the number of the waiting process,
The performance bottleneck analysis method according to claim 7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004160755A JP4453823B2 (en) | 2004-05-31 | 2004-05-31 | Performance bottleneck analysis system and performance bottleneck analysis method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004160755A JP4453823B2 (en) | 2004-05-31 | 2004-05-31 | Performance bottleneck analysis system and performance bottleneck analysis method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005339437A JP2005339437A (en) | 2005-12-08 |
JP4453823B2 true JP4453823B2 (en) | 2010-04-21 |
Family
ID=35492906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004160755A Expired - Fee Related JP4453823B2 (en) | 2004-05-31 | 2004-05-31 | Performance bottleneck analysis system and performance bottleneck analysis method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4453823B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9317330B2 (en) | 2013-11-25 | 2016-04-19 | Tata Consultancy Services Limited | System and method facilitating performance prediction of multi-threaded application in presence of resource bottlenecks |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5413969B2 (en) * | 2007-03-20 | 2014-02-12 | スパンション エルエルシー | Processor system optimization support apparatus and support method |
JP2009251871A (en) * | 2008-04-04 | 2009-10-29 | Nec Corp | Contention analysis device, contention analysis method, and program |
JP5347451B2 (en) * | 2008-11-26 | 2013-11-20 | 富士通株式会社 | Multiprocessor system, conflict avoidance program, and conflict avoidance method |
JP5434562B2 (en) | 2009-12-18 | 2014-03-05 | 富士通株式会社 | Operation management program, operation management apparatus, and operation management method |
-
2004
- 2004-05-31 JP JP2004160755A patent/JP4453823B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9317330B2 (en) | 2013-11-25 | 2016-04-19 | Tata Consultancy Services Limited | System and method facilitating performance prediction of multi-threaded application in presence of resource bottlenecks |
Also Published As
Publication number | Publication date |
---|---|
JP2005339437A (en) | 2005-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11126538B1 (en) | User interface for specifying data stream processing language programs for analyzing instrumented software | |
CN108270618B (en) | Alarm determination method, device and alarm system | |
US10691571B2 (en) | Obtaining application performance data for different performance events via a unified channel | |
CN107430545B (en) | Real-time processing of data streams received from instrumented software | |
US9015278B2 (en) | Transaction correlation using three way handshake | |
US8286139B2 (en) | Call stack sampling for threads having latencies exceeding a threshold | |
US8141053B2 (en) | Call stack sampling using a virtual machine | |
US20080148240A1 (en) | Method and apparatus for call stack sampling to obtain information for analyzing idle states in a data processing system | |
US20050021547A1 (en) | Performance monitoring method in a distributed processing system | |
US20100333071A1 (en) | Time Based Context Sampling of Trace Data with Support for Multiple Virtual Machines | |
US9027025B2 (en) | Real-time database exception monitoring tool using instance eviction data | |
CN101505243A (en) | Performance exception detecting method for Web application | |
JP2007257049A (en) | Performance information collecting method, apparatus, and program | |
CN106528318B (en) | Thread dead loop detection method and device | |
US8286192B2 (en) | Kernel subsystem for handling performance counters and events | |
CN101114984A (en) | Multithreading network load control method | |
JP4453823B2 (en) | Performance bottleneck analysis system and performance bottleneck analysis method | |
US20200142757A1 (en) | Utilization And Load Metrics For An Event Loop | |
US20200142758A1 (en) | Utilization And Load Metrics For An Event Loop | |
US20200142802A1 (en) | Utilization And Load Metrics For An Event Loop | |
Cusack et al. | Escra: Event-driven, sub-second container resource allocation | |
KR102456150B1 (en) | A method and apparatus for performing an overall performance evaluation for large scaled system in real environment | |
US8607232B2 (en) | Identifying a transient thread and excluding the transient thread from a processor load calculation | |
CN109150657B (en) | Message operation performance analysis method and device and storage medium | |
US11765065B1 (en) | System and method for scalable telemetry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070423 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090715 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091013 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091214 |
|
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: 20100113 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100126 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140212 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |