JP3152178B2 - ロック動作測定方法 - Google Patents
ロック動作測定方法Info
- Publication number
- JP3152178B2 JP3152178B2 JP24706297A JP24706297A JP3152178B2 JP 3152178 B2 JP3152178 B2 JP 3152178B2 JP 24706297 A JP24706297 A JP 24706297A JP 24706297 A JP24706297 A JP 24706297A JP 3152178 B2 JP3152178 B2 JP 3152178B2
- Authority
- JP
- Japan
- Prior art keywords
- lock
- time
- semaphore
- measurement
- lock acquisition
- 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
Landscapes
- Debugging And Monitoring (AREA)
Description
法に関し、特にセマフォアのビジー率及び競合率を算出
するためのロック動作測定方法に関する。
動作したプログラムの命令情報であるトレース情報を作
成し、その後このトレース情報を用いてロックの取得及
び解放の関係を解析することによりロック動作を測定し
ている。たとえば、特開平5−66972号公報には、
予め作成したトレース情報と、ロック解析対象範囲指定
情報と、セマフォア情報とからロック区間を解析して平
均命令実行時間を計算する方法が記載されている。
プログラム実行に関する全ての情報を一旦トレース情報
として格納し、その後これに基づいてロックの取得及び
解放の関係を解析しているため、トレース情報が膨大な
ものとなり、十分な範囲におけるトレースが不可能であ
った。
約されることなく、十分な範囲におけるロック動作の測
定を行うことにある。
に本発明のロック動作測定方法は、測定対象として指定
されたセマフォアのロック取得からロック解放までの時
間を実時間で測定する。
は、測定対象として指定されたセマフォアのロック取得
待ちからロック取得までの時間を実時間で測定する。
は、測定中か否かを表示する測定動作表示情報と、少な
くとも一つの測定対象セマフォアを特定する情報とを格
納する測定情報エリアを含む情報処理装置におけるロッ
ク動作測定方法であって、前記測定動作表示情報が測定
中である旨を表示している間に前記測定対象セマフォア
についてのロック取得またはロック解放の要求があった
場合に、ロック取得からロック解放までの時間を実時間
で測定する。
おいて、前記測定情報エリアは前記測定対象セマフォア
のそれぞれに対応して、当該セマフォアがロック取得状
態に移入した時間であるロック移入時間と、当該セマフ
ォアがロック取得状態にある時間の累積値であるロック
取得時間累積とをさらに格納する。
おいて、前記ロック取得時間累積は、ロック解放時に、
現在時間から前記ロック移入時間を減じたものを、前記
ロック取得時間累積に加えることにより更新される。
おいて、前記ロック取得時間累積の測定後、前記ロック
取得時間累積を経過時間で割った値をセマフォアビジー
率として算出する。
は、測定中か否かを表示する測定動作表示情報と、少な
くとも一つの測定対象セマフォアを特定する情報とを格
納する測定情報エリアを含む情報処理装置におけるロッ
ク動作測定方法であって、前記測定動作表示情報が測定
中である旨を表示している間に前記測定対象セマフォア
についてのロック取得またはロック解放の要求があった
場合に、ロック取得待ちからロック取得までの時間を実
時間で測定する。
おいて、前記測定情報エリアは前記測定対象セマフォア
のそれぞれに対応して、当該セマフォアに対するロック
取得待ち状態にある時間の累積値であるロック取得待ち
時間累積をさらに格納する。
おいて、前記ロック取得待ち時間累積は、ロック解放時
に、現在時間からプロセスの現実行状態に遷移した時間
を減じたものを、前記ロック取得待ち時間累積に加える
ことにより更新される。
おいて、前記ロック取得待ち時間累積の測定後、前記ロ
ック取得時間待ち累積を経過時間で割った値をセマフォ
ア競合率として算出する。
の実施の形態について図面を参照して詳細に説明する。
は、記憶装置上に設けられた測定情報エリア200と、
セマフォアのロックを取得するためのP動作400と、
セマフォアのロックを解放するためのV動作500と、
測定情報エリア200内の情報からセマフォアビジー率
を算出する手段311と、測定情報エリア200内の情
報からセマフォア競合率を算出する手段312とを含ん
でいる。
るセマフォアについて他のプロセスが既にロックを取得
しているか否かをチェックして、いずれのプロセスもそ
のロックを取得していなければ、ロックを取得する。も
し、いずれかのプロセスがそのロックを取得していれ
ば、ロック取得待ちをそのセマフォアの待ち行列へつな
げる。
放し、そのセマフォアの待ち行列にロック取得待ちがあ
ればそれについてロックを取得する。
下、SCTという。)が設けられ、P動作400及びV
動作500において使用される。すなわち、いずれのプ
ロセスにもロックが取得されていない状態を「SCT=
1」として、P動作400を1回行う度にSCTから1
を減じ、V動作500を1回を行う度にSCTに1を加
える。これにより、P動作400の最初にSCTをチェ
ックして、これが「1」であればいずれのプロセスもそ
のロックを取得していないことを判断できる。また、V
動作500の最初にSCTをチェックして、これが負の
値であればそのセマフォアの待ち行列にロック取得待ち
があることを判断できる。
は、測定動作表示情報210と、測定セマフォア数22
0と、セマフォアアドレス230と、ロック移入時間2
40と、ロック取得時間累積250と、ロック取得待ち
時間累積260とを含んでいる。
トからなり、”11”の場合は測定中、”01”の場合
は測定中断、”00”の場合は測定していないことを示
す。
ってるセマフォアの数を示す。この実施の形態では測定
できるセマフォアの数は最大10個となっており、各セ
マフォアのアドレスがセマフォアアドレス#0〜9(2
30)に保持される。
240、ロック取得時間累積250、及び、ロック取得
待ち時間累積260が設けられている。ロック移入時間
240は、そのセマフォアがロック取得状態に移入した
時刻を保持する。ロック取得時間累積250は、そのセ
マフォアがロック取得状態にある時間を累積的に保持す
る。ロック取得待ち時間累積260は、そのセマフォア
がロック取得のための待ち状態にある時間を累積的に保
持する。
の形態における動作について図面を参照して詳細に説明
する。
始にあたって、測定情報エリア200の測定セマフォア
数220及びその数に応じたセマフォアアドレス230
を設定する(ステップS301)。具体的には、例え
ば、測定対象のセマフォア数及びセマフォアアドレスを
記憶装置の所定の領域に格納しておき、その領域の先頭
アドレスをアドレスレジスタに保持しておく。そして、
そのアドレスレジスタを測定情報設定命令で指定するこ
とにより、測定情報エリア200の測定セマフォア数2
20及びセマフォアアドレス230が設定される。
マフォアのロック取得時間累積250及びロック取得待
ち時間累積260をゼロにリセットする(ステップS3
02)。
定が終了すると、測定開始が指示される(ステップS3
03)。具体的には、データレジスタに”11”をセッ
トしておき、このデータレジスタを測定制御命令で指定
することにより、測定情報エリア200の測定操作表示
情報210を”11”に設定する。これにより、測定モ
ードになり、その間にP動作400及びV動作500で
セマフォアに関する操作が行われるとその状態が測定さ
れる(ステップS304)。
される(ステップS305)。具体的には、データレジ
スタに”01”をセットしておき、このデータレジスタ
を測定制御命令で指定することにより、測定情報エリア
200の測定操作表示情報210を”01”に設定す
る。この状態において、測定情報エリア200の各セマ
フォアに対応するロック移入時間240、ロック取得時
間累積250、及び、ロック取得待ち時間累積260が
読み出されて、ソフトウェアからアクセス可能な記憶領
域に書き込まれる。具体的には、測定情報読出し命令に
より測定情報エリア200の測定操作表示情報210
が”01”であることを確認し、”01”であれば測定
情報読出し命令により指定された記憶装置上の領域にロ
ック移入時間、ロック取得時間累積、及び、ロック取得
待ち時間累積を書き込む。
S303に戻り(ステップS307)、測定を終了する
場合には測定終了指示を行う(ステップS308)。具
体的には、データレジスタに”00”をセットしてお
き、このデータレジスタを測定制御命令で指定すること
により、測定情報エリア200の測定操作表示情報21
0を”00”に設定する。
り、セマフォアのビジー率及び競合率を算出する(ステ
ップS310)。具体的な算出式は、次のようになる。
ク取得時間累積/経過時間 セマフォア競合率 = セマフォアロック取得待ち時
間累積/経過時間 ここで、経過時間とは、測定対象となったプログラムの
実行時間をいう。
て、まず測定が必要か否かが判断される(ステップS4
01)。具体的には、測定情報エリア200の測定操作
表示情報210が”11”であれば測定が必要、”0
0”または”01”であれば測定は不要ということにな
る。測定不要と判断された場合には測定をせずに通常の
動作のみを行う。
セマフォアが既に他のプロセスによって取得されていれ
ば(ステップS402)そのセマフォアは取得すること
ができないため、測定をせずに通常の動作のみを行う。
マフォアが測定しようとするセマフォアと一致するか否
かを判断する(ステップS403〜S407)。すなわ
ち、変数iに測定セマフォア数220を設定し、変数P
ADRに最初のセマフォアアドレス#0(230)を設
定する(ステップS403)。取得しようとするセマフ
ォアのアドレス(MADR)が測定対象セマフォアのア
ドレス(PADR)と一致するか否かを判断し(ステッ
プS404)、一致しなければ変数iを1減じて(ステ
ップS405)変数iが0になるまで(ステップS40
6)変数PADRに次の測定対象セマフォアのアドレス
を設定する(ステップS407)ことにより、取得しよ
うとするセマフォアのアドレス(MADR)が測定対象
セマフォアのアドレス(PADR)と一致するか否かを
順次判断していく。
とするセマフォアのいずれかと一致すれば、ロック取得
状態に移入することとなるので、測定情報エリア200
のロック移入時間240に現在時間を設定する(ステッ
プS408)。
て、まず測定が必要か否かが判断される(ステップS5
01)。具体的には、測定情報エリア200の測定操作
表示情報210が”11”であれば測定中、”00”ま
たは”01”であれば測定中でないということになる。
測定中でないと判断された場合には測定に関する処理を
せずに通常の動作のみを行う。
ォアが測定中のセマフォアと一致するか否かを判断する
(ステップS503〜S507)。すなわち、変数iに
測定セマフォア数220を設定し、変数PADRに最初
のセマフォアアドレス#0(230)を設定する(ステ
ップS503)。解放しようとするセマフォアのアドレ
ス(MADR)が測定対象セマフォアのアドレス(PA
DR)と一致するか否かを判断し(ステップS50
4)、一致しなければ変数iを1減じて(ステップS5
05)変数iが0になるまで(ステップS506)変数
PADRに次の測定対象セマフォアのアドレスを設定す
る(ステップS507)ことにより、解放しようとする
セマフォアのアドレス(MADR)が測定対象セマフォ
アのアドレス(PADR)と一致するか否かを順次判断
していく。
マフォアのいずれかと一致すれば、当該セマフォアのセ
マフォアカウント(SCT)を参照し、ロック取得待ち
がなければ(すなわち、SCT=0であれば(ステップ
S508))、ロック取得時間累積250に現在時間を
加えてロック移入時間240を減ずる(ステップS50
9)。また、ロック取得待ちがあれば(すなわち、SC
T<0であれば(ステップS510))、ロック取得待
ち時間累積260を更新する(ステップS511)。
下のようにして行う。一般に、各プロセスは、プロセス
コントロールブロック(PCB)に保持された情報に基
づいて制御される。このPCBは、その制御情報の一つ
として、現状態遷移時間(CET)を保持しており、現
在の実行状態に遷移した時刻を格納している。プロセス
の実行状態としては、一般に、実行中状態、実行可能状
態、実行待機状態、及び、実行留保状態の4つの状態を
とり得るが、例えば実行待機状態から実行中状態に遷移
する際このCETを参照することにより、実行待機状態
にあった時間を得ることができる。従って、このCET
を用いれば、ロック取得待ち時間累積に現在時間を加え
てCETを減ずることにより、新たなロック取得待ち時
間累積を得ることができる。
することとしたが、このCETと同等の値を測定情報エ
リア200内に設けることによりロック取得待ち時間累
積260の更新を行うことが可能である。
ば、測定情報エリア200内に設定されたセマフォアに
測定対象を絞って、動的に実時間でロック取得時間累積
やロック取得待ち時間累積を採取することにより、トレ
ース情報ファイルの上限に制約されることなく、セマフ
ォアのビジー率及び競合率を算出することができる。
ことにより、測定データを読み出す期間を確保すること
ができ、プログラムエラーに起因して測定データを破壊
するおそれを回避することができる。
よると、動的にロック取得時間累積やロック取得待ち時
間累積を採取することにより、プログラムの広範囲にお
けるロック取得状況を把握することができる。
成を示すブロック図である。
内容を示す図である。
図である。
れた処理を表す図である。
れた処理を表す図である。
Claims (6)
- 【請求項1】 測定中か否かを表示する測定動作表示情
報と、少なくとも一つの測定対象セマフォアを特定する
情報とを格納する測定情報エリアを含む情報処理装置に
おけるロック動作測定方法において、 前記測定動作表示情報が測定中である旨を表示している
間に前記測定対象セマフォアについてのロック取得また
はロック解放の要求があった場合に、ロック取得からロ
ック解放までの時間を実時間で測定し、当該セマフォア
がロック取得状態に移入した時間であるロック移入時間
と、当該セマフォアがロック取得状態にある時間の累積
値であるロック取得時間累積とを格納することを特徴と
するロック動作測定方法。 - 【請求項2】 前記ロック取得時間累積は、ロック解放
時に、現在時間から前記ロック移入時間を減じたもの
を、前記ロック取得時間累積に加えることにより更新さ
れることを特徴とする請求項1記載のロック動作測定方
法。 - 【請求項3】 前記ロック取得時間累積の測定後、前記
ロック取得時間累積を経過時間で割った値をセマフォア
ビジー率として算出することを特徴とする請求項1記載
のロック動作測定方法。 - 【請求項4】 測定中か否かを表示する測定動作表示情
報と、少なくとも一つの測定対象セマフォアを特定する
情報とを格納する測定情報エリアを含む情報処理装置に
おけるロック動作測定方法において、 前記測定動作表示情報が測定中である旨を表示している
間に前記測定対象セマフォアについてのロック取得また
はロック解放の要求があった場合に、ロック取得待ちか
らロック取得までの時間を実時間で測定し、当該セマフ
ォアに対するロック取得待ち状態にある時間の累積値で
あるロック取得待ち時間累積を格納することを特徴とす
るロック動作測定方法。 - 【請求項5】 前記ロック取得待ち時間累積は、ロック
解放時に、現在時間からプロセスの現実行状態に遷移し
た時間を減じたものを、前記ロック取得待ち時間累積に
加えることにより更新されることを特徴とする請求項4
記載のロック動作測定方法。 - 【請求項6】 前記ロック取得待ち時間累積の測定後、
前記ロック取得時間待ち累積を経過時間で割った値をセ
マフォア競合率として算出することを特徴とする請求項
4記載のロック動作測定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24706297A JP3152178B2 (ja) | 1997-09-11 | 1997-09-11 | ロック動作測定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24706297A JP3152178B2 (ja) | 1997-09-11 | 1997-09-11 | ロック動作測定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1185574A JPH1185574A (ja) | 1999-03-30 |
JP3152178B2 true JP3152178B2 (ja) | 2001-04-03 |
Family
ID=17157863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24706297A Expired - Fee Related JP3152178B2 (ja) | 1997-09-11 | 1997-09-11 | ロック動作測定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3152178B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009251871A (ja) * | 2008-04-04 | 2009-10-29 | Nec Corp | 競合分析装置、競合分析方法、およびプログラム |
JP2010113574A (ja) * | 2008-11-07 | 2010-05-20 | Panasonic Corp | マルチプロセッサにおける資源の排他制御方法、排他制御システムおよびその関連技術 |
US8453122B2 (en) * | 2009-11-10 | 2013-05-28 | International Business Machines Corporation | Symmetric multi-processor lock tracing |
JP5725162B2 (ja) | 2011-03-31 | 2015-05-27 | 富士通株式会社 | 排他制御方法、および排他制御プログラム |
JP6666216B2 (ja) * | 2016-08-31 | 2020-03-13 | 日立オートモティブシステムズ株式会社 | 電子制御装置、解析システム |
-
1997
- 1997-09-11 JP JP24706297A patent/JP3152178B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1185574A (ja) | 1999-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3152178B2 (ja) | ロック動作測定方法 | |
JPH0511827A (ja) | 工業用自動装置の実行時間出力方式 | |
JPH0447340B2 (ja) | ||
JP3389745B2 (ja) | プログラムの性能測定装置と方法 | |
JP2595082B2 (ja) | プログラマブルコントローラの動作状態監視装置 | |
JPS62245443A (ja) | プログラムの実行時間測定方法 | |
JPH05224992A (ja) | プログラムテスト装置 | |
JP2663540B2 (ja) | プログラマブル制御装置 | |
JPS6337436A (ja) | プログラム開発支援装置 | |
JP3419916B2 (ja) | プロセス実行情報採取装置 | |
JP2877075B2 (ja) | 計測器制御装置および方法 | |
JPH10187484A (ja) | シミュレータ | |
JP4569011B2 (ja) | プログラマブルコントローラ及びその周辺装置 | |
JPH08153026A (ja) | プログラム性能評価用データの測定方法およびそのための測定装置 | |
JP2761306B2 (ja) | インタ−バルタイマのテスト方法 | |
JP2713810B2 (ja) | 電子式キャッシュレジスタ | |
JP2621651B2 (ja) | 仮想記憶使用量測定処理装置 | |
JPH03129442A (ja) | Cpu性能測定装置 | |
JPH0465729A (ja) | シンボリック・デバッガ | |
JPH04361332A (ja) | ディバッガのメモリ管理処理方法 | |
JPH03110601A (ja) | 間接アドレス指定データのモニタ方法 | |
JPS63147224A (ja) | 画面表示形式のテスト方式 | |
JPH0573347A (ja) | エミユレーシヨン装置 | |
JPS61272840A (ja) | マイクロコンピユ−タプログラムのテスト網羅度測定装置 | |
JPS63245533A (ja) | プログラム性能測定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20001226 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080126 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090126 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100126 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110126 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110126 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120126 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130126 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |