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
Application number
JP24706297A
Other languages
English (en)
Other versions
JPH1185574A (ja
Inventor
治 樋口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP24706297A priority Critical patent/JP3152178B2/ja
Publication of JPH1185574A publication Critical patent/JPH1185574A/ja
Application granted granted Critical
Publication of JP3152178B2 publication Critical patent/JP3152178B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ロック動作測定方
法に関し、特にセマフォアのビジー率及び競合率を算出
するためのロック動作測定方法に関する。
【0002】
【従来の技術】従来この種の技術では、情報処理装置で
動作したプログラムの命令情報であるトレース情報を作
成し、その後このトレース情報を用いてロックの取得及
び解放の関係を解析することによりロック動作を測定し
ている。たとえば、特開平5−66972号公報には、
予め作成したトレース情報と、ロック解析対象範囲指定
情報と、セマフォア情報とからロック区間を解析して平
均命令実行時間を計算する方法が記載されている。
【0003】
【発明が解決しようとする課題】上述の従来技術では、
プログラム実行に関する全ての情報を一旦トレース情報
として格納し、その後これに基づいてロックの取得及び
解放の関係を解析しているため、トレース情報が膨大な
ものとなり、十分な範囲におけるトレースが不可能であ
った。
【0004】本発明の目的は、トレース情報の上限に制
約されることなく、十分な範囲におけるロック動作の測
定を行うことにある。
【0005】
【課題を解決するための手段】上記課題を解決するため
に本発明のロック動作測定方法は、測定対象として指定
されたセマフォアのロック取得からロック解放までの時
間を実時間で測定する。
【0006】また、本発明の他のロック動作測定方法
は、測定対象として指定されたセマフォアのロック取得
待ちからロック取得までの時間を実時間で測定する。
【0007】また、本発明の他のロック動作測定方法
は、測定中か否かを表示する測定動作表示情報と、少な
くとも一つの測定対象セマフォアを特定する情報とを格
納する測定情報エリアを含む情報処理装置におけるロッ
ク動作測定方法であって、前記測定動作表示情報が測定
中である旨を表示している間に前記測定対象セマフォア
についてのロック取得またはロック解放の要求があった
場合に、ロック取得からロック解放までの時間を実時間
で測定する。
【0008】また、本発明の他のロック動作測定方法に
おいて、前記測定情報エリアは前記測定対象セマフォア
のそれぞれに対応して、当該セマフォアがロック取得状
態に移入した時間であるロック移入時間と、当該セマフ
ォアがロック取得状態にある時間の累積値であるロック
取得時間累積とをさらに格納する。
【0009】また、本発明の他のロック動作測定方法に
おいて、前記ロック取得時間累積は、ロック解放時に、
現在時間から前記ロック移入時間を減じたものを、前記
ロック取得時間累積に加えることにより更新される。
【0010】また、本発明の他のロック動作測定方法に
おいて、前記ロック取得時間累積の測定後、前記ロック
取得時間累積を経過時間で割った値をセマフォアビジー
率として算出する。
【0011】また、本発明の他のロック動作測定方法
は、測定中か否かを表示する測定動作表示情報と、少な
くとも一つの測定対象セマフォアを特定する情報とを格
納する測定情報エリアを含む情報処理装置におけるロッ
ク動作測定方法であって、前記測定動作表示情報が測定
中である旨を表示している間に前記測定対象セマフォア
についてのロック取得またはロック解放の要求があった
場合に、ロック取得待ちからロック取得までの時間を実
時間で測定する。
【0012】また、本発明の他のロック動作測定方法に
おいて、前記測定情報エリアは前記測定対象セマフォア
のそれぞれに対応して、当該セマフォアに対するロック
取得待ち状態にある時間の累積値であるロック取得待ち
時間累積をさらに格納する。
【0013】また、本発明の他のロック動作測定方法に
おいて、前記ロック取得待ち時間累積は、ロック解放時
に、現在時間からプロセスの現実行状態に遷移した時間
を減じたものを、前記ロック取得待ち時間累積に加える
ことにより更新される。
【0014】また、本発明の他のロック動作測定方法に
おいて、前記ロック取得待ち時間累積の測定後、前記ロ
ック取得時間待ち累積を経過時間で割った値をセマフォ
ア競合率として算出する。
【0015】
【発明の実施の形態】次に本発明のロック動作測定方法
の実施の形態について図面を参照して詳細に説明する。
【0016】図1を参照すると、本発明の実施の形態
は、記憶装置上に設けられた測定情報エリア200と、
セマフォアのロックを取得するためのP動作400と、
セマフォアのロックを解放するためのV動作500と、
測定情報エリア200内の情報からセマフォアビジー率
を算出する手段311と、測定情報エリア200内の情
報からセマフォア競合率を算出する手段312とを含ん
でいる。
【0017】P動作400は、ロックを取得しようとす
るセマフォアについて他のプロセスが既にロックを取得
しているか否かをチェックして、いずれのプロセスもそ
のロックを取得していなければ、ロックを取得する。も
し、いずれかのプロセスがそのロックを取得していれ
ば、ロック取得待ちをそのセマフォアの待ち行列へつな
げる。
【0018】V動作500は、セマフォアのロックを解
放し、そのセマフォアの待ち行列にロック取得待ちがあ
ればそれについてロックを取得する。
【0019】各セマフォアにはセマフォアカウント(以
下、SCTという。)が設けられ、P動作400及びV
動作500において使用される。すなわち、いずれのプ
ロセスにもロックが取得されていない状態を「SCT=
1」として、P動作400を1回行う度にSCTから1
を減じ、V動作500を1回を行う度にSCTに1を加
える。これにより、P動作400の最初にSCTをチェ
ックして、これが「1」であればいずれのプロセスもそ
のロックを取得していないことを判断できる。また、V
動作500の最初にSCTをチェックして、これが負の
値であればそのセマフォアの待ち行列にロック取得待ち
があることを判断できる。
【0020】図2を参照すると、測定情報エリア200
は、測定動作表示情報210と、測定セマフォア数22
0と、セマフォアアドレス230と、ロック移入時間2
40と、ロック取得時間累積250と、ロック取得待ち
時間累積260とを含んでいる。
【0021】測定操作表示情報210は、例えば2ビッ
トからなり、”11”の場合は測定中、”01”の場合
は測定中断、”00”の場合は測定していないことを示
す。
【0022】測定セマフォア数220は、測定対象とな
ってるセマフォアの数を示す。この実施の形態では測定
できるセマフォアの数は最大10個となっており、各セ
マフォアのアドレスがセマフォアアドレス#0〜9(2
30)に保持される。
【0023】各セマフォアに対応して、ロック移入時間
240、ロック取得時間累積250、及び、ロック取得
待ち時間累積260が設けられている。ロック移入時間
240は、そのセマフォアがロック取得状態に移入した
時刻を保持する。ロック取得時間累積250は、そのセ
マフォアがロック取得状態にある時間を累積的に保持す
る。ロック取得待ち時間累積260は、そのセマフォア
がロック取得のための待ち状態にある時間を累積的に保
持する。
【0024】次に、本発明のロック動作測定方法の実施
の形態における動作について図面を参照して詳細に説明
する。
【0025】図2及び図3を参照すると、まず測定の開
始にあたって、測定情報エリア200の測定セマフォア
数220及びその数に応じたセマフォアアドレス230
を設定する(ステップS301)。具体的には、例え
ば、測定対象のセマフォア数及びセマフォアアドレスを
記憶装置の所定の領域に格納しておき、その領域の先頭
アドレスをアドレスレジスタに保持しておく。そして、
そのアドレスレジスタを測定情報設定命令で指定するこ
とにより、測定情報エリア200の測定セマフォア数2
20及びセマフォアアドレス230が設定される。
【0026】また、測定情報エリア200における各セ
マフォアのロック取得時間累積250及びロック取得待
ち時間累積260をゼロにリセットする(ステップS3
02)。
【0027】このように測定情報エリア200の初期設
定が終了すると、測定開始が指示される(ステップS3
03)。具体的には、データレジスタに”11”をセッ
トしておき、このデータレジスタを測定制御命令で指定
することにより、測定情報エリア200の測定操作表示
情報210を”11”に設定する。これにより、測定モ
ードになり、その間にP動作400及びV動作500で
セマフォアに関する操作が行われるとその状態が測定さ
れる(ステップS304)。
【0028】一連の処理が終了すると、測定停止が指示
される(ステップS305)。具体的には、データレジ
スタに”01”をセットしておき、このデータレジスタ
を測定制御命令で指定することにより、測定情報エリア
200の測定操作表示情報210を”01”に設定す
る。この状態において、測定情報エリア200の各セマ
フォアに対応するロック移入時間240、ロック取得時
間累積250、及び、ロック取得待ち時間累積260が
読み出されて、ソフトウェアからアクセス可能な記憶領
域に書き込まれる。具体的には、測定情報読出し命令に
より測定情報エリア200の測定操作表示情報210
が”01”であることを確認し、”01”であれば測定
情報読出し命令により指定された記憶装置上の領域にロ
ック移入時間、ロック取得時間累積、及び、ロック取得
待ち時間累積を書き込む。
【0029】その後、測定を続行する場合にはステップ
S303に戻り(ステップS307)、測定を終了する
場合には測定終了指示を行う(ステップS308)。具
体的には、データレジスタに”00”をセットしてお
き、このデータレジスタを測定制御命令で指定すること
により、測定情報エリア200の測定操作表示情報21
0を”00”に設定する。
【0030】測定が終了すると、得られた測定データよ
り、セマフォアのビジー率及び競合率を算出する(ステ
ップS310)。具体的な算出式は、次のようになる。
【0031】セマフォアビジー率 = セマフォアロッ
ク取得時間累積/経過時間 セマフォア競合率 = セマフォアロック取得待ち時
間累積/経過時間 ここで、経過時間とは、測定対象となったプログラムの
実行時間をいう。
【0032】図4を参照すると、P動作400におい
て、まず測定が必要か否かが判断される(ステップS4
01)。具体的には、測定情報エリア200の測定操作
表示情報210が”11”であれば測定が必要、”0
0”または”01”であれば測定は不要ということにな
る。測定不要と判断された場合には測定をせずに通常の
動作のみを行う。
【0033】測定が必要と判断された場合であっても、
セマフォアが既に他のプロセスによって取得されていれ
ば(ステップS402)そのセマフォアは取得すること
ができないため、測定をせずに通常の動作のみを行う。
【0034】セマフォアの取得が可能であれば、そのセ
マフォアが測定しようとするセマフォアと一致するか否
かを判断する(ステップS403〜S407)。すなわ
ち、変数iに測定セマフォア数220を設定し、変数P
ADRに最初のセマフォアアドレス#0(230)を設
定する(ステップS403)。取得しようとするセマフ
ォアのアドレス(MADR)が測定対象セマフォアのア
ドレス(PADR)と一致するか否かを判断し(ステッ
プS404)、一致しなければ変数iを1減じて(ステ
ップS405)変数iが0になるまで(ステップS40
6)変数PADRに次の測定対象セマフォアのアドレス
を設定する(ステップS407)ことにより、取得しよ
うとするセマフォアのアドレス(MADR)が測定対象
セマフォアのアドレス(PADR)と一致するか否かを
順次判断していく。
【0035】取得しようとするセマフォアが測定しよう
とするセマフォアのいずれかと一致すれば、ロック取得
状態に移入することとなるので、測定情報エリア200
のロック移入時間240に現在時間を設定する(ステッ
プS408)。
【0036】図5を参照すると、V動作500におい
て、まず測定が必要か否かが判断される(ステップS5
01)。具体的には、測定情報エリア200の測定操作
表示情報210が”11”であれば測定中、”00”ま
たは”01”であれば測定中でないということになる。
測定中でないと判断された場合には測定に関する処理を
せずに通常の動作のみを行う。
【0037】測定中であれば、解放しようとするセマフ
ォアが測定中のセマフォアと一致するか否かを判断する
(ステップS503〜S507)。すなわち、変数iに
測定セマフォア数220を設定し、変数PADRに最初
のセマフォアアドレス#0(230)を設定する(ステ
ップS503)。解放しようとするセマフォアのアドレ
ス(MADR)が測定対象セマフォアのアドレス(PA
DR)と一致するか否かを判断し(ステップS50
4)、一致しなければ変数iを1減じて(ステップS5
05)変数iが0になるまで(ステップS506)変数
PADRに次の測定対象セマフォアのアドレスを設定す
る(ステップS507)ことにより、解放しようとする
セマフォアのアドレス(MADR)が測定対象セマフォ
アのアドレス(PADR)と一致するか否かを順次判断
していく。
【0038】解放しようとするセマフォアが測定対象セ
マフォアのいずれかと一致すれば、当該セマフォアのセ
マフォアカウント(SCT)を参照し、ロック取得待ち
がなければ(すなわち、SCT=0であれば(ステップ
S508))、ロック取得時間累積250に現在時間を
加えてロック移入時間240を減ずる(ステップS50
9)。また、ロック取得待ちがあれば(すなわち、SC
T<0であれば(ステップS510))、ロック取得待
ち時間累積260を更新する(ステップS511)。
【0039】ロック取得待ち時間累積260の更新は以
下のようにして行う。一般に、各プロセスは、プロセス
コントロールブロック(PCB)に保持された情報に基
づいて制御される。このPCBは、その制御情報の一つ
として、現状態遷移時間(CET)を保持しており、現
在の実行状態に遷移した時刻を格納している。プロセス
の実行状態としては、一般に、実行中状態、実行可能状
態、実行待機状態、及び、実行留保状態の4つの状態を
とり得るが、例えば実行待機状態から実行中状態に遷移
する際このCETを参照することにより、実行待機状態
にあった時間を得ることができる。従って、このCET
を用いれば、ロック取得待ち時間累積に現在時間を加え
てCETを減ずることにより、新たなロック取得待ち時
間累積を得ることができる。
【0040】なお、ここでは、PCB内のCETを利用
することとしたが、このCETと同等の値を測定情報エ
リア200内に設けることによりロック取得待ち時間累
積260の更新を行うことが可能である。
【0041】このように、本発明の実施の形態によれ
ば、測定情報エリア200内に設定されたセマフォアに
測定対象を絞って、動的に実時間でロック取得時間累積
やロック取得待ち時間累積を採取することにより、トレ
ース情報ファイルの上限に制約されることなく、セマフ
ォアのビジー率及び競合率を算出することができる。
【0042】また、測定動作表示情報を2ビットとした
ことにより、測定データを読み出す期間を確保すること
ができ、プログラムエラーに起因して測定データを破壊
するおそれを回避することができる。
【0043】
【発明の効果】以上の説明で明らかなように、本発明に
よると、動的にロック取得時間累積やロック取得待ち時
間累積を採取することにより、プログラムの広範囲にお
けるロック取得状況を把握することができる。
【図面の簡単な説明】
【図1】本発明のロック動作測定方法の実施の形態の構
成を示すブロック図である。
【図2】本発明の実施の形態における測定情報エリアの
内容を示す図である。
【図3】本発明の実施の形態における全体の動作を表す
図である。
【図4】本発明の実施の形態におけるP動作に組み込ま
れた処理を表す図である。
【図5】本発明の実施の形態におけるV動作に組み込ま
れた処理を表す図である。
【符号の説明】
200 測定情報エリア 311 セマフォアビジー率算出手段 312 セマフォア競合率算出手段 400 P動作処理手段 500 V動作処理手段
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−191952(JP,A) 特開 平5−66972(JP,A) 特開 平2−162436(JP,A) 特開 平4−76639(JP,A) 特開 平5−181711(JP,A) 特開 昭63−259740(JP,A) 特開 平9−218807(JP,A) 特開 平5−204678(JP,A) 特開 平10−63516(JP,A) 特開 昭59−71555(JP,A) 特開 平7−175687(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 11/28 - 11/36 G06F 9/46

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 測定中か否かを表示する測定動作表示情
    報と、少なくとも一つの測定対象セマフォアを特定する
    情報とを格納する測定情報エリアを含む情報処理装置に
    おけるロック動作測定方法において、 前記測定動作表示情報が測定中である旨を表示している
    間に前記測定対象セマフォアについてのロック取得また
    はロック解放の要求があった場合に、ロック取得からロ
    ック解放までの時間を実時間で測定し、当該セマフォア
    がロック取得状態に移入した時間であるロック移入時間
    と、当該セマフォアがロック取得状態にある時間の累積
    値であるロック取得時間累積とを格納することを特徴と
    するロック動作測定方法。
  2. 【請求項2】 前記ロック取得時間累積は、ロック解放
    時に、現在時間から前記ロック移入時間を減じたもの
    を、前記ロック取得時間累積に加えることにより更新さ
    れることを特徴とする請求項1記載のロック動作測定方
    法。
  3. 【請求項3】 前記ロック取得時間累積の測定後、前記
    ロック取得時間累積を経過時間で割った値をセマフォア
    ビジー率として算出することを特徴とする請求項1記載
    のロック動作測定方法。
  4. 【請求項4】 測定中か否かを表示する測定動作表示情
    報と、少なくとも一つの測定対象セマフォアを特定する
    情報とを格納する測定情報エリアを含む情報処理装置に
    おけるロック動作測定方法において、 前記測定動作表示情報が測定中である旨を表示している
    間に前記測定対象セマフォアについてのロック取得また
    はロック解放の要求があった場合に、ロック取得待ちか
    らロック取得までの時間を実時間で測定し、当該セマフ
    ォアに対するロック取得待ち状態にある時間の累積値で
    あるロック取得待ち時間累積を格納することを特徴とす
    るロック動作測定方法。
  5. 【請求項5】 前記ロック取得待ち時間累積は、ロック
    解放時に、現在時間からプロセスの現実行状態に遷移し
    た時間を減じたものを、前記ロック取得待ち時間累積に
    加えることにより更新されることを特徴とする請求項4
    記載のロック動作測定方法。
  6. 【請求項6】 前記ロック取得待ち時間累積の測定後、
    前記ロック取得時間待ち累積を経過時間で割った値をセ
    マフォア競合率として算出することを特徴とする請求項
    4記載のロック動作測定方法。
JP24706297A 1997-09-11 1997-09-11 ロック動作測定方法 Expired - Fee Related JP3152178B2 (ja)

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)

* Cited by examiner, † Cited by third party
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
WO2012132017A1 (ja) 2011-03-31 2012-10-04 富士通株式会社 排他制御方法、および排他制御プログラム
JP6666216B2 (ja) * 2016-08-31 2020-03-13 日立オートモティブシステムズ株式会社 電子制御装置、解析システム

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) プログラマブルコントローラの動作状態監視装置
JPH05224992A (ja) プログラムテスト装置
JP2663540B2 (ja) プログラマブル制御装置
JP2877075B2 (ja) 計測器制御装置および方法
JP2906382B2 (ja) プログラマブルコントローラにおけるユーザプログラムのトレース方式
JP4569011B2 (ja) プログラマブルコントローラ及びその周辺装置
JP2595718B2 (ja) インサーキットエミュレータ
JP3212214B2 (ja) 状態遷移試験装置
JP2674873B2 (ja) プログラム開発支援装置のステップ実行動作方法
JP2621651B2 (ja) 仮想記憶使用量測定処理装置
JPS60252959A (ja) オンライン・トレ−ス制御方式
JPH03129442A (ja) Cpu性能測定装置
JPS607554A (ja) コンピユ−タシステムの性能測定方式
JPH08153026A (ja) プログラム性能評価用データの測定方法およびそのための測定装置
JPH04361332A (ja) ディバッガのメモリ管理処理方法
JPH03110601A (ja) 間接アドレス指定データのモニタ方法
JPS63147224A (ja) 画面表示形式のテスト方式
JPH03232051A (ja) セマフォアクセス制御方法
JPH02173841A (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