JP2807026B2 - Execution reproduction method of parallel program - Google Patents
Execution reproduction method of parallel programInfo
- Publication number
- JP2807026B2 JP2807026B2 JP2036863A JP3686390A JP2807026B2 JP 2807026 B2 JP2807026 B2 JP 2807026B2 JP 2036863 A JP2036863 A JP 2036863A JP 3686390 A JP3686390 A JP 3686390A JP 2807026 B2 JP2807026 B2 JP 2807026B2
- Authority
- JP
- Japan
- Prior art keywords
- execution
- access
- program
- node
- replay
- 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)
- Multi Processors (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、主記憶共有型マルチプロセッサシステムに
おける並列プログラムの実行再現方法に関する。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a parallel program execution reproduction method in a shared-memory multiprocessor system.
逐次形プログラムでは、トレースやブレイクポイント
などの条件を変えながら被デバッグプログラムを繰返し
実行させる会話的でサイクリックなデバッグ手法が多く
用いられている。各デバッグのサイクルでは、プログラ
マは、プロセッサのステップ実行機能やブレークポイン
ト機能を用いてプログラムの中断と再開を繰返し、注目
点を少しずつ進めながら実行状態を調べる。In a sequential program, an interactive and cyclic debugging method of repeatedly executing a program to be debugged while changing conditions such as a trace and a breakpoint is often used. In each debugging cycle, the programmer repeatedly interrupts and resumes the program using the step execution function and the breakpoint function of the processor, and checks the execution state while advancing the point of interest little by little.
逐次型プログラムでは、多くの場合、プログラムに同
じ入力を与えて再実行させると同じ振舞いをする(再演
性があるという)と期待できるので、サイクリックなデ
バッグ手法が有効となる。また、プログラムの実行を再
現させるとき、注目地点で実行を中断させると、その地
点に至る経路の命令系列だけが再現され他の命令の実行
は抑止されている(部分再演性があるという)と期待で
きるので、注目地点を段階的に進める手法が有効にな
る。In many cases, sequential programs can be expected to behave the same (reproduced) when the program is re-executed with the same input, so a cyclic debugging method is effective. Also, when the execution of a program is reproduced, if the execution is interrupted at the point of interest, only the instruction sequence of the route to that point is reproduced, and the execution of other instructions is suppressed (it is said that there is partial replayability). Since it can be expected, a method of advancing the point of interest step by step becomes effective.
主記憶共有型マルチプロセッサで動作する並列プログ
ラムでもサイクリックデバッグを行うためには、プログ
ラムに再演性や部分再演性があることが望まれる。これ
らのプログラムは、第7図に例示するように、各プロセ
ッサで動作する複数のプロセス(Proc)が主記憶(共有
メモリ)上に置かれた共有データの読出し書込みを行う
ことにより互いに通信しながら並列に処理を進める。図
で共有オブジェクト(Obj)とは、排他制御(共有デー
タへのアクセスを同時にはただ一つのプロセッサしか行
なわいようにすること)して正しく読出し、書込みを行
う単位となる共有データである。各プロセスは、システ
ムが提供する読出し、書込み手続きを用いてこの単位で
共有データへアクセスする。各アクセス手続きは、予め
定められたアクセスプロトコルの排他制御を正しく実現
するように、同時並列に与えられる共有オブジェクトへ
のアクセス順序を制御する。In order to perform cyclic debugging even with a parallel program operating on a shared-memory multiprocessor, it is desired that the program have replayability and partial replayability. As illustrated in FIG. 7, these programs communicate with each other by a plurality of processes (Proc) operating on each processor reading and writing shared data placed on a main memory (shared memory). Proceed in parallel. In the drawing, a shared object (Obj) is shared data that is a unit for performing exclusive control (access to shared data by only one processor at a time) and reading and writing correctly. Each process accesses the shared data in this unit using a read / write procedure provided by the system. Each access procedure controls the order of access to shared objects provided in parallel in order to correctly realize exclusive control of a predetermined access protocol.
プログラムに部分再演性があるとは、指定事象(ある
プロセスのある地点(命令))の再演に必須な命令だけ
を再現できることを意味する。しかし、並列プログラム
では、共有オブジェクトへの排他制御操作の振舞いが非
決定的となるので、通常再演性がない。その結果、部分
再演性もない。このため、従来、プログラムの実行動作
を記録し、その記録を用いてプログラムの再実行動作を
制御して再演性があるように見せる、いわゆる再演法と
呼ぶ手法が提案されている。The fact that the program has partial replay means that only instructions necessary for replaying a specified event (a certain point (instruction) of a certain process) can be reproduced. However, in a parallel program, the behavior of an exclusive control operation on a shared object is non-deterministic, so that there is usually no replay. As a result, there is no partial replay. For this reason, conventionally, a method called a replay method has been proposed, in which the execution operation of a program is recorded, and the re-execution operation of the program is controlled using the record to make the program appear to have reproducibility.
第8図に、従来の再演法における並列プログラムの実
行再現のための機能ブロック図を示す。即ち、ユーザプ
ログラム12の主記憶(共有メモリ)15へのアクセスを制
御し実行を再現するために、実行制御部11、アクセス処
理部13、排他制御部14を備える。FIG. 8 shows a functional block diagram for reproducing the execution of a parallel program in the conventional replay method. That is, in order to control the access of the user program 12 to the main memory (shared memory) 15 and reproduce the execution, an execution control unit 11, an access processing unit 13, and an exclusive control unit 14 are provided.
排他制御部14は、test and set命令のように主記憶15
へ同時にアクセスするプロセッサがただひとつになるよ
うに制御する。実行制御部11は、プログラマから指定さ
れた実行モード(モニタモードあるいは再演モード)を
アクセス処理部13に教えた後、プログラム12の実行を開
始させる。アクセス処理部13は、モニタモードのときに
は、共有データへアクセスする際にプログラム12の実行
再現に必要なデータを記録する。再演モードのときに
は、モニタモードで記録したデータを用いて、各プロセ
スが読出す共有オブジェクトの値がモニタモートと再演
モードで等しくなるようにアクセスを制御する。The exclusive control unit 14 stores the main memory 15 like the test and set instruction.
Is controlled so that only one processor can access simultaneously. The execution control unit 11 notifies the access processing unit 13 of the execution mode (monitor mode or replay mode) specified by the programmer, and then starts the execution of the program 12. In the monitor mode, the access processing unit 13 records data necessary for reproducing the execution of the program 12 when accessing the shared data. In the replay mode, access is controlled using the data recorded in the monitor mode so that the value of the shared object read by each process is equal in the monitor mode and the replay mode.
ここで、各プロセッサが読出した共有オブジェクトの
値をすべて記録しておけば、実行動作を再現できるが、
一般には記録に要する時間やメモリ量が多大になる。こ
のため、共有オブジェクトの値を記録する代わりに、共
有オブジェクトへのアクセス順序に関する情報を記録す
る効率的な手法が提案されている。この手法に、Carver
らのP−sequence法とLeblancらのInstant Replay法が
ある。以下に、これらについて説明する。Here, if all values of the shared object read by each processor are recorded, the execution operation can be reproduced.
Generally, the time required for recording and the amount of memory are large. Therefore, instead of recording the value of the shared object, an efficient method of recording information on the access order to the shared object has been proposed. In this method, Carver
And the Instant Replay method of Leblanc et al. Hereinafter, these will be described.
以下の説明では、再演法で順序関係を正しく再現する
対象となる非同期的な事象が、第9図のグラフのように
表わせるプログラムを例として用いる。第9図で、グラ
フのノードはプロセスの生成、消滅と共有オブジェクト
へのアクセスのための命令が生じたことを表わし、太線
矢印(PCアーク)はプロセス内の実行順序を、細線矢印
(IPアーク)はプロセス間での実行順序を表わす。図の
ノードで、fork,exitは、それぞれプロセスの生成、消
滅命令を表わす。createdは、新たに生成されたプロセ
スが最初の命令を実行するまでの状態を表わす。read,w
riteは、共有オブジェクトへの読出し、書込み命令を表
わす。プロセスの生成消滅は、共有オブジェクトへのア
クセスに比べ一般に頻度は極めて低く、かつ、処理時間
が長いので、プログラムの実行に影響をあまり与えずに
プロセスの親子関係を記録できる。従って、共有オブジ
ェクトへの読出しと書込みの記録と再現の実現法が重要
であり、これが再演法の基本技術となる。In the following description, a program in which the asynchronous events for which the order relation is correctly reproduced by the replay method can be represented as a graph in FIG. 9 will be used as an example. In FIG. 9, the nodes in the graph indicate that an instruction has been issued for the creation, destruction of a process, and access to a shared object, and the bold arrow (PC arc) indicates the execution order in the process, and the thin arrow (IP arc) ) Indicates the order of execution between processes. In the nodes shown in the figure, fork and exit represent process creation and deletion instructions, respectively. created represents a state until a newly created process executes the first instruction. read, w
"rite" indicates a read / write instruction for the shared object. In general, the generation and annihilation of a process are extremely infrequent compared to access to a shared object and the processing time is long, so that the parent-child relationship of the process can be recorded without significantly affecting the execution of the program. Therefore, a method of realizing recording and reproduction of reading and writing to the shared object is important, and this is a basic technique of the replay method.
第9図のプログラムは3つのプロセス(proc1,proc2,
proc3)と2つの共有オブジェクト(obj1,obj2)からな
る。第9図は、プログラムの実行中に、proc1のobj1へ
の書込み(図のノードwrite obj1),proc2のobj1からの
読出し(read obj1),proc1のobj1への2度目の書込み
(write obj1),…が生じたことを表わしている。ま
た、proc1がobj2に書込みを行った後、proc3とproc3が
その値を読出し、次にproc1がobj2へ2度目の書込みを
行い、更にproc2とproc3がその値(2度目の書込み値)
を読出したことを表わしている。第9図では、proc2とp
roc3の2度の読出しは、それぞれ両プロセスが同じ値を
読出しているので、並列に実行して良いことを図示して
いる(すなわち、細線矢印で順序関係を与えていな
い)。The program in FIG. 9 has three processes (proc1, proc2,
proc3) and two shared objects (obj1, obj2). FIG. 9 shows that during the execution of the program, proc1 is written to obj1 (node write obj1 in the figure), proc2 is read from obj1 (read obj1), proc1 is written to obj1 for the second time (write obj1), ... has occurred. Also, after proc1 writes to obj2, proc3 and proc3 read the value, then proc1 writes a second time to obj2, and proc2 and proc3 read the value (second write value).
Has been read out. In FIG. 9, proc2 and p
The two readings of roc3 indicate that both processes are reading the same value, so that they can be executed in parallel (that is, the order relationship is not given by thin arrows).
初めに、P−sequence法について説明する。第10図
に、P−sequence法における共有オブジェクトへのアク
セス処理部13の処理フローを示す。P−sequence法の場
合、アクセス処理部13では、モニタモードおよび再演モ
ードのプログラム実行において、全共有オブジェクトへ
のアクセス(読出し及び書込み)をすべて逐次化してし
まう。すなわち、第9図に例示したプログラムの場合に
は、第11図のように全ノードを細線矢印で順序付けるこ
とを意味する。モニタモードでは、共有オブジェクトへ
のアクセス以外はプログラムを通常の実行応と同様に行
う。共有データにアクセスするときには、プロセスは、
まず、主記憶上に置かれた一本の履歴テープ(システム
履歴テープと呼ぶ)に自分のプロセス識別子(PID)を
書き加える。この結果、実行終了時には、全共有データ
にアクセスしたプロセスのPIDをアクセス順に記録した
システム履歴テープが得られる。モニタモードで第11図
のように実行した場合、システム履歴テープは第12図の
ようになる。First, the P-sequence method will be described. FIG. 10 shows a processing flow of the access processing unit 13 for the shared object in the P-sequence method. In the case of the P-sequence method, the access processing unit 13 serializes all accesses (reading and writing) to all the shared objects in the monitor mode and the replay mode program execution. That is, in the case of the program illustrated in FIG. 9, this means that all nodes are ordered by thin arrows as shown in FIG. In the monitor mode, the program is executed in the same manner as a normal execution except for accessing the shared object. When accessing shared data, the process
First, one's own process identifier (PID) is added to one history tape (called a system history tape) placed in the main memory. As a result, at the end of the execution, a system history tape is obtained in which the PIDs of the processes that have accessed all the shared data are recorded in the order of access. When executed in the monitor mode as shown in FIG. 11, the system history tape is as shown in FIG.
再演モードでは、各プロセスはプログラムを最初から
再実行して、共有オブジェクトへ書込む値を再度計算
し、他のプロセスが読出して使えるようにする。共有オ
ブジェクトへのアクセス順序がモニタモードと再演モー
ドで等しくなるように、システム履歴テープを使ってア
クセスの順序を制御する。第9図に例示したプログラム
に対して第12図の履歴テープを使うと、第11図と同じ順
序で全ノードの命令が再実行される。第13図は、後述の
本発明との違いを明確するため、ブレイクポイントを設
定してプログラムの再実行をした際に、再現される命令
を太線枠とハッチングをつけたノードで表わしたグラフ
である。In the replay mode, each process re-executes the program from the beginning, recalculates the value to be written to the shared object, and makes it available to other processes for reading. The access order to the shared object is controlled using the system history tape so that the access order is the same in the monitor mode and the replay mode. When the history tape of FIG. 12 is used for the program illustrated in FIG. 9, the instructions of all the nodes are re-executed in the same order as in FIG. FIG. 13 is a graph showing instructions to be reproduced when a breakpoint is set and the program is re-executed by a bold line frame and hatched nodes in order to clarify a difference from the present invention described later. is there.
次に、Instant Replay法について説明する。Instant
Replay法では、プログラムに内在する並列性を引出すた
め、複数のプロセスが同じオブジェクトを同時に読出さ
せるCREW(Concurrent−Read−Exclusive−Write)プロ
トコルを用いたプログラムを対象にする。CREWプロトコ
ルは、同じオブジェクトに対して、複数の読出しアクセ
スを同時に行うことは許すが、複数の書込みアクセス、
あるいは、書込みアクセスと読出しアクセスを同時に行
うことは許さずにアクセスを逐次化する。読出しと書込
みの手続きは、それぞれ入口処理と出口処理の二つのル
ーチンからなる。これらのルーチンで、システムは各オ
ブジェクトに対して読出しアクセス中のプロセス数(re
ader数と呼ぶ)を管理する。入口管理ルーチンでは、re
ader数が正の時には書込みアクセスを許さずにreader数
が0になるまで待たせる。また、ひとつでもプロセスが
書込みアクセスをしている場合には、そのアクセスが終
るまで、他のプロセスのアクセスを待たせる。Next, the Instant Replay method will be described. Instant
The Replay method targets programs using the CREW (Concurrent-Read-Exclusive-Write) protocol that allows a plurality of processes to read the same object at the same time in order to extract the parallelism inherent in the program. The CREW protocol allows multiple read accesses to the same object at the same time, but multiple write accesses,
Alternatively, the write access and the read access are not allowed to be performed at the same time, and the accesses are serialized. The read and write procedures consist of two routines, an entrance process and an exit process, respectively. In these routines, the system tells the number of processes (re
ader number). In the entrance management routine, re
If the number of aders is positive, write access is not allowed and the process waits until the number of readers becomes zero. Also, if at least one process is performing a write access, the access of another process is made to wait until the access is completed.
第14図に、読出しと書込みの手続きをまとめ、Instan
t Replay法における共有オブジェクトへのアクセス処理
部13の処理フローを示す。Figure 14 summarizes the read and write procedures,
4 shows a processing flow of a shared object access processing unit 13 in the t Replay method.
このInstant Replay法では、共有オブジェクトごとに
その書込み系列を全順序関係で表わすバージョン番号を
導入し、各オブジェクトへのアクセス系列を半順序関係
で表わす。システムは、各オブジェクト対応に、書込み
順序を示すバージョン番号とそのバーションの読出しプ
ロセス数を管理する。各プロセスは、共有オブジェクト
へアクセスするときには、そのオブジェクトのバーショ
ン番号を主記憶上の自分用に割当てられた履歴テープ
(プロセス履歴テープと呼ぶ)に記録する。このとき、
共有オブジェクトへの書込みの場合は、直前バージョン
の読出しプロセス数もプロセス履歴テープに記録する、
モニタモードでの実行終了後、第9図に例示したプログ
ラムでは、第15図のような記録データが得られる。ここ
で、aはproc1の1回目のwrite obj1に対応し、「V1」
はobj1への1回目の書込み、「0」はその時の読出しプ
ロセスはなしを示す。bはproc1の2回目のwrite obj1
に対応し、「V2」はobj1への2回目の書込み、「1」は
その時の読出しプロセス数は1(proc2のread obj1があ
るため)を示す。同様に、cはproc1の1回目のwrite o
bj2、dは2回目のwrite obj2に対応する。ここで、d
の読出しプロセス数「2」はproc2の1回目のread obj2
及びproc3の1回目のread obj2が存在することによる。
eはproc2のread obj1に対応し、proc1の1回目のwrite
obj1の状態を受けてバージョンは「V1」である。な
お、readでは記録データはバージョンだけである。以
下、同様にして第15図の記録データが得られる。In the Instant Replay method, a version number indicating a writing sequence in a total order relation is introduced for each shared object, and an access sequence to each object is expressed in a semi-order relation. The system manages, for each object, a version number indicating the writing order and the number of reading processes of the version. When each process accesses a shared object, the process records the version number of the object on a history tape assigned to itself on the main memory (referred to as a process history tape). At this time,
In the case of writing to a shared object, the number of read processes of the previous version is also recorded on the process history tape.
After the end of the execution in the monitor mode, the program illustrated in FIG. 9 obtains recording data as shown in FIG. Here, a corresponds to the first write obj1 of proc1, and “V1”
Indicates the first writing to obj1, and "0" indicates no reading process at that time. b is the second write obj1 of proc1
"V2" indicates the second write to obj1, and "1" indicates the number of read processes at that time is 1 (because there is read obj1 of proc2). Similarly, c is the first write o of proc1.
bj2 and d correspond to the second write obj2. Where d
Read process number “2” of proc2 is the first read obj2 of proc2
And the first read obj2 of proc3 exists.
e corresponds to read obj1 of proc2, and the first write of proc1
The version is “V1” in response to the state of obj1. In read, the recorded data is only the version. Hereinafter, similarly, the recording data of FIG. 15 is obtained.
再演モードでは、システムが管理する各オブジェクト
毎のバージョン番号と読出しプロセス数を初期化した
後、各プロセスはプログラムを最初から再実行して、共
有オブジェクトへ書込む値を再度計算し、他のプロセス
が読出して使えるようにする。共有オブジェクトへのア
クセス順序がモニタモードと再演モードで等しくなるよ
うに、記録データを使ってアクセスの順序を制御する。
第9図に例示したプログラムに対して第15図の記録デー
タを使うと、第11図と同じ順序で全ノードの命令が再実
行される。第16図は、後述の本発明との違いを明確にす
るため、ブレイクポイントを設定してプログラムの再実
行した際に、再現される命令を太線枠とハッチングをつ
けたノードで表わしたグラフである。In the replay mode, after initializing the version number and the number of read processes for each object managed by the system, each process re-executes the program from the beginning, recalculates the value to be written to the shared object, and executes other processes. To read and use. The recorded data is used to control the access order so that the access order to the shared object is the same in the monitor mode and the replay mode.
When the recording data of FIG. 15 is used for the program illustrated in FIG. 9, the instructions of all the nodes are re-executed in the same order as in FIG. FIG. 16 is a graph in which, when a breakpoint is set and a program is re-executed, instructions to be reproduced are represented by a bold line frame and hatched nodes in order to clarify a difference from the present invention described later. is there.
このInstant Replay法では、不必要な逐次化操作によ
りボトルネックが生じるという問題が解決されている。In the Instant Replay method, the problem that a bottleneck occurs due to unnecessary serialization operation is solved.
P−sequence法では、モニタモードおよび再演モード
で、本来並列に実行可能な命令が逐次化されてしまい、
依存関係のない事象でも不必要な順序付けをされてしま
うことがある。このため、並列性が損われ、性能上ボト
ルネックが生じるという欠点がある。また、順序づけさ
れていない場合には再現しなくてもよい命令も先に再現
しておかなければならないような状況が発生するので、
この方法では指定事象の再現に必須な命令だけを再現す
ることはできないという欠点がある。例えば第13図に示
すように、proc2の1回目のread obj2をブレークポイン
トにした場合、proc1はexitまで、proc3はcreatedから
1回目のread obj2まで再現される。In the P-sequence method, instructions that can be executed in parallel in the monitor mode and the replay mode are serialized.
Events that have no dependencies can be unnecessarily ordered. For this reason, there is a drawback that parallelism is impaired and a bottleneck occurs in performance. Also, there are situations in which instructions that do not need to be reproduced if they are not ordered must be reproduced first,
This method has a drawback that it is not possible to reproduce only an instruction essential for reproducing a designated event. For example, as shown in FIG. 13, when the first read obj2 of proc2 is set as a break point, proc1 is reproduced from exit, and proc3 is reproduced from created to first read obj2.
Instant Replay法でも、指定事情の再現に必須な命令
だけを再現することはできないという欠点がある。即
ち、再演モードで、あるプロセスがある地点に到達した
ときにプログラム(すなわち全プロセス)の実行を中断
させると、他のプロセスの状態は非決定的となる。注目
地点に到達したプロセスの実行だけを中断させると他の
プロセスは先に進んでしまう。このため、プログラマは
逐次型プログラムと同様な意味で注目的を少しずつ進め
ながら、実行状態を調べたり、変更を加えたりすること
ができないという欠点がある。例えば第16図に示すよう
に、ブレークポイントを第13図と同じにした場合、proc
1及びproc3はいずれもexitまで再現される。また、Inst
ant Replay法では、P−sequence法に比べ、記録すべき
データ(バージョン番号と読出しプロセス数)量が増え
るという欠点がある。Even with the Instant Replay method, there is a disadvantage that it is not possible to reproduce only the commands necessary for reproducing the specified circumstances. That is, in the replay mode, if the execution of the program (ie, all processes) is interrupted when a certain process reaches a certain point, the state of the other processes becomes non-deterministic. If only the execution of the process that has reached the point of interest is interrupted, other processes will proceed. For this reason, there is a drawback that the programmer cannot check the execution state or make changes while gradually paying attention in the same sense as the sequential program. For example, as shown in FIG. 16, when the breakpoints are the same as in FIG. 13, proc
Both 1 and proc3 are reproduced up to exit. Also, Inst
The ant Replay method has a disadvantage that the amount of data to be recorded (version number and the number of read processes) increases as compared with the P-sequence method.
本発明の目的は、比較的小容量のデータを記録して、
モニタモードでのプログラム実行に最小限の影響しか与
えずに、しかも、指定事象の再現に必須な命令だけを再
現することを可能にする並列プログラムの実行再現方法
を提供することにある。An object of the present invention is to record a relatively small amount of data,
It is an object of the present invention to provide a parallel program execution reproducing method which has a minimal effect on a program execution in a monitor mode and can reproduce only an instruction essential for reproducing a designated event.
上記目的を達成するために、本発明は、モニタモード
と再演モードの2つのモードを検出してモードに応じて
共有データへのアクセス処理部の動作を変えさせる機能
と、プロセスの実行を開始させる機能と、プロセスに対
して実行要求を送る機能を実行制御部に備えさせ、アク
セスしようとするプロセス(アクセスプロセスと呼ぶ)
およびデータの識別子とアクセス種別(読出しまたは書
込み)を検出する機能と、アクセスプロセスが他のプロ
セスへ実行要求を送る機能と、アクセスプロセスが他の
プロセスから実行要求が送られていることを検出する機
能とを共有データのアクセス処理部に備えさせ、該アク
セス処理部は、モニタモードでプログラムを実行してい
るときには、共有データのアクセス開始時にプロセスの
識別子とアクセス種別とを例えばデータ識別子で指定さ
れる主記憶上の領域に該データ対応に順番に書込んで記
録データを作り、再演データでプログラムを実行してい
るときには、アクセスする前に前記記録データを参照し
て、該プロセスのアクセス前に終らせておくべきアクセ
スを行うプロセスに実行要求を送り、再演モードでのア
クセス終了時に他のプロセスから該プロセスの次のアク
セスに対する実行要求が送られるまで実行を停止させる
ことにより、モニタモードと再演モードとで共有データ
へ値を書込むプロセスと読出すプロセスの対応関係が等
しくなり、かつ、実行要求が送られたアクセスだけを行
うようにしたことである。In order to achieve the above object, according to the present invention, a function of detecting two modes, a monitor mode and a replay mode, and changing an operation of an access processing unit for shared data according to the mode, and starting execution of a process. A process to be accessed by providing an execution control unit with a function and a function of sending an execution request to the process (called an access process)
A function for detecting an identifier of data and an access type (read or write), a function for an access process to send an execution request to another process, and a function for the access process to detect that an execution request is sent from another process. When the program is executed in the monitor mode, the access processing unit specifies the process identifier and the access type at the start of the shared data access by, for example, a data identifier. When the program is executed using the replay data, the recording data is referred to before the access, and the recording data is referred to before the process is accessed. An execution request is sent to the process that performs the access that should be terminated, and another By suspending execution until a process sends an execution request for the next access of the process, the correspondence between the process of writing a value to the shared data and the process of reading the shared data in the monitor mode and the replay mode becomes equal, and That is, only the access to which the execution request was sent is performed.
本発明では、モニタモードでは共有オブジェクトごと
に分割した形式でプログラムの実行動作を記録し、再演
モードでは該記録データをもとに指定事象の再現に必須
な命令の動作だけを再現するようにプロセスの実行を制
御する。従来の技術とは、記録データの構造と配置、お
よび、再演モードでのプログラムの実行制御法が異な
る。According to the present invention, in the monitor mode, a program execution operation is recorded in a form divided for each shared object, and in the replay mode, a process is performed based on the recorded data to reproduce only an operation of an instruction necessary for reproducing a designated event. Control the execution of It differs from the prior art in the structure and arrangement of the recording data and the method of controlling the execution of the program in the replay mode.
以下、本発明の一実施例について図面により説明す
る。Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
第1図は本発明の一実施例の機能ブロック図を示した
もので、第8図の従来の構成とは太線で示す部分が異な
る。実行制御部11は、従来と同様にブログラマから指定
された実行モード(モニタモードまたは再演モード)を
アクセス処理部13に教え、共有オブジェクトへのアクセ
ス時の動作を変えさせる。モニタモードのときには、従
来と同様にプログラムの実行を開始させるだけである。
再演モードのときには、プログラマは、再演開始要求と
共に、再演停止事象を実行制御部11に指定する。ここ
で、再演停止事象は、ブレークポイントノードを識別す
るデータである。実行制御部11は、再演停止事象で指定
されるノードに対して実行要求信号が送られることをア
クセス処理部13に通知し、プログラム12の実行を開始さ
せる。プログラム12は、後述するアクセス処理部13の機
能により、要求駆動型実行モデルに従って実行動作が制
御され、プログラマが指定した再演停止事象に至るため
に必須の命令だけが実行される。排他制御部14は、アク
セス処理部13からロック、アンロック要求を受取り、従
来と同様に主記憶15に置かれた共有データへのアクセス
を同時にはただ一つのプロセッサしか行わないように排
他制御する。FIG. 1 shows a functional block diagram of one embodiment of the present invention, and the portion shown by a thick line is different from the conventional configuration of FIG. The execution control unit 11 informs the access processing unit 13 of the execution mode (monitor mode or replay mode) designated by the blogger in the same manner as in the related art, and changes the operation when accessing the shared object. In the monitor mode, the execution of the program is simply started as in the conventional case.
In the replay mode, the programmer specifies a replay stop event to the execution control unit 11 together with a replay start request. Here, the replay stop event is data for identifying a breakpoint node. The execution control unit 11 notifies the access processing unit 13 that an execution request signal is sent to the node specified by the replay stop event, and causes the execution of the program 12 to start. The execution operation of the program 12 is controlled by a function of an access processing unit 13 described later in accordance with a request-driven execution model, and only an instruction necessary for reaching a replay stop event specified by the programmer is executed. The exclusive control unit 14 receives a lock / unlock request from the access processing unit 13 and performs exclusive control so that only one processor accesses the shared data stored in the main memory 15 at the same time as in the related art. .
要求駆動型実行モデルでは、データフローグラフのあ
るノードの結果が必要になると、そのノードの入力アー
クの先のノード(以後単に入力ノードと呼ぶ)に実行要
求信号を送って実行を要求する。第2図(第9図)に例
示したグラフでproc2のobj2への読出しノードを実行さ
せるために実行要求信号が送られた場合には、次のよう
に実行を制御する。第2図で点線矢印につながるノード
は、この矢印に従って実行要求信号を伝播させる。実行
要求信号がグラフの初期ノードまで到達すると初期ノー
ドの実行を開始する。各ノードは実行を終えると、すべ
ての出力アークの先のノード(出力ノード)に実行終了
信号を送る。実行要求信号を受けたノードはすべての入
力ノードから実行終了信号を受けると実行を開始する。In the request-driven execution model, when the result of a certain node in the data flow graph becomes necessary, an execution request signal is sent to a node ahead of the input arc of that node (hereinafter simply referred to as an input node) to request execution. In the graph illustrated in FIG. 2 (FIG. 9), when an execution request signal is sent to execute a read node of proc2 to obj2, execution is controlled as follows. The node connected to the dotted arrow in FIG. 2 propagates the execution request signal according to the arrow. When the execution request signal reaches the initial node of the graph, the execution of the initial node is started. When each node finishes execution, it sends an execution end signal to the node (output node) ahead of all output arcs. The node that has received the execution request signal starts execution upon receiving an execution end signal from all input nodes.
要求駆動型実行モデルでは、理論的にはすべてのノー
ドが並列に実行契機を制御する。本発明では、アクセス
処理部13は、モニタモードでプロセスが共有オブジェク
トにアクセスする際に、プロセス識別子Pidと読出し書
込み種別を表わすr/w(r/wは1ビットのデータで、以下
ではr/w=rのとき読出しを、r/w=wのとき書込みを表
わす)をオブジェクトごとにオブジェクト履歴テープに
書込む。このモニタモードでのプロセス数と同数のプロ
セスを再演モードでも作り、各プロセスにモニタモード
と同じPidを割付けて、そのPidを持つプロセスがモニタ
モードで実行したノードを逐次的に再現する。各共有オ
ブジェクトへの排他制御はInstant Replay法と同様に、
CREWプロトコルで行う。以下に、アクセス処理部13の動
作を詳述する。In the request-driven execution model, all nodes theoretically control the execution timing in parallel. In the present invention, when the process accesses the shared object in the monitor mode, the access processing unit 13 uses the process identifier Pid and r / w representing the read / write type (r / w is 1-bit data. w = r indicates writing and r / w = w indicates writing) on an object history tape for each object. The same number of processes as the number of processes in the monitor mode are also created in the replay mode, the same Pid as in the monitor mode is assigned to each process, and the node executed by the process having the Pid in the monitor mode is sequentially reproduced. Exclusive control on each shared object is similar to the Instant Replay method,
Perform with CREW protocol. Hereinafter, the operation of the access processing unit 13 will be described in detail.
アクセス処理部13には、主記憶15の共有オブジェクト
(共有データ)の読出しと書込みの2つの手続きがある
が、基本的な制御法は共通である。第3図に、該読出し
と書込みに共通のアクセス処理部13の概略処理フローを
示す。第3図中、太線で囲った部分が従来と異なること
を示している。The access processing unit 13 has two procedures of reading and writing a shared object (shared data) in the main memory 15, but the basic control method is common. FIG. 3 shows a schematic processing flow of the access processing unit 13 common to the reading and the writing. In FIG. 3, the portion surrounded by a thick line indicates that it is different from the related art.
モニタモードでは、アクセス処理部13の入口処理で、
主記憶15の共有オブジェクトへのアクセスが許される
と、そのオブジェクトのオブジェクト履歴テープに(Pi
d,r/w)を書き加える。この結果、第9図(第2図)に
例示したプログラムでは、実行終了後、第4図のような
obj1,obj2ごとの記録データを得る。1回の書込みデー
タは第9図の1ノードに対応するので、以下では、この
データを指してノードということにする。この場合に
は、ノードは、このデータに対応するノードを意味す
る。In the monitor mode, at the entrance processing of the access processing unit 13,
When access to the shared object in the main memory 15 is permitted, the object history tape (Pi
d, r / w). As a result, in the program illustrated in FIG. 9 (FIG. 2), after the execution is completed, as shown in FIG.
Obtain recording data for each of obj1 and obj2. Since one write data corresponds to one node in FIG. 9, this data is hereinafter referred to as a node. In this case, the node means a node corresponding to this data.
再演モードでは、記録データを用いて、プログラムの
実行を制御し、proc2の1回目のread obj2をブレークポ
イント(再現停止事象)とした場合、第5図において太
線枠とハッチングをつけたノードで示す命令の実行だけ
を再現させる。アクセス処理部13における再演モードで
の制御の特徴は、第3図に太線枠で示したように、アク
セスしようとするプロセスが自分がアクセスする前に終
了しているべきアクセスを行うプロセスに対して実行要
求信号を送ること、および、共有オブジェクトへのアク
セスを終える度に実行を継続すべきか調べて、実行要求
信号が送られるまで処理を進めない点にある。以下、こ
のための制御を詳述する。In the replay mode, the execution of the program is controlled using the recorded data, and when the first read obj2 of proc2 is set as a breakpoint (reproduction stop event), it is indicated by a bold frame and hatched nodes in FIG. Reproduce only the execution of the instruction. The feature of the control in the replay mode in the access processing unit 13 is that, as shown by the thick line frame in FIG. The point is that the execution request signal is sent, and it is checked whether execution should be continued each time the access to the shared object is completed, and the process does not proceed until the execution request signal is sent. Hereinafter, the control for this will be described in detail.
再演モードでは、第4図の記録データに対応して、第
6図に示すような再演制御データを管理し、再演時の実
行制御に用いる。再演制御データは、プロセスごとに設
ける実行要求信号数(要求トークン数)、および、共有
オブジェクトごとに設けるノード状態データと再演状態
データからなる。実行要求信号数は、各プロセスに対し
て送られた未処理の実行要求信号の数を表わす変数であ
り、プロセスprocの実行要求信号数をdprocと表わす。
以下では簡単に、プロセスをP、実行要求信号数をdpと
略記する。ノード状態データは各ノードについて、実行
要求信号を受けたこと、および、実行終了信号を送った
ことをそれぞれ記録するための変数demand,signalから
なる(各変数は値1のとき事象がすでに生じたことを示
す)。再演状態データは、現在の値を書込んだノード、
その値を読出すノード数、次に値を書込むノードをそれ
ぞれ表わす3変数current Writer,Readers,next writer
からなる。書込み手続きの出口処理がオブジェクト履歴
テープの記録データとノード状態データを調べて、これ
らの変数の値を求めて書込む。In the replay mode, replay control data as shown in FIG. 6 is managed in correspondence with the recorded data in FIG. 4, and is used for execution control during the replay. The replay control data includes the number of execution request signals (number of request tokens) provided for each process, and node state data and replay state data provided for each shared object. The number of execution request signals is a variable representing the number of unprocessed execution request signals sent to each process, and the number of execution request signals of the process proc is represented as dproc.
In the following, the process is abbreviated as P and the number of execution request signals is abbreviated as dp. The node state data is composed of variables demand and signal for recording the reception of the execution request signal and the transmission of the execution end signal for each node (when each variable has the value 1, the event has already occurred. Indicating that). The replay status data is the node that wrote the current value,
The three variables current Writer, Readers, next writer, which represent the number of nodes from which the value is read and the node to which the value is next written
Consists of The exit process of the write procedure examines the record data and the node status data of the object history tape, finds the values of these variables, and writes them.
再演開始時に、システムは全プロセスの実行要求信号
数、および全ノードのノード状態データdemandとsignal
を0に初期化する。プログラマが注目するノードを指定
すると、システムは、そのノードおよび先行ノード集合
のノードに実行要求信号を送る。ここで、先行ノード集
合とは、第9図のグラフでは、細線矢印の入力アークの
根側を順々に辿ることにより得られるノード集合を意味
し、共有オブジェクトの記録データでは、記録されてい
る位置と各ノードのr/wの値から容易に求められる。ま
た、ノードに実行要求信号を送るとは、ノードのdemand
を1にし、プロセスPのdpを1増加させることを意味す
る。At the start of the replay, the system executes the number of execution request signals for all processes and the node status data demand and signal for all nodes.
Is initialized to 0. When the programmer specifies a node of interest, the system sends an execution request signal to that node and the nodes of the predecessor node set. Here, the preceding node set means a node set obtained by sequentially tracing the root side of the input arc of the thin arrow in the graph of FIG. 9, and is recorded in the recording data of the shared object. It can be easily obtained from the position and the value of r / w of each node. Sending an execution request signal to a node means that the node's demand
To 1 and increase d p of the process P by 1.
プロセスPはdpが正になると、プログラムの実行を開
始する。1ノードの実行を終えるとdpを1減じ、0にな
ったならば実行要求信号が送られるまで待機し、dpが正
のままならば実行を継続する。The process P starts executing the program when d p becomes positive. Finish execution of a node d p is decremented by 1 when, waits until execution request signal is sent if becomes 0, and continue execution if left d p is positive.
以下に再演モードでの読出し、書込み手続きにおける
入口処理、出口処理ルーチンの動作を述べる。各出口処
理を終えると1ノードの命令を実行したことになり、前
述のようにdpを1減じ、その値に従って実行の待機か継
続か決める。以下の説明で、あるノードをresumeすると
は、そのノードがアクセスを終えたオブジェクトへのア
クセスをあるプロセスが遅延させているならば、そのプ
ロセスへ信号を送り実行を再開させることを意味する。
また、各ノードのバージョン番号voidは、オブジェクト
履歴テープにおいて書込みアクセスの記録データ(r/w
=wのデータ)に番号付けすれば得られる。The operation of the entry processing and exit processing routines in the reading and writing procedures in the replay mode will be described below. When each exit process is completed, the instruction of one node has been executed, and as described above, d p is decremented by 1, and whether to wait or continue execution is determined according to the value. In the following description, "resume a node" means that if a process delays access to an object that the node has accessed, a signal is sent to that process to resume execution.
The version number v oid of each node is the write access record data (r / w
= W) can be obtained.
(a)読出しアクセス入口処理 例えば、プロセスproc2がオブジェクトobj2の読出し
命令を出すと、オブジェクトobj2のオブジェクト履歴テ
ープからPid=proc2、r/w=rを見つけ、オブジェクトo
bj2のノード状態データからsignal=0の記録データでv
oidが1番小さいデータ(my NODEと呼ぶ)を取り出す。
次に、入力ノード(my Writer)を見つける。my Writer
の先行ノード集合のノードとmy Nodeについて、各ノー
ドのdemandが0のとき、実行要求信号を送る。オブジェ
クトのcurrent Nodeがmy Writerならば、読出す値がオ
ブジェクトにすでに書込まれているので、その値を読出
す。そうでないならば、このオブジェクトへのアクセス
を遅延させる。(A) Read access entrance process For example, when the process proc2 issues a read instruction for the object obj2, Pid = proc2, r / w = r are found from the object history tape of the object obj2, and the object o
From the node state data of bj2, it is v
Retrieve the data with the smallest oid (called my NODE).
Next, find the input node (my Writer). my Writer
When the demand of each node is 0 for the node and the my Node of the preceding node set, an execution request signal is sent. If the current node of the object is my Writer, the value to be read is already written in the object, so that value is read. Otherwise, delay access to this object.
(b)読出しアクセス出口処理 オブジェクトのReadersを1減じ、正のままならば1
ノード分の実行を終える。Readersが0になり、next Wr
iterが存在するならばnext Writerをresumeする。(B) Read access exit processing Decrease the number of Readers of the object by 1, and if it remains positive, 1
Finish execution for the nodes. Readers become 0, next Wr
Resume next writer if iter exists.
(c)書込みアクセス入口処理 例えば、プロセスproc1がオブジェクトobj2の書き込
み命令を出すと、オブジェクトobj2のオブジェクト履歴
テープからPid=proc1,r/w=wを見つけ、オブジェクト
obj2のノード状態データからsiqnal=0のノードでvoid
が1番小さいノード(my NODE)を取り出す。my Nodeお
よびその先行ノード集合のすべてのノードについて、de
mandが0のとき、実行要求信号を送る。そのオブジェク
トのnext Writeがmy Nodeでないか、Readersが0でない
場合には、これらの条件が成り立つでオブジェクトへの
アクセスを遅延させる。二つの条件が成り立つとき、オ
ブジェクトへの書込みを行う。(C) Write access entry process For example, when the process proc1 issues a write command for the object obj2, Pid = proc1, r / w = w is found from the object history tape of the object obj2,
void at node of siqnal = 0 from node status data of obj2
Takes out the smallest node (my NODE). de for all nodes in the set of my Node and its predecessors
When mand is 0, an execution request signal is sent. If next write of the object is not my Node or Readers is not 0, access to the object is delayed because these conditions are satisfied. When the two conditions hold, writing to the object is performed.
(d)書込みアクセス出口処理 アクセスしたオブジェクトのcurrent Write,Readers,
next Writerの値を更新する。書込み値を読出すノード
がない(Readers=0)場合には、next Writerが存在す
るならば、next Writerをresumeする。そうでない場合
には、書込み値を読出すノードをすべて(r/w=rでv
oidが等しいすべてのノード)resumeする。(D) Write access exit processing Current Write, Readers,
Update the value of next Writer. When there is no node from which the write value is read (Readers = 0), the next writer is resumed if the next writer exists. Otherwise, all nodes from which the write value is to be read (r / w = r and v
Resume all nodes with the same oid ).
第9図に例示したプログラムについて、ブレークポイ
ントとしてプロセスproc2のノードread obj2(1回目の
読出し)を指定した場合、再演モードでは、第5図に斜
線で示した範囲が再実行される。即ち、指定事象の再現
で必要な命令(ノード)だけが再現される。When the node read obj2 (first reading) of the process proc2 is specified as a break point in the program illustrated in FIG. 9, in the replay mode, the range indicated by the hatched portion in FIG. 5 is re-executed. That is, only instructions (nodes) necessary for reproducing the designated event are reproduced.
以上説明したように、本発明によれば、モニタモード
でプログラムを実行させたときに、共有オブジェクトへ
の1回目のアクセスに付きプロセス識別子とアクセス種
別だけを、主記憶上で各共有オブジェクト毎に設けた履
歴テープの領域に記録することにより、再演モードでプ
ログラムを実行させるときに、任意のアクセス命令の再
現に必須な命令だけを再現するように各プロセスの実行
の開始、停止、再開の制御を行えるので、共有データを
持つ並列プログラムに対してモニタモードでプログラム
性能に対して比較的小さな影響しか及ぼさず、さらに、
比較的小容量のデータを記録するだけで、指定事象の再
現に必須な命令だけを再現できるという利点がある。こ
こで、プログラム性能に比較的小さな影響しか及ぼさな
いとは、逐次化によるボトルネックが生じることが無
く、かつ、モニタモードで実行動作を記録するために要
する時間が短かいので、モニタモードで実行させても通
常のプログラム実行の場合に比べ実行時間の増加が小さ
く、プログラムの実行動作がほぼ等しくなることを意味
する。As described above, according to the present invention, when a program is executed in the monitor mode, only the process identifier and the access type for the first access to the shared object are stored in the main memory for each shared object. Controlling the start, stop, and restart of each process so that when the program is executed in the replay mode by recording it in the area of the provided history tape, only the instructions necessary to reproduce any access instructions are reproduced. So that the monitor mode has a relatively small effect on program performance in parallel mode with shared data, and
There is an advantage that only instructions necessary for reproducing a designated event can be reproduced by recording only a relatively small amount of data. Here, the statement that the program performance has a relatively small effect means that there is no bottleneck due to serialization and the time required to record the execution operation in the monitor mode is short, so that the execution in the monitor mode is performed. Even if this is done, the increase in execution time is smaller than in the case of normal program execution, which means that the program execution operations are almost equal.
本発明で、モニタモードで記録すべきデータは、プロ
セス識別子とアクセス種別だけである。一般に、一つの
プログラムで用いる(あるいはシステムで許されてい
る)プロセスの数は、バージョン番号がとり得る値の最
大値に比べて小さいので、Instant Replay法に比べ記録
すべきデータ量が小さくなるという効果もある。In the present invention, the data to be recorded in the monitor mode is only the process identifier and the access type. In general, the number of processes used in one program (or allowed by the system) is smaller than the maximum value that the version number can take, so that the amount of data to be recorded is smaller than the Instant Replay method. There is also an effect.
第1図は本発明の一実施例の機能ブロック図、第2図は
本発明の基礎となる要求駆動型実行モデルでプログラム
を実行制御した場合の動作例を示す図、第3図は本発明
におけるアクセス処理部の概略処理フローを示す図、第
4図は記録データの構成例を示す図、第5図は再演モー
ドでのプログラムの実行動作例を示す図、第6図は再演
制御データの構成例を示す図、第7図は並列プログラム
の一般的動作を説明する図、第8図は従来のプログラム
の実行動作再現を実現する機能ブロック図、第9図は並
列プログラムの非同期実行動作例を示す図、第10図は従
来のP−sequence法による処理フローを示す図、第11図
はP−sequence法のモニタモードでのプログラムの実行
動作例を示す図、第12図はP−sequence法での記録デー
タの構成例を示す図、第13図はP−sequence法の再演モ
ードでのプログラムの実行再現動作例を示す図、第14図
は従来のInstant Replay法による処理フローを示す図、
第15図はInstant Replay法での記録データの構成例を示
す図、第16図はInstant Replay法の再演モードでのプロ
グラムの実行再現動作例を示す図である。 11……実行制御部、12……ユーザプログラム、 13……アクセス処理部、14……排他制御部、 15……主記憶(共有メモリ)。FIG. 1 is a functional block diagram of one embodiment of the present invention, FIG. 2 is a diagram showing an operation example when a program is controlled to be executed by a demand-driven execution model on which the present invention is based, and FIG. Fig. 4 is a diagram showing a schematic processing flow of an access processing unit in Fig. 4, Fig. 4 is a diagram showing a configuration example of recording data, Fig. 5 is a diagram showing an example of a program execution operation in a replay mode, and Fig. 6 is a diagram of replay control data. FIG. 7 is a diagram showing a configuration example, FIG. 7 is a diagram for explaining a general operation of a parallel program, FIG. 8 is a functional block diagram for realizing a conventional program execution operation reproduction, and FIG. 9 is an example of an asynchronous execution operation of a parallel program. FIG. 10 is a diagram showing a processing flow by a conventional P-sequence method, FIG. 11 is a diagram showing an example of a program execution operation in a monitor mode of the P-sequence method, and FIG. 12 is a P-sequence Fig. 13 shows an example of the structure of recording data by the method Shows an execution reproduction operation example of a program in the replay mode P-sequence method, Fig. 14 shows a processing flow by the conventional Instant Replay method,
FIG. 15 is a diagram showing a configuration example of recording data by the Instant Replay method, and FIG. 16 is a diagram showing an example of a program execution reproduction operation in the replay mode of the Instant Replay method. 11 execution control unit, 12 user program, 13 access processing unit, 14 exclusive control unit, 15 main memory (shared memory).
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/46 G06F 11/28 G06F 11/32 G06F 11/34 G06F 15/16Continuation of the front page (58) Field surveyed (Int.Cl. 6 , DB name) G06F 9/46 G06F 11/28 G06F 11/32 G06F 11/34 G06F 15/16
Claims (1)
書込みを行う複数プロセスからなる並列プログラムの実
行動作を再現する方法において、 モニタモード、再演モードを指示し、 モニタモードでプログラムを実行しているときには、共
有データのアクセス毎にプロセスの識別子とアクセス種
別とをデータ対応にアクセス順に書込んだ記録データを
作り、 再演モードでプログラムを実行しているときには、アク
セスする前に前記記録データを参照して、該プロセスの
アクセス前に終らせておくべきアクセスを行うプロセス
に実行要求を送り、再演モードでのアクセス終了時に他
のプロセスから該プロセスの次のアクセスに対する実行
要求が送られるまで実行を停止させることにより、 モニタモードと再演モードとで共有データへ値を書込む
プロセスと読出すプロセスの対応関係が等しくなり、か
つ、実行要求が送られたアクセスだけを行うようにする
ことを特徴とする並列プログラムの実行再現方法。An asynchronous reading of shared data from a main memory;
In the method of reproducing the execution of a parallel program consisting of multiple processes for writing, the monitor mode and the replay mode are instructed. When the program is executed in the monitor mode, the process identifier and access type for each access to shared data When the program is executed in the replay mode, the record data is referred to before the access, and the access to be completed before the access of the process is performed. To the shared data in the monitor mode and the replay mode by stopping execution until another process sends an execution request for the next access of the process at the end of the access in the replay mode. The correspondence between the process of writing the value and the process of reading the value is equal, A method of reproducing the execution of a parallel program, wherein only the access to which the execution request is sent is performed.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2036863A JP2807026B2 (en) | 1990-02-17 | 1990-02-17 | Execution reproduction method of parallel program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2036863A JP2807026B2 (en) | 1990-02-17 | 1990-02-17 | Execution reproduction method of parallel program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03240137A JPH03240137A (en) | 1991-10-25 |
| JP2807026B2 true JP2807026B2 (en) | 1998-09-30 |
Family
ID=12481623
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2036863A Expired - Fee Related JP2807026B2 (en) | 1990-02-17 | 1990-02-17 | Execution reproduction method of parallel program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2807026B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH086832A (en) * | 1994-06-22 | 1996-01-12 | Nec Corp | Event recording device and event reproducing device |
| US20080270770A1 (en) * | 2005-01-24 | 2008-10-30 | Marc Vertes | Method for Optimising the Logging and Replay of Mulit-Task Applications in a Mono-Processor or Multi-Processor Computer System |
| JP4997144B2 (en) * | 2007-03-27 | 2012-08-08 | 株式会社東芝 | Multitask processing apparatus and method |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS63279960A (en) * | 1987-05-08 | 1988-11-17 | Denki Kogyo Kk | Floor conveyance chain conveyer |
| JPH02197954A (en) * | 1989-01-27 | 1990-08-06 | Nec Corp | Parallel execution regenerating system |
-
1990
- 1990-02-17 JP JP2036863A patent/JP2807026B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH03240137A (en) | 1991-10-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9038031B2 (en) | Partial recording of a computer program execution for replay | |
| US5712971A (en) | Methods and systems for reconstructing the state of a computation | |
| US8276127B2 (en) | Devices, methods and computer program products for reverse execution of a simulation | |
| US4852092A (en) | Error recovery system of a multiprocessor system for recovering an error in a processor by making the processor into a checking condition after completion of microprogram restart from a checkpoint | |
| US6148417A (en) | Method for determining a source of failure during a file system access | |
| JPH04302335A (en) | Built-in computer system analysis system | |
| JPH0738161B2 (en) | Error recovery device | |
| CN103430158B (en) | Use Execution Single Step to Diagnose Coding | |
| CN104461876A (en) | Concurrent program reappearance debugging method based on snapshot sequence running | |
| US4385365A (en) | Data shunting and recovering device | |
| JPH03204737A (en) | Debug circuit of signal processing processor | |
| JP2807026B2 (en) | Execution reproduction method of parallel program | |
| JPH0810437B2 (en) | Guest execution control method for virtual machine system | |
| JPS5942343B2 (en) | Trace information logging method | |
| CN1021604C (en) | Apparatus and method for recovering from page faults in vector data processing operations | |
| JPS6363935B2 (en) | ||
| JPH01125633A (en) | System for debugging multi-processing system | |
| JPS6270947A (en) | Control system for debug interruption | |
| JPS60160442A (en) | Microprogram address tracing system | |
| JPH0287237A (en) | Execute instruction control system | |
| JPH0324640A (en) | Debugging system for information processor | |
| JPH06295252A (en) | calculator | |
| JPS58181159A (en) | Storage circuit of state history | |
| JPH0399342A (en) | Control system for program event recording | |
| JPS6030976B2 (en) | Advance control type information processing device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |