JPH0566972A - ロツク区間の自動解析方法と平均命令実行時間の計算方法 - Google Patents

ロツク区間の自動解析方法と平均命令実行時間の計算方法

Info

Publication number
JPH0566972A
JPH0566972A JP3227381A JP22738191A JPH0566972A JP H0566972 A JPH0566972 A JP H0566972A JP 3227381 A JP3227381 A JP 3227381A JP 22738191 A JP22738191 A JP 22738191A JP H0566972 A JPH0566972 A JP H0566972A
Authority
JP
Japan
Prior art keywords
lock
information
instruction
semaphore
svc
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.)
Granted
Application number
JP3227381A
Other languages
English (en)
Other versions
JP2570018B2 (ja
Inventor
Yasushi Sugimura
康 杉村
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP3227381A priority Critical patent/JP2570018B2/ja
Publication of JPH0566972A publication Critical patent/JPH0566972A/ja
Application granted granted Critical
Publication of JP2570018B2 publication Critical patent/JP2570018B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 本発明の目的は情報処理装置内で動作したプ
ログラムで実行された全ての命令のロックを掛けている
ロック区間を解析し、正確なロック時間を求めることで
ある。 【構成】 本発明は情報処理装置で動作したプログラム
の命令情報であるトレース情報(11)と、ロック解析対象
範囲指定情報(12)と、セマフォのスーパーバイザコール
番号の情報であるセマフォ情報(13)を入力情報(1) と
し、ロック区間自動解析プログラム(2) によりスピンロ
ックのロック位置とアンロック位置、及びセマフォロッ
クのロック位置とアンロック位置を決定し、それぞれ所
定の解析結果(16)を出力し、さらに、ロック単位毎に平
均命令実行時間解析対象範囲指定情報(17)を出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はロック区間の自動解析と
平均命令実行時間の計算方法に係り、特に、電子計算
機、ワードプロセッサ、電子交換機、ワークステーショ
ン等の情報処理装置内で動作したプログラムで実行され
た全ての命令のロック区間の自動解析方法と平均命令実
行時間の計算方法に関する。
【0002】
【従来の技術】一般に、制御表やI/O装置やその他の
資源(以下SRR(Serial Reusable Resource)) をある
時点において、単一の利用者のみが使用可能とする排他
使用制御をロックと称する。
【0003】ロックの制御はSRRの占有開始を行う
(これをロックを掛ける、又は単にロックともいう)動
作とSRRの占有解除を行う(ロックを外す、又は単に
アンロックともいう)動作から成る。また、ロックの制
御は、SRRが使用中の場合の処理の違いによりスピン
ロックとセマフォロックの2つの方式がある。
【0004】先ず、スピンロックについて説明する。ス
ピンロックは通常、複数台のCPUが主メモリを共用す
るマルチプロセッサである密結合マルチプロセッサにお
いて、SRRをある一つのCPUのみが占有するための
ロック方式である。このスピンロックはロックを掛ける
ときにSRRが使用中の場合、CPUはループを行って
一定時間が来るのを待って、次に再度ロックを掛けよう
と試みる。この場合、SRRが使用中であるかどうかの
判定と、SRRにロックを掛ける処理(主メモリ上の指
定情報を更新する処理)はCPUが提供する特殊な命令
によって行われる。
【0005】また、スピンロックにおいて、SRRのロ
ックを外す処理は、一般の主メモリの内容の更新用命令
で行う場合と、ロックを掛ける命令と同じ命令を使用す
る場合がある。
【0006】次にセマフォロックについて説明する。セ
マフォロックは通常、密結合マルチプロセッサ及び、シ
ングルプロセッサにおいて、SRRを一つのタスク、又
は、一つのプロセスのみが占有するためのロック方式で
ある。このセマフォロックはロック区間中にタスクやプ
ロセスのウェイトの処理が存在し得る(CPUの使用の
放棄が存在し得る)点でスピンロックとは大きく異な
る。セマフォロックはロックを掛けるときにSRRが使
用中であれば、そのタスク又は、プロセスをウェイト状
態とし、SRRの使用中が他のタスク又はプロセスによ
り解除される時に、ウェイト状態が解除されてロックが
掛けられる。この様に、セマフォロックはスピンロック
に比して、複雑な処理を行うため、一般にスーパバイザ
コール(SVC)又は、システムコール(SC)の形態
でその処理が実現される。利用者はSVCやSCを発行
してロックを掛け、また、ロックを外す。
【0007】この場合、ロック区間は (x)ロックを掛けるためのSVCのルーチン内で実際
にロックを掛けた箇所から、そのSVCルーチンを脱出
するまでの間: (y)ロックを掛けるためのSVC等を発行した箇所の
次の命令の箇所(SVCルーチンを脱出した直後に実行
される命令の箇所)からロックを外すためのSVCを発
行した箇所までの間: (z)ロックを外すためのSVCルーチンに入ってから
実際にロックを外すまでの間:の3者の区間合計とな
る。 また、ロック区間で消費される時間をロック時間と呼
び、このロック時間と単位時間あたりのロック使用頻度
よりロック使用率を求めれば確率的にロックの待ち時間
を計算することが可能である。
【0008】
【発明が解決しようとする課題】しかし、上記のスピン
ロックはSRRのロック外す処理を行う場合の命令はロ
ックを外すためだけに使用するものでないが故に単に命
令だけをみて、ロックを外すために使用されているの
か、それとも他の処理を行うために使用されているのか
判別できない。従って、ロック区間を簡単に特定できな
いという問題がある。
【0009】一方、セマフォロックのロック区間におい
ては、ロック区間(y)は利用者が容易に特定できる
が、ロック区間(x)と(z)は製造担当者が異なるこ
とと、処理が複雑である等の理由により、利用者が独自
にロック区間を解析することが困難である。
【0010】また、ロック時間はロック区間で走行する
命令の数だけでなく、ロック区間で走行する命令の種類
や命令の使用状況により大きく変化する場合があるの
で、待ち時間を正確に計算するためには、ロック区間で
走行する命令の数とその区間に於ける平均命令実行時間
を正確に求める必要がある。
【0011】しかしながら、従来においてはロック区間
を自動的に特定する方法と、そのロック区間のみを抽出
した平均命令実行時間を自動的に計算する方法がなかっ
たため、正確なロック待ち時間を計算することができな
いという問題がある。
【0012】本発明は上記の点に鑑みなされたもので、
ロック区間を自動的に特定し、ロック区間毎に解析結果
を出力することができ、さらに、セマフォロック及び、
ロックアドレス毎のスピンロックのロック区間のみの平
均命令実行時間を求めるための平均命令実行時間の解析
対象範囲情報を自動的に生成することができるロック区
間の自動解析方法と平均命令実行時間の計算方法を提供
することを目的とする。
【0013】
【課題を解決するための手段】情報処理装置内で動作し
たプログラムにおいて実行された全ての命令の情報であ
るトレース情報と、トレース情報のうちロック区間解析
を必要とする範囲が指定されているロック解析範囲指定
情報と、ロックのスーパバイザコール番号の情報を有す
るセマフォ情報を入力情報とし、ロック解析範囲指定情
報によりトレース情報内の命令の情報からロック用の特
殊命令を識別することによりスピンロックのロック位置
を決定し、特殊命令が更新するアドレス情報を記憶し、
特殊命令の直後にトレース情報内に現れるアドレス情報
と同一のアドレスを更新する更新用命令を検出すること
によりスピンロックのアンロック位置を決定し、スピン
ロックのロック位置とスピンロックのアンロック位置に
よりスピンロック区間を特定し、セマフォ情報により指
定されたスーパバイザコール番号を有する同一のスーパ
バイザコール命令をロック解析範囲指定情報により限定
されたトレース情報を順次参照し、セマフォロックのロ
ック位置とアンロック位置の大要を決定し、セマフォロ
ックのロック位置とアンロック位置の直後に存在するス
ピンロックのロック位置とアンロック位置よりセマフォ
ロックのロック位置とアンロック位置を決定することに
より、セマフォロックのロック区間を特定し、ロック解
析範囲指定情報で指定されたトレース情報の命令情報の
ロック区間毎の解析結果を求める。
【0014】また、スピンロックのロックアドレス毎の
ロック位置とアンロック位置、及びセマフォロックのロ
ック位置とアンロック位置よりロック単位毎に平均命令
実行時間を計算するための情報を生成し、平均命令実行
時間を計算するプログラムに平均命令実行時間を計算す
るための情報を入力し、ロック区間のみの平均命令実行
時間を計算する。
【0015】
【作用】本発明のロック区間の自動解析と平均命令実行
時間の計算方法では、情報処理装置で動作したプログラ
ムの命令の情報と、セマフォのSVC番号の情報とロッ
ク解析対象範囲の情報を入力情報とし、ロック解析対象
範囲の情報により解析する命令の情報を限定し、セマフ
ォのSVC番号の情報よりセマフォロックのロック位置
及び、アンロック位置の大要を決定する。さらに、命令
の情報のうちロックに使用する特殊命令を識別してスピ
ンロックのロック位置を決定する。ロック対象の命令が
更新するアドレスを記憶し、その命令の直後にトレース
情報内に現れるそのアドレス情報と同一のアドレスを更
新する更新用命令を検出することにより、スピンロック
のアンロック位置を決定して、スピンロックのロック区
間を決定し、それらの位置関係よりセマフォのロック位
置とアンロック位置を決定してそれらの解析結果を出力
する。これにより、解析結果としてロック状態結果、ロ
ック統計結果及び、その他のメッセージ等の解析結果が
得られる。
【0016】また、それらの処理に並行し、ロック単位
毎に平均命令実行時間を計算するための平均命令実行時
間解析を計算するための情報を出力する。これにより、
平均命令実行時間を計算するプログラムを用いてロック
単位毎のロック区間のみの平均命令実行時間を求めるこ
とができる。
【0017】
【実施例】図1は本発明の一実施例の入出力の概要を示
す。同図は入力情報1、ロック区間自動解析プログラム
2及び、出力情報3の関係を示す。先ず、入力情報1は
トレース情報11、ロック解析範囲指定情報12及び、
セマフォ情報13より構成される。そのうち、トレース
情報11は情報処理装置内の動作プログラムにおいて実
行された命令の情報を格納してあるファイルである。ト
レース情報11の情報は命令自身(命令コードとオペラ
ンドからなる)、命令が格納されていた主メモリ上のア
ドレス、及び、その命令が実行された時に変更されたレ
ジスタの種類と番号と変更後のレジスタの内容を含む。
【0018】次にロック解析範囲指定情報12は利用者
が予め作成しておくソースファイル形式のファイルであ
る。これは入力情報1であるトレース情報11のうち、
解析対象としない部分を指定する。さらにロック解析範
囲指定情報12の範囲指定の方法について説明する。 (1)先ず、この範囲指定方法は解析を開始するトレー
ス情報11の中の命令のの先頭からの位置を指定する。
例えば、先頭の命令は1、次の命令は2、n番目の命令
はnというように指定する。この指定を省略した場合は
トレース情報11の先頭を指定したものと見なされる。 (2)次に解析を終了する命令のトレース情報11の先
頭からの位置を指定する。この指定を省略した場合はト
レース情報11の最後の命令を指定したものと見なされ
る。 (3)さらに、先頭の解析開始の命令より解析終了の命
令までの命令で、特に処理対象外とする命令群の先頭の
命令の位置と、最終の命令の位置を指定する。また、こ
の指定は複数個の指定が可能である。 これによりトレース情報11のうち、任意の部分を解析
対象外と指定することができる。
【0019】さらに、セマフォ情報13は利用者が予め
作成しておくソースファイル形式のファイルで、セマフ
ォのロック及びアンロックに使用されるSVCの番号の
情報であり、操作の種別(ロック又は、アンロックを表
す)、SVC番号、及びニーモニック名を一組として、
それらを複数組記述したものから成る。ニーモニック名
はその操作の通称名を表す。
【0020】出力情報3は解析結果16、平均命令実行
時間解析対象範囲指定情報1 ,平均命令実行時間解析対
象範囲指定情報2 ,・・・,平均命令実行時間解析対象
範囲指定情報N より構成される。Nはトレース情報11
の中にセマフォのロックを行っている命令が無い場合
は、トレース情報11の中にあるスピンロックのロック
対象の情報の相違なるアドレスの数となる。また、トレ
ース情報11の中にセマフォのロックを行っている命令
が有る場合は、トレース情報11の中にあるスピンロッ
クのロック対象の情報の相違なるアドレス数+1とな
る。
【0021】解析結果16は大別して、(A)ロック状
況結果、(B)ロック統計結果、及び(C)その他のメ
ッセージの3種類の情報が出力される。ロック区間自動
解析プログラム2はトレース情報11を先頭の命令から
最後の命令の方向に順次1回だけ入力するが、上記の
(A)ロック状況結果は入力情報1の入力時に、適宜出
力され、(B)ロック統計結果はトレース情報11の入
力が全て完了した後に出力される。また、(C)その他
のメッセージは適宜出力される。
【0022】(A)ロック状況結果には次のからの
7種類がある。 (a)スピンロックに関するロック状況結果 スピンロックの開始情報、及びスピンロックの終了
情報 (b)セマフォロックに関するロック状況結果 ロックSVCの開始情報、セマフォロックの開始情
報、ユーザ走行開始情報、アンロックSVCの開始
情報、セマフォロックの終了情報がある。 次にからの情報について説明する。
【0023】(a)スピンロックに関するロック状況結
果のスピンロックの開始情報は、トレース情報11の
入力時にスピンロックを掛けている命令を検出した時に
出力する。 スピンロックの開始情報は、 −ロックレベル; −スピンロックの開始であることを示すスピンロック表
示; −当命令のトレース情報11の先頭から数えた命令の番
号、及び解析対象外の命令を除いて数えた命令の番号で
あるロック位置; −当命令のニーモニック名、当命令の主メモリ上のアド
レス、ロック対象の情報のアドレスであるロックアドレ
スから成る。
【0024】(a)スピンロックに関するロック状況結
果のスピンロックの終了情報は、トレース情報11の
入力時にスピンロックを外している命令を検出した時に
出力する。 スピンロックの終了情報は、 −ロックレベル; −スピンロックの終了であることを示すスピンアンロッ
ク表示; −当命令のトレース情報11の先頭から数えた命令の番
号、及び解析対象外の命令は除いて数えた命令の番号で
あるアンロック位置; −当命令のニーモニック名、当命令の主メモリ上のアド
レス; −アンロック対象の情報のアドレスであるアンロックア
ドレス; −スピンロックの開始情報からスピンロックの終了
情報までに実行された命令のステップ数からなる。
【0025】(b)セマフォロックに関するロック状況
結果のロックSVCの開始情報は、トレース情報11
の入力時にセマフォロック用SVCの命令を検出した時
に出力する。 ロックSVCの開始情報は、 −ロックレベル; −ロックSVCの開始であることを示すロックSVC表
示; −当命令のトレース情報11の先頭から数えた命令の番
号及び、解析対象外の命令は除いて数えた命令の番号で
あるロックSVC位置; −SVC番号; −当SVCのニーモニック名; −当命令の主メモリ上のアドレスから成る。
【0026】(b)セマフォロックに関するロック状況
結果のセマフォロックの開始情報は、トレース情報1
1の入力時にセマフォロック用のSVCの命令の直後に
スピンロックの開始を検出した時に出力する。 セマフォロックの開始情報は、 −ロックレベル; −セマフォロックの開始であることを示すロック済表
示; −当命令のトレース情報11の先頭から数えた命令の番
号、及び解析対象外の命令は除いて数えた命令の番号で
あるロック済位置; −セマフォロックSVCのニーモニック名; −当命令の主メモリ上のアドレスから成る。
【0027】なお、一般にセマフォロックの処理はセマ
フォロック用SVCの中でスピンロックを掛けてから行
い、スピンロック中は他のタスク等はセマフォの情報を
参照できないので、当該スピンロックの開始が実質的な
セマフォロックの開始と等価である。
【0028】(b)セマフォロックに関するロック状況
結果のユーザ走行開始情報は、トレース情報11の入
力時にセマフォロック用SVCのルーチンからそのSV
Cの発行元に脱出(リターン)した直後の命令を検出し
た時に出力する。 ユーザ走行開始情報は、 −ロックレベル; −ユーザ走行開始であることを示すSVC脱出直後表
示; −当命令のトレース情報11の先頭から数えた命令の番
号、及び解析対象外の命令は除いて数えた命令の番号で
あるSVC脱出直後位置; −セマフォロックSVCのニーモニック名; −当命令の主メモリ上のアドレス; −直前のセマフォロックの開始情報の位置から当命令
の直前までの実行命令のステップ数からなる。
【0029】なお、SVCの発行元への脱出の判定は
ロックSVCの開始情報のSVC命令の主メモリ上のア
ドレスを記憶しておき、そのアドレスの左2バイトと同
一の左2バイトである主メモリ上のアドレスにある命令
の検出によって行う。
【0030】(b)セマフォロックに関するロック状況
結果のアンロックSVCの開始情報はトレース情報1
1の入力時にセマフォアンロック用SVCを検出した時
に出力する。 アンロックSVCの開始情報は、 −ロックレベル; −アンロックSVCの開始であることを示すアンロック
SVC表示; −当命令のトレース情報11の先頭から数えた命令の番
号、及び解析対象外の命令は除いて数えた命令の番号; −SVC番号; −セマフォアンロックSVCのニーモニック名; −当命令の主メモリ上のアドレス; −ユーザ走行開始情報からアンロックSVCの開始
情報までに実行された命令ステップ数から成る。
【0031】(b)セマフォロックに関するロック状況
結果のセマフォロックの終了情報はトレース情報11
の入力時にセマフォロック用SVCの命令の直後にスピ
ンロックの終了をセマフォロックのロックレベルより一
つだけ大きいロックレベルにおいて検出した時に出力す
る。 セマフォロックの終了情報は、 −ロックレベル; −セマフォロックの終了であることを示すセマフォアン
ロック表示; −当命令のトレース情報11の先頭から数えた命令の番
号、及び解析対象外の命令は除いて数えた命令の番号で
あるセマフォアンロック位置; −セマフォアンロックSVCのニーモニック名; −当命令の主メモリ上のアドレス; −ユーザ走行開始情報からアンロックSVCの開始
情報までに実行された命令ステップ数から成る。
【0032】なお、一般にセマフォアンロックの処理は
セマフォアンロック用SVCの中でスピンロックを掛け
てから行うので、当該スピンロックの終了が実質的なセ
マフォロックの終了と等価である。
【0033】なお、上記のロックレベルとはロックを多
重に掛けている度合いを数字で表すもので、ロックが全
然掛けられていない場合は、“0”、ロックが単に1つ
のみ掛けられている場合は“1”、ロックが多重にM個
掛けられている場合は“M”で表す。
【0034】次に解析結果16の(B)ロック統計結果
について説明する。セマフォロックのロックレベル1の
(B)ロック統計結果は、 −セマフォのロック回数の合計; −セマフォロックの開始情報からユーザ走行開始情
報の直前の命令までの実行命令の平均ステップ数; −ユーザ走行開始情報からアンロックSVCの開始
情報までの実行命令の平均ステップ数(平均ロックステ
ップ数); −アンロックSVCの開始情報の次の命令からセマ
フォロックの終了情報までの実行命令の平均ステップ
数; −上記ロックSVCの開始情報からセマフォロック
の終了情報までの実行命令の平均ステップ数からなる。
【0035】但し、上記の(A)ロック状況結果は全て
のレベルのセマルフォロックについて出力されるので、
それらを参考にして、利用者がロック解析範囲指定情報
12を適宜作成し直す。例えば、不要なロックレベル1
のセマフォロック・アンロックSVC命令を解析対象外
とする。これにより、結果的に任意のレベルのセマフォ
ロックについてロック統計結果を得ることも可能であ
る。
【0036】スピンロックについては、ロックアドレス
毎に −ロックアドレス; −ロックアドレスにおけるスピンロックの回数の合計; −ロックアドレスにおけるスピンロックの開始情報か
らスピンロックの終了情報までの実行命令の平均ステ
ップ数(平均ロックステップ数)からなる。
【0037】出力情報3の平均命令実行時間解析対象範
囲指定情報17(1〜N)は、全て平均命令実行時間を
計算するプログラム(特願平3−13577)の入力情
報である「範囲指定」と同一形式であり、また、この形
式はロック解析範囲指定情報12とも同一の形式であ
る。平均命令実行時間解析対象範囲指定情報17はロッ
クレベル1のセマフォロックに対して1つ、及び、スピ
ンロックについては相違なるロックアドレス毎に1つず
つ生成される。
【0038】なお、セマフォロックについては、ロック
レベル1のものについてだけしか生成されないが、上記
のロック状況結果(A)は全てのレベルのセマフォロッ
クについて出力されるので、それらを参考にして、利用
者がロック解析範囲指定情報12を適宜作成し直すこと
により、結果的に任意のレベルのセマフォロックについ
て平均命令実行時間解析対象範囲指定情報17を得るこ
とも可能である。
【0039】次にロック区間自動解析プログラム2の処
理について説明する。図2は本発明の一実施例のロック
区間自動解析プログラムの処理のフローチャート(その
1)を示す。図2はステップ51からステップ61につ
いて示す。図3は本発明の一実施例のロック区間自動解
析プログラムの処理のフローチャート(その2)を示
す。図3はステップ62からステップ68について示
す。図4は本発明の一実施例のロック区間自動解析プロ
グラムの処理のフローチャート(その3)を示す。図4
はステップ69からステップ72について示す。図5は
本発明の一実施例のロック区間自動解析プログラムの処
理のフローチャート(その4)を示す。図5はステップ
73からステップ78について示す。図6は本発明の一
実施例のロック区間自動解析プログラムの処理のフロー
チャート(その5)を示す。図6はステップ79からス
テップ85について示す。図7は本発明の一実施例のロ
ック区間自動解析プログラムの処理のフローチャート
(その6)を示す。図7はステップ86からステップ8
9について示す。図8は本発明の一実施例のロック区間
自動解析プログラムの処理のフローチャート(その7)
を示す。図8はステップ90からステップ91について
示す。
【0040】図2のフローチャートにおいて、ロック区
間自動解析プログラム2は起動されると、ロック解析範
囲指定情報12とセマフォ情報13のファイルはオープ
ンされ、ロック区間自動解析プログラム2に入力され、
ロック区間自動解析プログラム2内の内部テーブルに設
定される。このとき、内部のレジスタテーブル及び、各
種カウンタ等を全て零クリアする(ステップ51)。
【0041】次にトレース情報11の先頭から、一命令
毎の情報を繰り返し入力し、その都度命令位置1 に1を
加算する(ステップ53)。その後、ステップ54以降
で、1命令毎の情報を分析して種々の解析・処理を行
い、それらが終わるとステップ50及び、ステップ52
が実行され、再び、ステップ53に戻ってトレース情報
11の次の一命令毎の情報の処理に移る。
【0042】尚、ステップ54でその命令がロック解析
範囲指定情報12によって解析範囲外であることを検出
すると、その命令の命令情報中のレジスタ情報に従っ
て、その命令によって変更されたレジスタの内容は、ロ
ック区間自動解析プログラム2のレジスタテーブルに設
定され、その命令の実行完了の状態に於ける全てのレジ
スタの内容がレジスタテーブル内に保持されるだけてあ
る(ステップ52)。
【0043】また、ロック解析範囲指定情報12で解析
終了が指定された一命令の情報の処理が終わると、ステ
ップ91の終了処理が実行され、それらの後、ロック区
間自動解析プログラム2は停止する。
【0044】以下、一命令毎に繰り返し実行されるステ
ップ55以降の処理について、スピンロックの場合と、
セマフォロックの場合、及び、終了処理の3つに分けて
説明する。尚、同図において、各ステップのうち菱形で
記述してある部分は判定処理であり、“YES”と記載
されている方向の処理が判定結果が肯定である場合のフ
ローの方向であり、“NO”と記載されている方向の処
理が判定結果が否定である場合のフローの方向である。
また、ステップ53の命令位置1 は、トレース情報11
の先頭の命令からの命令の番号を意味し、ステップ55
の命令位置2 は解析対象外の命令を除いた命令の番号を
意味する。第1にスピンロックの場合について説明す
る。
【0045】『スピンロック』ある一つのスピンロック
の処理を考えると、トレース情報11内に現れる命令は
必ず、ロックを掛けるための命令(スピンロック開始
情報)が先行し、その後にそのロックを外すための命令
(スピンロック終了情報)が来る。ロックを掛けるた
めの命令はトレース情報11の命令の情報の中の命令コ
ードにより判定される。
【0046】ステップ54で命令が解析対象外であった
場合はステップ50の処理に移行し、命令が解析対象外
でなかった場合はステップ55に移行する。その後、命
令位置2 に1を加算する(ステップ55)。
【0047】トレース情報11の命令の情報の中の命令
コードとロック用SVCを比較し、命令コードがロック
用SVCであれば、図8のステップ90のロック用SV
C処理に移行し、ロック用SVCでなければ、ステップ
57に移行する(ステップ56)。
【0048】トレース情報11の命令の情報の中の命令
コードとアンロック用SVCを比較し、命令コードがア
ンロック用SVCであれば図7のステップ87のセマフ
ォアンロックSVC処理に移行し、アンロック用SVC
でなければステップ58に移行する(ステップ57)。
【0049】トレース情報11の命令の情報の中の命令
コードとロック用特殊命令を比較し、命令コードがロッ
ク用特殊命令であれば、図5のステップ77のロック用
特殊命令処理に移行し、ロック用特殊命令でなければ、
ステップ59に移行する(ステップ58)。このロック
用特殊命令にはロックにしか使用されない命令とロック
とアンロックの両方に使用されるものがあるのでそれら
を振り分ける処理をステップ77にて行う(ステップ7
7)。
【0050】ここでロック用特殊命令についてはロック
であるかアンロックであるかを次のように判定する。ロ
ックのみに使用される命令の場合はステップ79に移行
する。ロックとアンロックの両方に使用される命令につ
いては、スピンロックカウンタ(スピンロックカウンタ
はその時何らかのロックが既に掛けられていれば、0よ
り大となるように設定される)が0であれば、そのロッ
ク用特殊命令は無条件にロックである。従って、スピン
ロックカウンタが0より大であるとステップ61に移行
し、そこでその命令で更新されているアドレスを計算す
る(ステップ78)。
【0051】ステップ78でスピンロックカウンタ>0
の場合には、そこでその命令で更新されているアドレス
の計算を行うが、このアドレス計算は命令情報のうち、
オペランドの内容及び、レジスタの内容を参照して行う
(ステップ61)。
【0052】このアドレスと命令によって定まる更新情
報の長さより、すでにロックされている情報のアドレス
を更新しているかを判定する。“現スピンロックアドレ
ス(現ロックレベルの内部テーブル内のスピンロックア
ドレス)≧更新情報アドレス”である場合はステップ6
3へ移行する(ステップ62)。
【0053】“現スピンロックアドレス≦更新情報アド
レス+更新情報の長さ−1”である場合にはステップ6
5に移行し、スピンロックアンロックの処理を行う(ス
テップ63)。
【0054】ステップ62、ステップ63は既にロック
されている情報のアドレスを更新しているかを判定する
ものである。上記のステップ62、ステップ63でその
判定結果が両方とも肯定であれば、アンロックである。
一方、判定結果が否定であればロックであり、その場合
にはステップ64に移行する。
【0055】命令情報の命令コードと更新用命令を比較
し、一致していれば図5のステップ73のその他の命令
の処理を行い、一致していなければ図6のステップ79
のスピンロックの処理を行う(ステップ64)。
【0056】この処理はステップ64でスピンロックが
掛けられていることを検出した時の処理である。スピン
ロックがかけられている多重度を表すスピンロックカウ
ンタとロックレベルを表すロックレベルカウンタにそれ
ぞれ1を加算し、スピンロックアドレスを計算し、現ロ
ックレベルの内部テーブル内のスピンロックアドレスに
設定する。この“現ロックレベルの内部テーブル内のス
ピンロックアドレス”とは“スピンロックアドレスとい
う変数が、ロックレベル毎に複数存在し、それらのうち
どの変数を使用するかはロックレベルカウウンタによっ
て決定する”ことを意味する。また、この時の命令位置
1 、命令位置2 を現ロックレベルのスピンロック命令位
1 、命令位置2 に設定し、現ロックレベルのロック種
別をスピンロックにし、スピンロックの開始情報を解
析結果に出力した後、ステップ80に移行する(ステッ
プ79)。
【0057】図6のステップ80、81、82は平均命
令実行時間解析対象指定情報の出力処理である。
【0058】先ず、ロックアドレスが初めて現れたとき
と、ロックアドレスが既に処理されたことがある場合と
で、2つの処理に分ける。ロックアドレスが初めて現れ
たときはステップ81に移行し、ロックアドレスが既に
処理されたことがある場合はステップ82に移行する
(ステップ80)。
【0059】ロックアドレスが初めて現れたときはロッ
クアドレス用に平均命令実行時間解析対象指定情報17
のファイルを新たにオープンし、平均命令実行時間解析
対象指定情報17のファイルに命令=1から当命令の一
つ前の命令位置までを範囲対象外とする情報を出力する
(ステップ81)。
【0060】ロックアドレスが既に処理されたことがあ
る場合は、ロックアドレスに対応する平均命令実行時間
解析対象指定情報17に、ロックアドレスに関して最後
にアンロックした命令の次の命令の命令位置から当命令
の一つ前の命令位置までを範囲対象外とする情報を出力
する(ステップ82)。
【0061】上記ステップ80、ステップ81、ステッ
プ82の処理の後はステップ83に移行し、セマフォロ
ックに関する処理を行う。セマフォロックに関する処理
は図6、図7と共に後述する。
【0062】セマフォロックに関する処理の終了後、図
2のステップ50に移行し、ステップ52で当命令実行
による変更レジスタの処理の後、次の命令処理のため、
ステップ53に戻る。
【0063】以上のスピンロックのロックを掛ける命令
の処理の後に、今度はロックを外すための命令が来る。
【0064】次にスピンロックのロックを外すための命
令に対する処理について説明する。解析範囲外でないロ
ックを外すための命令をステップ53で入力すると、ス
テップ54,56,57,58,59,60,61,6
2,63を経るか、又は、ステップ54,55,56,
57,58,77,78,61,62,63を経てステ
ップ65のスピンロックアンロックの処理に移行する。
【0065】これらのステップの処理ではステップ62
及び、ステップ63で当命令が更新する更新情報が既に
ロックを掛けたロックアドレスを更新しているかによっ
て、ロックを外しているかどうかを判定する。
【0066】ステップ63から移行したとき、スピン
ロックの終了情報は解析結果に出力され、ロックアドレ
ス毎のロック回数が1加算され、ロックアドレス毎にロ
ック累積値にロックステップ数を加算し、ロックアドレ
ス毎のアンロック位置カウンタに当命令の命令位置1
設定し、ロックレベルカウンタとスピンロックカウンタ
より1減算する(ステップ65)。なお、ロックアドレ
ス毎のロック回数、アンロック位置カウンタはロックア
ドレスの情報がロックアドレス毎に内部テーブル内に存
在することを意味する。その後にステップ66以降の処
理に移行する。
【0067】アンロックの結果、ロックレベルカウンタ
が0となっていれば、ステップ50以降の次の命令等の
処理へ移行し、ロックレベルカウントが1以上である時
は、ステップ67に移行する(ステップ66)。
【0068】ロックレベルカウントが1以上である場
合、現ロックレベルのロック種別がセマフォであるかス
ピンであるかをチェックし、スピンである場合には再度
ステップ62に戻って、再度アンロックの処理が必要か
どうかをチェックする。この処理は一つの更新命令で、
複数のロックを一度にアンロックする場合が存在するた
めに行う(ステップ67)。
【0069】ステップ67で現ロックレベルのロック種
別がセマフォである場合で、ステップ68で現レベルの
ロック状態カウンタがアンロックSVCである場合は、
ステップ69以降のステップでセマフォのアンロック処
理が行われる。この処理は後述する。
【0070】次にセマフォロックの場合の処理について
説明する。
【0071】『セマフォロックの場合』ある一つのセマ
フォロックの処理を考えると、一般にトレース情報11
内に現れる命令には、次の5つの命令が逐次出現する。 ’セマフォロック用SVC命令 ’セマフォロック用SVCルーチンの内部でスピンロ
ックを掛ける命令 ’セマフォロック用SVCルーチンから脱出(リター
ン)して、そのSVCルーチンのユーザの処理が走行開
始する時の命令 ’セマフォアンロック用SVC命令 ’セマフォアンロック用SVCルーチンの内部でスピ
ンロックを掛けた後、そのスピンロックを外す命令。
【0072】これらの“’セマフォロック用SVC命
令”から“’セマフォアンロック用SVCルーチンの
内部でスピンロックを掛けた後、そのスピンロックを外
す命令”は前述した(A)ロック状況結果のからに
対応する。また、“’セマフォロック用SVCルーチ
ンの内部でスピンロックを掛ける命令”から“’セマ
フォロック用SVCルーチンから脱出(リターン)し
て、そのSVCルーチンのユーザの処理が走行開始する
時の命令”の一つ前の命令までと、“’セマフォロッ
ク用SVCルーチンから脱出(リターン)して、そのS
VCルーチンのユーザの処理が走行開始する時の命令”
から“’セマフォアンロック用SVC命令の一つ後の
命令”から“’セマフォアンロック用SVCルーチン
の内部でスピンロックを掛けた後、そのスピンロックを
外す命令”までは、それぞれ、先に従来の技術で示した
(x)ロックをかけるためのSVCのルーチン内で実際
にロックをかけた箇所からそのSVCルーチンを脱出す
るまでの間と、(y)ロックをかけるためのSVC等を
発行した箇所の次の命令の箇所(SVCルーチンを脱出
した直後に実行される命令の箇所)からロックを外すた
めのSVCを発行した箇所までの間と、(z)ロックを
外すためのSVCルーチンに入ってから実際にロックを
外すまでの間に対応する。
【0073】以下に“’セマフォロック用SVC命
令”から“’セマフォアンロック用SVCルーチンの
内部でスピンロックを掛けた後、そのスピンロックを外
す命令”のフローチャート上での処理を順次説明する。 〔セマフォロック用SVC命令の処理〕図2のステップ
56において、命令の情報の命令コードよりSVC命令
を識別し、ステップ51にて入力したセマフォ情報13
のロック用SVCの番号とSVC命令のオペランド及
び、レジスタの内容によって決定されるSVC番号を比
較することにより、ロック用SVCの命令であるかどう
かを判定し、ロック用SVCである場合にはステップ9
0に移行する(ステップ56)。
【0074】図8のステップ90において、ロックレベ
ルカウンタとセマフォカウンタに1加算し、現ロックレ
ベルのロック状態カウンタに「ロックSVC」を表す数
値を設定する。この「ロックSVC」とは、セマフォの
ロック用SVCの命令が現れたが、セマフォを実際に掛
けるためのスピンロックの命令は未だ現れていないこと
を意味する。さらに、現ロックレベルのロック種別にセ
マフォを表す数値を設定する。
【0075】次に、現ロックレベルのユーザ発行元アド
レスにSVC命令のアドレスを設定し、(b)セマフォ
ロックに関するロック状況結果のロックSVCの開始
情報を解析結果に出力し、ステップ50に移行する(ス
テップ90)。
【0076】次にステップ50からステップ52に移行
し、SVC命令の実行による変更されているレジスタの
処理を行った後、次の命令のための処理ステップ53に
戻る(ステップ52)。
【0077】〔’セマフォロック用SVCルーチンの
内部でスピンロックを掛ける命令の処理〕図6のステッ
プ83の直前のステップまでの処理はスピンロックを掛
ける命令が現れた時のスピンロックの処理であるが、こ
れらに引き続いて、セマフォに関する処理を次のように
行う。
【0078】セマフォロックカウンタをチェックしてセ
マフォを掛けるためのSVCが既に出現したかをチェッ
クする。セマフォカウンタ>0の場合は、セマフォを掛
けるためのSVCが既に出現している(ステップ8
3)。
【0079】次に当スピンロックはセマフォのロックの
ためのスピンロックであるかをチェックする。ロックレ
ベルは、スピンロックの出現により、一つ大きくなって
いるので、一つ前のロックレベルのロック種別がセマフ
ォであるかをチェックする(ステップ84)。
【0080】ステップ84において、セマフォであれ
ば、一つ前のロックレベルのロック状態カウンタがロッ
クSVCであるかをチェックする。ロックSVCであれ
ば、当スピンロックはセマフォのロックを掛けるための
スピンロックであるので図7のステップ86に移行する
(ステップ85)。
【0081】セマフォロックの処理として一つ前のロッ
クレベルのロック状態カウンタにロック済(セマフォの
実際のロックを掛ける命令が現れたが、セマフォのロッ
クのSVCルーチンからユーザに未だ脱出していない)
を意味する数値を設定し、当命令の命令位置1 、命令位
2 を一つ前のロックレベルのロック済位置1 、ロック
済位置2 に設定し、一つ前のロックレベルについて、
セマフォロックの開始情報を解析結果に出力し、ステッ
プ50に移行する(ステップ86)。
【0082】ステップ50より移行し、ステップ52で
SVC命令の実行による変更レジスタの処理を行った
後、次の命令の処理のため、ステップ53に移行する。
【0083】〔’セマフォロック用SVCルーチンか
ら脱出してそのSVCルーチンのユーザの処理が走行開
始する時の命令の処理〕セマフォのロック用SVCルー
チンから脱出した直後の命令は、通常SVCルーチンか
らのリターンコードの判定等の処理であり、ロック用S
VCでもアンロック用SVCでもロック用特殊命令でも
なく、また、アンロックのための更新命令でもないの
で、その場合はステップ55,56,57,58,5
9,60,73,74を経由してステップ75が実行さ
れる。
【0084】図5において、ステップ90で設定した現
ロックレベルのユーザ発行元アドレスと当命令のアドレ
スの左2バイトが一致するかどうかをチェックし、一致
すれば、セマフォロックSVCから脱出したと判定し、
ステップ76に移行し、一致しなけばステップ50に移
行する(ステップ75)。
【0085】ステップ75で“命令アドレスの左2バイ
ト=現発行元アドレスの左2バイト”となった場合、当
命令の命令位置1 と命令位置2 を現ロックレベルの脱出
直後位置1 、脱出直後位置2 に設定し、現ロックレベル
のロック状態カウンタにユーザ走行中を意味する数値を
設定し、ユーザ走行開始情報を解析結果に出力し、そ
の後ステップ50に移行する(ステップ76)。
【0086】ステップ50よりステップ52に移行し、
当命令の実行による変更レジスタの処理を行った後、次
の命令の処理のためステップ53に戻る。
【0087】〔セマフォアンロック用SVC命令の処
理〕ステップ56で命令情報の命令コードがロック用S
VCでなかった場合、命令の情報の命令コードよりSV
C命令を識別し、ステップ51で入力したセマフォ情報
のアンロック用SVCの番号とSVC命令のオペラン
ド、及びレジスタの内容によって決定されるSVC番号
を比較することにより、アンロック用SVCの命令であ
るかどうかを判定し、アンロック用SVCである場合に
は図7のステップ87に移行する(ステップ57)。
【0088】セマフォロックカウンタが1以上であるこ
とを確認し、0の場合にはエラーとしてストップする
(ステップ87)。
【0089】ステップ87でセマフォロックカウンタが
1以上の場合には、現ロックレベルのロック状態カウン
タがユーザ走行中であることを確認し、ユーザが走行中
でない場合はエラーとしてストップする(ステップ8
8)。
【0090】ステップ88で現ロックレベルのロック状
態カウンタがユーザ走行中である場合は、現ロックレベ
ルのロック状態カウンタにアンロックSVCを表す数値
を設定し、現ロックレベルのアンロックSVC位置1
SVC位置2 に当命令の命令位置1 ,当命令の命令位置
2 を設定し、アンロックSVCの開始情報を解析結果
に出力する(ステップ89)。
【0091】その後、ステップ50に移行し、ステップ
52で当命令の実行による変更レジスタの処理を行った
後、次の命令の処理のためステップ53に戻る。
【0092】〔セマフォアンロック用SVCルーチン
の内部でスピンロックを掛けた後に、そのスピンロック
を外す命令〕セマフォロックを外す処理は、セマフォア
ンロック用SVCルーチンの内部でスピンロックを掛け
た上でセマフォロックを外し、その後スピンロックを外
す。そのスピンロックを外した時点が実質的なセマフォ
ロックのアンロック位置となる。従って、セマフォのア
ンロックの判定はスピンロックのアンロック処理の直後
であるステップ66以降で行う。
【0093】ロックレベルカウンタが1以上であること
を確認する(ステップ66)。ロック中のロック種別が
セマフォであることを確認する(ステップ67)。次に
ロック状態カウンタがアンロックSVCであることを確
認できれば、当スピンロックのアンロックはセマフォの
アンロックであるのでステップ69に移行する(ステッ
プ68)。
【0094】セマフォアンロック処理としてセマフォ
ロックの終了情報を解析結果に出力する(ステップ6
9)。次にセマフォアンロックカウンタが1であるかど
うかをチェックし(ステップ70)、1であれば、セマ
フォロックは一番外側のセマフォであるので、セマフォ
のロック回数1を加算し、セマフォロックの累積値にロ
ックステップ数を加算し、セマフォロックのアンロック
位置カウンタに当命令の命令位置1 を設定する(ステッ
プ71)。
【0095】次に、ロックレベルカウンタとセマフォロ
ックカウンタを1減算する(ステップ72)。その後、
ステップ50に移行し、ステップ52で当命令の実行に
よる変更レジスタの処理を行った後、次の命令の処理の
ためステップ53に戻る。
【0096】『終了処理』各命令の処理の最後に実行さ
れるステップ50において、ロック解析範囲指定情報で
解析終了が指定された命令位置1を検出すると、図8の
ステップ91以降の終了処理が実行される。
【0097】終了処理を行う時点においてはセマフォの
最後のアンロック及び、スピンロックのロックアドレス
毎の最後のアンロック以降の命令に関して、平均命令実
行時間解析範囲指定情報17に情報が出力されていない
ので、終了処理が実行される時の命令位置1 と、ロック
アドレス毎のアドレス位置カウンタとセマフォのアドレ
ス位置カウンタより、それぞれの最後の部分の平均命令
実行時間解析の範囲外の情報を作成し、それぞれの平均
命令実行時間解析範囲指定情報17に出力し、その後、
それらの全ファイルをクローズする。次にロックアドレ
ス毎及び、セマフォについてそれぞれのロック回数とロ
ックステップ数累積より、それぞれの平均ロックステッ
プ数を計算し、それらの情報を解析結果に出力する。最
後にロックをかけたままで、ロックがはずされてないも
のがあれば、ワーニングメッセージを解析結果に出力し
て全ての処理を終わる(ステップ91)。
【0098】上記のようにトレース情報11、ロック解
析範囲指定情報12、セマフォ情報13を入力情報1と
してロック区間自動解析プログラム2に入力することに
より、スピンロック区間、セマフォロック区間を特定
し、ロック状態結果、ロック統計結果及び、その他のメ
ッセージ等の解析結果16が得られる。
【0099】また、ロックアドレス毎のロック位置とア
ンロック位置、及びセマフォロックのロック位置とアン
ロック位置によりロック区間のみを解析する平均命令実
行時間解析対象範囲指定情報17が生成され、この情報
を平均命令実行時間を計算するプログラム(特願平3−
13577)の入力情報である「範囲指定」と同一形式
を採ることにより平均命令実行時間が算出される。
【0100】
【発明の効果】上記のように本発明によれば、従来は不
可能であったロック区間の自動的な特定とそれらの解析
結果を出力することが可能になり、さらに、セマフォロ
ック及び、ロックアドレス毎のスピンロックのロック区
間のみの平均命令実行時間を求めるための平均命令実行
時間解析対象範囲情報を自動的に生成することが可能と
なる。これにより、正確なロック待ち時間を計算するこ
とができる。
【図面の簡単な説明】
【図1】本発明の一実施例の入出力概要を示す図であ
る。
【図2】本発明の一実施例のロック区間自動解析プログ
ラムの処理のフローチャート(その1)である。
【図3】本発明の一実施例のロック区間自動解析プログ
ラムの処理のフローチャート(その2)である。
【図4】本発明の一実施例のロック区間自動解析プログ
ラムの処理のフローチャート(その3)である。
【図5】本発明の一実施例のロック区間自動解析プログ
ラムの処理のフローチャート(その4)である。
【図6】本発明の一実施例のロック区間自動解析プログ
ラムの処理のフローチャート(その5)である。
【図7】本発明の一実施例のロック区間自動解析プログ
ラムの処理のフローチャート(その6)である。
【図8】本発明の一実施例のロック区間自動解析プログ
ラムの処理のフローチャート(その7)である。
【符号の説明】
1 入力情報 2 ロック区間自動解析プログラム 3 出力情報 11 トレース情報 12 ロック解析範囲指定情報 13 セマフォ情報 16 解析結果 17 平均命令実行時間解析対象範囲指定情報

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 情報処理装置内で動作したプログラムに
    おいて実行された全ての命令の情報であるトレース情報
    と、該トレース情報のうちロック区間解析を必要とする
    範囲が指定されているロック解析範囲指定情報と、ロッ
    クのスーパバイザコール番号の情報を有するセマフォ情
    報を入力情報とし、 前記ロック解析範囲指定情報により前記トレース情報内
    の命令の情報からロック用の特殊命令を識別することに
    よりスピンロックのロック位置を決定し、 前記特殊命令が更新するアドレス情報を記憶し、前記特
    殊命令の直後に前記トレース情報内に現れる該アドレス
    情報と同一のアドレスを更新する更新用命令を検出する
    ことによりスピンロックのアンロック位置を決定し、 前記スピンロックのロック位置と前記スピンロックのア
    ンロック位置によりスピンロック区間を特定し、 前記セマフォ情報により指定されたスーパバイザコール
    番号を有する同一のスーパバイザコール命令を前記ロッ
    ク解析範囲指定情報により限定された前記トレース情報
    を順次参照し、セマフォロックのロック位置とアンロッ
    ク位置の大要を決定し、該セマフォロックのロック位置
    とアンロック位置の直後に存在する前記スピンロックの
    ロック位置と前記アンロック位置よりセマフォロックの
    ロック位置とアンロック位置を決定することにより、セ
    マフォロックのロック区間を特定し、 前記ロック解析範囲指定情報で指定された前記トレース
    情報の命令情報のロック区間毎の解析結果を求めること
    を特徴とするロック区間の自動解析方法。
  2. 【請求項2】 前記スピンロックのロックアドレス毎の
    ロック位置とアンロック位置、及びセマフォロックのロ
    ック位置とアンロック位置よりロック単位毎に平均命令
    実行時間を計算するための情報を生成し、 平均命令実行時間を計算するプログラムに前記平均命令
    実行時間を計算するための情報を入力し、ロック区間の
    みの平均命令実行時間を計算することを特徴とする平均
    命令実行時間の計算方法。
JP3227381A 1991-09-06 1991-09-06 ロック区間の自動解析方法及びロック時間の計算方法 Expired - Fee Related JP2570018B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3227381A JP2570018B2 (ja) 1991-09-06 1991-09-06 ロック区間の自動解析方法及びロック時間の計算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3227381A JP2570018B2 (ja) 1991-09-06 1991-09-06 ロック区間の自動解析方法及びロック時間の計算方法

Publications (2)

Publication Number Publication Date
JPH0566972A true JPH0566972A (ja) 1993-03-19
JP2570018B2 JP2570018B2 (ja) 1997-01-08

Family

ID=16859923

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3227381A Expired - Fee Related JP2570018B2 (ja) 1991-09-06 1991-09-06 ロック区間の自動解析方法及びロック時間の計算方法

Country Status (1)

Country Link
JP (1) JP2570018B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010052813A1 (ja) * 2008-11-07 2010-05-14 パナソニック株式会社 マルチプロセッサにおける資源の排他制御方法、排他制御システムおよびその関連技術
WO2010125960A1 (ja) * 2009-04-28 2010-11-04 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチスレッド上で動作するプログラムのプログラム・コードをロック衝突が少ないプログラム・コードに変換するための方法、並びにそのコンピュータ・プログラム及びコンピュータ・システム
US8898127B2 (en) 2011-12-02 2014-11-25 International Business Machines Corporation Device and method for acquiring resource lock
JP2018036864A (ja) * 2016-08-31 2018-03-08 日立オートモティブシステムズ株式会社 電子制御装置、解析システム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55135948A (en) * 1979-04-10 1980-10-23 Nec Corp Information processing device
JPS5876954A (ja) * 1981-10-30 1983-05-10 Nec Corp デ−タ収集装置
JPH01125633A (ja) * 1987-11-11 1989-05-18 Fujitsu Ltd マルチプロセッサシステムのデバッグ法
JPH01258139A (ja) * 1988-04-08 1989-10-16 Hitachi Ltd プログラムデバッグ方式
JPH0282344A (ja) * 1988-09-20 1990-03-22 Fujitsu Ltd マルチプロセッサシステムにおけるプログラムのデバッギングの方法
JPH02205942A (ja) * 1989-02-03 1990-08-15 Nec Corp 情報処理装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55135948A (en) * 1979-04-10 1980-10-23 Nec Corp Information processing device
JPS5876954A (ja) * 1981-10-30 1983-05-10 Nec Corp デ−タ収集装置
JPH01125633A (ja) * 1987-11-11 1989-05-18 Fujitsu Ltd マルチプロセッサシステムのデバッグ法
JPH01258139A (ja) * 1988-04-08 1989-10-16 Hitachi Ltd プログラムデバッグ方式
JPH0282344A (ja) * 1988-09-20 1990-03-22 Fujitsu Ltd マルチプロセッサシステムにおけるプログラムのデバッギングの方法
JPH02205942A (ja) * 1989-02-03 1990-08-15 Nec Corp 情報処理装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010052813A1 (ja) * 2008-11-07 2010-05-14 パナソニック株式会社 マルチプロセッサにおける資源の排他制御方法、排他制御システムおよびその関連技術
JP2010113574A (ja) * 2008-11-07 2010-05-20 Panasonic Corp マルチプロセッサにおける資源の排他制御方法、排他制御システムおよびその関連技術
CN102209955A (zh) * 2008-11-07 2011-10-05 松下电器产业株式会社 多处理器下资源的排他控制方法、排他控制系统及其相关技术
WO2010125960A1 (ja) * 2009-04-28 2010-11-04 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチスレッド上で動作するプログラムのプログラム・コードをロック衝突が少ないプログラム・コードに変換するための方法、並びにそのコンピュータ・プログラム及びコンピュータ・システム
JP5204300B2 (ja) * 2009-04-28 2013-06-05 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチスレッド上で動作するプログラムのプログラム・コードをロック衝突が少ないプログラム・コードに変換するための方法、並びにそのコンピュータ・プログラム及びコンピュータ・システム
US8972959B2 (en) 2009-04-28 2015-03-03 International Business Machines Corporation Method of converting program code of program running in multi-thread to program code causing less lock collisions, computer program and computer system for the same
US8898127B2 (en) 2011-12-02 2014-11-25 International Business Machines Corporation Device and method for acquiring resource lock
US9189512B2 (en) 2011-12-02 2015-11-17 International Business Machines Corporation Device and method for acquiring resource lock
JP2018036864A (ja) * 2016-08-31 2018-03-08 日立オートモティブシステムズ株式会社 電子制御装置、解析システム
WO2018042935A1 (ja) * 2016-08-31 2018-03-08 日立オートモティブシステムズ株式会社 電子制御装置、解析システム

Also Published As

Publication number Publication date
JP2570018B2 (ja) 1997-01-08

Similar Documents

Publication Publication Date Title
Lauer et al. COSY—A system specification language based on paths and processes
KR100452913B1 (ko) 재진입 라인 프로세스용 스케줄링시스템 및 스케줄링방법
JPH05250377A (ja) スケジューリング方式
CN111754200B (zh) 一种业务处理方法及装置
US6199078B1 (en) Analytic network engine and spreadsheet interface system
US20070100781A1 (en) Conditional CSP solving using constraint propagation
JPH11259313A (ja) マルチスレッド計算環境内で関連付けられたデ―タ構造をロックするための方法、装置及びコンピュ―タプログラム製品
US7120904B1 (en) Data-flow method for optimizing exception-handling instructions in programs
JPH0566972A (ja) ロツク区間の自動解析方法と平均命令実行時間の計算方法
EP0427391B1 (en) Operation assignment method and apparatus therefor
WO2000022523A1 (en) Apparatus and method for program optimizing
Tia et al. A linear-time optimal acceptance test for scheduling of hard real-time tasks
Capogrosso et al. HermesBDD: A multi-core and multi-platform binary decision diagram package
JPH11224186A (ja) ソフトウェア解析装置及びソフトウェア解析方法
Sánchez et al. On efficient distributed deadlock avoidance for real-time and embedded systems
CN105830030A (zh) 用于组成并执行实时任务的方法
Johnson Characterizing the performance of algorithms for lock-free objects
GB2279785A (en) Designing pipelined stages in a computer-aided design system.
Mireles Jr et al. Implementation of a deadlock avoidance policy for multipart reentrant flow lines using a matrix-based discrete event controller
US6374233B1 (en) Method and apparatus for evaluating expressions with cancellation of requests for operands that are no longer required
Cosnard et al. Gauss elimination algorithms for MIMD computers
JPH04348452A (ja) 制約条件満足化探索の多重プロセッサの実行のためのプロセッサ割当ての方法
JP2831727B2 (ja) ハードウェア資源割当て支援システム
EP0977116A2 (en) Data processing apparatus and method
JPH08235266A (ja) 表計算処理方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071024

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081024

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees