JPH0512059A - 並列処理ソフトウエアのデバツグ方式 - Google Patents
並列処理ソフトウエアのデバツグ方式Info
- Publication number
- JPH0512059A JPH0512059A JP3193505A JP19350591A JPH0512059A JP H0512059 A JPH0512059 A JP H0512059A JP 3193505 A JP3193505 A JP 3193505A JP 19350591 A JP19350591 A JP 19350591A JP H0512059 A JPH0512059 A JP H0512059A
- Authority
- JP
- Japan
- Prior art keywords
- variable
- locked
- parallel processing
- flag
- recording
- 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)
Abstract
(57)【要約】
【目的】 ロックされた変数に対するアクセスをハード
ウエアで検出でき、これにより並列処理システムソフト
ウエアを開発する際に発生する、ロックされるべき変数
に対するロックされないアクセスを検出できるようにす
る。 【構成】 デバッグ機能を指定するためのwlockフ
ラグ9と、メモリ3のロック状態を記録するための記録
用配列13とを備え、デバッグを行なう場合には、wl
ockフラグ9をセットし、変数4,16のロック情報
を上記記録用配列13に記録して対応する変数を物理的
にロック制御し、プログラム上でロックされていない共
有変数を、トラップ10を用いて検出する。
ウエアで検出でき、これにより並列処理システムソフト
ウエアを開発する際に発生する、ロックされるべき変数
に対するロックされないアクセスを検出できるようにす
る。 【構成】 デバッグ機能を指定するためのwlockフ
ラグ9と、メモリ3のロック状態を記録するための記録
用配列13とを備え、デバッグを行なう場合には、wl
ockフラグ9をセットし、変数4,16のロック情報
を上記記録用配列13に記録して対応する変数を物理的
にロック制御し、プログラム上でロックされていない共
有変数を、トラップ10を用いて検出する。
Description
【0001】
【産業上の利用分野】この発明は、近年盛んになりつつ
ある並列計算機のソフトウエアを開発する際のデバッグ
効率を向上させるものである。
ある並列計算機のソフトウエアを開発する際のデバッグ
効率を向上させるものである。
【0002】
【従来の技術】図6は、従来の共有メモリ型並列計算機
の論理的アーキテクチャを示すものである。同図におい
て、1,2はプロセッサ、3はメモリ、4は変数であ
る。従来の並列計算機では、すべてのプロセッサ1,2
は共有されるメモリ3に存在する変数4に対して等価に
アクセスすることが可能であった。したがって、メモリ
3上に存在する個々の変数が、論理的にロックされてい
たとしてもプロセッサはそれを検出することができなか
った。
の論理的アーキテクチャを示すものである。同図におい
て、1,2はプロセッサ、3はメモリ、4は変数であ
る。従来の並列計算機では、すべてのプロセッサ1,2
は共有されるメモリ3に存在する変数4に対して等価に
アクセスすることが可能であった。したがって、メモリ
3上に存在する個々の変数が、論理的にロックされてい
たとしてもプロセッサはそれを検出することができなか
った。
【0003】
【発明が解決しようとする課題】この発明はこのような
問題点を解決するためになされたものであり、ロックさ
れた変数に対するアクセスをハードウエアで検出する手
段を提供し、これにより並列処理システムソフトウエア
を開発する際に発生する、ロックされるべき変数に対す
るロックされないアクセスを検出する手段を提供する。
問題点を解決するためになされたものであり、ロックさ
れた変数に対するアクセスをハードウエアで検出する手
段を提供し、これにより並列処理システムソフトウエア
を開発する際に発生する、ロックされるべき変数に対す
るロックされないアクセスを検出する手段を提供する。
【0004】
【課題を解決するための手段】本発明は、デバッグ機能
を指定するためのデバッグ指定フラグ(wlockフラ
グ9)と、メモリ3のロック状態を記録するための記録
用配列13とを備え、デバッグを行なう場合には、上記
デバッグ指定フラグ(wlockフラグ9)をセット
し、変数4,16のロック情報を上記記録用配列13に
記録して対応する変数を物理的にロック制御し、プログ
ラム上でロックされていない共有変数を、トラップ10
を用いて検出するようにしたものである。
を指定するためのデバッグ指定フラグ(wlockフラ
グ9)と、メモリ3のロック状態を記録するための記録
用配列13とを備え、デバッグを行なう場合には、上記
デバッグ指定フラグ(wlockフラグ9)をセット
し、変数4,16のロック情報を上記記録用配列13に
記録して対応する変数を物理的にロック制御し、プログ
ラム上でロックされていない共有変数を、トラップ10
を用いて検出するようにしたものである。
【0005】
【作用】本発明においては、デバッグを行なう場合に
は、デバッグ指定フラグ(wlockフラグ9)がセッ
トされ、変数4,16のロック情報が上記記録用配列に
記録されて対応する変数が物理的にロック制御され、プ
ログラム上でロックされていない共有変数が、トラップ
を用いて検出される。
は、デバッグ指定フラグ(wlockフラグ9)がセッ
トされ、変数4,16のロック情報が上記記録用配列に
記録されて対応する変数が物理的にロック制御され、プ
ログラム上でロックされていない共有変数が、トラップ
を用いて検出される。
【0006】
【実施例】図1は例えば、一例としてこの発明を一般的
なマイクロプロセッサに適用したとした場合の構成を示
す。1〜3は従来例と同一要素、5は16進のFF、9
はデバッグ機能を指定するためのデバッグ指定フラグと
してのwlockフラグ、13はメモリ3のロック状態
を記録するための記録用配列である。図でメモリのロッ
ク状態を記録するための記録用配列13は、例えば並列
アクセスのチェックを行ないたいデータ領域のメモリ3
の直後に、そのデータ領域の大きさ分確保される。この
場合、ある1バイトデータを現在ロックしているプロセ
ッサの番号は1バイトで表現されるため、ロックされて
いない状態を示すために値を1つ使ったとして最大25
5台のプロセッサを識別することが可能である。この例
では、ロックされていない状態を16進のFF5で表す
ことにする。図2において、4はデータセグメント内の
変数、7はプロセッサの番号である。いま、wlock
フラグ9をセットしてプログラムの実行を行なうと、そ
のデータセグメント内の変数4に対するアクセスは、そ
のデータセグメントの直後の領域の対応するアドレス
に、変数アクセスを行なったプロセッサ1の番号7とし
て記録される。図3において、8は他のプロセッサのア
クセス、10はトラップである。いま、既にロックされ
た変数4に対して他のプロセッサ2がアクセス8を行な
った場合にアクセスを行なったプロセッサ9が、既にそ
の変数4がロックされていることを認識するとトラップ
10が発生する。
なマイクロプロセッサに適用したとした場合の構成を示
す。1〜3は従来例と同一要素、5は16進のFF、9
はデバッグ機能を指定するためのデバッグ指定フラグと
してのwlockフラグ、13はメモリ3のロック状態
を記録するための記録用配列である。図でメモリのロッ
ク状態を記録するための記録用配列13は、例えば並列
アクセスのチェックを行ないたいデータ領域のメモリ3
の直後に、そのデータ領域の大きさ分確保される。この
場合、ある1バイトデータを現在ロックしているプロセ
ッサの番号は1バイトで表現されるため、ロックされて
いない状態を示すために値を1つ使ったとして最大25
5台のプロセッサを識別することが可能である。この例
では、ロックされていない状態を16進のFF5で表す
ことにする。図2において、4はデータセグメント内の
変数、7はプロセッサの番号である。いま、wlock
フラグ9をセットしてプログラムの実行を行なうと、そ
のデータセグメント内の変数4に対するアクセスは、そ
のデータセグメントの直後の領域の対応するアドレス
に、変数アクセスを行なったプロセッサ1の番号7とし
て記録される。図3において、8は他のプロセッサのア
クセス、10はトラップである。いま、既にロックされ
た変数4に対して他のプロセッサ2がアクセス8を行な
った場合にアクセスを行なったプロセッサ9が、既にそ
の変数4がロックされていることを認識するとトラップ
10が発生する。
【0007】排他制御が正しく行なわれているかのチェ
ックは一般的に並列処理プログラムで用いられる論理的
なメモリ3のロック、ロック解除の関数に、それぞれこ
の発明のmlock,mulock命令を追加すること
で行なわれる。つまり、論理的な変数のロックが正常に
行なわれた場合に、それと同時にmlockを用いて変
数を物理的にロックし、論理的に、変数のロックを解除
する際に、同時に、mulockを用いて変数の物理的
なロックを解除する。こうすることで、もし論理的なロ
ックが行なわれていない変数を他のプロセッサが変更し
ようとするとトラップ10を発生させることが可能にな
る。こうすることで、あるプロセッサが論理的にロック
した変数に対する他のプロセッサからのアクセスを物理
的に検出することが可能になる。図4,図5において、
11はロックの解除、14はリセットされたFF、12
は書き込み、15はプロセッサの番号、16はデータセ
グメント内の変数とすると、mulockを用いて変数
の物理的なロックを解除11することによってFF14
がリセットされる。そのことによって他のプロセッサ2
によって変数16の書き込み12とともにmlockを
用いての物理的なロックが可能となり、同時に、記録用
配列13にはプロセッサ2の番号15が記録される。変
数の書き込み12はその変数の物理的なロックが解除1
1されるまで行なうことができない。この発明によれ
ば、並列処理プログラムの排他制御はこのようにして発
生するトラップ10を1つずつ回避していくことにより
確認することが可能になる。このようにしてこの発明を
用いて一旦排他制御が確実に行なわれていることが確認
された場合は、この発明に基づく機能をすべて削除し論
理的なロックのみを使用しても排他制御が保証される。
ックは一般的に並列処理プログラムで用いられる論理的
なメモリ3のロック、ロック解除の関数に、それぞれこ
の発明のmlock,mulock命令を追加すること
で行なわれる。つまり、論理的な変数のロックが正常に
行なわれた場合に、それと同時にmlockを用いて変
数を物理的にロックし、論理的に、変数のロックを解除
する際に、同時に、mulockを用いて変数の物理的
なロックを解除する。こうすることで、もし論理的なロ
ックが行なわれていない変数を他のプロセッサが変更し
ようとするとトラップ10を発生させることが可能にな
る。こうすることで、あるプロセッサが論理的にロック
した変数に対する他のプロセッサからのアクセスを物理
的に検出することが可能になる。図4,図5において、
11はロックの解除、14はリセットされたFF、12
は書き込み、15はプロセッサの番号、16はデータセ
グメント内の変数とすると、mulockを用いて変数
の物理的なロックを解除11することによってFF14
がリセットされる。そのことによって他のプロセッサ2
によって変数16の書き込み12とともにmlockを
用いての物理的なロックが可能となり、同時に、記録用
配列13にはプロセッサ2の番号15が記録される。変
数の書き込み12はその変数の物理的なロックが解除1
1されるまで行なうことができない。この発明によれ
ば、並列処理プログラムの排他制御はこのようにして発
生するトラップ10を1つずつ回避していくことにより
確認することが可能になる。このようにしてこの発明を
用いて一旦排他制御が確実に行なわれていることが確認
された場合は、この発明に基づく機能をすべて削除し論
理的なロックのみを使用しても排他制御が保証される。
【0008】つまり、この発明に基づく機能は、主に並
列処理システムプログラムのデバッグを行なう際に使用
されるものであり、プログラムを実際に使用する際のエ
ラー検出、排他制御に使用されるものではない。実際に
プログラムの実行を行なう際には、wlockフラグ9
を使ってすべての機能を削除すべきである。なおこの発
明は、データ領域と、コード領域を区別するすべてのプ
ロセッサにおいて有効である。
列処理システムプログラムのデバッグを行なう際に使用
されるものであり、プログラムを実際に使用する際のエ
ラー検出、排他制御に使用されるものではない。実際に
プログラムの実行を行なう際には、wlockフラグ9
を使ってすべての機能を削除すべきである。なおこの発
明は、データ領域と、コード領域を区別するすべてのプ
ロセッサにおいて有効である。
【0009】
【発明の効果】以上のように、本発明によれば、変数を
物理的にロック制御し、プログラム上でロックされてい
ない共有変数を、トラップを用いて検出するように構成
したので、ロックされた変数に対するアクセスをハード
ウエアで検出でき、これにより並列処理システムソフト
ウエアを開発する際に発生する、ロックされるべき変数
に対するロックされないアクセスを検出できるという効
果がある。
物理的にロック制御し、プログラム上でロックされてい
ない共有変数を、トラップを用いて検出するように構成
したので、ロックされた変数に対するアクセスをハード
ウエアで検出でき、これにより並列処理システムソフト
ウエアを開発する際に発生する、ロックされるべき変数
に対するロックされないアクセスを検出できるという効
果がある。
【図1】本発明の一実施例による並列処理ソフトウエア
のデバッグ方式の構成図である。
のデバッグ方式の構成図である。
【図2】本発明の一実施例による並列処理ソフトウエア
のデバッグ方式のプロセッサ1がデータを書き込むと、
対応する領域に1が記録されることを示す図である。
のデバッグ方式のプロセッサ1がデータを書き込むと、
対応する領域に1が記録されることを示す図である。
【図3】本発明の一実施例による並列処理ソフトウエア
のデバッグ方式のプロセッサ2は、プロセッサ1がロッ
クしている領域に書き込むことができず、もし書き込み
を行なうとトラップが発生することを示す図である。
のデバッグ方式のプロセッサ2は、プロセッサ1がロッ
クしている領域に書き込むことができず、もし書き込み
を行なうとトラップが発生することを示す図である。
【図4】本発明の一実施例による並列処理ソフトウエア
のデバッグ方式のプロセッサ1がデータのロックを解除
すると、対応する領域にFFが記録されることを示す図
である。
のデバッグ方式のプロセッサ1がデータのロックを解除
すると、対応する領域にFFが記録されることを示す図
である。
【図5】本発明の一実施例による並列処理ソフトウエア
のデバッグ方式のプロセッサ2はデータの書き込みを行
なうことが可能になることを示す図である。
のデバッグ方式のプロセッサ2はデータの書き込みを行
なうことが可能になることを示す図である。
【図6】従来の共有メモリ型並列処理ソフトウエアの論
理的構成図である。
理的構成図である。
【図7】この発明の一実施例による並列処理ソフトウエ
アのデバッグ方式に基づく命令の処理内容を示す図であ
る。
アのデバッグ方式に基づく命令の処理内容を示す図であ
る。
1,2 プロセッサ 3 メモリ 4 変数 5 FF 9 wlockフラグ 10 トラップ 13 記録用配列 16 変数
Claims (1)
- 【特許請求の範囲】 【請求項1】 複数のプロセッサでメモリを共有するよ
うにした並列計算機の並列処理ソフトウエアのデバッグ
方式において、デバッグ機能を指定するためのデバッグ
指定フラグと、メモリのロック状態を記録するための記
録用配列とを備え、デバッグを行なう場合には、上記デ
バッグ指定フラグをセットし、変数のロック情報を上記
記録用配列に記録して対応する変数を物理的にロック制
御し、プログラム上でロックされていない共有変数を、
トラップを用いて検出するようにしたことを特徴とする
並列処理ソフトウエアのデバッグ方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3193505A JPH0512059A (ja) | 1991-07-08 | 1991-07-08 | 並列処理ソフトウエアのデバツグ方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3193505A JPH0512059A (ja) | 1991-07-08 | 1991-07-08 | 並列処理ソフトウエアのデバツグ方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0512059A true JPH0512059A (ja) | 1993-01-22 |
Family
ID=16309171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3193505A Pending JPH0512059A (ja) | 1991-07-08 | 1991-07-08 | 並列処理ソフトウエアのデバツグ方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0512059A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009245184A (ja) * | 2008-03-31 | 2009-10-22 | Ntt Data Corp | プログラム診断装置及びプログラム診断方法ならびにそのプログラム |
-
1991
- 1991-07-08 JP JP3193505A patent/JPH0512059A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009245184A (ja) * | 2008-03-31 | 2009-10-22 | Ntt Data Corp | プログラム診断装置及びプログラム診断方法ならびにそのプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
GB2222899A (en) | Computer mass storage data protection | |
US5136714A (en) | Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system | |
US7680999B1 (en) | Privilege promotion based on check of previous privilege level | |
JPH0512059A (ja) | 並列処理ソフトウエアのデバツグ方式 | |
JPS59231650A (ja) | ソフトウエア保護処理方式 | |
JPS60189531A (ja) | デ−タ保護処理方式 | |
JPH1173372A (ja) | コンピュータ・ウィルスによる不正アクセス検出方法 | |
JP3419392B2 (ja) | メモリアクセス監視装置、メモリアクセス監視方法およびメモリアクセス監視用プログラムを記録した記録媒体 | |
JPS61134836A (ja) | ソフトウエア使用制限方式 | |
JPS6044700B2 (ja) | 構成エラ−検出装置 | |
JPH03105434A (ja) | エラーロギングシステム | |
JPS58166473A (ja) | フアイルのプロテクト方式 | |
JPH01125633A (ja) | マルチプロセッサシステムのデバッグ法 | |
JPS6122811B2 (ja) | ||
JPH06236300A (ja) | マイクロコンピュータ | |
JPS6073762A (ja) | 記憶保護方式 | |
JPS5972543A (ja) | 媒体フオ−マツト処理方式 | |
JP2541287B2 (ja) | システム共用制御ブロック制御方式 | |
JPS5834856B2 (ja) | キオクセイギヨソウチ | |
JP2630932B2 (ja) | 円盤状記録媒体のプログラム記録方法 | |
JPH03246645A (ja) | データ管理方式 | |
JPH04242455A (ja) | プロセッサ間通信トレース回路 | |
JPS6329357A (ja) | フロツピデイスクのコピ−プロテクト方法 | |
JP2544854B2 (ja) | 可搬記憶媒体正当性チェック処理方式 | |
JPS62293582A (ja) | メモリ装置 |