JPH0743664B2 - 共有記憶領域割当処理方式 - Google Patents
共有記憶領域割当処理方式Info
- Publication number
- JPH0743664B2 JPH0743664B2 JP1287581A JP28758189A JPH0743664B2 JP H0743664 B2 JPH0743664 B2 JP H0743664B2 JP 1287581 A JP1287581 A JP 1287581A JP 28758189 A JP28758189 A JP 28758189A JP H0743664 B2 JPH0743664 B2 JP H0743664B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- storage device
- shared storage
- unit
- program
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
Description
【発明の詳細な説明】 〔概要〕 共有記憶装置と、個別の主記憶装置とを有する演算装置
からなるマルチプロセッサシステムの共有記憶装置の領
域割当に関し、 共有記憶装置へのアクセスを減少して、共有記憶領域の
割当処理オーバヘッドを減少できる共有記憶領域割当処
理方式を目的とし、 複数の演算装置及び主記憶装置と、共有記憶装置とを有
し、各該演算装置は、個別の該主記憶装置と、共通の該
共有記憶装置とに接続すると共に、各該演算装置は、当
該演算装置でプログラムの実行を開始する所定の時期に
該共有記憶装置の空き記憶領域から所定の領域を獲得し
て固有領域とする領域獲得部と、該固有領域の割当管理
情報を自己の該主記憶装置に保持し、該演算装置で実行
するプログラムが該共有記憶装置上に要求する領域を、
該割当管理情報に従って該固有領域から割り当てる割当
管理部と、の処理を実行し、各該演算装置でプログラム
の実行を開始する所定の時期に該共有記憶装置の空き領
域から所定の領域を獲得して固有領域とし、プログラム
の実行に伴って該共有記憶装置上に領域を必要としたと
きは、該割当管理情報に従って自己の固有領域から割り
当てるように構成する。
からなるマルチプロセッサシステムの共有記憶装置の領
域割当に関し、 共有記憶装置へのアクセスを減少して、共有記憶領域の
割当処理オーバヘッドを減少できる共有記憶領域割当処
理方式を目的とし、 複数の演算装置及び主記憶装置と、共有記憶装置とを有
し、各該演算装置は、個別の該主記憶装置と、共通の該
共有記憶装置とに接続すると共に、各該演算装置は、当
該演算装置でプログラムの実行を開始する所定の時期に
該共有記憶装置の空き記憶領域から所定の領域を獲得し
て固有領域とする領域獲得部と、該固有領域の割当管理
情報を自己の該主記憶装置に保持し、該演算装置で実行
するプログラムが該共有記憶装置上に要求する領域を、
該割当管理情報に従って該固有領域から割り当てる割当
管理部と、の処理を実行し、各該演算装置でプログラム
の実行を開始する所定の時期に該共有記憶装置の空き領
域から所定の領域を獲得して固有領域とし、プログラム
の実行に伴って該共有記憶装置上に領域を必要としたと
きは、該割当管理情報に従って自己の固有領域から割り
当てるように構成する。
本発明は、共有記憶装置と、個別の主記憶装置とを有す
る演算装置からなるマルチプロセッサシステムの、共有
記憶装置における共有記憶領域の割当処理方式に関す
る。
る演算装置からなるマルチプロセッサシステムの、共有
記憶装置における共有記憶領域の割当処理方式に関す
る。
第2図はマルチプロセッサシステムの構成例を示すブロ
ック図である。
ック図である。
複数の演算装置1は、個別の主記憶装置2と接続し、各
演算装置1はそれぞれ別途主記憶装置2にロードされた
プログラムを実行して、主記憶装置2又は共有記憶装置
3に保持されるデータにアクセスして、必要なシステム
管理や応用業務の処理を実行する。
演算装置1はそれぞれ別途主記憶装置2にロードされた
プログラムを実行して、主記憶装置2又は共有記憶装置
3に保持されるデータにアクセスして、必要なシステム
管理や応用業務の処理を実行する。
共有記憶装置3はすべての演算装置2からアクセスでき
るようにされ、共通に使用する管理データや業務処理の
作業データの領域が置かれる。
るようにされ、共通に使用する管理データや業務処理の
作業データの領域が置かれる。
このシステム構成により、例えば必要な複数の演算装置
の主記憶装置2にプログラムをロードし、共有記憶装置
3に設ける管理情報に基づいて、各演算装置1で実行さ
れるタスクが、プログラムの実行を分担することによ
り、1つのプログラムを適当な構成に分割して、複数の
タスクで並列に実行することができる。
の主記憶装置2にプログラムをロードし、共有記憶装置
3に設ける管理情報に基づいて、各演算装置1で実行さ
れるタスクが、プログラムの実行を分担することによ
り、1つのプログラムを適当な構成に分割して、複数の
タスクで並列に実行することができる。
そのような場合に各演算装置1で実行されるプログラム
が要求する記憶領域は、一般にその処理結果を他の演算
装置1で実行されるプログラムが参照する必要があるの
で、共有記憶装置3上に置く必要があり、記憶領域の要
求があると、その演算装置1で実行する管理プログラム
による領域獲得部4が共有記憶装置上の空き領域から、
要求の大きさの領域が獲得する。
が要求する記憶領域は、一般にその処理結果を他の演算
装置1で実行されるプログラムが参照する必要があるの
で、共有記憶装置3上に置く必要があり、記憶領域の要
求があると、その演算装置1で実行する管理プログラム
による領域獲得部4が共有記憶装置上の空き領域から、
要求の大きさの領域が獲得する。
この領域獲得は、例えば第3図に示すように、先ず処理
ステップ20で共有記憶装置3上に排他制御のために設け
た排他制御フラグ5にアクセスして公知の方法でロック
の獲得を試み、獲得できなければ試行を繰り返して待つ
(処理ステップ21、22)。ロックを獲得することによっ
て、他の演算装置1との競合を抑えた後、処理ステップ
23で空き領域の大きさや領域先頭アドレス等を示す適当
な空き領域情報6を参照して、空き領域から獲得する領
域を決定し、その領域を占有状態にするように空き領域
情報6を更新して、領域を確保し、その後処理ステップ
24でロックを解除するように排他制御フラグ5を復旧し
て処理を終わる。
ステップ20で共有記憶装置3上に排他制御のために設け
た排他制御フラグ5にアクセスして公知の方法でロック
の獲得を試み、獲得できなければ試行を繰り返して待つ
(処理ステップ21、22)。ロックを獲得することによっ
て、他の演算装置1との競合を抑えた後、処理ステップ
23で空き領域の大きさや領域先頭アドレス等を示す適当
な空き領域情報6を参照して、空き領域から獲得する領
域を決定し、その領域を占有状態にするように空き領域
情報6を更新して、領域を確保し、その後処理ステップ
24でロックを解除するように排他制御フラグ5を復旧し
て処理を終わる。
共有記憶装置3は大量のデータを記憶できるように例え
ば4ギガバイトというように、比較的大容量を必要と
し、経済的な要求から比較的低速の記憶素子によって構
成し、又大量データのブロックの転送を効率よく処理す
るように構成されていて、前記のような排他制御フラグ
や管理情報等のアクセスは比較的効率が悪く、前記のよ
うな領域獲得処理が頻繁に生じると、演算装置1のオー
バヘッドを大幅に増加させるという問題がある。
ば4ギガバイトというように、比較的大容量を必要と
し、経済的な要求から比較的低速の記憶素子によって構
成し、又大量データのブロックの転送を効率よく処理す
るように構成されていて、前記のような排他制御フラグ
や管理情報等のアクセスは比較的効率が悪く、前記のよ
うな領域獲得処理が頻繁に生じると、演算装置1のオー
バヘッドを大幅に増加させるという問題がある。
本発明は、共有記憶装置へのアクセスを減少して、共有
記憶領域の割当処理オーバヘッドを減少できる共有記憶
領域割当処理方式を目的とする。
記憶領域の割当処理オーバヘッドを減少できる共有記憶
領域割当処理方式を目的とする。
第1図は、本発明の構成を示すブロック図である。
図は共有記憶領域割当処理方式の構成であって、複数の
演算装置11及び主記憶装置12と、共有記憶装置13とを有
し、各演算装置11は、個別の主記憶装置12と、共通の共
有記憶装置13とに接続し、領域獲得部14と割当管理部10
とを実行し、領域獲得部14は、当該演算装置11でプログ
ラムの実行を開始する所定の時期に、例えば従来と同様
に共有記憶装置上の排他制御フラグ5及び空き領域情報
6にアクセスする方法によって、共有記憶装置13の空き
記憶領域から所定の領域を獲得して固有領域17とし、割
当管理部10は、該固有領域の割当管理情報18を主記憶装
置12に保持し、演算装置11で実行するプログラムが共有
記憶装置18上に要求する領域を、割当管理情報18に従っ
て固有領域17から割り当てる。
演算装置11及び主記憶装置12と、共有記憶装置13とを有
し、各演算装置11は、個別の主記憶装置12と、共通の共
有記憶装置13とに接続し、領域獲得部14と割当管理部10
とを実行し、領域獲得部14は、当該演算装置11でプログ
ラムの実行を開始する所定の時期に、例えば従来と同様
に共有記憶装置上の排他制御フラグ5及び空き領域情報
6にアクセスする方法によって、共有記憶装置13の空き
記憶領域から所定の領域を獲得して固有領域17とし、割
当管理部10は、該固有領域の割当管理情報18を主記憶装
置12に保持し、演算装置11で実行するプログラムが共有
記憶装置18上に要求する領域を、割当管理情報18に従っ
て固有領域17から割り当てる。
以上の処理方式によって、例えばプログラムの実行開始
時に、そのプログラムが共有記憶装置上に必要とする大
きさの固有領域を獲得しておき、プログラムの実行中に
発生する領域要求に対しては、固有領域内から割り当て
ることにより、プログラム実行中における共有記憶装置
の領域獲得/解放の処理が、主記憶装置に対するアクセ
スのみによって、比較的短時間に処理できる。
時に、そのプログラムが共有記憶装置上に必要とする大
きさの固有領域を獲得しておき、プログラムの実行中に
発生する領域要求に対しては、固有領域内から割り当て
ることにより、プログラム実行中における共有記憶装置
の領域獲得/解放の処理が、主記憶装置に対するアクセ
スのみによって、比較的短時間に処理できる。
第1図の領域獲得部14及び割当管理部10は、それぞれ応
用プログラムから呼ばれるサブルーチンとして設けら
れ、このシステムで実行するプログラムを生成するコン
パイラは、例えば1タスクとして実行される単位プログ
ラムの先頭で、領域獲得部14を呼び出して、そのプログ
ラムに必要な大きさの固有領域を獲得し、そのタスクの
終了時に再び領域獲得部14を呼び出して固有領域を解放
するように、サブルーチン呼出命令を挿入する。
用プログラムから呼ばれるサブルーチンとして設けら
れ、このシステムで実行するプログラムを生成するコン
パイラは、例えば1タスクとして実行される単位プログ
ラムの先頭で、領域獲得部14を呼び出して、そのプログ
ラムに必要な大きさの固有領域を獲得し、そのタスクの
終了時に再び領域獲得部14を呼び出して固有領域を解放
するように、サブルーチン呼出命令を挿入する。
又そのタスク内の各手続きが各々の局所領域を獲得/解
放する場合には、割当管理部10を呼び出して所要の大き
さの領域を固有領域17から切り出すようにサブルーチン
呼出命令を挿入する。
放する場合には、割当管理部10を呼び出して所要の大き
さの領域を固有領域17から切り出すようにサブルーチン
呼出命令を挿入する。
そのようなプログラムから領域獲得部14が呼び出される
と、要求された大きさの領域を共有記憶装置13の空き領
域から獲得するために、例えば前記第2図の処理の流れ
により、排他制御用の排他制御フラグ5にアクセスして
ロックの獲得を試み、獲得できなければ試行を繰り返し
て待ち、ロックを獲得することによって、他の演算装置
1との競合を抑えた後、空き領域情報6を参照して、獲
得する領域を決定して空き領域情報6を更新し、その後
ロックを解除するようにフラグ5を復旧して獲得を終わ
る。
と、要求された大きさの領域を共有記憶装置13の空き領
域から獲得するために、例えば前記第2図の処理の流れ
により、排他制御用の排他制御フラグ5にアクセスして
ロックの獲得を試み、獲得できなければ試行を繰り返し
て待ち、ロックを獲得することによって、他の演算装置
1との競合を抑えた後、空き領域情報6を参照して、獲
得する領域を決定して空き領域情報6を更新し、その後
ロックを解除するようにフラグ5を復旧して獲得を終わ
る。
その後、主記憶装置12上に割当管理情報18を生成して獲
得した領域を未割当状態に設定し、獲得した領域のアド
レスと共に呼出元に渡す。
得した領域を未割当状態に設定し、獲得した領域のアド
レスと共に呼出元に渡す。
又、領域解放要求があると、獲得時と同様にして共有記
憶装置13の空き領域情報6に排他的にアクセスして、獲
得していた領域を空き領域とするように空き領域情報6
を更新する。
憶装置13の空き領域情報6に排他的にアクセスして、獲
得していた領域を空き領域とするように空き領域情報6
を更新する。
割当管理部10は、領域獲得部14が獲得した固有領域17の
先頭アドレスと割当管理情報18とを保持する。割当管理
情報18は固有領域17の大きさ及び割当状態を示すための
公知の例えばビットマップ情報であってよい。割当管理
部10は、領域割当要求で呼び出されると、割当管理情報
18を参照して、未割当領域から要求の大きさの領域を切
り出し、その領域を割当状態に更新し、切り出した領域
の先頭アドレスを要求元に返す。又解放要求の場合に
は、指定の先頭アドレスから指定の大きさの領域につい
て、未割当状態を示すように割当管理情報18を更新す
る。
先頭アドレスと割当管理情報18とを保持する。割当管理
情報18は固有領域17の大きさ及び割当状態を示すための
公知の例えばビットマップ情報であってよい。割当管理
部10は、領域割当要求で呼び出されると、割当管理情報
18を参照して、未割当領域から要求の大きさの領域を切
り出し、その領域を割当状態に更新し、切り出した領域
の先頭アドレスを要求元に返す。又解放要求の場合に
は、指定の先頭アドレスから指定の大きさの領域につい
て、未割当状態を示すように割当管理情報18を更新す
る。
以上の例では、固有領域17をタスクごとに取るようにし
たが、その演算装置11で実行するタスクで固有領域を共
用するようにして、共用する固有領域を例えばジョブス
テップの開始時に取ってもよい。その場合には、領域獲
得部14は固有領域を未獲得の場合のみ、獲得処理を実行
するようにする。なお、領域獲得部14及び割当管理部10
は、応用プログラムのサブルーチンとしたが、システム
管理のサービスとして実行されるようにしてもよい。
又、システム管理で行う場合には、例えば初期プログラ
ムコード時に、演算装置11ごとの固有領域を取り、以後
各演算装置11で実行するタスクに割り当てるようにする
こともできる。
たが、その演算装置11で実行するタスクで固有領域を共
用するようにして、共用する固有領域を例えばジョブス
テップの開始時に取ってもよい。その場合には、領域獲
得部14は固有領域を未獲得の場合のみ、獲得処理を実行
するようにする。なお、領域獲得部14及び割当管理部10
は、応用プログラムのサブルーチンとしたが、システム
管理のサービスとして実行されるようにしてもよい。
又、システム管理で行う場合には、例えば初期プログラ
ムコード時に、演算装置11ごとの固有領域を取り、以後
各演算装置11で実行するタスクに割り当てるようにする
こともできる。
以上により、共有記憶装置13から直接に領域を獲得する
場合には従来と同様に処理時間を要するが、その処理は
例えばプログラムの最初のみに減少することができ、プ
ログラムの中では主記憶装置12へのアクセスのみで、共
有記憶装置の領域割当ができるので、領域割当のオーバ
ヘッドを減少できる。
場合には従来と同様に処理時間を要するが、その処理は
例えばプログラムの最初のみに減少することができ、プ
ログラムの中では主記憶装置12へのアクセスのみで、共
有記憶装置の領域割当ができるので、領域割当のオーバ
ヘッドを減少できる。
以上の説明から明らかなように本発明によれば、共有記
憶装置と、個別の主記憶装置とを有する演算装置からな
るマルチプロセッサシステムにおいて、共有記憶装置の
領域割当処理オーバヘッドを減少できるので、システム
の処理効率を向上するという著しい工業的効果がある。
憶装置と、個別の主記憶装置とを有する演算装置からな
るマルチプロセッサシステムにおいて、共有記憶装置の
領域割当処理オーバヘッドを減少できるので、システム
の処理効率を向上するという著しい工業的効果がある。
第1図は本発明の構成を示すブロック図、 第2図は従来の構成例を示すブロック図、 第3図は領域獲得処理の流れ図 である。 図において、 1、11は演算装置、2、12は主記憶装置、3、13は共有
記憶装置、4、14は領域獲得部、5は排他制御フラグ、
6は空き領域情報、10は割当管理部、17は固有領域、18
は割当管理情報、20〜24は処理ステップ を示す。
記憶装置、4、14は領域獲得部、5は排他制御フラグ、
6は空き領域情報、10は割当管理部、17は固有領域、18
は割当管理情報、20〜24は処理ステップ を示す。
Claims (1)
- 【請求項1】複数の演算装置(11)及び主記憶装置(1
2)と、共有記憶装置(13)とを有し、 各該演算装置(11)は、個別の該主記憶装置(12)と、
共通の該共有記憶装置(13)とに接続すると共に、 各該演算装置(11)は、 当該演算装置(11)でプログラムの実行を開始する所定
の時期に該共有記憶装置(13)の空き記憶領域から所定
の領域を獲得して固有領域(17)とする領域獲得部(1
4)と、 該固有領域(17)の割当管理情報(18)を自己の該主記
憶装置(12)に保持し、該演算装置(11)で実行するプ
ログラムが該共有記憶装置(13)上に要求する領域を、
該割当管理情報(18)に従って該固有領域から割り当て
る割当管理部(10)と、の処理を実行し、 各該演算装置(11)でプログラムの実行を開始する所定
の時期に該共有記憶装置(13)の空き領域から所定の領
域を獲得して固有領域(17)とし、プログラムの実行に
伴って該共有記憶装置(13)上に領域を必要としたとき
は、該割当管理情報に従って自己の固有領域から割り当
てるように構成されていることを特徴とする共有記憶領
域割当処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1287581A JPH0743664B2 (ja) | 1989-11-06 | 1989-11-06 | 共有記憶領域割当処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1287581A JPH0743664B2 (ja) | 1989-11-06 | 1989-11-06 | 共有記憶領域割当処理方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03148733A JPH03148733A (ja) | 1991-06-25 |
| JPH0743664B2 true JPH0743664B2 (ja) | 1995-05-15 |
Family
ID=17719164
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1287581A Expired - Lifetime JPH0743664B2 (ja) | 1989-11-06 | 1989-11-06 | 共有記憶領域割当処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0743664B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009065713A (ja) * | 2008-12-08 | 2009-03-26 | Ricoh Co Ltd | 画像形成装置、共有メモリ調停方法、プログラムおよび記録媒体 |
-
1989
- 1989-11-06 JP JP1287581A patent/JPH0743664B2/ja not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009065713A (ja) * | 2008-12-08 | 2009-03-26 | Ricoh Co Ltd | 画像形成装置、共有メモリ調停方法、プログラムおよび記録媒体 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH03148733A (ja) | 1991-06-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0628053B2 (ja) | マルチプロセッサシステムの資源の割当制御方法 | |
| JP2000235502A (ja) | 共有メモリのブロック割当方法、コンピュータ読取可能な記録媒体、メモリ割当方法及びメモリ割当調整システム | |
| JPH03257644A (ja) | 主メモリ管理方法 | |
| EP0362903A2 (en) | A special purpose processor for off-loading many operating system functions in a large data processing system | |
| JPH0743664B2 (ja) | 共有記憶領域割当処理方式 | |
| JP2003248620A (ja) | 動的メモリ管理方法及び動的メモリ管理情報処理装置 | |
| US6904601B1 (en) | Method and system for providing remote procedure calls in a multiprocessing system | |
| WO2020213397A1 (ja) | プロセッサおよびレジスタの継承方法 | |
| JPS583177A (ja) | デ−タ処理方式 | |
| JP3796344B2 (ja) | 仮想記憶管理システムおよび記録媒体 | |
| JP2535584B2 (ja) | 実記憶固定処理計算機 | |
| JPH06187312A (ja) | マルチcpuシステムにおける処理方法および装置 | |
| JPH09167114A (ja) | マルチスレッドタスクのスタック割り当て方法 | |
| JPH04362766A (ja) | 共有資源管理方法 | |
| JP2596185B2 (ja) | アカウント採取方式 | |
| JPS6364146A (ja) | 論理空間管理方式 | |
| JPH0612314A (ja) | メモリ管理方式 | |
| JPH0340028A (ja) | 入出力装置割り付け制御方式 | |
| JPH10161985A (ja) | プロセッサ割付方法およびマルチプロセッサ計算機システム | |
| JPH09265405A (ja) | 共有資源の排他アクセス方法 | |
| JPH04250540A (ja) | 画像処理方法及び装置 | |
| JPH04275646A (ja) | ファイル定義構造体プール管理方式 | |
| JPH02207350A (ja) | 共通記憶域割付け方式 | |
| JPH02122334A (ja) | 資源再割当て方式 | |
| JPS63101945A (ja) | 主記憶ペ−ジ管理方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |