JPH0743664B2 - Shared storage area allocation processing method - Google Patents

Shared storage area allocation processing method

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
Application number
JP1287581A
Other languages
Japanese (ja)
Other versions
JPH03148733A (en
Inventor
喜郎 加藤
伸 橋本
Original Assignee
工業技術院長
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 工業技術院長 filed Critical 工業技術院長
Priority to JP1287581A priority Critical patent/JPH0743664B2/en
Publication of JPH03148733A publication Critical patent/JPH03148733A/en
Publication of JPH0743664B2 publication Critical patent/JPH0743664B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 共有記憶装置と、個別の主記憶装置とを有する演算装置
からなるマルチプロセッサシステムの共有記憶装置の領
域割当に関し、 共有記憶装置へのアクセスを減少して、共有記憶領域の
割当処理オーバヘッドを減少できる共有記憶領域割当処
理方式を目的とし、 複数の演算装置及び主記憶装置と、共有記憶装置とを有
し、各該演算装置は、個別の該主記憶装置と、共通の該
共有記憶装置とに接続すると共に、各該演算装置は、当
該演算装置でプログラムの実行を開始する所定の時期に
該共有記憶装置の空き記憶領域から所定の領域を獲得し
て固有領域とする領域獲得部と、該固有領域の割当管理
情報を自己の該主記憶装置に保持し、該演算装置で実行
するプログラムが該共有記憶装置上に要求する領域を、
該割当管理情報に従って該固有領域から割り当てる割当
管理部と、の処理を実行し、各該演算装置でプログラム
の実行を開始する所定の時期に該共有記憶装置の空き領
域から所定の領域を獲得して固有領域とし、プログラム
の実行に伴って該共有記憶装置上に領域を必要としたと
きは、該割当管理情報に従って自己の固有領域から割り
当てるように構成する。
DETAILED DESCRIPTION OF THE INVENTION [Outline] Regarding area allocation of a shared storage device of a multiprocessor system including a shared storage device and an arithmetic unit having an individual main storage device, it is possible to reduce access to the shared storage device. An object of the present invention is to provide a shared storage area allocation processing method capable of reducing the allocation processing overhead of the shared storage area, and has a plurality of arithmetic units and a main memory unit, and a shared memory unit, and each arithmetic unit is an individual main memory unit. , And each of the arithmetic devices acquires a predetermined area from the free storage area of the shared storage device at a predetermined time when the execution of the program by the arithmetic device is started. An area acquisition unit that is a unique area, and an area that holds the allocation management information of the unique area in the main storage device of its own and that a program executed by the arithmetic unit requests on the shared storage device,
The allocation management unit that allocates from the unique area according to the allocation management information is executed, and a predetermined area is acquired from the free area of the shared storage device at a predetermined time when the execution of the program is started in each arithmetic unit. When the shared storage device requires an area as a result of execution of a program, the area is allocated from its own unique area in accordance with the allocation management information.

〔産業上の利用分野〕[Industrial application field]

本発明は、共有記憶装置と、個別の主記憶装置とを有す
る演算装置からなるマルチプロセッサシステムの、共有
記憶装置における共有記憶領域の割当処理方式に関す
る。
The present invention relates to a shared storage area allocation processing method in a shared storage device of a multiprocessor system including an arithmetic unit having a shared storage device and an individual main storage device.

〔従来の技術〕[Conventional technology]

第2図はマルチプロセッサシステムの構成例を示すブロ
ック図である。
FIG. 2 is a block diagram showing a configuration example of a multiprocessor system.

複数の演算装置1は、個別の主記憶装置2と接続し、各
演算装置1はそれぞれ別途主記憶装置2にロードされた
プログラムを実行して、主記憶装置2又は共有記憶装置
3に保持されるデータにアクセスして、必要なシステム
管理や応用業務の処理を実行する。
The plurality of arithmetic units 1 are connected to individual main storage units 2, and each arithmetic unit 1 executes a program separately loaded in the main storage unit 2 and is stored in the main storage unit 2 or the shared storage unit 3. Access the required data and perform the necessary system management and application processing.

共有記憶装置3はすべての演算装置2からアクセスでき
るようにされ、共通に使用する管理データや業務処理の
作業データの領域が置かれる。
The shared storage device 3 is made accessible to all the computing devices 2 and has areas for commonly used management data and work data for business processing.

このシステム構成により、例えば必要な複数の演算装置
の主記憶装置2にプログラムをロードし、共有記憶装置
3に設ける管理情報に基づいて、各演算装置1で実行さ
れるタスクが、プログラムの実行を分担することによ
り、1つのプログラムを適当な構成に分割して、複数の
タスクで並列に実行することができる。
With this system configuration, for example, the program is loaded into the main storage device 2 of a plurality of necessary arithmetic devices, and the task executed by each arithmetic device 1 executes the program based on the management information provided in the shared storage device 3. By sharing, one program can be divided into appropriate configurations and executed in parallel by a plurality of tasks.

そのような場合に各演算装置1で実行されるプログラム
が要求する記憶領域は、一般にその処理結果を他の演算
装置1で実行されるプログラムが参照する必要があるの
で、共有記憶装置3上に置く必要があり、記憶領域の要
求があると、その演算装置1で実行する管理プログラム
による領域獲得部4が共有記憶装置上の空き領域から、
要求の大きさの領域が獲得する。
In such a case, since the storage area required by the program executed by each arithmetic device 1 generally needs to refer to the processing result by the program executed by another arithmetic device 1, the storage area on the shared storage device 3 is required. When it is necessary to place a storage area and a request for a storage area is made, the area acquisition unit 4 by the management program executed by the arithmetic unit 1 selects from the free area on the shared storage device.
An area of the requested size is acquired.

この領域獲得は、例えば第3図に示すように、先ず処理
ステップ20で共有記憶装置3上に排他制御のために設け
た排他制御フラグ5にアクセスして公知の方法でロック
の獲得を試み、獲得できなければ試行を繰り返して待つ
(処理ステップ21、22)。ロックを獲得することによっ
て、他の演算装置1との競合を抑えた後、処理ステップ
23で空き領域の大きさや領域先頭アドレス等を示す適当
な空き領域情報6を参照して、空き領域から獲得する領
域を決定し、その領域を占有状態にするように空き領域
情報6を更新して、領域を確保し、その後処理ステップ
24でロックを解除するように排他制御フラグ5を復旧し
て処理を終わる。
To obtain this area, for example, as shown in FIG. 3, first, in process step 20, the exclusive control flag 5 provided for exclusive control on the shared storage device 3 is accessed to try to acquire a lock by a known method. If not acquired, the trial is repeated and waits (process steps 21 and 22). After obtaining the lock, the contention with other computing devices 1 is suppressed, and then the processing step
In 23, referring to appropriate free area information 6 indicating the size of free area, area start address, etc., the area to be acquired from the free area is determined, and the free area information 6 is updated so that the area is occupied. Secure the area and then process step
At 24, the exclusive control flag 5 is restored so that the lock is released, and the processing ends.

〔発明が解決しようとする課題〕[Problems to be Solved by the Invention]

共有記憶装置3は大量のデータを記憶できるように例え
ば4ギガバイトというように、比較的大容量を必要と
し、経済的な要求から比較的低速の記憶素子によって構
成し、又大量データのブロックの転送を効率よく処理す
るように構成されていて、前記のような排他制御フラグ
や管理情報等のアクセスは比較的効率が悪く、前記のよ
うな領域獲得処理が頻繁に生じると、演算装置1のオー
バヘッドを大幅に増加させるという問題がある。
The shared storage device 3 requires a relatively large capacity, for example, 4 gigabytes, so that a large amount of data can be stored. The shared storage device 3 is composed of a relatively low-speed storage element because of economical requirements. Is efficiently processed, access to the exclusive control flag, management information, etc. as described above is relatively inefficient, and if the area acquisition processing as described above occurs frequently, the overhead of the arithmetic unit 1 There is a problem of increasing significantly.

本発明は、共有記憶装置へのアクセスを減少して、共有
記憶領域の割当処理オーバヘッドを減少できる共有記憶
領域割当処理方式を目的とする。
An object of the present invention is to provide a shared storage area allocation processing method capable of reducing the access to the shared storage device to reduce the allocation processing overhead of the shared storage area.

〔課題を解決するための手段〕[Means for Solving the Problems]

第1図は、本発明の構成を示すブロック図である。 FIG. 1 is a block diagram showing the configuration of the present invention.

図は共有記憶領域割当処理方式の構成であって、複数の
演算装置11及び主記憶装置12と、共有記憶装置13とを有
し、各演算装置11は、個別の主記憶装置12と、共通の共
有記憶装置13とに接続し、領域獲得部14と割当管理部10
とを実行し、領域獲得部14は、当該演算装置11でプログ
ラムの実行を開始する所定の時期に、例えば従来と同様
に共有記憶装置上の排他制御フラグ5及び空き領域情報
6にアクセスする方法によって、共有記憶装置13の空き
記憶領域から所定の領域を獲得して固有領域17とし、割
当管理部10は、該固有領域の割当管理情報18を主記憶装
置12に保持し、演算装置11で実行するプログラムが共有
記憶装置18上に要求する領域を、割当管理情報18に従っ
て固有領域17から割り当てる。
The figure shows a configuration of a shared storage area allocation processing system, which has a plurality of arithmetic units 11 and a main storage unit 12, and a shared storage unit 13, and each arithmetic unit 11 has an individual main storage unit 12 and a common storage unit. Connected to the shared storage device 13 of the area acquisition unit 14 and the allocation management unit 10
And the area acquisition unit 14 accesses the exclusive control flag 5 and the free area information 6 on the shared storage device at a predetermined time when the execution of the program by the arithmetic unit 11 is started, for example. A predetermined area from the free storage area of the shared storage device 13 to obtain a unique area 17, the allocation management unit 10 holds the allocation management information 18 of the unique area in the main storage device 12, and the computing device 11 The area requested by the program to be executed on the shared storage device 18 is allocated from the unique area 17 according to the allocation management information 18.

〔作用〕[Action]

以上の処理方式によって、例えばプログラムの実行開始
時に、そのプログラムが共有記憶装置上に必要とする大
きさの固有領域を獲得しておき、プログラムの実行中に
発生する領域要求に対しては、固有領域内から割り当て
ることにより、プログラム実行中における共有記憶装置
の領域獲得/解放の処理が、主記憶装置に対するアクセ
スのみによって、比較的短時間に処理できる。
According to the above processing method, for example, at the start of execution of a program, a unique area of a size required by the program is acquired, and a unique area is requested for an area request generated during execution of the program. By allocating from within the area, the area acquisition / release processing of the shared storage device during program execution can be processed in a relatively short time only by accessing the main storage device.

〔実施例〕〔Example〕

第1図の領域獲得部14及び割当管理部10は、それぞれ応
用プログラムから呼ばれるサブルーチンとして設けら
れ、このシステムで実行するプログラムを生成するコン
パイラは、例えば1タスクとして実行される単位プログ
ラムの先頭で、領域獲得部14を呼び出して、そのプログ
ラムに必要な大きさの固有領域を獲得し、そのタスクの
終了時に再び領域獲得部14を呼び出して固有領域を解放
するように、サブルーチン呼出命令を挿入する。
The area acquisition unit 14 and the allocation management unit 10 in FIG. 1 are respectively provided as subroutines called from an application program, and a compiler that generates a program to be executed by this system is, for example, at the head of a unit program executed as one task, A subroutine call instruction is inserted so that the area acquisition unit 14 is called to acquire a unique area of a size required for the program, and when the task is completed, the area acquisition unit 14 is called again to release the unique area.

又そのタスク内の各手続きが各々の局所領域を獲得/解
放する場合には、割当管理部10を呼び出して所要の大き
さの領域を固有領域17から切り出すようにサブルーチン
呼出命令を挿入する。
When each procedure in the task acquires / releases each local area, the allocation management unit 10 is called and a subroutine call instruction is inserted so as to cut out an area of a required size from the unique area 17.

そのようなプログラムから領域獲得部14が呼び出される
と、要求された大きさの領域を共有記憶装置13の空き領
域から獲得するために、例えば前記第2図の処理の流れ
により、排他制御用の排他制御フラグ5にアクセスして
ロックの獲得を試み、獲得できなければ試行を繰り返し
て待ち、ロックを獲得することによって、他の演算装置
1との競合を抑えた後、空き領域情報6を参照して、獲
得する領域を決定して空き領域情報6を更新し、その後
ロックを解除するようにフラグ5を復旧して獲得を終わ
る。
When the area acquisition unit 14 is called from such a program, in order to acquire an area of the requested size from the free area of the shared storage device 13, for example, by the flow of the processing of FIG. Access to the exclusive control flag 5 to try to acquire the lock, and if it cannot be acquired, the trial is repeated and waits to acquire the lock, thereby suppressing contention with other computing devices 1, and then refer to the free area information 6. Then, the area to be acquired is determined, the free area information 6 is updated, and then the flag 5 is restored so that the lock is released, and the acquisition ends.

その後、主記憶装置12上に割当管理情報18を生成して獲
得した領域を未割当状態に設定し、獲得した領域のアド
レスと共に呼出元に渡す。
After that, the allocation management information 18 is generated in the main storage device 12, and the acquired area is set to an unallocated state, and is passed to the calling source together with the address of the acquired area.

又、領域解放要求があると、獲得時と同様にして共有記
憶装置13の空き領域情報6に排他的にアクセスして、獲
得していた領域を空き領域とするように空き領域情報6
を更新する。
When the area release request is issued, the free area information 6 is exclusively accessed to the free area information 6 of the shared storage device 13 in the same manner as at the time of acquisition, and the free area information 6 is set so that the acquired area becomes the free area.
To update.

割当管理部10は、領域獲得部14が獲得した固有領域17の
先頭アドレスと割当管理情報18とを保持する。割当管理
情報18は固有領域17の大きさ及び割当状態を示すための
公知の例えばビットマップ情報であってよい。割当管理
部10は、領域割当要求で呼び出されると、割当管理情報
18を参照して、未割当領域から要求の大きさの領域を切
り出し、その領域を割当状態に更新し、切り出した領域
の先頭アドレスを要求元に返す。又解放要求の場合に
は、指定の先頭アドレスから指定の大きさの領域につい
て、未割当状態を示すように割当管理情報18を更新す
る。
The allocation management unit 10 holds the start address of the unique area 17 acquired by the area acquisition unit 14 and the allocation management information 18. The allocation management information 18 may be publicly known, for example, bitmap information for indicating the size of the unique area 17 and the allocation state. When the allocation management unit 10 is called by the area allocation request, the allocation management information is
With reference to 18, an area of the requested size is cut out from the unallocated area, the area is updated to the allocated state, and the start address of the cut out area is returned to the request source. In the case of a release request, the allocation management information 18 is updated so as to indicate the unallocated state for the area of the specified size from the specified start address.

以上の例では、固有領域17をタスクごとに取るようにし
たが、その演算装置11で実行するタスクで固有領域を共
用するようにして、共用する固有領域を例えばジョブス
テップの開始時に取ってもよい。その場合には、領域獲
得部14は固有領域を未獲得の場合のみ、獲得処理を実行
するようにする。なお、領域獲得部14及び割当管理部10
は、応用プログラムのサブルーチンとしたが、システム
管理のサービスとして実行されるようにしてもよい。
又、システム管理で行う場合には、例えば初期プログラ
ムコード時に、演算装置11ごとの固有領域を取り、以後
各演算装置11で実行するタスクに割り当てるようにする
こともできる。
In the above example, the unique area 17 is taken for each task, but the unique area is shared by the tasks executed by the arithmetic unit 11, and even if the shared unique area is taken at the start of a job step, for example. Good. In that case, the area acquisition unit 14 executes the acquisition processing only when the unique area has not been acquired. The area acquisition unit 14 and the allocation management unit 10
Is a subroutine of the application program, but may be executed as a system management service.
Further, in the case of system management, for example, at the time of initial program code, it is possible to take a unique area for each arithmetic unit 11 and allocate it to a task executed by each arithmetic unit 11 thereafter.

以上により、共有記憶装置13から直接に領域を獲得する
場合には従来と同様に処理時間を要するが、その処理は
例えばプログラムの最初のみに減少することができ、プ
ログラムの中では主記憶装置12へのアクセスのみで、共
有記憶装置の領域割当ができるので、領域割当のオーバ
ヘッドを減少できる。
As described above, when the area is directly acquired from the shared storage device 13, processing time is required as in the conventional case, but the processing can be reduced only at the beginning of the program, for example, and the main storage device 12 in the program can be reduced. Since the shared memory device can be allocated the area only by accessing the area, the area allocation overhead can be reduced.

〔発明の効果〕〔The invention's effect〕

以上の説明から明らかなように本発明によれば、共有記
憶装置と、個別の主記憶装置とを有する演算装置からな
るマルチプロセッサシステムにおいて、共有記憶装置の
領域割当処理オーバヘッドを減少できるので、システム
の処理効率を向上するという著しい工業的効果がある。
As is apparent from the above description, according to the present invention, in a multiprocessor system including a shared storage device and an arithmetic unit having an individual main storage device, the area allocation processing overhead of the shared storage device can be reduced. There is a remarkable industrial effect of improving the treatment efficiency of.

【図面の簡単な説明】[Brief description of drawings]

第1図は本発明の構成を示すブロック図、 第2図は従来の構成例を示すブロック図、 第3図は領域獲得処理の流れ図 である。 図において、 1、11は演算装置、2、12は主記憶装置、3、13は共有
記憶装置、4、14は領域獲得部、5は排他制御フラグ、
6は空き領域情報、10は割当管理部、17は固有領域、18
は割当管理情報、20〜24は処理ステップ を示す。
FIG. 1 is a block diagram showing a configuration of the present invention, FIG. 2 is a block diagram showing a conventional configuration example, and FIG. 3 is a flow chart of area acquisition processing. In the figure, 1 and 11 are arithmetic units, 2 and 12 are main storage units, 3 and 13 are shared storage units, 4 and 14 are area acquisition units, 5 is an exclusive control flag,
6 is free area information, 10 is an allocation management unit, 17 is a unique area, 18
Indicates allocation management information, and 20 to 24 indicate processing steps.

Claims (1)

【特許請求の範囲】[Claims] 【請求項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)上に領域を必要としたとき
は、該割当管理情報に従って自己の固有領域から割り当
てるように構成されていることを特徴とする共有記憶領
域割当処理方式。
1. A plurality of arithmetic units (11) and a main memory (1)
2) and a shared storage device (13), and each arithmetic unit (11) has an individual main storage device (12),
The arithmetic unit (11) is connected to the common shared storage unit (13), and each of the arithmetic units (11) becomes available at a predetermined time when the execution of the program by the arithmetic unit (11) is started. An area acquisition unit (1) that acquires a predetermined area from the storage area and makes it a unique area (17)
4) and the allocation management information (18) of the specific area (17) in the main storage device (12) of its own, and the program executed by the arithmetic unit (11) is stored in the shared storage device (13). The area required for
According to the allocation management information (18), the processing of the allocation management unit (10) that allocates from the specific area is executed, and the shared storage device (at the predetermined time when the execution of the program is started in each arithmetic unit (11). When a predetermined area is acquired from the free area of 13) to make it a unique area (17) and the area is required on the shared storage device (13) as the program is executed, the own area is allocated according to the allocation management information. A shared storage area allocation processing method characterized by being configured to allocate from a unique area.
JP1287581A 1989-11-06 1989-11-06 Shared storage area allocation processing method Expired - Lifetime JPH0743664B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1287581A JPH0743664B2 (en) 1989-11-06 1989-11-06 Shared storage area allocation processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1287581A JPH0743664B2 (en) 1989-11-06 1989-11-06 Shared storage area allocation processing method

Publications (2)

Publication Number Publication Date
JPH03148733A JPH03148733A (en) 1991-06-25
JPH0743664B2 true JPH0743664B2 (en) 1995-05-15

Family

ID=17719164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1287581A Expired - Lifetime JPH0743664B2 (en) 1989-11-06 1989-11-06 Shared storage area allocation processing method

Country Status (1)

Country Link
JP (1) JPH0743664B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065713A (en) * 2008-12-08 2009-03-26 Ricoh Co Ltd Image forming apparatus, shared memory arbitrating method, program and recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065713A (en) * 2008-12-08 2009-03-26 Ricoh Co Ltd Image forming apparatus, shared memory arbitrating method, program and recording medium

Also Published As

Publication number Publication date
JPH03148733A (en) 1991-06-25

Similar Documents

Publication Publication Date Title
JPH0628053B2 (en) Resource allocation control method for multiprocessor system
JP2000235502A (en) Block allocating method for common memory, computer readable recording medium, memory allocating method and memory allocation adjusting system
JPH03257644A (en) Main memory control method
EP0364000A2 (en) A special purpose processor for off-loading many operating system functions in a large data processing system
JPH0743664B2 (en) Shared storage area allocation processing method
WO2020213397A1 (en) Processor and register inheritance method
US6904601B1 (en) Method and system for providing remote procedure calls in a multiprocessing system
JP2003248620A (en) Dynamic memory managing method and dynamic memory management information processing device
JPS583177A (en) Data processing system
JP3796344B2 (en) Virtual storage management system and recording medium
JPH0251740A (en) Control system for process allocation
JP2535584B2 (en) Real memory fixed processing computer
JPH04362766A (en) Shared resource control method
JP2596185B2 (en) Account collection method
JPH09167114A (en) Method for allocating stack of multi-thread task
JPS6364146A (en) Logical space control system
JPH0612314A (en) Memory control system
JPH0340028A (en) Allocation control system for input/output device
JPH09265405A (en) Exclusive access method for shared resource
JPH0324643A (en) Page assigning system for data base
JPH10161985A (en) Processor allocating method, and multiprocessor computer system
JPH08314739A (en) Multitask control method and system therefor
JPS61136131A (en) Information processor
JPH04275646A (en) File defining structure pool managing system
JPH02207350A (en) Common storage area allocation system

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term