JPH025135A - Message schedule system - Google Patents
Message schedule systemInfo
- Publication number
- JPH025135A JPH025135A JP15728888A JP15728888A JPH025135A JP H025135 A JPH025135 A JP H025135A JP 15728888 A JP15728888 A JP 15728888A JP 15728888 A JP15728888 A JP 15728888A JP H025135 A JPH025135 A JP H025135A
- Authority
- JP
- Japan
- Prior art keywords
- message
- messages
- variable
- execution
- processing
- 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
- 238000000034 method Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 6
- 238000003672 processing method Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はメツセージスケジュール方式、特にオブジェク
トと呼ぶ処理実体が並列にメツセージを送出することに
より、メツセージを受け取った複数のオブジェクトが並
列に処理を進める並列オブジェクト指向言語の実行方式
において、逐次型計算機上で疑似並列に処理するメッセ
ージスケジュール方式に関する。[Detailed Description of the Invention] [Field of Industrial Application] The present invention relates to a message scheduling method, in particular, a message scheduling method in which a processing entity called an object sends messages in parallel, so that multiple objects that receive messages proceed with processing in parallel. This paper relates to a message scheduling method for pseudo-parallel processing on a sequential computer in the execution method of parallel object-oriented languages.
並列オブジェクト指向言語は、処理主体であるオブジェ
クト単位での並列性を実現するなめに、オブジェクト間
でやり取りするメツセージに非同7tJI 1f!構を
設けている(参考文献:米澤明憲他/オブジェクト指向
に基づく並列情報処理モデルAB CM/ 1とその記
述言語ABCL/1.コンピュータソフトウェア23巻
3号、1986)。In parallel object-oriented languages, in order to realize parallelism in units of objects, which are the main processing entities, messages exchanged between objects are non-identical. (Reference: Akinori Yonezawa et al./Object-oriented parallel information processing model AB CM/1 and its description language ABCL/1. Computer Software Vol. 23, No. 3, 1986).
たとえば、第1のオブジェクトが非同期メツセージを第
2のオブジェクトに送出する場合に、非同期メツセージ
を送出した後の第1のオブジェクトと、非同期メツセー
ジを受け取った第2オブジエクトとが、並列に動作する
というものであり、オブジェクト自身の実行は逐次的に
進む。この処理方式はオブジェクト単位の並列性が自然
な考え方であることもあって広く使われている。For example, when a first object sends an asynchronous message to a second object, the first object after sending the asynchronous message and the second object that receives the asynchronous message operate in parallel. , and the execution of the object itself proceeds sequentially. This processing method is widely used because parallelism in object units is a natural concept.
従来の並列オブジェクト指向言語では、オブジェクト単
位の並列性を想定しており、メツセージ単位での並列性
を考えていない。その結果、オブジェク1−のスケジュ
ーリングとメツセージのスケジューリングとの二つの問
題を取扱う必要があり、複雑な処理方式を必要とすると
いう欠点がある。Conventional parallel object-oriented languages assume parallelism in units of objects, but do not consider parallelism in units of messages. As a result, it is necessary to deal with two problems: scheduling of object 1- and scheduling of message, and there is a drawback that a complicated processing method is required.
本発明の目的は、上述の欠点を解消したメツセージ単位
での並列性を基本とする並列オブジェクト指向言語に対
するメツセージスケジュール方式を提供することにある
。SUMMARY OF THE INVENTION An object of the present invention is to provide a message scheduling method for a parallel object-oriented language based on parallelism in units of messages, which eliminates the above-mentioned drawbacks.
本発明のメツセージスケジュール方式は、第1の処理実
体が複数のメツセージを他の処理実体に同時に送出する
ことにより、前記メツセージを受取った複数の処理実体
が並列に処理を進め、前記第1の処理実体が値の確定し
ていない変数をメツセージ内に持たせることにより、前
記第1の処理実体が前記メツセージによる処理依頼結果
を待つ並列オブジェクト指向言語の実行方式において、
スケジュールのための仮想的な時刻を管理する時刻管理
部と、この時刻管理部の指示する時刻に従って同時に実
行する複数のメツセージを一括して管理するメツセージ
格納部と、このメツセージ格納部から取り出したメツセ
ージを実行するのに他の変数が確定するのを待つ必要が
あるかどうか及び前記変数が確定しているかどうかを判
定する実行可能性判定部と、メツセージを実行できない
場合に値が確定していないために前記メツセージを実行
できない理由となった変数に対して前記メツセージを登
録する変数依存関係管理部と、メツセージを実行できる
場合にメツセージの受け手にメツセージを送りつけるメ
ツセージ実行管理部と、メツセージを実行して新たに値
が確定することにより実行可能になるメツセージを前記
メツセージ格納部に移行させるメツセージ再格納制御部
とを有することにより構成される。In the message scheduling method of the present invention, a first processing entity simultaneously sends a plurality of messages to other processing entities, so that the plurality of processing entities that have received the messages proceed with processing in parallel, and the first processing entity sends a plurality of messages to other processing entities simultaneously. In an execution method of a parallel object-oriented language, the first processing entity waits for the result of a processing request made by the message by causing the entity to have a variable whose value is not determined in the message,
A time management section that manages virtual time for scheduling, a message storage section that collectively manages multiple messages to be executed simultaneously according to the time specified by this time management section, and messages retrieved from this message storage section. an executable determination unit that determines whether it is necessary to wait for other variables to be determined in order to execute the message and whether or not the variable is determined; a variable dependency management unit that registers the message for the variable that caused the message to be unable to be executed; a message execution management unit that sends the message to the message recipient if the message can be executed; and a message execution management unit that executes the message. and a message restorage control section that transfers a message that becomes executable by determining a new value to the message storage section.
時刻管理部が指定する時刻Tをメツセージ格納部に与え
て、時刻Tに対応するエントリに格納されているメツセ
ージ群を取り出す。このメツセージ群に属するメツセー
ジは同時に実行されるべきものであり、このメツセージ
群から順次メツセージを取出して、実行可能性判定部に
引渡す。実行可能性判定部は受取ったメツセージが変数
を含むかどうか、変数を含むならば、値が確定していな
いとこのメツセージを実行できないかどうかを判定する
。メツセージが変数を含み、かつ値が確定していないと
実行できない場合には、変数依存関係管理部は値が確定
していないためにメツセージを実行できなかった前記の
変数に、前記メツセージを登録しておく。一方、メツセ
ージを実行できる場合にはメツセージ実行管理部に引渡
しメツセージを実行させる。通常、メツセージを実行す
ることにより、さらにメツセージを生成し、メツセージ
格納部の時刻T+1に対応するエントリに追加格納する
。また、メツセージを実行することにより新たに確定し
た変数に対しては、確定した変数についてメツセージを
登録されている場合は、登録されているメツセージをメ
ツセージ再格納管理部に引渡し、メツセージ再格納管理
部はメツセージをメツセージ格納部の時刻T+1に対応
するエントリに追加格納する。時刻管理部は時刻を更新
し処理を実行する。The time T specified by the time management section is given to the message storage section, and the message group stored in the entry corresponding to the time T is retrieved. Messages belonging to this message group are to be executed at the same time, and messages are sequentially extracted from this message group and handed over to the execution possibility determination section. The executable determination unit determines whether the received message includes a variable, and if so, determines whether the message cannot be executed unless the value is determined. If the message contains a variable and cannot be executed unless the value is determined, the variable dependency management unit registers the message to the variable for which the message could not be executed because the value is not determined. I'll keep it. On the other hand, if the message can be executed, it is delivered to the message execution management section and the message is executed. Normally, by executing a message, another message is generated and additionally stored in the entry corresponding to time T+1 in the message storage section. In addition, for variables newly confirmed by executing a message, if a message has been registered for the confirmed variable, the registered message is transferred to the message restorage management section, and the message restorage management section additionally stores the message in the entry corresponding to time T+1 in the message storage section. The time management unit updates the time and executes processing.
次に、本発明について図面を参照して詳細に説明する。 Next, the present invention will be explained in detail with reference to the drawings.
第1図は本発明の一実施例を示す構成図、第2図は第1
図における時刻管理部1とメツセージ格納部2との一実
施例を示す構成図である。第2図において、時刻管理部
1は現在時刻保持部10と時刻更新処理部11とからな
り、現在時刻保持部の出力によりメツセージを格納する
環状構造部(以下タイム環という)20のエントリを指
示する。タイム環20は複数のエントリからなり、各時
刻に対応するエントリ210〜213の各エントリには
、同時に実行すべきメツセージがつながっている。FIG. 1 is a configuration diagram showing one embodiment of the present invention, and FIG.
FIG. 2 is a configuration diagram showing an example of a time management section 1 and a message storage section 2 in the figure. In FIG. 2, the time management section 1 consists of a current time holding section 10 and a time update processing section 11, and the output of the current time holding section instructs an entry in a circular structure section (hereinafter referred to as time ring) 20 that stores messages. do. The time ring 20 is made up of a plurality of entries, and messages to be executed simultaneously are connected to each of the entries 210 to 213 corresponding to each time.
第3図は各メツセージの形式図で、処理内容、本メツセ
ージの受け手であるオブジェクト、さらにゼロ個以上の
変数欄によって構成されている。FIG. 3 is a format diagram of each message, which is composed of processing contents, an object that is the recipient of this message, and zero or more variable fields.
変数欄は第4図に示すように、格納される変数が確定し
ているときに限り変数欄を含むメツセージを実行するこ
とができることを示す待ちモードフラッグと変数と実行
待ちメツセージとから構成される。第4図において、待
ちモードフラッグは値欄に確定した値があるかどうかを
判定するのに用い、実行待ちメツセージ欄には、変数の
値が確定した場合に実行可能になる可能性のあるメツセ
ージを格納する。As shown in FIG. 4, the variable field is comprised of a wait mode flag indicating that the message containing the variable field can be executed only when the variable to be stored is determined, a variable, and a message waiting to be executed. . In Figure 4, the wait mode flag is used to determine whether there is a determined value in the value column, and the message column waiting for execution contains messages that may become executable when the value of the variable is determined. Store.
第5図(a>および(b)は本発明の処理手順を示すフ
ローチャートである。以下、第5図のフローチャートを
参照して本実施例を説明する。時刻更新処理部11によ
り現時刻保持部10の現在時刻が時刻Tに更新される(
ステップ101)。5(a) and (b) are flowcharts showing the processing procedure of the present invention.Hereinafter, this embodiment will be explained with reference to the flowchart of FIG. The current time of 10 is updated to time T (
Step 101).
時刻Tが示すタイム環20のエントリ211に格納され
ているメツセージ群があるかどうかの判定を行い、無い
場合は処理ステップ101に分岐する。実行可能性判定
部3は処理すべきメツセージ群がある場合はこのメツセ
ージ群を取出しくステップ102)、すべてのメツセー
ジに対して以下の処理を行なう。すなわち、メツセージ
群からメツセージを一つ取出しくステップ103゜10
4)、待ちモードの変数があるかどうかを検査する(ス
テップ105)。これは第3図に示したメツセージ形式
の変数欄をみればわかる。待ちモードの変数がある場合
には、第4図の待ちモードフラッグ欄をみて値が確定し
ているかどうかを検査する(ステップ106)。待ちモ
ードでありかつ確定していない場合は、変数依存関係管
理部4において、この変数の待ちメツセージ欄に前記の
メツセージを追加する(ステップ107)、−方、待ち
モードの変数を含まないか、あるいは待ちモードの変数
が確定している場合には、メツセージを実行できるので
、メツセージ実行管理部5に引き渡す。メツセージ管理
部5はキューの形式で受け取ったメツセージを貯えてい
くくステップ108)。ステップ102で取り出したす
べてのメツセージに対して、以上の処理を行いステップ
103でメツセージがなくなると、ステップ108でキ
ューに貯えたメツセージを実行する(ステップ109)
。また、メツセージ実行中に新たに変数が確定する場合
は、変数の値欄に値を格納しくステップ110)、待ち
メツセージ欄に、変数が確定するかどうかを待つメツセ
ージがあるかどうかを検査する(ステップ111)。It is determined whether there is a message group stored in the entry 211 of the time ring 20 indicated by the time T, and if there is not, the process branches to step 101. If there is a message group to be processed, the feasibility determining section 3 extracts the message group (step 102), and performs the following processing on all messages. That is, step 103゜10 takes out one message from the message group.
4) Check whether there is a variable in wait mode (step 105). This can be seen by looking at the message format variable column shown in Figure 3. If there is a wait mode variable, the wait mode flag column in FIG. 4 is checked to see if the value is fixed (step 106). If it is in the waiting mode and has not been determined, the variable dependency relationship management unit 4 adds the message to the waiting message column of this variable (step 107). Alternatively, if the wait mode variable has been determined, the message can be executed and is passed to the message execution management section 5. The message management section 5 stores the messages received in the form of a queue (step 108). The above process is performed on all the messages retrieved in step 102, and when there are no more messages in step 103, the messages stored in the queue are executed in step 108 (step 109).
. Additionally, if a new variable is determined during message execution, the value is stored in the variable value field (step 110), and the waiting message field is checked to see if there is a message waiting for the variable to be determined (step 110). Step 111).
ここで待ちメツセージがある場合は、すべての待ちメツ
セージを現在時刻を一単位進めた時刻T+1に対応する
タイム環20のエントリの最後尾に追加する。If there are any waiting messages, all the waiting messages are added to the end of the entry in the time ring 20 corresponding to time T+1, which is one unit ahead of the current time.
以上説明したように本発明によれば、メツセージ単位で
の並列性を基本とする並列オブジェクト指向言語Cご対
するメツセージスケジュール方式を提供することができ
る。As described above, according to the present invention, it is possible to provide a message scheduling method for the parallel object-oriented language C, which is based on parallelism on a message-by-message basis.
第1図は本発明の一実施例を示す構成図、第2図は第1
図における時刻管理部とメツセージ格納部との一実施例
を示す構成図、第3図は第1図に用いられるメツセージ
の形式図、第4図は第3図における変数の形式図、第5
図は本発明の−実施例のフローチャートである。
1・・・時刻管理部、2・・・メツセージ格納部、3・
・・実行可能判定部、4・・・変数依存関係管理部、5
・・・メツセージ実行管理部、6・・・メツセージ再格
納制御部、10・・・現在時刻保持部、11・・・時刻
更新処理部、20・・・メツセージを格納する環状構造
(タイム環)、210〜213・・・各時刻に対応する
エントリ。FIG. 1 is a configuration diagram showing one embodiment of the present invention, and FIG.
FIG. 3 is a format diagram of the message used in FIG. 1, FIG. 4 is a format diagram of variables in FIG. 3, and FIG.
The figure is a flowchart of an embodiment of the invention. 1... Time management section, 2... Message storage section, 3.
... Executable determination section, 4... Variable dependency management section, 5
Message execution management unit, 6 Message restorage control unit, 10 Current time holding unit, 11 Time update processing unit, 20 Cyclic structure (time ring) for storing messages. , 210-213... Entries corresponding to each time.
Claims (1)
時に送出することにより、前記メッセージを受取った複
数の処理実体が並列に処理を進め、前記第1の処理実体
が値の確定していない変数をメッセージ内に持たせるこ
とにより、前記第1の処理実体が前記メッセージによる
処理依頼結果を待つ並列オブジェクト指向言語の実行方
式において、スケジュールのための仮想的な時刻を管理
する時刻管理部と、この時刻管理部の指示する時刻に従
って同時に実行する複数のメッセージを一括して管理す
るメッセージ格納部と、このメッセージ格納部から取り
出したメッセージを実行するのに他の変数が確定するの
を待つ必要があるかどうか及び前記変数が確定している
かどうかを判定する実行可能性判定部と、メッセージを
実行できない場合に値が確定していないために前記メッ
セージを実行できない理由となった変数に対して前記メ
ッセージを登録する変数依存関係管理部と、メッセージ
を実行できる場合にメッセージの受け手にメッセージを
送りつけるメッセージ実行管理部と、メッセージを実行
して新たに値が確定することにより実行可能になるメッ
セージを前記メッセージ格納部に移行させるメッセージ
再格納制御部とを有することを特徴とするメッセージス
ケジュール方式。When the first processing entity simultaneously sends multiple messages to other processing entities, the multiple processing entities that received the messages proceed with processing in parallel, and the first processing entity has an undetermined value. a time management unit that manages virtual time for scheduling in an execution method of a parallel object-oriented language in which the first processing entity waits for a processing request result according to the message by including a variable in the message; There is a message storage section that collectively manages multiple messages to be executed simultaneously according to the time specified by this time management section, and a message storage section that requires waiting for other variables to be determined before executing a message retrieved from this message storage section. an executable determination unit that determines whether the message exists or not and whether the variable has been determined; A variable dependency management unit that registers messages, a message execution management unit that sends messages to message receivers when messages can be executed, and messages that become executable by executing messages and determining new values. A message scheduling method, comprising: a message restorage control section that causes the message to be transferred to the message storage section.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15728888A JPH025135A (en) | 1988-06-24 | 1988-06-24 | Message schedule system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15728888A JPH025135A (en) | 1988-06-24 | 1988-06-24 | Message schedule system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH025135A true JPH025135A (en) | 1990-01-10 |
Family
ID=15646380
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15728888A Pending JPH025135A (en) | 1988-06-24 | 1988-06-24 | Message schedule system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH025135A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05201845A (en) * | 1990-07-11 | 1993-08-10 | Quest Internatl Bv | Manufacture of personal article blended with scent |
| JP2012527806A (en) * | 2009-05-18 | 2012-11-08 | アマデウス エス.エイ.エス | Method and system for managing message order |
-
1988
- 1988-06-24 JP JP15728888A patent/JPH025135A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05201845A (en) * | 1990-07-11 | 1993-08-10 | Quest Internatl Bv | Manufacture of personal article blended with scent |
| JP2012527806A (en) * | 2009-05-18 | 2012-11-08 | アマデウス エス.エイ.エス | Method and system for managing message order |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2857969A2 (en) | Data processing management method, information processing apparatus, and data processing management program | |
| JPH025135A (en) | Message schedule system | |
| JPH025134A (en) | Message schedule system | |
| JP2000148699A (en) | Network management system | |
| JPH0398123A (en) | Instruction series processor with time stamp | |
| JPH0411888B2 (en) | ||
| JPH04239338A (en) | Measuring system for microprogram comprehension rate | |
| JP2749058B2 (en) | Data-driven control method | |
| JP2536081B2 (en) | Multiple scheduling control system | |
| JP2003280931A (en) | Transaction processing system and processing method | |
| JP2708012B2 (en) | Update buffer management device | |
| JP2512540B2 (en) | Processing routine search speedup method | |
| JP2765911B2 (en) | Data driven control method and compiling device | |
| JPH0458334A (en) | Message output selection system | |
| JP2002082922A (en) | Parallel distribution processing method | |
| CN116244392A (en) | A method and system for generating application snapshot data based on road network reconstruction | |
| JPH0240723A (en) | Message transmission/reception control system | |
| JPS61251966A (en) | Image processor | |
| JPH01193940A (en) | How object-oriented languages handle time | |
| JPH08110894A (en) | Parallel computer system | |
| JPH08115244A (en) | Distributed transaction processing system and transaction control method | |
| JPH02118841A (en) | Input queue control system | |
| JP2001282562A (en) | Task execution system and task execution method | |
| JPH09134293A (en) | Register information saving / restoring method and apparatus therefor | |
| JPH02272659A (en) | United definition/control system for terminal attribute information |