JPH1063516A - ボトルネック検出方法及びボトルネック検出装置 - Google Patents
ボトルネック検出方法及びボトルネック検出装置Info
- Publication number
- JPH1063516A JPH1063516A JP8218445A JP21844596A JPH1063516A JP H1063516 A JPH1063516 A JP H1063516A JP 8218445 A JP8218445 A JP 8218445A JP 21844596 A JP21844596 A JP 21844596A JP H1063516 A JPH1063516 A JP H1063516A
- Authority
- JP
- Japan
- Prior art keywords
- time
- information
- task
- measured
- semaphore
- 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.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 ブロック型の同期方式を用いた並列処理環境
において、有効な測定方式を備えたボトルネック検出装
置を提供すること。 【解決手段】 本発明のボトルネック検出装置は、各タ
スク毎に、ボトルネックであることが疑われる複数のセ
マフォの夫々に対して待ち時簡の測定を行い、夫々のセ
マフォにおける待ち時間の夫々の累積時間を被測定待ち
状態累積時間27として被測定待ち状態累積時間算出手
段14にて算出して、被測定待ち状態累積時間27が最
大のセマフォがボトルネックであるとする。
において、有効な測定方式を備えたボトルネック検出装
置を提供すること。 【解決手段】 本発明のボトルネック検出装置は、各タ
スク毎に、ボトルネックであることが疑われる複数のセ
マフォの夫々に対して待ち時簡の測定を行い、夫々のセ
マフォにおける待ち時間の夫々の累積時間を被測定待ち
状態累積時間27として被測定待ち状態累積時間算出手
段14にて算出して、被測定待ち状態累積時間27が最
大のセマフォがボトルネックであるとする。
Description
【0001】
【発明の属する技術分野】本発明は、情報処理装置に関
し、特に並列処理環境におけるボトルネックを検出する
ためのボトルネック検出装置及びボトルネック検出方法
に関する。
し、特に並列処理環境におけるボトルネックを検出する
ためのボトルネック検出装置及びボトルネック検出方法
に関する。
【0002】
【従来の技術】近年、単一プロセッサでは実現困難なレ
ベルの高性能達成手段として、並列処理が注目されてい
る。
ベルの高性能達成手段として、並列処理が注目されてい
る。
【0003】このような並列処理において、共有メモリ
内の各種管理テーブルなどの資源を複数のタスクが相互
排除しながら使用する場合、該資源に対応したセマフォ
を用いて排他制御を行うのが一般的である。ここで、セ
マフォとは、相互排除を実現するために用いる変数のこ
とである。この際、タスクによる使用が特定の資源に集
中してしまうと、該特定資源への使用能力が限界とな
り、他の資源に余裕があったとしても全体として性能が
低下してしまうといった現象が発生することがある。こ
のような特定の資源のことをボトルネックと呼ぶ。
内の各種管理テーブルなどの資源を複数のタスクが相互
排除しながら使用する場合、該資源に対応したセマフォ
を用いて排他制御を行うのが一般的である。ここで、セ
マフォとは、相互排除を実現するために用いる変数のこ
とである。この際、タスクによる使用が特定の資源に集
中してしまうと、該特定資源への使用能力が限界とな
り、他の資源に余裕があったとしても全体として性能が
低下してしまうといった現象が発生することがある。こ
のような特定の資源のことをボトルネックと呼ぶ。
【0004】従来、このようなボトルネックの存在によ
り、処理の並列度を上げることがそのまま性能の向上に
直結しないといった事態が生じることとなり、期待通り
の性能向上を実現することができなかった。
り、処理の並列度を上げることがそのまま性能の向上に
直結しないといった事態が生じることとなり、期待通り
の性能向上を実現することができなかった。
【0005】また、このボトルネックは、その存在を検
出すること自体容易ではなく、更に、ボトルネックとな
る箇所を特定することは極めて困難であった。
出すること自体容易ではなく、更に、ボトルネックとな
る箇所を特定することは極めて困難であった。
【0006】従って、従来、ボトルネックの検出は、並
列処理において並列動作できない区間を選定し、その区
間で費やされる時間を測定することにより行われてい
た。
列処理において並列動作できない区間を選定し、その区
間で費やされる時間を測定することにより行われてい
た。
【0007】尚、このような並列動作できない区間にお
いて費やされる時間の代表的な例としては、条件が成立
するまでプログラムの実行を繰り返すスピン型の待ち時
間と、条件が成立するまで一端タスク情報をタスク制御
ブロックに格納して待つブロック型の待ち時間が挙げら
れる。
いて費やされる時間の代表的な例としては、条件が成立
するまでプログラムの実行を繰り返すスピン型の待ち時
間と、条件が成立するまで一端タスク情報をタスク制御
ブロックに格納して待つブロック型の待ち時間が挙げら
れる。
【0008】ここで、ブロック型の同期方式において、
プログラムはタスク(プロセス)単位に制御され、各々
のタスクは、プログラムの実行に伴い、実行状態と待ち
状態とを遷移することになる。従ってブロック型の同期
待ち時間測定方式は、タスクの各状態に滞在した時間を
合計して待ち時間を測定していた。
プログラムはタスク(プロセス)単位に制御され、各々
のタスクは、プログラムの実行に伴い、実行状態と待ち
状態とを遷移することになる。従ってブロック型の同期
待ち時間測定方式は、タスクの各状態に滞在した時間を
合計して待ち時間を測定していた。
【0009】
【発明が解決しようとする課題】しかしながら、従来例
のボトルネック検出装置は、以下に示すような問題点を
有していた。
のボトルネック検出装置は、以下に示すような問題点を
有していた。
【0010】即ち、従来技術のブロック型の同期待ち時
間測定方式によるボトルネック検出装置は、精度の高い
ボトルネック検出が出来ないといった問題点を有してい
た。これは、各タスク毎について考えた場合、同期箇所
毎にタスクが待ち状態にあった全累積時間しか測定して
いないことから、タスクが待ち状態に遷移する際の原因
の一つがボトルネックであった場合であっても、他の原
因に起因して該タスクが待ち状態におかれた累積時間の
影に隠れてしまう、即ち紛れ込んでしまうためである。
間測定方式によるボトルネック検出装置は、精度の高い
ボトルネック検出が出来ないといった問題点を有してい
た。これは、各タスク毎について考えた場合、同期箇所
毎にタスクが待ち状態にあった全累積時間しか測定して
いないことから、タスクが待ち状態に遷移する際の原因
の一つがボトルネックであった場合であっても、他の原
因に起因して該タスクが待ち状態におかれた累積時間の
影に隠れてしまう、即ち紛れ込んでしまうためである。
【0011】尚、スピン型の同期待ち時間測定方式をと
るボトルネック検出装置の一実施例としては、特開平3
−230226号に開示されているものが挙げられる。
るボトルネック検出装置の一実施例としては、特開平3
−230226号に開示されているものが挙げられる。
【0012】特開平3−230226号に記載のボトル
ネック検出装置は、同期待ち時間の測定をしてボトルネ
ックの検出を行っているわけであるが、この同期待ち時
間の測定によって測定対象システムの挙動が変化してし
まうといった問題点を有していた。これは、同期待ち処
理に処理の繰り返し回数を測定する処理を挿入してお
り、該処理を実行する全てのタスクが測定処理を実行す
ることから、同期待ち処理を極めて頻繁に実行するタス
クにおいては、挿入された処理に要する時間が大きなも
のとなり、結果として、本来の動作とは異なった動作と
なってしまうことによる。
ネック検出装置は、同期待ち時間の測定をしてボトルネ
ックの検出を行っているわけであるが、この同期待ち時
間の測定によって測定対象システムの挙動が変化してし
まうといった問題点を有していた。これは、同期待ち処
理に処理の繰り返し回数を測定する処理を挿入してお
り、該処理を実行する全てのタスクが測定処理を実行す
ることから、同期待ち処理を極めて頻繁に実行するタス
クにおいては、挿入された処理に要する時間が大きなも
のとなり、結果として、本来の動作とは異なった動作と
なってしまうことによる。
【0013】本発明の目的は、上述の課題を解決すべ
く、ブロック型の同期方式を用いた並列処理環境におい
て、有効な測定方式を備えたボトルネック検出装置を提
供することにある。
く、ブロック型の同期方式を用いた並列処理環境におい
て、有効な測定方式を備えたボトルネック検出装置を提
供することにある。
【0014】
【課題を解決するための手段】本発明は、上述した課題
を解決すべく、以下に示す手段を提供する。
を解決すべく、以下に示す手段を提供する。
【0015】即ち、本発明によれば、ブロック型の同期
待ち処理方式を用いた並列処理環境において、ボトルネ
ックを検出するボトルネック検出方法であって、各タス
ク毎に、ボトルネックであることが疑われる複数のセマ
フォの夫々に対して待ち時間を測定し、前記夫々のセマ
フォにおける待ち時間の累積を被測定待ち状態累積時間
として算出して、該被測定待ち状態累積時間が最大であ
るセマフォをボトルネックであるとして検出するボトル
ネック検出方法が得られる。
待ち処理方式を用いた並列処理環境において、ボトルネ
ックを検出するボトルネック検出方法であって、各タス
ク毎に、ボトルネックであることが疑われる複数のセマ
フォの夫々に対して待ち時間を測定し、前記夫々のセマ
フォにおける待ち時間の累積を被測定待ち状態累積時間
として算出して、該被測定待ち状態累積時間が最大であ
るセマフォをボトルネックであるとして検出するボトル
ネック検出方法が得られる。
【0016】更に、本発明によれば、各タスク毎に、測
定対象のセマフォの識別情報を被測定セマフォ識別情報
として記憶し、タスク毎に待ち状態に移行した時間を待
ち状態開始時間として記憶し、セマフォに対する操作の
結果としてタスクが待ち状態を抜ける場合に該セマフォ
の識別情報であるセマフォ識別情報と前記被測定セマフ
ォ識別情報とが一致しているかどうかを検出し、該検出
の結果に一致している場合には、現在の時間と前記待ち
状態開始時間とから、待ち状態にあった時間を算出し、
前記測定対象のセマフォにより今迄待ち状態におかれて
いた待ち時間の合計を記憶している内容に、前記算出の
結果である今回待ち状態にあった時間を加算して、被測
定待ち状態累積時間とし、該被測定待ち状態累積時間が
最大であるセマフォをボトルネックであるとして検出す
るボトルネック検出方法が得られる。
定対象のセマフォの識別情報を被測定セマフォ識別情報
として記憶し、タスク毎に待ち状態に移行した時間を待
ち状態開始時間として記憶し、セマフォに対する操作の
結果としてタスクが待ち状態を抜ける場合に該セマフォ
の識別情報であるセマフォ識別情報と前記被測定セマフ
ォ識別情報とが一致しているかどうかを検出し、該検出
の結果に一致している場合には、現在の時間と前記待ち
状態開始時間とから、待ち状態にあった時間を算出し、
前記測定対象のセマフォにより今迄待ち状態におかれて
いた待ち時間の合計を記憶している内容に、前記算出の
結果である今回待ち状態にあった時間を加算して、被測
定待ち状態累積時間とし、該被測定待ち状態累積時間が
最大であるセマフォをボトルネックであるとして検出す
るボトルネック検出方法が得られる。
【0017】また、本発明によれば、複数のタスクの夫
々に対応した複数のタスク制御ブロックを記憶するため
の第1の記憶領域と複数の事象の夫々に対応した複数の
セマフォを記憶するための第2の記憶領域とを備える記
憶手段を有しており、前記複数のタスクの特定の一つが
前記事象の特定の一つを待ち合わせる際には、該特定の
タスクに関する情報を前記タスク制御ブロックの特定の
一つとして前記第1の記憶領域に格納すると共に、前記
第2の記憶領域の前記セマフォに前記特定のタスク制御
ブロックを示す情報を格納し、前記待ち合わせていた特
定の事象が発生した際には、前記特定のタスク制御ブロ
ックから該特定のタスクに関する情報を読みだして実行
する処理手段とを備えることにより並列処理を実現して
いる情報処理装置におけるボトルネックを検出するボト
ルネック検出装置において、前記第1の記憶領域内の前
記特定のタスク制御ブロックに対応する記憶領域は、前
記複数のセマフォの内の測定対象であるセマフォに関す
る識別情報である被測定セマフォ識別情報を格納する第
1の格納領域と、測定対象であるタスクが待ち合わせた
事象に対応したセマフォの識別情報であるセマフォ識別
情報を格納する第2の格納領域と、前記測定対象である
タスクが待ち状態に遷移した時刻情報を格納する第3の
格納領域と、前記測定対象であるタスクが全ての待ち状
態にいた累積時間の情報である全待ち状態累積時間情報
を格納する第4の格納領域と、前記測定対象であるセマ
フォに対応した待ち状態の累積時間の情報である被測定
待ち状態累積時間情報を格納する第5の格納領域とを備
えており、前記処理手段は、前記被測定セマフォ識別情
報を前記第1の格納領域に格納させると共に、前記第4
及び第5の領域を初期化する測定条件設定手段と、前記
セマフォ識別情報を前記第2の領域に格納させると共
に、前記時刻情報を前記第3の領域に格納させる待ち状
態開始処理手段と、前記測定対象であるタスクが待ち状
態を終了する際に、前記第3の領域に格納されている前
記時刻情報と現在の時刻情報との差分を算出して前記第
4の領域の全待ち状態累積時間情報に加算する全待ち状
態累積時間算出手段と、前記測定対象であるタスクが待
ち状態を終了する際に、前記第1の領域に格納されてい
る被測定セマフォ識別情報と、前記第2の領域に格納さ
れているセマフォ識別情報とが一致するかしないかを検
出する測定条件検出手段と、前記測定条件検出手段が被
測定セマフォ識別情報とセマフォ識別情報との一致を検
出した場合、前記第3の領域に格納されている時刻情報
と現在の時刻情報の差分を算出して前記第5の領域の被
測定待ち状態累積時間情報に加算する被測定待ち状態累
積時間算出手段とを備えており、各タスク毎に、ボトル
ネックであることが疑われる複数のセマフォの夫々に対
して待ち時間の測定を行って、前記夫々のセマフォにお
ける待ち時間の累積を前記被測定待ち状態累積時間情報
として算出し、前記被測定待ち状態累積時間情報が最大
であるセマフォをボトルネックであるとして判定するこ
とを特徴とするボトルネック検出装置が得られる。
々に対応した複数のタスク制御ブロックを記憶するため
の第1の記憶領域と複数の事象の夫々に対応した複数の
セマフォを記憶するための第2の記憶領域とを備える記
憶手段を有しており、前記複数のタスクの特定の一つが
前記事象の特定の一つを待ち合わせる際には、該特定の
タスクに関する情報を前記タスク制御ブロックの特定の
一つとして前記第1の記憶領域に格納すると共に、前記
第2の記憶領域の前記セマフォに前記特定のタスク制御
ブロックを示す情報を格納し、前記待ち合わせていた特
定の事象が発生した際には、前記特定のタスク制御ブロ
ックから該特定のタスクに関する情報を読みだして実行
する処理手段とを備えることにより並列処理を実現して
いる情報処理装置におけるボトルネックを検出するボト
ルネック検出装置において、前記第1の記憶領域内の前
記特定のタスク制御ブロックに対応する記憶領域は、前
記複数のセマフォの内の測定対象であるセマフォに関す
る識別情報である被測定セマフォ識別情報を格納する第
1の格納領域と、測定対象であるタスクが待ち合わせた
事象に対応したセマフォの識別情報であるセマフォ識別
情報を格納する第2の格納領域と、前記測定対象である
タスクが待ち状態に遷移した時刻情報を格納する第3の
格納領域と、前記測定対象であるタスクが全ての待ち状
態にいた累積時間の情報である全待ち状態累積時間情報
を格納する第4の格納領域と、前記測定対象であるセマ
フォに対応した待ち状態の累積時間の情報である被測定
待ち状態累積時間情報を格納する第5の格納領域とを備
えており、前記処理手段は、前記被測定セマフォ識別情
報を前記第1の格納領域に格納させると共に、前記第4
及び第5の領域を初期化する測定条件設定手段と、前記
セマフォ識別情報を前記第2の領域に格納させると共
に、前記時刻情報を前記第3の領域に格納させる待ち状
態開始処理手段と、前記測定対象であるタスクが待ち状
態を終了する際に、前記第3の領域に格納されている前
記時刻情報と現在の時刻情報との差分を算出して前記第
4の領域の全待ち状態累積時間情報に加算する全待ち状
態累積時間算出手段と、前記測定対象であるタスクが待
ち状態を終了する際に、前記第1の領域に格納されてい
る被測定セマフォ識別情報と、前記第2の領域に格納さ
れているセマフォ識別情報とが一致するかしないかを検
出する測定条件検出手段と、前記測定条件検出手段が被
測定セマフォ識別情報とセマフォ識別情報との一致を検
出した場合、前記第3の領域に格納されている時刻情報
と現在の時刻情報の差分を算出して前記第5の領域の被
測定待ち状態累積時間情報に加算する被測定待ち状態累
積時間算出手段とを備えており、各タスク毎に、ボトル
ネックであることが疑われる複数のセマフォの夫々に対
して待ち時間の測定を行って、前記夫々のセマフォにお
ける待ち時間の累積を前記被測定待ち状態累積時間情報
として算出し、前記被測定待ち状態累積時間情報が最大
であるセマフォをボトルネックであるとして判定するこ
とを特徴とするボトルネック検出装置が得られる。
【0018】
【発明の実施の形態】以下に、本発明の実施の形態につ
いて、図面を参照して説明する。
いて、図面を参照して説明する。
【0019】本発明の実施の形態のボトルネック検出装
置は、処理装置1と、共有メモリ2と、キーボード等の
入力手段3と、ディスプレイなどの出力手段4とを備え
ている。
置は、処理装置1と、共有メモリ2と、キーボード等の
入力手段3と、ディスプレイなどの出力手段4とを備え
ている。
【0020】ここで、処理装置1は、計時機構10と、
待ち状態開始処理手段11と、待ち状態終了処理手段1
2と、測定条件検出手段13と、被測定待ち状態累積時
間算出手段14と、全待ち状態累積時間算出手段15
と、測定条件設定手段16とを備えており、共有メモリ
2に格納されたプログラムに従って、共有メモリ2に格
納されたデータを参照したり、更新したりするものであ
る。
待ち状態開始処理手段11と、待ち状態終了処理手段1
2と、測定条件検出手段13と、被測定待ち状態累積時
間算出手段14と、全待ち状態累積時間算出手段15
と、測定条件設定手段16とを備えており、共有メモリ
2に格納されたプログラムに従って、共有メモリ2に格
納されたデータを参照したり、更新したりするものであ
る。
【0021】また、共有メモリ2は、少なくとも相互排
除を実現するために用いるデータ構造である複数のセマ
フォ28(図1においては、簡略化の為、一つしか描か
れていない)と、タスクを管理するためのデータ構造で
あるタスク制御ブロック20と、該システムが測定中か
否かの情報である第一測定制御情報29とを格納してい
るものである。更に詳しくは、タスク制御ブロックは、
タスクの状態情報を格納する領域である状態21と、タ
スクの状態21が更新された時点の計時機構10の示す
値を格納する領域である状態更新時間22と、タスクが
待ち状態に入る際に参照したセマフォを特定するための
情報を格納する領域であるセマフォ識別情報23と、タ
スクが待ち状態にあった全ての時間の累積値を格納する
領域である全待ち状態累積時間24と、タスクが測定対
象か否かの情報を格納する領域である第二測定制御情報
25と、測定すべきセマフォを指定するための情報を格
納する領域である被測定セマフォ識別情報26と、タス
クが測定対象のセマフォで待ち状態にあった全ての時間
の累積値を格納する領域である被測定待ち状態累積時間
27とを備えている。また、図1において、タスク制御
ブロック20は、一つのみしか描かれていないが、複数
のタスクがある場合、夫々のタスクに対応した複数のタ
スク制御ブロック20を備えている。
除を実現するために用いるデータ構造である複数のセマ
フォ28(図1においては、簡略化の為、一つしか描か
れていない)と、タスクを管理するためのデータ構造で
あるタスク制御ブロック20と、該システムが測定中か
否かの情報である第一測定制御情報29とを格納してい
るものである。更に詳しくは、タスク制御ブロックは、
タスクの状態情報を格納する領域である状態21と、タ
スクの状態21が更新された時点の計時機構10の示す
値を格納する領域である状態更新時間22と、タスクが
待ち状態に入る際に参照したセマフォを特定するための
情報を格納する領域であるセマフォ識別情報23と、タ
スクが待ち状態にあった全ての時間の累積値を格納する
領域である全待ち状態累積時間24と、タスクが測定対
象か否かの情報を格納する領域である第二測定制御情報
25と、測定すべきセマフォを指定するための情報を格
納する領域である被測定セマフォ識別情報26と、タス
クが測定対象のセマフォで待ち状態にあった全ての時間
の累積値を格納する領域である被測定待ち状態累積時間
27とを備えている。また、図1において、タスク制御
ブロック20は、一つのみしか描かれていないが、複数
のタスクがある場合、夫々のタスクに対応した複数のタ
スク制御ブロック20を備えている。
【0022】また、入力手段3は、処理装置1内の測定
条件設定手段16に対して測定条件を入力するものであ
る。
条件設定手段16に対して測定条件を入力するものであ
る。
【0023】また、出力手段4は、入力手段3に入力す
ることにより設定された測定条件を表示するものであ
る。
ることにより設定された測定条件を表示するものであ
る。
【0024】以下に、各構成要素について更に詳しく説
明する。
明する。
【0025】計時機構10は、一定の周期で加算された
値を時間情報として出力するものである。
値を時間情報として出力するものである。
【0026】待ち状態開始処理手段11は、タスク制御
ブロック20に格納されているタスクの状態21を実行
状態から待ち状態に更新すると共に、該更新を行った時
点における計時機構10の示す時刻を状態更新時刻22
としてタスク制御ブロック20に格納するものである。
また、待ち状態開始処理手段11は、待ちの原因となっ
たセマフォ28に関する識別情報をセマフォ識別情報2
3としてタスク制御ブロック20に格納するものであ
る。
ブロック20に格納されているタスクの状態21を実行
状態から待ち状態に更新すると共に、該更新を行った時
点における計時機構10の示す時刻を状態更新時刻22
としてタスク制御ブロック20に格納するものである。
また、待ち状態開始処理手段11は、待ちの原因となっ
たセマフォ28に関する識別情報をセマフォ識別情報2
3としてタスク制御ブロック20に格納するものであ
る。
【0027】待ち状態終了処理手段12は、タスク制御
ブロック20に格納されているタスクの状態21を待ち
状態から実行状態に更新すると共に、該更新を行った時
点における計時機構10の示す時刻を状態更新時刻22
としてタスク制御ブロック20に格納するものである。
また、待ち状態終了処理手段12は、測定条件検出手段
13に対して、測定条件検出の契機を指示するものであ
る。
ブロック20に格納されているタスクの状態21を待ち
状態から実行状態に更新すると共に、該更新を行った時
点における計時機構10の示す時刻を状態更新時刻22
としてタスク制御ブロック20に格納するものである。
また、待ち状態終了処理手段12は、測定条件検出手段
13に対して、測定条件検出の契機を指示するものであ
る。
【0028】測定条件検出手段13は、第一測定制御情
報29がオン状態であることを検出するものである。ま
た、測定条件検出手段13は、第二の測定制御情報25
がオン状態であることを検出するものである。更に、測
定条件検出手段13は、セマフォ識別情報23が被測定
セマフォ識別情報26と同一であることを検出するもの
である。
報29がオン状態であることを検出するものである。ま
た、測定条件検出手段13は、第二の測定制御情報25
がオン状態であることを検出するものである。更に、測
定条件検出手段13は、セマフォ識別情報23が被測定
セマフォ識別情報26と同一であることを検出するもの
である。
【0029】被測定待ち状態累積時間算出手段14は、
計時機構10の示す時刻と状態更新時刻22の差分を被
測定待ち状態累積時間27に加算するものである。
計時機構10の示す時刻と状態更新時刻22の差分を被
測定待ち状態累積時間27に加算するものである。
【0030】全待ち状態累積時間算出手段15は、計時
機構10の示す時刻と状態更新時刻との差分を全待ち状
態累積時間24に加算するものである。
機構10の示す時刻と状態更新時刻との差分を全待ち状
態累積時間24に加算するものである。
【0031】測定条件設定手段16は、入力手段3によ
り入力された測定対象のタスクに対応したタスク制御ブ
ロック20に対して、入力手段3により入力された測定
対象のセマフォの識別情報を被測定セマフォ識別情報2
6に格納するものである。また、測定条件設定手段16
は、全待ち状態累積時間24及び被測定待ち状態累積時
間27を初期化するものであると共に、第二測定制御情
報25をオン状態にするものである。更に、測定条件設
定手段16は、入力手段3により入力された測定開始の
指示を第一測定制御情報29に反映するものである。
り入力された測定対象のタスクに対応したタスク制御ブ
ロック20に対して、入力手段3により入力された測定
対象のセマフォの識別情報を被測定セマフォ識別情報2
6に格納するものである。また、測定条件設定手段16
は、全待ち状態累積時間24及び被測定待ち状態累積時
間27を初期化するものであると共に、第二測定制御情
報25をオン状態にするものである。更に、測定条件設
定手段16は、入力手段3により入力された測定開始の
指示を第一測定制御情報29に反映するものである。
【0032】以下に、このような構成を備えたボトルネ
ック検出装置における動作について図3乃至図5を用い
て詳細に説明する。
ック検出装置における動作について図3乃至図5を用い
て詳細に説明する。
【0033】まず、測定条件設定手段16における測定
条件設定処理について図3に示されるフローチャートを
用いて説明する。
条件設定処理について図3に示されるフローチャートを
用いて説明する。
【0034】測定条件設定手段16は、入力手段3によ
り測定対象となるタスクが指定されているかどうかを判
定し(ステップS301)、測定対象となるタスクが指
定されていれば、該タスクに対応するタスク制御ブロッ
ク20を特定する(ステップS302)。一方、測定対
象となるタスクが指定されていない場合、処理を終了す
る。
り測定対象となるタスクが指定されているかどうかを判
定し(ステップS301)、測定対象となるタスクが指
定されていれば、該タスクに対応するタスク制御ブロッ
ク20を特定する(ステップS302)。一方、測定対
象となるタスクが指定されていない場合、処理を終了す
る。
【0035】次に、測定条件設定手段16は、入力手段
3により測定対象となるセマフォが指定されているかど
うかを判定する(ステップS303)。ここで、測定対
象となるセマフォが指定されていない場合、測定条件設
定手段16は、後述するステップS306の処理を行
う。
3により測定対象となるセマフォが指定されているかど
うかを判定する(ステップS303)。ここで、測定対
象となるセマフォが指定されていない場合、測定条件設
定手段16は、後述するステップS306の処理を行
う。
【0036】ステップS303において、測定対象とな
るセマフォが指定されていると判定した場合、測定条件
設定手段16は、指定された測定対象であるセマフォの
識別情報をタスク制御ブロック20内の被測定セマフォ
識別情報26に設定する(ステップS304)。
るセマフォが指定されていると判定した場合、測定条件
設定手段16は、指定された測定対象であるセマフォの
識別情報をタスク制御ブロック20内の被測定セマフォ
識別情報26に設定する(ステップS304)。
【0037】次に、測定条件設定手段16は、タスク制
御ブロック20内の全待ち状態累積時間24と被測定待
ち状態累積時間27とをゼロに初期化すると共に、タス
ク制御ブロック20内の第二測定制御情報25をオン状
態に設定する(ステップS305)。
御ブロック20内の全待ち状態累積時間24と被測定待
ち状態累積時間27とをゼロに初期化すると共に、タス
ク制御ブロック20内の第二測定制御情報25をオン状
態に設定する(ステップS305)。
【0038】次に、測定条件設定手段16は、入力手段
3により測定開始が指定されているかどうかを判定する
(ステップS306)。
3により測定開始が指定されているかどうかを判定する
(ステップS306)。
【0039】ステップS306において、測定開始が指
定されている場合、測定条件設定手段16は、第一測定
制御情報29をオン状態に設定し(ステップS30
7)、測定開始が指定されていない場合、測定条件設定
手段16は、第一測定制御情報をオフ状態に設定する
(ステップS308)。
定されている場合、測定条件設定手段16は、第一測定
制御情報29をオン状態に設定し(ステップS30
7)、測定開始が指定されていない場合、測定条件設定
手段16は、第一測定制御情報をオフ状態に設定する
(ステップS308)。
【0040】ステップS307又はステップS308の
いずれかにおいて、第一測定制御情報を設定すると、測
定条件設定手段16は、測定条件を出力手段4に表示さ
せる(ステップS309)。
いずれかにおいて、第一測定制御情報を設定すると、測
定条件設定手段16は、測定条件を出力手段4に表示さ
せる(ステップS309)。
【0041】次に、このように測定条件(測定環境)が
設定された後、待ち状態開始処理手段11において実行
される待ち状態開始処理について、図4に示されるフロ
ーチャートを用いて説明する。
設定された後、待ち状態開始処理手段11において実行
される待ち状態開始処理について、図4に示されるフロ
ーチャートを用いて説明する。
【0042】まず、待ち状態開始処理手段11は、共有
メモリ2内に存在する待ち状態に入る原因となったセマ
フォ28の識別情報を待ち状態に入るタスクに対応した
タスク制御ブロック20内のセマフォ識別情報23に格
納する(ステップS401)。
メモリ2内に存在する待ち状態に入る原因となったセマ
フォ28の識別情報を待ち状態に入るタスクに対応した
タスク制御ブロック20内のセマフォ識別情報23に格
納する(ステップS401)。
【0043】次に、待ち状態開始処理手段11は、この
ステップ(S402)の時点(待ち状態に入る時点と精
度的には同義)での計時機構10の示す時刻をタスク制
御ブロック20内の状態更新時刻22に格納する(ステ
ップS402)と共に、タスク制御ブロック20内の状
態21を待ち状態に更新する(ステップS403)。
ステップ(S402)の時点(待ち状態に入る時点と精
度的には同義)での計時機構10の示す時刻をタスク制
御ブロック20内の状態更新時刻22に格納する(ステ
ップS402)と共に、タスク制御ブロック20内の状
態21を待ち状態に更新する(ステップS403)。
【0044】次に、タスクが待ち状態に入った後、待ち
状態を終了する際の待ち状態終了処理について、図5に
示されるフローチャートを用いて説明する。
状態を終了する際の待ち状態終了処理について、図5に
示されるフローチャートを用いて説明する。
【0045】まず、測定条件検出手段13は、共有メモ
リ2内の第一測定制御情報29を読み出し、第一測定制
御情報29がオン状態であるかオフ状態であるかを判定
する(ステップS501)。ここで、第一測定制御情報
29がオフ状態であると判定した場合、後述するステッ
プS507の処理を行う。
リ2内の第一測定制御情報29を読み出し、第一測定制
御情報29がオン状態であるかオフ状態であるかを判定
する(ステップS501)。ここで、第一測定制御情報
29がオフ状態であると判定した場合、後述するステッ
プS507の処理を行う。
【0046】ステップS501において、第一測定制御
情報29がオン状態であると判定した場合、測定条件検
出手段13は、タスク制御ブロック20内の第二測定制
御情報25を読み出し、第二測定制御情報25がオン状
態であるかオフ状態であるかを判定する(ステップS5
02)。ここで、第二測定制御情報25がオフ状態であ
ると判定した場合、後述するステップS507の処理を
行う。
情報29がオン状態であると判定した場合、測定条件検
出手段13は、タスク制御ブロック20内の第二測定制
御情報25を読み出し、第二測定制御情報25がオン状
態であるかオフ状態であるかを判定する(ステップS5
02)。ここで、第二測定制御情報25がオフ状態であ
ると判定した場合、後述するステップS507の処理を
行う。
【0047】ステップS502において、第二測定制御
情報25がオン状態であると判定した場合、測定条件検
出手段13は、タスク制御ブロック20内のセマフォ識
別情報23を読み出す(ステップS503)と共に、タ
スク制御ブロック20内の被測定セマフォ識別情報26
を読み出す(ステップS504)。
情報25がオン状態であると判定した場合、測定条件検
出手段13は、タスク制御ブロック20内のセマフォ識
別情報23を読み出す(ステップS503)と共に、タ
スク制御ブロック20内の被測定セマフォ識別情報26
を読み出す(ステップS504)。
【0048】次に、測定条件検出手段13は、セマフォ
識別情報23と、被測定セマフォ識別情報27が同一で
あるか否かを判定する(ステップS505)。ここで、
同一でないと判定した場合、後述するステップS507
の処理を行う。
識別情報23と、被測定セマフォ識別情報27が同一で
あるか否かを判定する(ステップS505)。ここで、
同一でないと判定した場合、後述するステップS507
の処理を行う。
【0049】ステップS505において、セマフォ識別
情報23と被測定セマフォ識別情報26とが同一である
と判定した場合、被測定待ち状態累積時間算出手段14
は、このステップ(S506)の時点(タスクが待ち状
態から実行状態に移行する時点と精度的には同義)にお
ける計時機構10の示す時刻とタスク制御ブロック20
内の状態更新時刻22に格納されている値との差分、即
ち待ち状態にいた時間を、タスク制御ブロック20内の
被測定待ち状態累積時間27に加算することで、測定対
象のタスクが測定対象のセマフォで待ち状態となってい
る累積時間を測定する(ステップS506)。
情報23と被測定セマフォ識別情報26とが同一である
と判定した場合、被測定待ち状態累積時間算出手段14
は、このステップ(S506)の時点(タスクが待ち状
態から実行状態に移行する時点と精度的には同義)にお
ける計時機構10の示す時刻とタスク制御ブロック20
内の状態更新時刻22に格納されている値との差分、即
ち待ち状態にいた時間を、タスク制御ブロック20内の
被測定待ち状態累積時間27に加算することで、測定対
象のタスクが測定対象のセマフォで待ち状態となってい
る累積時間を測定する(ステップS506)。
【0050】次に、全待ち状態累積時間算出手段15
は、このステップ(S507)の時点(タスクが待ち状
態から実行状態に移行した時点と精度的には同義)にお
ける計時機構10の示す時刻とタスク制御ブロック20
内の状態更新時刻22の値との差分、即ち待ち状態にい
た時間を、タスク制御ブロック20内の全待ち状態累積
時間24に加算することで、測定対象のタスクが任意の
セマフォで待ち状態となっている累積時間を測定する
(ステップS507)。
は、このステップ(S507)の時点(タスクが待ち状
態から実行状態に移行した時点と精度的には同義)にお
ける計時機構10の示す時刻とタスク制御ブロック20
内の状態更新時刻22の値との差分、即ち待ち状態にい
た時間を、タスク制御ブロック20内の全待ち状態累積
時間24に加算することで、測定対象のタスクが任意の
セマフォで待ち状態となっている累積時間を測定する
(ステップS507)。
【0051】次に、待ち状態終了処理手段12は、この
ステップ(S508)の時点(タスクが待ち状態から実
行状態に移行する時点と精度的には同義)における計時
機構10の示す時刻をタスク制御ブロック20内の状態
更新時刻22に格納する(ステップS508)。
ステップ(S508)の時点(タスクが待ち状態から実
行状態に移行する時点と精度的には同義)における計時
機構10の示す時刻をタスク制御ブロック20内の状態
更新時刻22に格納する(ステップS508)。
【0052】最後に、待ち状態終了処理手段12は、タ
スク制御ブロック20内の状態21を実行状態に更新し
て(ステップS509)、待ち状態終了処理を終了す
る。
スク制御ブロック20内の状態21を実行状態に更新し
て(ステップS509)、待ち状態終了処理を終了す
る。
【0053】このようにして、本実施の形態において
は、各タスクに関し、ボトルネックであることが疑われ
る複数のセマフォに対する待ち時間の測定を行うことが
できる。また、その結果として、被測定待ち状態累積時
間27が最大であったセマフォをボトルネックとして検
出する。
は、各タスクに関し、ボトルネックであることが疑われ
る複数のセマフォに対する待ち時間の測定を行うことが
できる。また、その結果として、被測定待ち状態累積時
間27が最大であったセマフォをボトルネックとして検
出する。
【0054】
【発明の効果】以上説明してきたように、本発明によれ
ば、個々のタスク毎に、夫々ボトルネックであることが
疑われる複数のセマフォに対して待ち時間の測定を行っ
て複数の待ち累積時間得ることが出来る為、あるタスク
に関して固有のボトルネックがあった場合、他の原因に
起因して該タスクが待ち状態におかれる待ち時間の大小
に関わらず、該タスクのボトルネックを高い精度で検出
することができるボトルネック検出装置が得られる。
ば、個々のタスク毎に、夫々ボトルネックであることが
疑われる複数のセマフォに対して待ち時間の測定を行っ
て複数の待ち累積時間得ることが出来る為、あるタスク
に関して固有のボトルネックがあった場合、他の原因に
起因して該タスクが待ち状態におかれる待ち時間の大小
に関わらず、該タスクのボトルネックを高い精度で検出
することができるボトルネック検出装置が得られる。
【0055】また、本発明によれば、測定対象となるタ
スクにおける測定対象となるセマフォに関する待ち時間
のみを測定することができるため、測定対象外のタスク
に関して測定処理を行う場合に生じる処理時間の増加に
よるシステムの動作への影響がなくなることから、従来
例と比較して、測定を行うことによる測定対象システム
の動作への影響が少ないボトルネック検出装置が得られ
る。
スクにおける測定対象となるセマフォに関する待ち時間
のみを測定することができるため、測定対象外のタスク
に関して測定処理を行う場合に生じる処理時間の増加に
よるシステムの動作への影響がなくなることから、従来
例と比較して、測定を行うことによる測定対象システム
の動作への影響が少ないボトルネック検出装置が得られ
る。
【図1】本発明の実施の形態のボトルネック検出装置の
構成を示すブロック図である。
構成を示すブロック図である。
【図2】図1に示されるタスク制御ブロックに格納され
ているデータを示す図である。
ているデータを示す図である。
【図3】本発明の実施の形態における測定条件設定処理
を示すフローチャートである。
を示すフローチャートである。
【図4】本発明の実施の形態における待ち状態開始処理
を示すフローチャートである。
を示すフローチャートである。
【図5】本発明の実施の形態における待ち状態終了処理
を示すフローチャートである。
を示すフローチャートである。
1 処理装置 2 共有メモリ 3 入力手段 4 出力手段 10 計時機構 11 待ち状態開始処理手段 12 待ち状態終了処理手段 13 測定条件検出手段 14 被測定待ち状態累積時間算出手段 15 全待ち状態累積時間算出手段 16 測定条件設定手段 20 タスク制御ブロック 21 状態 22 状態更新時刻 23 セマフォ識別情報 24 全待ち状態累積時間 25 第二測定制御情報 26 被測定セマフォ識別情報 27 被測定待ち状態累積時間 28 セマフォ 29 第一測定制御情報
Claims (5)
- 【請求項1】 ブロック型の同期待ち処理方式を用いた
並列処理環境において、ボトルネックを検出するボトル
ネック検出方法であって、 各タスク毎に、ボトルネックであることが疑われる複数
のセマフォの夫々に対して待ち時間を測定し、前記夫々
のセマフォにおける待ち時間の累積を被測定待ち状態累
積時間として算出して、該被測定待ち状態累積時間が最
大であるセマフォをボトルネックであるとして検出する
ボトルネック検出方法。 - 【請求項2】 各タスク毎に、測定対象のセマフォの識
別情報を被測定セマフォ識別情報として記憶し、タスク
毎に待ち状態に移行した時間を待ち状態開始時間として
記憶し、セマフォに対する操作の結果としてタスクが待
ち状態を抜ける場合に該セマフォの識別情報であるセマ
フォ識別情報と前記被測定セマフォ識別情報とが一致し
ているかどうかを検出し、該検出の結果に一致している
場合には、現在の時間と前記待ち状態開始時間とから、
待ち状態にあった時間を算出し、前記測定対象のセマフ
ォにより今迄待ち状態におかれていた待ち時間の合計を
記憶している内容に、前記算出の結果である今回待ち状
態にあった時間を加算して、被測定待ち状態累積時間と
し、該被測定待ち状態累積時間が最大であるセマフォを
ボトルネックであるとして検出するボトルネック検出方
法。 - 【請求項3】 複数のタスクの夫々に対応した複数のタ
スク制御ブロックを記憶するための第1の記憶領域と複
数の事象の夫々に対応した複数のセマフォを記憶するた
めの第2の記憶領域とを備える記憶手段を有しており、
前記複数のタスクの特定の一つが前記事象の特定の一つ
を待ち合わせる際には、該特定のタスクに関する情報を
前記タスク制御ブロックの特定の一つとして前記第1の
記憶領域に格納すると共に、前記第2の記憶領域の前記
セマフォに前記特定のタスク制御ブロックを示す情報を
格納し、前記待ち合わせていた特定の事象が発生した際
には、前記特定のタスク制御ブロックから該特定のタス
クに関する情報を読みだして実行する処理手段とを備え
ることにより並列処理を実現している情報処理装置にお
けるボトルネックを検出するボトルネック検出装置にお
いて、 前記第1の記憶領域内の前記特定のタスク制御ブロック
に対応する記憶領域は、前記複数のセマフォの内の測定
対象であるセマフォに関する識別情報である被測定セマ
フォ識別情報を格納する第1の格納領域と、測定対象で
あるタスクが待ち合わせた事象に対応したセマフォの識
別情報であるセマフォ識別情報を格納する第2の格納領
域と、前記測定対象であるタスクが待ち状態に遷移した
時刻情報を格納する第3の格納領域と、前記測定対象で
あるタスクが全ての待ち状態にいた累積時間の情報であ
る全待ち状態累積時間情報を格納する第4の格納領域
と、前記測定対象であるセマフォに対応した待ち状態の
累積時間の情報である被測定待ち状態累積時間情報を格
納する第5の格納領域とを備えており、 前記処理手段は、 前記被測定セマフォ識別情報を前記第1の格納領域に格
納させると共に、前記第4及び第5の領域を初期化する
測定条件設定手段と、 前記セマフォ識別情報を前記第2の領域に格納させると
共に、前記時刻情報を前記第3の領域に格納させる待ち
状態開始処理手段と、 前記測定対象であるタスクが待ち状態を終了する際に、
前記第3の領域に格納されている前記時刻情報と現在の
時刻情報との差分を算出して前記第4の領域の全待ち状
態累積時間情報に加算する全待ち状態累積時間算出手段
と、 前記測定対象であるタスクが待ち状態を終了する際に、
前記第1の領域に格納されている被測定セマフォ識別情
報と、前記第2の領域に格納されているセマフォ識別情
報とが一致するかしないかを検出する測定条件検出手段
と、 前記測定条件検出手段が被測定セマフォ識別情報とセマ
フォ識別情報との一致を検出した場合、前記第3の領域
に格納されている時刻情報と現在の時刻情報の差分を算
出して前記第5の領域の被測定待ち状態累積時間情報に
加算する被測定待ち状態累積時間算出手段とを備えてお
り、 各タスク毎に、ボトルネックであることが疑われる複数
のセマフォの夫々に対して待ち時間の測定を行って、前
記夫々のセマフォにおける待ち時間の累積を前記被測定
待ち状態累積時間情報として算出し、前記被測定待ち状
態累積時間情報が最大であるセマフォをボトルネックで
あるとして判定することを特徴とするボトルネック検出
装置。 - 【請求項4】 前記測定条件設定手段は、前記情報処理
装置に唯一存在し、前記情報処理装置全体の測定処理の
有無を示す情報である第一測定制御情報を設定して前記
記憶手段に格納することを特徴とする請求項3に記載の
ボトルネック検出装置。 - 【請求項5】 前記測定条件設定手段は、前記タスク制
御ブロック毎に前記タスクの測定処理の有無を示す情報
である第二測定制御情報を設定して前記タスク制御ブロ
ックに格納することを特徴とする請求項4に記載のボト
ルネック検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8218445A JPH1063516A (ja) | 1996-08-20 | 1996-08-20 | ボトルネック検出方法及びボトルネック検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8218445A JPH1063516A (ja) | 1996-08-20 | 1996-08-20 | ボトルネック検出方法及びボトルネック検出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH1063516A true JPH1063516A (ja) | 1998-03-06 |
Family
ID=16720032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8218445A Pending JPH1063516A (ja) | 1996-08-20 | 1996-08-20 | ボトルネック検出方法及びボトルネック検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH1063516A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009059316A (ja) * | 2007-09-04 | 2009-03-19 | Nec Corp | 測定装置、測定プログラム、および、測定方法 |
JP2009245055A (ja) * | 2008-03-31 | 2009-10-22 | Mitsubishi Electric Information Systems Corp | 排他実行制御装置及び排他実行制御プログラム |
JP2010128664A (ja) * | 2008-11-26 | 2010-06-10 | Fujitsu Ltd | マルチプロセッサシステム、競合回避プログラム及び競合回避方法 |
US20230185636A1 (en) * | 2021-12-10 | 2023-06-15 | Nvidia Corporation | Application programming interfaces for interoperability |
-
1996
- 1996-08-20 JP JP8218445A patent/JPH1063516A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009059316A (ja) * | 2007-09-04 | 2009-03-19 | Nec Corp | 測定装置、測定プログラム、および、測定方法 |
JP2009245055A (ja) * | 2008-03-31 | 2009-10-22 | Mitsubishi Electric Information Systems Corp | 排他実行制御装置及び排他実行制御プログラム |
JP4611397B2 (ja) * | 2008-03-31 | 2011-01-12 | 三菱電機インフォメーションシステムズ株式会社 | 排他実行制御装置及び排他実行制御プログラム |
JP2010128664A (ja) * | 2008-11-26 | 2010-06-10 | Fujitsu Ltd | マルチプロセッサシステム、競合回避プログラム及び競合回避方法 |
US20230185636A1 (en) * | 2021-12-10 | 2023-06-15 | Nvidia Corporation | Application programming interfaces for interoperability |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0789292A2 (en) | Power consumption estimating apparatus for a microprocessor | |
US4601008A (en) | Data processing system | |
US9400732B2 (en) | Performance regression testing in presence of noise | |
EP2476059B1 (en) | A method and apparatus for determining processor performance | |
JP2010152458A (ja) | 性能測定プログラム及び性能測定方法並びに性能測定機能を有する情報処理装置。 | |
EP0548909B1 (en) | Performance evaluation method and device thereof for a parallel computer | |
JP2008004054A (ja) | タスク遷移図表示方法及び表示装置 | |
JP3751466B2 (ja) | プログラム応答時間予測装置 | |
JPH1063516A (ja) | ボトルネック検出方法及びボトルネック検出装置 | |
US20040034852A1 (en) | Simulation method and simulation system of instruction scheduling | |
WO2012056569A1 (ja) | 性能測定方法、性能測定装置、及び、性能測定プログラム | |
JP2715904B2 (ja) | 計算機システム性能評価装置 | |
US8001362B2 (en) | Processing unit | |
JP2009217385A (ja) | プロセッサ及びマルチプロセッサ | |
JP2004252670A (ja) | 共有リソースの競合検出器および共有リソースの競合検出方法 | |
CN117234786B (zh) | 基于大数据的计算机性能控制分析***及方法 | |
JPH04305740A (ja) | 処理状況表示方法 | |
JP2006293427A (ja) | ソフトウェア評価装置及びシステム | |
CN115640197A (zh) | 物联网操作***内核性能测试方法、装置及*** | |
JPS62125442A (ja) | プログラム性能測定方式 | |
KR100251637B1 (ko) | 동기식 전송장치의 유닛 경보 검출방법 | |
JPH11212830A (ja) | プロセッサ性能測定装置 | |
JPH10333927A (ja) | プロセスのディスパッチ装置 | |
JPS6063647A (ja) | 指定プログラムの走行時間測定方法 | |
JPH02126345A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19990616 |