JPH03148733A - Shared memory area allocating and processing system - Google Patents

Shared memory area allocating and processing system

Info

Publication number
JPH03148733A
JPH03148733A JP28758189A JP28758189A JPH03148733A JP H03148733 A JPH03148733 A JP H03148733A JP 28758189 A JP28758189 A JP 28758189A JP 28758189 A JP28758189 A JP 28758189A JP H03148733 A JPH03148733 A JP H03148733A
Authority
JP
Japan
Prior art keywords
area
storage device
allocation
shared storage
shared memory
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.)
Granted
Application number
JP28758189A
Other languages
Japanese (ja)
Other versions
JPH0743664B2 (en
Inventor
Yoshio Kato
加藤 喜郎
Shin Hashimoto
伸 橋本
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
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

Abstract

PURPOSE:To decrease the allocation processing overhead of a shared memory area by possessing an intrinsic area in a required size on a shared memory and allocating the shared memory area from the inside of the intrinsic area to an idle area. CONSTITUTION:When the execution of a program is started by an arithmetic unit 11, an area possession part 14 possesses the prescribed area from the idle memory area of a shared memory 13 and defines the possessed area as an intrinsic area 17 according to a method for accessing an exclusive control flag 5 and idle area information 6 on the shared memory 13. An allocation control part 10 holds the leading address of the intrinsic area 17 possessed by the area possession part 14 and allocation control information 18 in a main memory 12 and when the control part is called by an area allocation request, the allocation control information 18 are referred and the area in the required size is segmented from the intrinsic area 17. Thus, since the area allocation of the shared memory 13 can be executed only by accessing the main memory 12 in the program, the overhead of the area allocation can be decreased.

Description

【発明の詳細な説明】 〔概 要〕 共有記憶装置と、個別の主記憶装置とを有する演算装置
からなるマルチプロセッサシステムの共有記憶装置の領
域割当に関し、 共有記憶装置へのアクセスを減少して、共有記憶領域の
割当処理オーバヘッドを減少できる共有記憶領域割当処
理方式を目的とし、 複数の演算装置及び主記憶装置と、共有記憶装置とを有
し、各該演算装置は、個別の該主記憶装置と、共通の該
共有記憶装置とに接続し、領域獲得部と割当管理部とを
実行し、該領域獲得部は、当該演算装置でプログラムの
実行を開始する所定の時期に該共有記憶装置の空き記憶
領域から所定の領域を獲得して固有領域とし、該割当管
理部は、該固有領域の割当管理情報を該主記憶装置に保
持し、該演算装置で実行するプログラムが該共有記憶装
置上に要求する領域を、該割当管理情報に従って該固有
領域から割り当てるように構成する。
[Detailed Description of the Invention] [Summary] Regarding the area allocation of the shared storage device of a multiprocessor system consisting of an arithmetic unit having a shared storage device and a separate main storage device, the present invention relates to area allocation of the shared storage device. , aims at a shared storage area allocation processing method that can reduce shared storage area allocation processing overhead, and has a plurality of arithmetic units and main storage devices, and a shared storage device, and each of the arithmetic units has a separate main memory. and the common shared storage device, and executes an area acquisition unit and an allocation management unit, and the area acquisition unit acquires the shared storage device at a predetermined time when the execution of a program starts in the processing device. The allocation management unit acquires a predetermined area from the free storage area of the storage area and makes it a unique area, the allocation management unit holds allocation management information of the unique area in the main storage, and the program executed by the arithmetic unit stores it in the shared storage. The area requested above is allocated from the specific area according to the allocation management information.

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

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

〔従来の技術〕[Conventional technology]

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

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

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

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

そのような場合に各演算装置lで実行されるプログラム
が要求する記憶領域は、一般にその処理結果を他の演算
装置1で実行されるプログラムが参照する必要があるの
で、共有記憶装置3上に置く必要があるので、記憶領域
の要求があると、その演算装置lで実行する管理プログ
ラムによる領域獲得部4が共有記憶装置上の空き領域か
ら、要求の大きさの領域を獲得する。
In such a case, the storage area required by the program executed on each computing device 1 is generally stored on the shared storage device 3 because the processing result needs to be referenced by the program executed on the other computing device 1. Therefore, when there is a request for a storage area, the area acquisition unit 4 using the management program executed by the processing unit 1 acquires an area of the requested size from the free space on the shared storage device.

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

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

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

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

〔課題を解決するための手段〕[Means to solve the problem]

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

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

〔作 用〕[For production]

以上の処理方式によって、例えばプログラムの実行開始
時に、そのプログラムが共有記憶装置上に必要とする大
きさの固有領域を獲得しておき、プログラムの実行中に
発生する領域要求に対しては、固有領域内から割り当て
ることにより、プログラム実行中における共有記憶装置
の領域獲得/解放の処理が、主記憶装置に対するアクセ
スのみによって、比較的短時間に処理できる。
By using the above processing method, for example, when a program starts executing, it acquires a unique area of the size required by the program on the shared storage device, and when the program starts executing, By allocating from within the area, the process of acquiring and releasing areas of the shared storage device during program execution can be processed in a relatively short time by only 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 each provided as a subroutine called from an application program, and a compiler that generates a program to be executed in this system, for example, at the beginning of a unit program executed as one task, A subroutine call instruction is inserted so that an area acquisition unit 14 is called to acquire a specific area of a size necessary for the program, and when the task is finished, the area acquisition unit 14 is called again to release the specific area.

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

そのようなプログラムから領域獲得部14が呼び出され
ると、要求された大きさの領域を共有記憶装W13の空
き領域から獲得するために、例えば前記第3図の処理の
流れにより、排他制御用の排他制御フラグ5にアクセス
してロックの獲得を試み、獲得できなければ試行を繰り
返して待ち、ロックを獲得することによって、他の演算
装置lとの競合を抑えた後、空き領域情報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 W13, it executes an exclusive control operation according to the process flow shown in FIG. 3, for example. Access the exclusive control flag 5 to try to acquire a lock, and if it is not possible to acquire a lock, repeat the trial and wait, acquire the lock, thereby suppressing contention with other processing units l, and then refer to the free space information 6. Then, the area to be acquired is determined, the free area information 6 is updated, and then the flag 5 is restored to release the lock, and the acquisition is completed.

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

又、領域解放要求があると、獲得時と同様にして共有記
憶装置13の空き領域情報ローに排他的にアクセスして
、獲得していた領域を空き領域とするように空き領域情
報6を更新する。
Also, when an area release request is made, the free area information row of the shared storage device 13 is accessed exclusively in the same way as when acquiring the area, and the free area information 6 is updated so that the acquired area becomes a free area. do.

割当管理部lOは、領域獲得部14が獲得した固有領域
17の先頭アドレスと割当管理情報18とを保持する。
The allocation management unit IO holds the start address of the unique area 17 acquired by the area acquisition unit 14 and allocation management information 18.

割当管理情報18は固有領域17の大きさ及び割当状態
を示すための公知の例えばビットマツプ情報であってよ
い、割当管理部10は、領域割当要求で呼び出されると
、割当管理情報18を参照して、未割当領域から要求の
大きさの領域を切り出し、その領域を割当状態に更新し
、切り出した領域の先頭アドレスを要求元に返す、又解
放要求の場合には、指定の先頭アドレスから指定の大き
さの領域について、未割当杖履を示すように割当管理情
報18を更新する。
The allocation management information 18 may be known, for example, bitmap information for indicating the size and allocation status of the unique area 17. When called with an area allocation request, the allocation management unit 10 refers to the allocation management information 18. , extracts an area of the requested size from the unallocated area, updates the area to the allocated state, returns the start address of the extracted area to the request source, and in the case of a release request, moves from the specified start address to the specified one. Regarding the size area, the allocation management information 18 is updated to indicate unallocated shoes.

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

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

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

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の構成を示すブロック図、第2図は従来
の構成例を示すブロック図、第3図は領域獲得処理の流
れ図 である。 図において、 1.11は演算装置、  2.12は主記憶装置、3.
13は共有記憶装置、4.14は領域獲得部、5は排他
制御フラグ、 6は空き領域情報、lOは割当管理部、
   17は固有領域、18は割当管理情報、  20
〜24は処理ステップを示す。 特許出願人 工業技術院長 杉 浦  賢II9rfi
a報ILZ#J  レノ 未発明の構成を示すブロンり図 第 1 図
FIG. 1 is a block diagram showing the configuration of the present invention, FIG. 2 is a block diagram showing an example of a conventional configuration, and FIG. 3 is a flowchart of area acquisition processing. In the figure, 1.11 is an arithmetic unit, 2.12 is a main storage device, and 3.
13 is a shared storage device, 4.14 is an area acquisition unit, 5 is an exclusive control flag, 6 is free area information, IO is an allocation management unit,
17 is a unique area, 18 is allocation management information, 20
-24 indicate processing steps. Patent applicant: Director of the Agency of Industrial Science and Technology Ken Sugiura II9rfi
a-news ILZ#J Figure 1: Broken diagram showing Leno's uninvented configuration

Claims (1)

【特許請求の範囲】 複数の演算装置(11)及び主記憶装置(12)と、共
有記憶装置(13)とを有し、 各該演算装置(11)は、個別の該主記憶装置(12)
と、共通の該共有記憶装置(13)とに接続し、領域獲
得部(14)と割当管理部(10)とを実行し、該領域
獲得部(14)は、当該演算装置(11)でプログラム
の実行を開始する所定の時期に該共有記憶装置(13)
の空き記憶領域から所定の領域を獲得して固有領域(1
7)とし、 該割当管理部(10)は、該固有領域(17)の割当管
理情報(18)を該主記憶装置(12)に保持し、該演
算装置(11)で実行するプログラムが該共有記憶装置
(13)上に要求する領域を、該割当管理情報に従って
該固有領域から割り当てるように構成されていることを
特徴とする共有記憶領域割当処理方式。
[Claims] It has a plurality of arithmetic units (11), a main memory device (12), and a shared memory device (13), and each of the arithmetic units (11) has a separate main memory device (12). )
and the common shared storage device (13) to execute an area acquisition unit (14) and an allocation management unit (10), and the area acquisition unit (14) is connected to the common shared storage device (13). the shared storage device (13) at a predetermined time to start execution of the program;
A specific area is acquired from the free storage area of
7), the allocation management unit (10) holds allocation management information (18) of the unique area (17) in the main storage device (12), and the program executed by the arithmetic unit (11) A shared storage area allocation processing method characterized in that a requested area on a shared storage device (13) is allocated from the specific area according to the allocation management information.
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 true JPH03148733A (en) 1991-06-25
JPH0743664B2 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)

Families Citing this family (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
JPH0743664B2 (en) 1995-05-15

Similar Documents

Publication Publication Date Title
US5809554A (en) User control of multiple memory heaps
US4779194A (en) Event allocation mechanism for a large data processing system
US6848033B2 (en) Method of memory management in a multi-threaded environment and program storage device
US20140130021A1 (en) System and method for translating program functions for correct handling of local-scope variables and computing system incorporating the same
EP0533805A4 (en) Method for efficient non-virtual main memory management
US6801990B2 (en) Demand-based memory-block splitting
US6363410B1 (en) Method and system for threaded resource allocation and reclamation
CA1299758C (en) Task scheduling mechanism for large data processing systems
US6842838B2 (en) Preemptive memory-block splitting
WO2017142525A1 (en) Allocating a zone of a shared memory region
JPH03148733A (en) Shared memory area allocating and processing system
CN112346879B (en) Process management method, device, computer equipment and storage medium
US6904601B1 (en) Method and system for providing remote procedure calls in a multiprocessing system
JPS583177A (en) Data processing system
JPS6351288B2 (en)
JP2535584B2 (en) Real memory fixed processing computer
JPS63292456A (en) Control system for medium assignment of plural medium containing type data recorder
US20030084264A1 (en) Preemptive memory-block splitting
CN117593170A (en) Video memory allocation method, device, equipment and readable storage medium
CN112596889A (en) Method for managing chained memory based on state machine
JPH0348950A (en) Memory control system
JPH0754481B2 (en) Overlay control method
JPH0799517B2 (en) Shared resource management method
JPH04256024A (en) Dividing and loading system for program
JPH01130239A (en) Memory assigning system

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term