JP3146276B2 - 共有メモリの更新及び参照管理方式並びに参照タイミング制御方式 - Google Patents

共有メモリの更新及び参照管理方式並びに参照タイミング制御方式

Info

Publication number
JP3146276B2
JP3146276B2 JP26572994A JP26572994A JP3146276B2 JP 3146276 B2 JP3146276 B2 JP 3146276B2 JP 26572994 A JP26572994 A JP 26572994A JP 26572994 A JP26572994 A JP 26572994A JP 3146276 B2 JP3146276 B2 JP 3146276B2
Authority
JP
Japan
Prior art keywords
shared memory
update
request
message
management unit
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 - Lifetime
Application number
JP26572994A
Other languages
English (en)
Other versions
JPH07302220A (ja
Inventor
昌朋 矢崎
俊明 五味
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP26572994A priority Critical patent/JP3146276B2/ja
Priority to US08/366,695 priority patent/US6055545A/en
Publication of JPH07302220A publication Critical patent/JPH07302220A/ja
Application granted granted Critical
Publication of JP3146276B2 publication Critical patent/JP3146276B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプロセス又はプロセス内
のオブジェクトからの共有メモリに対する更新要求又は
参照要求を遅延させて実行する共有メモリの更新及び参
照管理方式、並びに共有メモリに対する参照タイミング
を制御する参照タイミング制御方式に関する。より具体
的には、プロセス間又はオブジェクト間で共有メモリ上
の領域を使用する際に、その領域への更新要求又は参照
要求を受け付けた時点で直ちに実行するのではなく、一
旦遅延させた後に実行することにより、その領域に関係
する複数のプロセス又はオブジェクトに対して、見掛け
上同一の時刻の概念を与えるようにした共有メモリの更
新及び参照管理方式、並びに複数のプロセス又はオブジ
ェクトによる共有メモリの参照の機会を必要最小限に抑
えてオーバヘッドを削減した参照タイミング制御方式に
関する。
【0002】近年、コンピュータシステムの高性能化に
伴い、自律したオブジェクト群から構成される人工生物
が考えられており、その人工生物が住む世界に対して、
人工生物の時間を管理することが要求されている。とこ
ろで、人工生物の時間とは、人工生物同士が何らかの関
係を持った時、たとえば会話を開始した時、あるいは同
じ物を掴んでいる時に発生する。従って、これらの状況
に関係しているオブジェクト群は同じ時間を共有してい
ることになる。ここで、時間を共有するということはそ
れぞれのオブジェクトで時間の進行状態を同一にする必
要があるということであり、そのためにはオブジェクト
の環境を見掛け上同一にする必要がある。この場合のオ
ブジェクトの環境はオブジェクト間で共有するメモリ上
のデータがこれに相当する。
【0003】
【従来の技術】図15(A),(B)は従来の通信及びロ
ックによる同期の手法を説明するための模式図である。
従来、プロセス間で同期して作業を行なう場合は、図15
(A)に示すようにプロセス間通信を同期させる手法
と、図15(B)に示すようにロックにより同期させる手
法とのいずれかが主として採用されていた。即ち、図15
(A)に示されている例では、プロセスAとプロセスB
との間で”MESSAGE ”、具体的には”MESSAGE-RECEIVE
”, ”MESSAGE-SEND”をやりとりしてこれらのプロセ
ス間で同期をとって協調動作を行なう。また図15(B)
に示されている例では、共有メモリを介して”LOCK”を
用いて、プロセスAとプロセスBとの間でデータの保護
を行ない、これらのプロセス間で同期を得る。
【0004】
【発明が解決しようとする課題】図15(A)に示されて
いる例では、特定の相手と1対1で、かつ手順が決まっ
ている場合には同期をとる上で有効であるが、人工生物
のようなオブジェクトの場合にはあまり有効ではない。
また、図15(B)に示されている例では、ロックを使用
してデータ保護を行なうことができても、オブジェクト
間で同一時刻を共有することはできない。
【0005】また、複数のプロセス間で同一時刻を共有
し得た場合には、各プロセスが共有メモリを同一時刻の
概念を守った状態で参照する必要が生じる。しかし、プ
ロセスの数が多数になればなるほど、共有メモリに対す
るアクセスのオーバヘッドが大きくなり、同一時刻の概
念を維持することが困難になる虞が生じる。
【0006】図16は従来の問題点を説明するための模式
図であり、共有メモリ上の変数の遷移を示している。最
初の状態である変数x=0,y=0に対して、プロセス
AとプロセスBとが図示されているような処理を実行す
る場合を考える。(1)の順序で処理が実行された場合
は、先ずx=0であるからプロセスAがy=1を共有メ
モリに書込み、続いて、y=1(y=0でない場合)で
あるからプロセスBがx=1を書込る。結果的に(1)
の場合には、x=1,y=1が共有メモリに書込まれ
る。
【0007】一方、(2)の順序で処理が実行された場
合は、先ずx=0であるからプロセスBがx=2を書込
み、続いて、x=2(x=0でない場合)であるからプ
ロセスAがy=2を書込る。結果的に(2)の場合に
は、x=2,y=2が共有メモリに書込まれる。このよ
うに、いずれのプロセスが先に処理されてその結果が実
行されるかにより、共有メモリに書込まれる結果が異な
ってしまう。
【0008】上述の例のように、複数のオブジェクトが
時間を共有している状況において、共有メモリ上の変数
がオブジェクトの実行順序に依存して異なった状態に更
新されるという問題が生じていた。このような状況では
オブジェクトが時間を共有していることにはならず、そ
れぞれのプロセスが独自の時間を持つことになる。
【0009】本発明の目的は、オブジェクト同士が時間
を共有している状況において、そのオブジェクト同士に
同一時刻の環境を提供することが可能な共有メモリの更
新及び参照管理方式を提供することにある。ここで、オ
ブジェクト同士に同一時刻の環境を提供するとは、これ
らが共有するメモリ上のデータ内容に対して同一時刻の
概念が与えられることを意味する。
【0010】また、本発明は、上述のようにして共有メ
モリ上のデータ内容に同一時刻の概念が得られた場合
に、共有メモリの内容を複数のプロセスあるいはオブジ
ェクトが参照する際のメモリアクセスのオーバヘッドを
削減し得る共有メモリの参照タイミング制御方式を提供
することをも目的とする。
【0011】
【課題を解決するための手段及び作用】請求項1に記載
本発明に係るプロセス又はプロセス内のオブジェクト
からの共有メモリに対する更新要求又は参照要求を管理
する共有メモリの更新及び参照管理方式は、プロセス間
又はプロセス内のオブジェクト間で共有する共有メモリ
と、共有メモリ上にデータを配置するオブジェクト群
と、オブジェクト群の動作と、オブジェクト群へのメッ
セージ送信を制御するオブジェクト管理部と、オブジェ
クト管理部に対して、絶対時間で定められた制御タイミ
ング信号を生成するタイミング部とを備え、更新要求の
あるプロセスは、共有メモリ上のデータを更新するため
更新要求をオブジェクト管理部に送り、オブジェクト
管理部は、送られてきた更新要求を当該データを管理す
るオブジェクトへのメッセージとして保持することによ
その実行を遅延させ、タイミング部から次の制御タイ
ミング信号が与えられた時点で各オブジェクトにメッセ
ージと制御とを移してメッセージを実行し、かつ他のプ
ロセスからの共有メモリに対する参照要求に対しては、
共有メモリの任意の部分に対して任意の時間に参照可能
とするように管理することを特徴とする。
【0012】
【0013】
【0014】請求項2に記載の本発明に係るプロセス又
はプロセス内のオブジェクトからの共有メモリに対する
更新要求又は参照要求を管理する共有メモリの更新及び
参照管理方式は、プロセス間又はプロセス内のオブジェ
クト間で共有する共有メモリと、共有メモリ上にデータ
を配置するオブジェクト群と、オブジェクト群の動作
と、オブジェクト群へのメッセージ送信を制御するオブ
ジェクト管理部と、オブジェクト管理部に対して、オブ
ジェクトの処理に同期した制御タイミング信号を生成す
るタイミング部とを備え、更新要求のあるプロセスは、
共有メモリ上のデータを更新するための更新要求をオブ
ジェクト管理部に送り、オブジェクト管理部は、送られ
てきた更新要求を当該データを管理するオブジェクトへ
のメッセージとして保持することによりその実行を遅延
させ、タイミング部から次の制御タイミング信号が与え
られた時点で各オブジェクトにメッセージと制御を移
してメッセージを実行し、かつ他のプロセスからの共有
メモリに対する参照要求に対しては、共有メモリの任意
の部分に対して任意の時間に参照可能とするように管理
することを特徴とする。
【0015】請求項3に記載の本発明に係るプロセス又
はプロセス内のオブジェクトからの共有メモリに対する
更新要求又は参照要求を管理する共有メモリの更新及び
参照管理方式は、プロセス間又はプロセス内のオブジェ
クト間で共有する共有メモリと、共有メモリを複数の領
域に分割して各領域に対する更新及び参照要求を管理す
る領域管理部と、領域管理部に対して参照タイミング信
号を生成するタイミング部とを備え、更新要求のあるプ
ロセスは、共有メモリの領域を参照するための参照要求
を領域管理部に送り、領域管理部は、送られてきた参照
要求を受け付けて処理すると共にその実行を一旦保留す
ることにより遅延させ、タイミング部から次の参照タイ
ミング信号が与えられた時点でそれまで保留していた参
照要求を実行し、かつ他のプロセスからの更新要求に対
しては、共有メモリの任意の領域に対して任意の時間に
更新可能とするように管理することを特徴とする。
【0016】
【0017】請求項に記載の本発明に係るプロセス又
はプロセス内のオブジェクトからの共有メモリに対する
更新要求又は参照要求を管理する共有メモリの参照タイ
ミング制御方式は、プロセス間又はプロセス内のオブジ
ェクト間で共有する共有メモリと、共有メモリ上にデー
タを配置するオブジェクト群と、オブジェクト群の動作
と、オブジェクト群へのメッセージ送信を制御するオブ
ジェクト管理部と、オブジェクト管理部に対して、絶対
時間で定められた制御タイミング信号を生成するタイミ
ング部とを備え、更新要求のあるプロセスは、共有メモ
リ上のデータを更新するための更新要求をオブジェクト
管理部に送り、オブジェクト管理部は、送られてきた更
新要求を当該データを管理するオブジェクトへのメッセ
ージとして保持することによりその実行を遅延させ、タ
イミング部から次の制御タイミング信号が与えられた時
点で各オブジェクトにメッセージと制御とを移してメッ
セージを実行し、オブジェクト群は、メッセージを実行
した場合に、各プロセスに共有メモリの更新がなされた
ことを示す更新通知を発行し、各プロセスは、更新通知
が与えられた場合にのみ共有メモリの参照を行なうこと
を特徴とする。
【0018】請求項に記載の本発明に係るプロセス又
はプロセス内のオブジェクトからの共有メモリに対する
更新要求又は参照要求を管理する共有メモリの参照タイ
ミング制御方式は、プロセス間又はプロセス内のオブジ
ェクト間で共有する共有メモリと、共有メモリ上にデー
タを配置するオブジェクト群と、オブジェクト群の動作
と、オブジェクト群へのメッセージ送信を制御するオブ
ジェクト管理部と、オブジェクト管理部に対して、オブ
ジェクトの処理に同期した制御タイミング信号を生成す
るタイミング部とを備え、更新要求のあるプロセスは、
共有メモリ上のデータを更新するための更新要求をオブ
ジェクト管理部に送り、オブジェクト管理部は、送られ
てきた更新要求を当該データを管理するオブジェクトへ
のメッセージとして保持することによりその実行を遅延
させ、タイミング部から次の制御タイミング信号が与え
られた時点で各オブジェクトにメッセージと制御とを移
してメッセージを実行し、オブジェクト群は、メッセー
ジを実行した場合に、各プロセスに共有メモリの更新が
なされたことを示す更新通知を発行し、各プロセスは、
更新通知が与えられた場合にのみ共有メモリの参照を行
なうことを特徴とする。
【0019】
【実施例】以下、本発明をその実施例を示す図面に基づ
いて詳述するが、まず本発明の共有メモリの更新及び参
照管理方式について説明する。
【0020】図1は本発明の共有メモリの更新及び参照
管理方式の第1及び第2の態様の要部構成を示す模式的
ブロック図、図2はその動作説明のためのチャートであ
る。図中のプロセス#1及び#2は共有メモリMに対し
て更新及び参照要求を発生する処理単位(制御単位)で
あり、共有メモリMからデータを読み取り、その結果に
応じて再び共有メモリMの内容を更新しようとする。
【0021】本発明の第1の態様では、領域管理部1は
共有メモリMの各領域をプロセス毎に管理し、プロセス
が発行する共有メモリMに対する更新要求を受け付ける
がその実行は保留し、タイミング部2から出力される更
新タイミング信号S1を受信した時点でそれまで保留し
ていた更新要求を実行する。また、タイミング部2は領
域管理部1に対して、更新タイミング信号S1を絶対時
間で定められた時間間隔で送信する。
【0022】一方、第2の態様では、タイミング部2は
絶対時間ではなく、外部から与えられる所定の外部信号
ESを受けることによって、これを更新タイミング信号
S1に利用する。
【0023】また、共有メモリMは、通常はメモリを共
有しているプロセスから直接読出し/書込みされるメモ
リ部である。しかし、領域管理部1により管理されるこ
とによって、データの読出し(参照)は直接実行できる
が、書込み(更新)に関しては領域管理部1を介して実
行される。
【0024】各プロセスは自プロセスが更新できる共有
メモリ領域を領域管理部1から獲得し、その領域に対し
て更新要求A及びBを発行する。この要求はプロセスが
動作する任意の時刻に行なうことができる。但し、この
要求はまず、領域管理部1に受け付けられて処理される
がその実行は保留されるので、リアルタイムに実行され
ることはない。その後、領域管理部1は更新タイミング
信号の間隔を計測しているタイミング部2から更新タイ
ミング信号S1を与えられると、現在保留している更新
要求を実行する。共有メモリMへの参照要求はリアルタ
イムに実行される。
【0025】このように実現した場合、プロセス#1及
び#2は更新タイミング信号S1に同期した時間を刻む
ことになり、各更新タイミング信号S1の間を同一時刻
として共有することができる。
【0026】図3は本発明の共有メモリの更新及び参照
管理方式の第3及び第4の態様の要部構成を示す模式的
ブロック図、図4はその動作説明のためのチャートであ
る。第3の態様では、図中のオブジェクト管理部3は共
有メモリMのデータとそれを管理するオブジェクト群と
を管理し、プロセスが発行する共有メモリMに対する更
新要求を受け付けて処理するがその実行は一旦保留す
る。その後、オブジェクト管理部3は、タイミング部2
から制御タイミングS2が与えられた時点でそれまで保
留していた更新要求をそのデータを管理するオブジェク
トに送信し、そのオブジェクトを実行する。また、タイ
ミング部2はオブジェクト管理部3に対して、制御タイ
ミング信号S2を絶対時間で定められた時間間隔で送信
する。
【0027】一方、第4の態様では、タイミング部2は
絶対時間ではなく、外部から与えられる外部信号ESに
基づいて制御タイミング信号S2を発生する。
【0028】なお、オブジェクト群は共有メモリM上に
配置されたデータを管理する。共有メモリMに配置され
るデータはオブジェクト群のそれぞれに対応するオブジ
ェクトにより管理される。即ち、共有メモリM上の各デ
ータに対しては、それぞれに対応するオブジェクトを経
て更新要求が実行される。但し、このオブジェクトは異
なるプロセスからの矛盾する要求を処理できる必要があ
る。たとえば、同一メモリ変数に対して異なる値の更新
要求を受信した場合、そのメモリ変数を管理するオブジ
ェクトの判断により、どちらか又は要求された値と全く
異なる値で更新することもできる。
【0029】各プロセスが共有メモリM上の任意のデー
タを更新する場合には、更新したいデータを管理するオ
ブジェクトに対して更新要求を発行する。これにより、
各プロセスが動作する任意の時刻にデータの更新を要求
することができる。但し、この要求はオブジェクト管理
部3に受け付けられて処理されるがその実行は一旦保留
され、リアルタイムに実行されることはない。オブジェ
クト管理部3は、制御タイミング信号の間隔を計測して
いるタイミング部2から制御タイミング信号S2が与え
られた時点で、現在実行を保留している更新要求を該当
するオブジェクトに送信して実行する。一方、共有メモ
リMへの参照はリアルタイムに実行される。このように
実現した場合、プロセス#1及び#2は、制御タイミン
グ信号S2により時を刻むことにより、信号と信号の間
を同一時刻として共有することができる。
【0030】図5は本発明の共有メモリの更新及び参照
管理方式の第5の態様の要部構成を示す模式的ブロック
図、図6はその動作説明のためのチャートである。この
第5の態様では、領域管理部1は共有メモリMの領域を
プロセス毎に管理し、プロセスが発行する共有メモリM
に対する参照要求を受け付けて処理するがその実行は一
旦保留し、タイミング部2から参照タイミング信号S3
を受信した時点で参照要求を実行する。また、タイミン
グ部2は領域管理部1に対して参照タイミング信号S3
を送信する。共有メモリMは領域管理部1の管理のもと
で書込み(更新)はできるが、読出し(参照)は領域管
理部1に一旦保留されてから実行される。
【0031】各プロセスは、自プロセスが更新できる共
有メモリMの領域を領域管理部1から獲得し、その領域
に対して更新要求を発行する。この要求は各プロセスが
動作する任意の時刻に要求することができる。共有メモ
リMへの更新はリアルタイムに実行される。一方、各プ
ロセスが発行した参照要求は領域管理部1により受け付
けられて処理されるがその実行は一旦保留され、リアル
タイムに実行されることはない。領域管理部1は参照タ
イミング信号の間隔を計測しているタイミング部2から
の参照タイミング信号S3を受けた時点で、現在実行を
保留している参照要求を実行する。このように実現した
場合、プロセス#1及び#2は、参照タイミング信号S
3によって時を刻むことになり、各参照タイミング信号
S3の間を同一時刻として共有することができる。
【0032】図7は本発明の共有メモリの更新及び参照
管理方式の第6の態様の要部構成を示す模式的ブロック
図、図8はその動作説明のためのチャートである。この
第6の態様では、領域管理部1は共有メモリMの領域を
プロセス毎に管理し、プロセスが発行する共有メモリM
に対する参照要求と更新要求とを受け付けて処理する
が、参照要求については共有メモリMの参照領域M1を
使用して実行し、更新要求については共有メモリMの更
新領域M2を使用して実行する。そしてタイミング部2
からタイミング信号Tを受信した時点で更新領域M2を
参照領域M1に複写する。また、タイミング部2は領域
管理部1に対してタイミング信号Tを発行する。共有メ
モリMは上述のように、参照領域M1と更新領域M2と
に分けて管理される。但し、プロセスからはこれらの領
域を意識することなく1つの領域と見做される。
【0033】各プロセスは、自プロセスが更新できる共
有メモリMの領域を領域管理部1から獲得し、獲得した
領域に識別記号(ID)を付与し、その領域に対して更
新要求(更新要求はIDとオフセットとそのデータの形
式とで要求する)を発行する。この要求は領域管理部1
で受け付けられて処理され、まず更新要求とIDから更
新領域のベースアドレスが算出され、そのアドレスに要
求のオフセットを加えることにより実際のアドレスが求
められる。そしてこのアドレスに対して更新要求が実行
される。これの更新要求は、各プロセスが動作する任意
の時刻に要求することができる。共有メモリMへの更新
はリアルタイムに実行される。また、各プロセスが発行
した参照要求(IDとそのオフセットとサイズとで要求
する)は、領域管理部1によって受け付けられて処理さ
れ、更新要求と同様のアドレス算出方法を使用して参照
領域内のアドレスが求められ、参照要求が実行される。
【0034】領域管理部1はタイミングを計測している
タイミング部2からのタイミング信号Tを受けた時点
で、更新領域M2を参照領域M1に複写する。このよう
にして、プロセス#1及び#2はタイミング信号Tによ
り時を刻むことにより信号と信号の間を同一時刻として
共有することができる。
【0035】図9は本発明によるプロセス間で同一時刻
を共有するための概念を示す模式図である。前述のよう
に、第1及び第2の態様では、図2に示されているよう
に、タイミング部2は、更新タイミングを計測し、予め
設定された状態、たとえば指定された時間に達した状態
になった時点で更新タイミング信号S1を領域管理部1
へ送信する。領域管理部1はプロセスから発行された更
新要求を受け付けて処理し、タイミング部2からの更新
タイミング信号S1を受信するまで保留し、更新タイミ
ング信号S1を受信した時点で実行する。これにより、
プロセスから共有メモリMへの更新要求があっても、そ
れをリアルタイムには実行しないようになっている。
【0036】図9に示されている例では、共有メモリM
上のもとの変数がx=0,y=0の場合に、プロセスA
の書込み”MESSAGE ”とプロセスBの書込み”MESSAGE
”とを使用して同時に更新することにより、x=2,
y=1となる。従って、プロセスAとプロセスBとは、
同じ時刻の共有メモリM上の変数を参照することにな
り、2つのプロセスで同一時刻を共有することができる
ようになる。これは、2つのプロセスの実行順序を同一
時刻内で入れ換えても結果は同じになることから、2つ
のプロセスが同一時刻で共有していることになる。
【0037】図10は本発明による2つのプロセスが同一
のメモリ変数を更新する場合の処理手順を説明するため
の模式図である。前述した第1及び第2の態様では共有
メモリM上のメモリ変数を各プロセスで排他的に管理す
る場合にのみ有効である。これは、たとえば同一時刻内
で異なるプロセスが共有メモリM上で同一メモリ変数に
異なる値を要求する場合を考えると明らかである。この
場合、共有メモリM上のメモリ変数をどの値に更新すべ
きかを判断することができなくなり、矛盾が生じること
になる。
【0038】そこで、第3及び第4の態様では、共有メ
モリMのデータを管理するオブジェクト群を使用するこ
とにより、同一メモリへの異なる値の更新要求を処理す
ることができるようにする。また、それらのオブジェク
ト群への更新要求を処理するためのオブジェクト管理部
3を設けることにより、プロセス間で同一時刻の共有も
可能になる。
【0039】図10では、2つのプロセスA及びプロセス
Bが、同一時刻内に物体Xの位置座標に対して異なる値
で更新しようとする場合を示しているが、その実際の更
新は物体Xが管理しているということを示している。即
ち、プロセスAは物体Xを左に動かそうとし(x=−1
0)、プロセスBは物体Xを右に動かそうとする(x=
10)。これらの”MESSAGE ”により物体Xは結果的に
動かなくてもよいことになり、その実際の更新は物体X
が管理しているように見える。
【0040】前述したように、第1乃至第4の態様では
更新要求の実行そのものを遅らせたのに対して、第5の
態様では、更新はリアルタイムに行なうがその参照要求
の実行を領域管理部1により保留し、タイミング信号を
受信した時点で実行するところが相違する。
【0041】また、前述したように、第1乃至第5の態
様では更新要求及び参照要求のいずれかを処理し、タイ
ミング部2から所定の信号が与えられた時点で要求を実
行していた。しかし、第6の態様では要求の実行を保留
せずにリアルタイムに実行し、プロセス間の時間共有も
可能であることを実現している。但し、共有メモリを更
新領域と参照領域とに分離し、それらの領域の制御をタ
イミング部2からのタイミング信号で行なう点が相違す
る。
【0042】図11は本発明による共有メモリM上のデー
タ領域の獲得とそれを管理するオブジェクトの登録の方
法を説明するための模式図である。共有メモリM上にデ
ータを置くオブジェクトはデータ領域の獲得とオブジェ
クトの登録を行なうために、”OBJECT-ENTER( )”の関
数を使用する。この関数は共有メモリM上にデータ領域
を獲得した後にそのアドレスを図示されているような管
理テーブルに登録する。この登録された領域をアクセス
するプロセスは、次のような形式”DATA-PUT (ADDRESS,
SIZE, DATA)”でアクセスすることにより、その要求を
処理し、その領域を管理するオブジェクトに渡すことが
できる。
【0043】図12は本発明による領域管理部1が保持す
るメッセージの格納形式を説明するための模式図であ
る。たとえば、要求が”DATA-PUT (ADDRESS,SIZE,DAT
A)”であるとき、この”ADDRESS ”は共有メモリM上の
アドレスを示し、”SIZE”もそのサイズを示すが、この
際に、”DATA”が示すデータサイズも示しており、指定
されたアドレスとサイズがテーブル上のものと矛盾して
いた場合、エラーを返すことも行なう。
【0044】アクセスしようとした要求を上述のような
形式で領域管理部1が処理し、図示されているようなメ
ッセージの形式で保持する。図12に示されているオペレ
ーションフィールドは更新要求か参照要求かを示すフラ
グを格納する領域である。
【0045】図13は本発明によるオブジェクトに渡され
たパラメータの構成を説明するための模式図である。領
域管理部1は受け付けた要求の実行をタイミング部2か
らの信号を受信するまで保留するが、タイミング部2が
指定された時刻の計測を行ない、その時刻になったこと
を示す信号を領域管理部1に送ると、領域管理部1はそ
のタイミングでメッセージを指定された関数に渡す。こ
の際、メッセージを1つづつ渡すのではなく、図示され
ているようなリスト構造にしてまとめて渡すようにす
る。これにより、オブジェクトは複数のメッセージを同
一時刻に発生したものとして処理することができる。
【0046】更に他の実施例として、プロセスが共有メ
モリM上のデータを更新しようとした場合に、プロセス
がそのデータを管理するオブジェクトを知っており、そ
のオブジェクトが提供しているアクセス方法を使って、
データ更新を行なってもよい。この場合には、たとえば
そのオブジェクトをそのアクセス方法へのメッセージと
して保持し、その要求を受けたオブジェクトは、サイズ
とデータとを使って処理する。
【0047】更に他の実施例として、上述の実施例では
タイミング部2はタイマーによる計測をもとに信号を発
生しているが、たとえばハードウェア的な割込みのタイ
ミングを用いてもよく、またある時間系を管理するオブ
ジェクトからの信号を使用してもよい。この時間系を管
理するオブジェクトは任意のプロセス間に存在し、その
プロセス間の時間を管理するオブジェクトである。この
ようなオブジェクトを使用する場合には、グローバルな
時間の進みの制御、プロセス全てが同一時間系で進む場
合の制御のみならず、個々のプロセス間の時間系をも制
御するこができるようになる。
【0048】次に、本発明の共有メモリの参照タイミン
グ制御方式について説明する。上述のようにして共有メ
モリM上のデータ内容に同一時刻の概念が得られたとし
ても、その共有メモリMの内容を複数のプロセスあるい
はオブジェクトが参照する場合にメモリアクセスのオー
バヘッドが大きくなると、その面から同一時刻の概念が
崩れてしまう虞がある。従って、複数のプロセス又はオ
ブジェクトによる共有メモリMに対する無駄な参照要求
を排除することにより、参照の機会(メモリアクセス)
を必要最小限に抑えてオーバヘッドを削減する必要があ
る。そこで、本発明の共有メモリ参照タイミング制御方
式では、プロセスまたはオブジェクトの側から見て、共
有メモリMを参照する必要がある場合にのみ、プロセス
またはオブジェクトに対してその旨を通知するようにし
ている。
【0049】これはたとえば、前述の第3及び第4の態
様において、プロセスまたはオブジェクトにとっては自
身に必要なデータに変化が発生してそれを必ず参照する
必要があるような場合に、共有メモリMのデータを管理
するオブジェクト群からプロセスまたはオブジェクトに
対して共有メモリMの内容が更新されたことを意味する
更新通知を発行し、この更新通知を受けた場合にのみプ
ロセスまたはオブジェクトが共有メモリMに対して読み
出しアクセス(参照)を行なうようにすることで実現さ
れる。
【0050】更に、更新通知は、それに先立って共有メ
モリMの状態に変化があった場合、換言すれば領域管理
部1から共有メモリMの各データを管理するオブジェク
トに共有メモリMに対する更新要求のメッセージが与え
られた場合に、そのオブジェクトはプロセスまたはオブ
ジェクトに対して所定のタイミングで発行されるように
する。
【0051】図14は、前述の図4にメモリ内容の状態及
びプロセスへの更新通知の発行タイミングを付加した本
発明の共有メモリの参照タイミング制御方式を説明する
ためのチャートである。図14においては、図4と同様に
共有メモリMの内容が状態#1である場合に制御タイミ
ング信号S2が領域管理部1に与えられた時点でオブジ
ェクト管理部3からデータ管理のオブジェクトに更新要
求のメッセージが与えられることにより、更新要求が実
行されて共有メモリMの内容は状態#2に変化する。そ
して、オブジェクト管理部3から更新要求が与えられた
データ管理用のオブジェクトは共有メモリMの内容が更
新された時点で各プロセスに対して更新通知を発行す
る。これにより、各プロセスでは、共有メモリMの内容
が更新された場合にのみ更新通知が与えられるので、そ
の場合にのみ共有メモリMを参照すればよい。従って、
共有メモリMに対するメモリアクセスのオーバヘッドが
軽減される。
【0052】
【発明の効果】以上に詳述したように、本発明の共有メ
モリの更新及び参照管理方式によれば、プロセス間で同
一時刻を共有することが可能となり、その同一時刻内で
は、プロセスの実行順序に依存しないように共有メモリ
を操作できるという効果を奏し、プロセス間通信,ロッ
クによる制御等による従来の手法で行なっているような
逐次実行型のプログラミングモデルは勿論のこと、自律
オブジェクトの世界に適した環境である並列実行型をプ
ログラミングする環境を実現することができ、自律オブ
ジェクトのアーキテクチャの発展に寄与するところが大
きい。
【0053】なお、逐次実行型は、たとえばプロセスA
を実行してからその結果を使用してプロセスBを実行し
ていくというものである。たとえば、プロセスAとBと
の実行順序に結果が依存しない場合には、プロセスAと
Bとを並行して実行することができる。
【0054】更に、本発明の共有メモリの参照タイミン
グ制御方式によれば、共有メモリのデータ内容に変化が
あった場合にのみプロセスに対して更新通知が発行さ
れ、各プロセスはこの更新通知を受けた場合にのみ共有
メモリに対して読み出しアクセスを行なえばよいので、
共有メモリに対するメモリアクセスのオーバヘッドが低
減する。
【図面の簡単な説明】
【図1】本発明の共有メモリの更新及び参照管理方式の
第1及び第2の態様の要部構成を示す模式的ブロック図
である。
【図2】本発明の共有メモリの更新及び参照管理方式の
第1及び第2の態様の動作説明のためのチャートであ
る。
【図3】本発明の共有メモリの更新及び参照管理方式の
第3及び第4の態様の要部構成を示す模式的ブロック図
である。
【図4】本発明の共有メモリの更新及び参照管理方式の
第1及び第2の態様の動作説明のためのチャートであ
る。
【図5】本発明の共有メモリの更新及び参照管理方式の
第5の態様の要部構成を示す模式的ブロック図である。
【図6】本発明の共有メモリの更新及び参照管理方式の
第5の態様の動作説明のためのチャートである。
【図7】本発明の共有メモリの更新及び参照管理方式の
第6の態様の要部構成を示す模式的ブロック図である。
【図8】本発明の共有メモリの更新及び参照管理方式の
第6の態様の動作説明のためのチャートである。
【図9】本発明の共有メモリの更新及び参照管理方式に
よるプロセス間で同一時刻を共有するための概念を示す
模式図である。
【図10】本発明の共有メモリの更新及び参照管理方式
による2つのプロセスが同一のメモリ変数を更新する場
合の手順を説明するための模式図である。
【図11】本発明の共有メモリの更新及び参照管理方式
による共有メモリ上のデータ領域の獲得とそれを管理す
るオブジェクトの登録の方法を説明するための模式図で
ある。
【図12】本発明の共有メモリの更新及び参照管理方式
による領域管理部が保持するメッセージの格納形式の説
明図である。
【図13】本発明の共有メモリの更新及び参照管理方式
によるオブジェクトに渡されたパラメータの構成を説明
するための模式図である。
【図14】本発明の共有メモリの参照タイミング制御方
式の説明のためのチャートである。
【図15】従来の通信(A)及びロック(B)による同
期の手法を説明するための模式図である。
【図16】従来の問題点を説明するための模式図であ
る。
【符号の説明】
1…領域管理部 2…タイミング部 3…オブジェクト管理部 ES…外部信号 M…共有メモリ部 M1…参照領域 M2…更新領域 S1…更新タイミング信号 S2…制御タイミング信号 S3…参照タイミング信号 T…タイミング信号
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 - 12/06 G06F 13/16 - 13/18

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 プロセス又はプロセス内のオブジェクト
    からの共有メモリに対する更新要求又は参照要求を管理
    する共有メモリの更新及び参照管理方式において、 前記プロセス間又はプロセス内のオブジェクト間で共有
    する共有メモリと、 前記共有メモリ上にデータを配置するオブジェクト群
    と、 前記オブジェクト群の動作と、前記オブジェクト群への
    メッセージ送信を制御するオブジェクト管理部と、 前記オブジェクト管理部に対して、絶対時間で定められ
    た制御タイミング信号を生成するタイミング部とを備
    え、 更新要求のあるプロセスは、前記共有メモリ上のデータ
    を更新するための更新要求を前記オブジェクト管理部に
    送り、 前記オブジェクト管理部は、送られてきた更新要求を当
    該データを管理するオブジェクトへのメッセージとして
    保持することによりその実行を遅延させ、前記タイミン
    グ部から次の制御タイミング信号が与えられた時点で各
    オブジェクトにメッセージと制御とを移してメッセージ
    を実行し、かつ他のプロセスからの共有メモリに対する
    参照要求に対しては、前記共有メモリの任意の部分に対
    して任意の時間に参照可能とするように管理することを
    特徴とする共有メモリの更新及び参照管理方式。
  2. 【請求項2】 プロセス又はプロセス内のオブジェクト
    からの共有メモリに対する更新要求又は参照要求を管理
    する共有メモリの更新及び参照管理方式において、 前記プロセス間又はプロセス内のオブジェクト間で共有
    する共有メモリと、 前記共有メモリ上にデータを配置するオブジェクト群
    と、 前記オブジェクト群の動作と、前記オブジェクト群への
    メッセージ送信を制御するオブジェクト管理部と、 前記オブジェクト管理部に対して、オブジェクトの処理
    に同期した制御タイミング信号を生成するタイミング部
    とを備え、 更新要求のあるプロセスは、前記共有メモリ上のデータ
    を更新するための更新要求を前記オブジェクト管理部に
    送り、 前記オブジェクト管理部は、送られてきた更新要求を当
    該データを管理するオブジェクトへのメッセージとして
    保持することによりその実行を遅延させ、前記タイミン
    グ部から次の制御タイミング信号が与えられた時点で各
    オブジェクトにメッセージと制御とを移してメッセージ
    を実行し、かつ他のプロセスからの共有メモリに対する
    参照要求に対しては、前記共有メモリの任意の部分に対
    して任意の時間に参照可能とするように管理することを
    特徴とする共有メモリの更新及び参照管理方式。
  3. 【請求項3】 プロセス又はプロセス内のオブジェクト
    からの共有メモリに対する更新要求又は参照要求を管理
    する共有メモリの更新及び参照管理方式において、 前記プロセス間又はプロセス内のオブジェクト間で共有
    する共有メモリと、 前記共有メモリを複数の領域に分割して各領域に対する
    更新及び参照要求を管理する領域管理部と、 前記領域管理部に対して参照タイミング信号を生成する
    タイミング部とを備え、 更新要求のあるプロセスは、前記共有メモリの領域を参
    照するための参照要求を前記領域管理部に送り、 前記領域管理部は、送られてきた参照要求を受け付けて
    処理すると共にその実行を一旦保留することにより遅延
    させ、前記タイミング部から次の参照タイミング信号が
    与えられた時点でそれまで保留していた参照要求を実行
    し、かつ他のプロセスからの更新要求に対しては、前記
    共有メモリの任意の領域に対して任意の時間に更新可能
    とするように管理することを特徴とする共有メモリの更
    新及び参照管理方式。
  4. 【請求項4】 プロセス又はプロセス内のオブジェクト
    からの共有メモリに対する更新要求又は参照要求を管理
    する共有メモリの参照タイミング制御方式において、 前記プロセス間又はプロセス内のオブジェクト間で共有
    する共有メモリと、前記共有メモリ上にデータを配置するオブジェクト群
    と、 前記オブジェクト群の動作と、前記オブジェクト群への
    メッセージ送信を制御するオブジェクト管理部と、 前記オブジェクト管理部に対して、絶対時間で定められ
    た制御タイミング信号を生成するタイミング部とを備
    え、 更新要求のあるプロセスは、前記共有メモリ上のデータ
    を更新するための更新要求を前記オブジェクト管理部に
    送り、前記オブジェクト 管理部は、送られてきた更新要求を
    該データを管理するオブジェクトへのメッセージとして
    保持することによりその実行を遅延させ、前記タイミン
    グ部から次の制御タイミング信号が与えられた時点で各
    オブジェクトにメッセージと制御とを移してメッセージ
    を実行し、 前記オブジェクト群は、前記メッセージを実行した場合
    に、前記各プロセスに前記共有メモリの更新がなされた
    ことを示す更新通知を発行し、 前記各プロセスは、前記更新通知が与えられた場合にの
    み前記共有メモリの参照を行なう ことを特徴とする共有
    メモリの参照タイミング制御方式。
  5. 【請求項5】 プロセス又はプロセス内のオブジェクト
    からの共有メモリに対する更新要求又は参照要求を管理
    する共有メモリの参照タイミング制御方式において、 前記プロセス間又はプロセス内のオブジェクト間で共有
    する共有メモリと、 前記共有メモリ上にデータを配置するオブジェクト群
    と、 前記オブジェクト群の動作と、前記オブジェクト群への
    メッセージ送信を制御するオブジェクト管理部と、 前記オブジェクト管理部に対して、オブジェクトの処理
    に同期した制御タイミング信号を生成するタイミング部
    とを備え、 更新要求のあるプロセスは、前記共有メモリ上のデータ
    を更新するための更新要求を前記オブジェクト管理部に
    送り、 前記オブジェクト管理部は、送られてきた更新要求を当
    該データを管理するオブジェクトへのメッセージとして
    保持することによりその実行を遅延させ、前記タイミン
    グ部から次の制御タイミング信号が与えられた時点で各
    オブジェクトにメッセージと制御とを移してメッセージ
    を実行し、 前記オブジェクト群は、前記メッセージを実行した場合
    に、前記各プロセスに前記共有メモリの更新がなされた
    ことを示す更新通知を発行し、 前記各プロセスは、前記更新通知が与えられた場合にの
    み前記共有メモリの参照を行なうことを特徴とする共有
    メモリの参照タイミング制御方式。
JP26572994A 1994-03-10 1994-10-28 共有メモリの更新及び参照管理方式並びに参照タイミング制御方式 Expired - Lifetime JP3146276B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP26572994A JP3146276B2 (ja) 1994-03-10 1994-10-28 共有メモリの更新及び参照管理方式並びに参照タイミング制御方式
US08/366,695 US6055545A (en) 1994-03-10 1994-12-30 Updating and reference management system and reference timing control system of shared memory

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6-39787 1994-03-10
JP3978794 1994-03-10
JP26572994A JP3146276B2 (ja) 1994-03-10 1994-10-28 共有メモリの更新及び参照管理方式並びに参照タイミング制御方式

Publications (2)

Publication Number Publication Date
JPH07302220A JPH07302220A (ja) 1995-11-14
JP3146276B2 true JP3146276B2 (ja) 2001-03-12

Family

ID=26379175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26572994A Expired - Lifetime JP3146276B2 (ja) 1994-03-10 1994-10-28 共有メモリの更新及び参照管理方式並びに参照タイミング制御方式

Country Status (2)

Country Link
US (1) US6055545A (ja)
JP (1) JP3146276B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0952510A4 (en) * 1997-11-14 2006-05-31 Mitsubishi Electric Corp SCHEME AND METHOD FOR DATA UPDATE
US6668287B1 (en) * 1999-12-15 2003-12-23 Transmeta Corporation Software direct memory access
JP2003051819A (ja) * 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
US7457937B1 (en) 2005-02-09 2008-11-25 Nvidia Corporation Method and system for implementing low overhead memory access in transpose operations
JP5012628B2 (ja) * 2008-04-04 2012-08-29 日本電気株式会社 メモリデータベース、メモリデータベースシステム及びメモリデータベース更新方法
US8452846B2 (en) * 2010-08-12 2013-05-28 Talari Networks Incorporated Adaptive private network asynchronous distributed shared memory services
US20160092537A1 (en) * 2014-09-30 2016-03-31 Alcatel-Lucent Canada, Inc Polling based synchronization in managed networks

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404482A (en) * 1990-06-29 1995-04-04 Digital Equipment Corporation Processor and method for preventing access to a locked memory block by recording a lock in a content addressable memory with outstanding cache fills
US5404483A (en) * 1990-06-29 1995-04-04 Digital Equipment Corporation Processor and method for delaying the processing of cache coherency transactions during outstanding cache fills
EP0472829A3 (en) * 1990-08-31 1993-01-07 International Business Machines Corporation Multicomputer complex and distributed shared data memory
JPH04274533A (ja) * 1991-02-28 1992-09-30 Nec Corp データベース更新装置

Also Published As

Publication number Publication date
US6055545A (en) 2000-04-25
JPH07302220A (ja) 1995-11-14

Similar Documents

Publication Publication Date Title
US5588132A (en) Method and apparatus for synchronizing data queues in asymmetric reflective memories
US4562539A (en) Data processing system
EP0790562B1 (en) Computer system data I/O by reference among CPUs and I/O devices
JP3411273B2 (ja) プロセッサでのデータ処理方法及びデータ処理システム
JP2004252990A (ja) コンピュータ・プロセッサ及び処理装置
EP0790564A2 (en) Computer system data I/O by reference among I/O devices and multiple memory units
US7873613B2 (en) Providing storage control in a network of storage controllers
JPH09311839A (ja) データ共用方式
EP0790563A2 (en) Computer system data I/O by reference among CPUs and multiple memory units
EP1021764A1 (en) I/o forwarding in a cache coherent shared disk computer system
JP3146276B2 (ja) 共有メモリの更新及び参照管理方式並びに参照タイミング制御方式
EP0789305A2 (en) Computer system data I/O by reference among multiple data sources and sinks
CN112100093B (zh) 保持多处理器共享内存数据一致性的方法和多处理器系统
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
JP3122606B2 (ja) メッセージ受信制御方式
JPH04107654A (ja) 分散データ制御方式
JPH08202672A (ja) 分散型マルチプロセッシングシステム
JP2746189B2 (ja) ファイルアクセス制御システム
JPH02263262A (ja) 共有ファイルのアクセス制御方式
JPH05158892A (ja) 分散処理におけるデータ管理方式
JPH02112055A (ja) マルチプロロセッサシステムのデータ転送方式
JPH04153844A (ja) データベース更新方式
JPH1139208A (ja) 共有メモリシステム
JPH01258170A (ja) データセット管理方式
JPH04188350A (ja) メモリ回路および分散処理システム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000905

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001205

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

Free format text: PAYMENT UNTIL: 20080112

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090112

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100112

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120112

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20140112

Year of fee payment: 13

EXPY Cancellation because of completion of term