JPS62287359A - Control system for simultaneous file access in loosely coupled multi-processor system - Google Patents

Control system for simultaneous file access in loosely coupled multi-processor system

Info

Publication number
JPS62287359A
JPS62287359A JP61131403A JP13140386A JPS62287359A JP S62287359 A JPS62287359 A JP S62287359A JP 61131403 A JP61131403 A JP 61131403A JP 13140386 A JP13140386 A JP 13140386A JP S62287359 A JPS62287359 A JP S62287359A
Authority
JP
Japan
Prior art keywords
shared
record
block
buffer
request
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
JP61131403A
Other languages
Japanese (ja)
Other versions
JPH0559463B2 (en
Inventor
Tetsuo Sano
佐野 徹夫
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP61131403A priority Critical patent/JPS62287359A/en
Publication of JPS62287359A publication Critical patent/JPS62287359A/en
Publication of JPH0559463B2 publication Critical patent/JPH0559463B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control

Landscapes

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

Abstract

PURPOSE:To improve the processing capacity of a system by being conscious of the hierarchies of a block and a record, and executing a shared exclusive control by a recording unit, in case of an access competition between tasks operated on the same computer. CONSTITUTION:With respect to a recording shared exclusive control means 11, a lock request is executed in a shared mode by designating a record, and with respect to a shared buffer managing means 21, a buffer securing request is executed by designating a block containing a request record. From a buffer obtained by the shared buffer managing means 21, the requested record is transferred to the record store area of a request task, and with respect to the shared buffer managing means 21, a buffer release request is executed in a reference mode by designating a block processed already.

Description

【発明の詳細な説明】 3、発明の詳細な説明 〔産業上の利用分野〕 本発明は、疎結合マルチプロセッサシステムにおける計
算徐開共有ファイルの同時アクセス制御方式に関する。
Detailed Description of the Invention 3. Detailed Description of the Invention [Field of Industrial Application] The present invention relates to a simultaneous access control method for computationally slow-open shared files in a loosely coupled multiprocessor system.

〔従来の技術〕[Conventional technology]

従来の疎結合マルチプロセッサシステムにおけるファイ
ル同時アクセス制御においては、制御単位はブロックあ
るいはファイルであり、レコード単位での制御は行われ
ていなかった。
In conventional file simultaneous access control in a loosely coupled multiprocessor system, the control unit is a block or a file, and control is not performed on a record-by-record basis.

一方、シングルプロセッサシステムあるいハ密結合マル
チプロ、セッサシステムにおいては、例えば、第2図に
示すような構成により、レコード単位でのファイル同時
アクセス制御が行われていた。この図において、共有排
他制御は、ファイル同時アクセス制御により使用される
基本機能であり、要求された論理資源名・をキーとして
複数タスク間での資源の共有あるいは排他使用を制御す
る。
On the other hand, in a single processor system or a tightly coupled multiprocessor/processor system, simultaneous file access control has been performed on a record-by-record basis, for example, using a configuration as shown in FIG. In this figure, shared exclusive control is a basic function used by simultaneous file access control, and controls the sharing or exclusive use of resources among multiple tasks using the requested logical resource name as a key.

この制御においては、論理資源名がどの物理資源に対応
するかは関知されないので、ブロックに対応づけること
も、レコードに対応づけることも可能である。また、共
有バッファ管理は、同一ブロックに対応するバッファで
あれば、そのブロックを要求する複数のタスク間で同一
バッファが共有されるように、共有バッファ領域の割り
当てを行う。そして、レコード単位で同時アクセスを行
うタスクは、論理資源名としてレコードを対応づけて共
有排他制御を要求し、また、ファイル更新はそのレコー
ドを含むブロックに対応づけて共有バ、ファ管理により
割り当てられたバッファ領域を介して行う。
In this control, since it is not concerned which physical resource a logical resource name corresponds to, it is possible to associate the logical resource name with a block or with a record. In addition, shared buffer management allocates a shared buffer area so that if the buffer corresponds to the same block, the same buffer is shared among multiple tasks requesting the block. Tasks that perform simultaneous access on a record basis request shared exclusive control by associating records as logical resource names, and file updates are assigned by shared buffer management in association with the block containing the record. This is done via a buffer area.

ここで、上述の例において、共有バッファを介してファ
イル更新を行うことの必要性を第3図を参照して説明す
る。この図は、シングルプロセッサシステムにおいてタ
スクごとにバッファ領域を設けた場合の動作を示す図で
ある。タスクT1は、レコードR1を更新するため、レ
コード凡1を排他確保稜、レコードR1を含むブロック
B1を自タスクのバッファ領域に読み込む。なお、レコ
ード几1のみの入出力動作はできない。
The necessity of updating files via the shared buffer in the above example will now be explained with reference to FIG. 3. This figure shows the operation when a buffer area is provided for each task in a single processor system. In order to update record R1, task T1 reads record 1 into the exclusive secured edge and block B1 containing record R1 into its own task's buffer area. Note that input/output operations for record box 1 alone are not possible.

次に、タスクT2はレコード几2を更新するため、レコ
ード几2を排他確保する。レコードR1’とレコードR
2は別置源である丸め、待ち合わせは起こらない。その
あとで、レコードR2を含む同じブロックB1を自タス
クのバッファ領域に読み込む。タスクT1が自タスクの
バッファ領域でレコード几1を几1′ に変更後、この
変更されたブロックBlを書き込み、次に、タスクT2
がレコードR2を几2’に変更後、この変更されたブロ
ックB1を書き込む。この結果タスクT2ではR1から
几1′ この変更が行なわれていないため、タスクT1
で行なわれた更新結果はタスク2で行なわれた更新結果
の重ね書きにより失われてしまう。
Next, task T2 exclusively secures record box 2 in order to update record box 2. Record R1' and record R
2 is a separate source rounding, no waiting occurs. After that, the same block B1 containing record R2 is read into the buffer area of the invoking task. After task T1 changes record 1 to 1' in its own task's buffer area, it writes this changed block Bl, and then task T2
changes record R2 to 几2' and then writes this changed block B1. As a result, task T2 does not have this change from R1 to R1, so task T1
The update results performed in task 2 will be lost due to the overwriting of the update results performed in task 2.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上述した従来技術においては、疎結合マルチプロセッサ
システムにおいて、レコード単位でファイル同時アクセ
ス制御を行う方が望ましい場合であっても、それを含む
ブロック単位でファイル同時アクセス制御を行わざるを
えない。このため、アクセスの競合による待ち合わせの
発生頻度が増加し、ファイル同時アクセスを行うタスク
の処理時間が増加するという問題点がめった。
In the above-mentioned conventional technology, in a loosely coupled multiprocessor system, even if it is desirable to perform simultaneous file access control on a record-by-record basis, simultaneous file access control must be performed on a block-by-block basis. As a result, the frequency of waiting times due to access conflicts increases, and the processing time of tasks that access files simultaneously increases, which is a problem.

ここで、シングルプロセッサシステムあるいは密結合マ
ルチプロセッサシステムにおいて可能テあるレコード単
位でのファイル同時アクセス制御が、疎結合マルチプロ
セッサシステムにおいて困難である理由は、共有ファイ
ルに対する入出力バッファ領域(通常、主記憶に取られ
る)が各計算機間で共有できないことにある。したがっ
て、単純に共有排他制御の単位をレコードにするだけで
は、前述したシングルプロセッサシステムにおいてタス
クごとにバッファ領域を設けた場合と同様の論理により
、共有ファイルの更新結果が保証されなくなる。
The reason why it is difficult to control simultaneous file access on a record-by-record basis in a loosely coupled multiprocessor system, which is possible in a single processor system or a tightly coupled multiprocessor system, is that the input/output buffer area (usually main memory The reason is that the information (taken by the computer) cannot be shared between computers. Therefore, if the unit of shared exclusive control is simply set as a record, the result of updating the shared file cannot be guaranteed due to the same logic as when a buffer area is provided for each task in the single processor system described above.

〔問題点を解決するための手段〕[Means for solving problems]

本発明の疎結合マルチプロセッサシステムにおけるファ
イル同時アクセス制御方式は、疎結合マルチプロセッサ
システムを構成する複数の計算機から共有される二次記
憶装置上のファイルへの同時アクセス制御において、 該同時アクセス制御の制御単位として、物理入出力単位
の整数倍の制御単位であるブロックと、ブロックより小
さい制御単位であるレコードとを有する場合において、 レコード単位でのファイルアクセス要求に対して、同一
計算機上で動作するタスク間でのアクセス競合であれば
要求されたレコード単位のままで共有排他制御を行い、
また、異なる計算機上で動作するタスク間でのアクセス
競合であれば要求されたレコードを含むブロック単位で
共有排他制御を行うレコード共有排他制御手段と、 個々の計n機ごとに存在する共有バッファ領域について
、同一ブロックに対応するバッファの割り当て要求であ
れば、該バッファを要求する複数タスク間で同一領域を
共有させるように割り当て制御を行う共有バク7ア管理
手段とを有し、共有7 y □(ルへのレコード単位で
のアクセスにおいて、共有排他制御は前記レコード共有
排他制御手段により行い、また、物理入出力動作は前記
共有バッファ管理手段により割り当てられたバッファ領
域を介して行なうように構成する。
The simultaneous file access control method in a loosely coupled multiprocessor system of the present invention provides simultaneous access control to a file on a secondary storage device shared by a plurality of computers making up the loosely coupled multiprocessor system. When the control unit has a block, which is an integral multiple of the physical input/output unit, and a record, which is a control unit smaller than the block, it is possible to operate on the same computer in response to file access requests in record units. If there is an access conflict between tasks, share exclusive control is performed in the requested record unit,
In addition, if there is an access conflict between tasks running on different computers, there is a record sharing exclusive control means that performs shared exclusive control in units of blocks containing requested records, and a shared buffer area that exists for each individual machine. If the request is for allocation of a buffer corresponding to the same block, the shared buffer management means controls the allocation so that the same area is shared among multiple tasks requesting the buffer. (When accessing a file in record units, shared exclusive control is performed by the record shared exclusive control means, and physical input/output operations are configured to be performed via a buffer area allocated by the shared buffer management means. .

〔実施例〕〔Example〕

本発明の一実施例について図面を参照して説明する。 An embodiment of the present invention will be described with reference to the drawings.

第1図を参照すると、本発明の一実施例は、レコード共
有排他制御手段11、を有する共有排他制御装置1、共
有バッファ管理手段21および共有バッファ領域221
*する疎結合マルチプロセ、tシステムを構成する計3
I機2、および゛複数計算機間で共有されるファイルが
存在する二次記憶装f3から構成されている。本実施例
のシステムは二つの計算機2から構成され、各計算機2
とチャネル接続された共有排他制御専用の装置である共
有排他制御装置1を有する。
Referring to FIG. 1, one embodiment of the present invention includes a shared exclusive control device 1 having a record shared exclusive control means 11, a shared buffer management means 21, and a shared buffer area 221.
* Loosely coupled multi-processing, a total of 3 that make up the t system
It consists of an I machine 2 and a secondary storage f3 in which files shared among multiple computers exist. The system of this embodiment is composed of two computers 2, and each computer 2
It has a shared exclusive control device 1 which is a device exclusively for shared exclusive control and is channel-connected to a shared exclusive control device.

また、二次記憶装置3の一例として磁気ディスク装置を
用いている。なお、いずれかの、あるいは、両方の計N
機2(zングルプロセップ)t−密結合マルチプロセッ
サシステムで!@換えた構成により実施することも可能
である。−まだ、共有排他制御装置1をいずれかの計算
機2に内蔵して実施することも、あるいは、両針n機2
に機能分担させた形で実施することも可能である。
Furthermore, a magnetic disk device is used as an example of the secondary storage device 3. In addition, either or both of the total N
Machine 2 (Z Ngle Processor) T-tightly coupled multiprocessor system! It is also possible to implement it by changing the @ configuration. - It is still possible to implement the shared exclusive control device 1 by incorporating it into one of the computers 2, or by implementing it by incorporating the shared exclusive control device 1 into one of the computers 2.
It is also possible to implement this in a manner in which the functions are divided between the two.

次に、第4図を参照し1、本実施例の動作について以下
詳細に説明する。まず、同時アクセス制御の対象である
、二次記憶装置3上に存在する共有ファイル31の構成
について説明する。共有7アイル31は、ブロックとし
;−ドとに階層構造化されている。このうち、ページと
も呼ばれるブロックは、入出力動作が行われる単位であ
り、物理入出力動作単位(装置により異なるか、例えば
256バイト)の整数倍に取られる。一方、レコードは
、論理的なアクセス単位であり、いずれかのブロックに
含まれている。なお、複数ブロックにまたがるレコード
を定義することも可能であるが、このような場合には、
拠するブロックごとに別々のレコードとして扱う。ここ
で、すべての共有ファイル31には、7ステム内で一意
にそのファイルを識別するための7.アイル織別名であ
るファイルIDがつけられている。また、各ブロックに
は、それが属するファイル内でそのブロック七−意に識
別するためのブロック識別名であるブロックIDがっけ
ら乳ている。さらに、各レコードには、それが属するプ
a、り同でそのレコードを一意に識別するだめのレコー
ド誠別名であるレコードIDがつけられている。以下で
は、ブロック指定とは(ファイルID、ブロックLD)
の組を指定することを、また、レコード指定とは(ファ
イルID、ブロックID、レコードID)の組を指定す
ることを言う。
Next, referring to FIG. 4, the operation of this embodiment will be described in detail. First, the configuration of the shared file 31 existing on the secondary storage device 3, which is subject to simultaneous access control, will be described. The shared 7 isles 31 are hierarchically structured into blocks. Among these, a block, also called a page, is a unit in which input/output operations are performed, and is taken as an integral multiple of a physical input/output operation unit (depending on the device, for example, 256 bytes). On the other hand, a record is a logical access unit and is included in any block. Note that it is also possible to define records that span multiple blocks, but in such a case,
Each block based on the data is treated as a separate record. Here, every shared file 31 has a 7 stem to uniquely identify the file within the 7 stems. A file ID, which is another name for Air Ori, is attached. Each block also includes a block ID, which is a block identification name for uniquely identifying the block within the file to which it belongs. Further, each record is given a record ID, which is a record name used to uniquely identify the record based on the group to which it belongs. Below, what is block specification (file ID, block LD)?
Also, record specification refers to specifying a set of (file ID, block ID, record ID).

次に、ファイル同時アクセス制御の動作について、処理
要求の流れにそって説明する。まず、ファイル同時アク
セスを行うタスクは、ファイル同時アクセス制御ルーチ
ン24に対して以下のような要求を行う。
Next, the operation of simultaneous file access control will be explained along the flow of processing requests. First, a task that performs simultaneous file access makes the following request to the simultaneous file access control routine 24.

(1)  レコードの読込時には、レコードを指定して
GET要求を行う。
(1) When reading a record, specify the record and issue a GET request.

(2)  レコードの書込時には、レコードを指定して
PUT要求を行う。
(2) When writing a record, specify the record and issue a PUT request.

(3)通常チェックポイント区間と呼ばれる論理的にひ
とまとまりのファイル更新が終わると、チェ、クボイ/
ト要求を行う。
(3) When a logical group of files has been updated, usually called a checkpoint section, Che, Kuboi/
Make a request.

ファイル同時アクセス制御ルーチン24における処理手
順は次のとおりである。
The processing procedure in the file simultaneous access control routine 24 is as follows.

(1)GET処理 ■ レコード共有排他制御手段11に対して、レコード
を指定して共有モードでロック要求が行われる。この時
、必要であれば、レコード共有排他制御手段11により
待ち合わせが行われる。
(1) GET Process ■ A lock request is made to the record sharing exclusive control means 11 in shared mode, specifying a record. At this time, if necessary, the record sharing exclusive control means 11 makes a wait.

■ 共有バッファ管理手段21に対して、要求レコード
を含むブロックを指定してバッファ確保要求が行なわれ
る。この時、必要であれは共有バッファ管理手段21に
よし該当ブロックが共有バッファ領域22に読み込まれ
る。
(2) A buffer reservation request is made to the shared buffer management means 21, specifying the block containing the requested record. At this time, if necessary, the corresponding block is read into the shared buffer area 22 by the shared buffer management means 21.

■ 共有バッファ管理手段21により得られたバッファ
から、要求タスクのレコード格納領域に、要求されたレ
コードが転送される。
(2) The requested record is transferred from the buffer obtained by the shared buffer management means 21 to the record storage area of the requesting task.

■ 共有バッファ管理手段21に対して、処理済みのブ
ロックを指定して参照モードでバッファ解放要求が行な
われる。
(2) A buffer release request is made to the shared buffer management means 21 in reference mode, specifying a processed block.

(2)PUT処理 ■ レコード共有排他制御手段11に対して、レコード
を指定して排他モードで口、り要求が行なわれる。この
時、必要であれば、レコード共有排他制御手段11によ
り待ち合わせが行われる。
(2) PUT Process ■ A write request is made to the record sharing exclusive control means 11 in exclusive mode, specifying a record. At this time, if necessary, the record sharing exclusive control means 11 makes a wait.

■ 共有バッファ管理手段21に対して、要求レコード
を含むブロックを指定してバッファ確保要求が行なわれ
る。この時、必要であれば共有バッファ管理手段21に
より該当ブロックが共有バッファ領域22に読み込まれ
る。
(2) A buffer reservation request is made to the shared buffer management means 21, specifying the block containing the requested record. At this time, the corresponding block is read into the shared buffer area 22 by the shared buffer management means 21 if necessary.

■ 要求タスクのレコード格納領域から、共有バッファ
管理手段21により得られたバッファに、要求されたレ
コードが転送される。
(2) The requested record is transferred from the record storage area of the requesting task to the buffer obtained by the shared buffer management means 21.

■ 共有バッファ管理手段21に対して、処理済みのブ
ロックを指定して更新モードでバッファ解放要求が行な
われる。
(2) A buffer release request is made to the shared buffer management means 21 in update mode, specifying a processed block.

(3)チェ、クポイント処理 ■ 共有バッファ管理手段21に対して、要求タスクが
参照したすべてのバッファのバッファ無効化要求が行な
われる。
(3) Check and point processing ■ A buffer invalidation request is made to the shared buffer management means 21 for all buffers referenced by the requesting task.

■ レコード共有排他制御手段11に対して、要求タス
クがロックしているすべてのレコードのアンロック要求
が行なわれる。
(2) A request is made to the record sharing exclusive control means 11 to unlock all records locked by the requesting task.

本実施例においては、一方の計算機2の共有バッファ領
域22内に、あるブロックが読み込まれている間は、そ
のブロックに含まれるいずれかのレコードについて口、
りがかけられており、レコード共有排他制御手段11に
おける口、り制御で、他方の計算機2の共有バッファ領
域22内に同一ブロックが読み込まれないように保護さ
れる。
In this embodiment, while a certain block is being read into the shared buffer area 22 of one computer 2, any record contained in that block is read.
The same block is protected from being read into the shared buffer area 22 of the other computer 2 under the control of the record sharing exclusive control means 11.

共有バッファ管理手段21の機能としては、共有バッフ
ァ領域22の効率的な割当制御も重要であるが、ここで
は、ファイル同時アクセス制御に関連する機能について
のみ説明する。
Although efficient allocation control of the shared buffer area 22 is also important as a function of the shared buffer management means 21, only the functions related to simultaneous file access control will be described here.

まず、第5図を参照して共有バッファ管理手段21が使
用する管理テーブルでおる共有バッファ管理テーブル2
3について説明する。
First, with reference to FIG. 5, a shared buffer management table 2 is a management table used by the shared buffer management means 21.
3 will be explained.

管理テーブルの各エントリは対応するブロックごとに作
成され、ファイルIDおよびブロックIDからなるブロ
ック情報と領域へのポインタからなるバッファ領域情報
と更新フラグと使用中タスク・リストと参照タスク・リ
ストとを含んでいる。
Each entry in the management table is created for each corresponding block, and includes block information consisting of a file ID and block ID, buffer area information consisting of a pointer to an area, an update flag, an in-use task list, and a reference task list. I'm here.

次に、各要求に対する処理手順を説明する。Next, the processing procedure for each request will be explained.

(1)バッファ確保処理 要求されたブロックが、すでに、共有バッファ管理テー
ブル23上に存在するかどうか調べる。存在する場合に
は、すでに内容が読み込まれているパ、ファt−i求タ
スクに参照させる。
(1) Check whether the requested block already exists on the shared buffer management table 23. If it exists, it is referred to by a task that has already read the content.

存在しない場合には、空きバッファ領域を割り当て、要
求されたブロックを読み込んで要求タスクに参照させる
。いずれの場合にも、要求タスクはバッファ管理エント
リの使用中タスク・リストおよび参照タスク・リストに
登録される。
If it does not exist, a free buffer area is allocated, the requested block is read, and the requesting task references it. In either case, the requesting task is registered in the buffer management entry's in-use task list and reference task list.

必要な空きバッファ領域がない場合には、使用中タスク
・リストが空である管理エントリに対応するバッファを
解放して、要求ブロックに割り当てる。このとき、更新
フラグがセットされているバッファであれば、次のブロ
ックへの割り当て前に、対応するブロックへの書込処理
が行なわれる。使用中タスクなしのバッファがないか、
あるいは、あってもそれらのバッファだけでは領域が不
足する場合には、空きができるまで待ち合わせが行なわ
れる。
If the necessary free buffer area is not available, the buffer corresponding to the management entry whose busy task list is empty is released and allocated to the requested block. At this time, if the buffer has an update flag set, writing to the corresponding block is performed before allocation to the next block. Are there any buffers with no tasks in use?
Alternatively, if there is insufficient space in these buffers, a wait is performed until space becomes available.

(2)  バ、ファ解放処理 要求タスクが、要求されたブロックに対応するバッファ
管理エントリの使用中タスク・リストから削除される。
(2) The buffer release processing request task is deleted from the in-use task list of the buffer management entry corresponding to the requested block.

更新モードでの要求であれば、バッファ管理エントリの
更新フラグがセットされる。
If the request is in update mode, the update flag of the buffer management entry is set.

(3)バッファ無効化処理 要求タスクがすべてのバッファ管理エントリの参照タス
ク・リストから削除される。ここで、参照タスク・リス
トが空になったバッファ管理エントリ(このとき、使用
中タスクは存在しないはずである)については、更新フ
ラグがセットされていれば対応するブロックへの書き込
みを行った後、エン) IJの削除が行なわれる。
(3) The buffer invalidation processing request task is deleted from the reference task list of all buffer management entries. Here, for the buffer management entry whose reference task list is empty (at this time, there should be no task in use), if the update flag is set, after writing to the corresponding block. , en) IJ is deleted.

このバッファ無効化処理は、それが含むすべてのレコー
ドについてロックがかけられていないブロックを、共有
バッファ領域22中に保持しないようにするために必要
である。
This buffer invalidation process is necessary in order to avoid holding in the shared buffer area 22 a block that is not locked for all the records it contains.

最後に、レコード共有排他制御手段11の動作について
説明する。
Finally, the operation of the record sharing exclusive control means 11 will be explained.

まず、第6図を参照して第4図のレコード共有排他制御
手段11が使用する制御テーブルである共有排他制御テ
ーブル12について説明する。制御対象となる資源はブ
ロックとレコードの2階層に分けて管理されている。第
1階層のブロック制御エントリは、ファイルIDおよび
ブロックIDからなるブロック情報と、使用巾計3E憬
IDと、ブロック待ちタスク・キューと、そのブロック
に属するレコードに対応するレコード制御エントリ・リ
ストとを含んでいる。第2階層のレコード制御エントリ
は、レコード11)からなるレコード情報と口、り中タ
スク・リストとレコード待ちタスク・キー−とを含んで
いる。ここで、ロック中タスク・リスト、レコード待ち
タスク・キューおよびブロック待ちタスク・キュー中に
はそれぞれの状態のタスクごとに、タスクが属する計算
機2の計算機II)とタスクIf)と共有モード、排他
モードの別などのロック要求種別とが登録される。ここ
で、計算機II)はシステム内の各計算機2を一意に識
別するための識別名であり、また、タスクIDは対応す
る計算機2内で各タスクを一意に識別するための識別名
である。
First, the shared exclusive control table 12, which is a control table used by the record shared exclusive control means 11 shown in FIG. 4, will be explained with reference to FIG. Resources to be controlled are managed in two levels: blocks and records. The first layer block control entry contains block information consisting of a file ID and block ID, a total usage width of 3E ID, a block waiting task queue, and a record control entry list corresponding to the records belonging to the block. Contains. The record control entry in the second hierarchy includes record information consisting of record 11), a list of currently waiting tasks, and a task key for waiting for records. Here, in the locked task list, record waiting task queue, and block waiting task queue, for each task in each state, computer II) of computer 2 to which the task belongs, task If), shared mode, exclusive mode The lock request type, such as the type of lock request, is registered. Here, computer II) is an identification name for uniquely identifying each computer 2 in the system, and task ID is an identification name for uniquely identifying each task within the corresponding computer 2.

次に、フローチャートを参照して、レコード共有排他制
御手段11の処理手順を説明する。
Next, the processing procedure of the record sharing exclusive control means 11 will be explained with reference to a flowchart.

まず口、り要求の処理手順を第7図を参照して以下詳細
に説明する。
First, the procedure for processing an original request will be explained in detail below with reference to FIG.

ブロックが細針3Jfj&2上のタスクに口、りされて
いないこと(71,72に相当する)、および同一計算
機2上の他タスクとの間でレコード単位での口、り競合
が起きていないこと(73、74に相当する)がチェッ
クされ、a2りが許可できる状態であれば、要求タスク
は該当するレコード制御エントリの口、り中タスク・リ
ストに登録される。ロックが許可できない状態であれば
、要求タスクはレコード待ちタスク・キエーあるいはブ
ロック待ちタスク・なニーの最後に登録され、ロック可
能な状態になるまで待たされる。
The block has not been accessed by any task on Fine Needle 3Jfj&2 (corresponding to 71, 72), and there is no access conflict on a record basis with other tasks on the same computer 2. (corresponding to 73 and 74) are checked, and if a2 is allowed, the requesting task is registered in the pending task list of the corresponding record control entry. If the lock cannot be granted, the requesting task is registered at the end of the record-waiting task or block-waiting task, and is kept waiting until the lock becomes available.

なお、二重ロック処理については従来処理と同様である
ため、処理フローは省略している。既存のロック種別が
共有を示し、要求のロック種別が排他を示し、しかも、
他に共有ロック甲のタスクが存在する場合には、共有ロ
ック中のタスクがなくなるまで待ち合わせる必要がある
。二重ロック処理後のロック禎別は、既存、要求のいず
れもが共有であれば共有、それ以外の組み合わせの場合
には排他となる。
Note that the double lock processing is the same as the conventional processing, so the processing flow is omitted. The existing lock type indicates shared, the lock type of the request indicates exclusive, and
If there are other tasks with shared lock A, it is necessary to wait until there are no more tasks with shared lock. Lock separation after double lock processing is shared if both existing and requested locks are shared, and exclusive in other combinations.

次に、アンロック要求の処理手1i、Hiについて第8
図を参照して詳細に説明する。
Next, regarding the unlock request processing methods 1i and 8,
This will be explained in detail with reference to the drawings.

まず、アン口、り要求タスクが該当するレコード制御エ
ントリのロック中タスク・リストから削除され、さらに
、ロック中タスクがなくなった場合には、ロック待ち解
除処理が行なわれる。レコード待ち解除処理81では、
レコード制御エントリのレコード待ちタスク・キューの
先頭からIilに、また、ブロック待ち解除処理82で
は、ブロック制御エントリのブロック待ちタスク・キュ
ーの先頭から順に、再度ロック処理と同等の処理が行わ
れる。
First, the unlock request task is deleted from the locking task list of the corresponding record control entry, and if there are no more locking tasks, lock wait release processing is performed. In the record waiting release process 81,
From the head of the record waiting task queue of the record control entry to Iil, and in the block waiting release process 82, the same process as the locking process is performed again from the head of the block waiting task queue of the block control entry.

以上の説明においては、本発明の特徴であるレコード単
位での共有排他制御についてのみ説明したが、従来のブ
ロック単位での共有排他制御を同時に共有排他制御装置
l内に組み込むことも可能である。また、従来から実施
されているように、共有排他制御装置1にロック要求の
待ち合わせ処理前に、待ち合わせを行うとデアドロ、り
状態が発生するかどうか検査し、発生する場合には待ち
合わせを行わずに口、り要求の拒否を行うデ、ドロック
回避機構を組み込むことも可能である。
In the above description, only the shared exclusive control in units of records, which is a feature of the present invention, has been explained, but it is also possible to incorporate the conventional shared exclusive control in units of blocks into the shared exclusive control device l at the same time. In addition, as has been done in the past, before waiting for a lock request in the shared exclusive control device 1, a check is made to see if a dead-drop condition will occur if the waiting occurs, and if this occurs, the waiting is not performed. It is also possible to incorporate a de-lock avoidance mechanism that rejects requests in return.

〔発明の効果〕〔Effect of the invention〕

以上説明したように、本発明では、疎結合マルチプロセ
ッサシステムにおけるファイル同時アクセス制御におい
て、ブロックとレコードの階層を意識し、同一の計算機
上で動作するタスク間のアクセス競合であればレコード
単位で共有排他制御が行なわれる。このため、従来のよ
うにすべてブロック単位で共有排他制御を行う場合に比
して、ファイル同時アクセスを行うタスク間でのアクセ
ス競合による待ち合わせの発生頻度が減少し、システム
の処理能力が向上するという効果がある。
As explained above, in the present invention, when controlling concurrent file access in a loosely coupled multiprocessor system, the hierarchy of blocks and records is taken into consideration, and if there is an access conflict between tasks running on the same computer, the sharing is done on a record-by-record basis. Exclusive control is performed. This reduces the frequency of waits due to access conflicts between tasks that access files simultaneously, and improves system processing power, compared to the conventional case where shared exclusive control is performed on a block-by-block basis. effective.

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

第1図は本発明の一実施例を示す図、第2図はクングル
プロセッサシステムにおけるレコード単位ファイル同時
アクセス制御を説明するだめの図、第3図は共有バッフ
ァなしてのレコード単位ファイル同時アクセス動作を説
明するための図、第4図は一実施例におけるファイル同
時アクセス制御処理を説明するだめの図、第5図は共有
バッファ管理テーブル23を示す図、第6図は共有排他
制御テーブル12を示す図、第7図はロック処理を示す
図および第8図はアンロック処理を示す図でらるO 第1図から第8図において、1・・・・・・共有排他制
御装置、11・・・・・・レコード共有排他制御手段、
12・・・・・・共有排他制御テーブル、2・・・・・
・計算器、21・・・・・・共有バッファ管理手段、2
2・・・・・・共有バッファ領域、23・−・・・・共
有バッファ管理テーブル、24・・・・・・ファイル同
時アクセス制御ルーチン、3・・・・・・β 代理人 弁理士  内 原  (5,“晋\−)′ ′yFJ1図 答Z図 タスク7/のハ゛ゾ7ア        タスクT?の
八・177窮ダ回 箭Z図 箔δ図
Fig. 1 is a diagram showing an embodiment of the present invention, Fig. 2 is a diagram explaining simultaneous record-based file access control in a Kungle processor system, and Fig. 3 is a diagram showing simultaneous record-based file access without a shared buffer. 4 is a diagram for explaining the simultaneous file access control process in one embodiment. FIG. 5 is a diagram showing the shared buffer management table 23. FIG. 6 is a diagram showing the shared exclusive control table 12. FIG. 7 is a diagram showing lock processing, and FIG. 8 is a diagram showing unlock processing.・・・・・・Record sharing exclusive control means,
12... Shared exclusive control table, 2...
・Calculator, 21... Shared buffer management means, 2
2...Shared buffer area, 23...Shared buffer management table, 24...File simultaneous access control routine, 3...β Agent Patent attorney Hara Uchi (5, “Jin \−)′ ′yFJ1 Illustrated Answer Z Diagram Task 7/hizo 7a Task T?'s 8.177 Kikuda Rearrangement Z Diagram Foil δ Diagram

Claims (1)

【特許請求の範囲】 疎結合マルチプロセッサシステムを構成する複数の計算
機により共有される二次記憶装置上のファイルへの同時
アクセス制御方式において、該同時アクセス制御の制御
単位として、物理入出力単位の整数倍の制御単位である
ブロックと、ブロックより小さい制御単位であるレコー
ドとを有する場合において、 レコード単位でのファイルアクセス要求に対して、同一
計算機上で動作するタスク間でのアクセス競合であれば
要求されたレコード単位のままで共有排他制御を行い、
また、異なる計算機上で動作するタスク間でのアクセス
競合であれば要求されたレコードを含むブロック単位で
共有排他制御を行うレコード共有排他制御手段と、 個々の計算機ごとに存在する共有バッファ領域に関する
同一ブロックに対応するバッファの割り当て要求であれ
ば、該バッファを要求する複数タスク間で同一領域を共
有させるように割り当て制御を行う共有バッファ管理手
段とを有し、 共有ファイルへのレコード単位でのアクセスにおいて、
共有排他制御は前記レコード共有排他制御手段により行
い、また、物理入出力動作は前記共有バッファ管理手段
により割り当てられたバッファ領域経由で行なわれるこ
とを特徴とする疎結合マルチプロセッサシステムにおけ
るファイル同時アクセス制御方式。
[Claims] In a method for controlling simultaneous access to files on a secondary storage device shared by a plurality of computers constituting a loosely coupled multiprocessor system, a physical input/output unit is used as a control unit for the simultaneous access control. In a case where there is a block which is a control unit that is an integral multiple of a block, and a record which is a control unit that is smaller than a block, if there is an access conflict between tasks running on the same computer in response to a file access request in record units, Performs shared exclusive control on the requested record basis,
In addition, if there is an access conflict between tasks running on different computers, there is also a record sharing exclusive control means that performs shared exclusive control in units of blocks containing requested records, and a shared buffer area that exists for each individual computer. In the case of a request to allocate a buffer corresponding to a block, the shared buffer management means controls the allocation so that the same area is shared among multiple tasks requesting the buffer, and accesses the shared file in units of records. In,
File simultaneous access control in a loosely coupled multiprocessor system, characterized in that shared exclusive control is performed by the record shared exclusive control means, and physical input/output operations are performed via a buffer area allocated by the shared buffer management means. method.
JP61131403A 1986-06-05 1986-06-05 Control system for simultaneous file access in loosely coupled multi-processor system Granted JPS62287359A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61131403A JPS62287359A (en) 1986-06-05 1986-06-05 Control system for simultaneous file access in loosely coupled multi-processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61131403A JPS62287359A (en) 1986-06-05 1986-06-05 Control system for simultaneous file access in loosely coupled multi-processor system

Publications (2)

Publication Number Publication Date
JPS62287359A true JPS62287359A (en) 1987-12-14
JPH0559463B2 JPH0559463B2 (en) 1993-08-31

Family

ID=15057159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61131403A Granted JPS62287359A (en) 1986-06-05 1986-06-05 Control system for simultaneous file access in loosely coupled multi-processor system

Country Status (1)

Country Link
JP (1) JPS62287359A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01280845A (en) * 1988-05-06 1989-11-13 Fujitsu Ltd File access processing system
JPH02231655A (en) * 1989-03-06 1990-09-13 Hitachi Ltd Resources control system for information processing system
JPH0398136A (en) * 1989-09-11 1991-04-23 Nec Corp Automatic inter-host file succession system
JPH09305471A (en) * 1996-05-15 1997-11-28 Nec Corp File simultaneous access control system
JP2008276475A (en) * 2007-04-27 2008-11-13 Daiwa Securities Group Inc Data processing system, terminal unit and program

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01280845A (en) * 1988-05-06 1989-11-13 Fujitsu Ltd File access processing system
JPH02231655A (en) * 1989-03-06 1990-09-13 Hitachi Ltd Resources control system for information processing system
JPH0398136A (en) * 1989-09-11 1991-04-23 Nec Corp Automatic inter-host file succession system
JPH09305471A (en) * 1996-05-15 1997-11-28 Nec Corp File simultaneous access control system
JP2008276475A (en) * 2007-04-27 2008-11-13 Daiwa Securities Group Inc Data processing system, terminal unit and program

Also Published As

Publication number Publication date
JPH0559463B2 (en) 1993-08-31

Similar Documents

Publication Publication Date Title
US5946711A (en) System for locking data in a shared cache
JP2575543B2 (en) Simultaneous access management method
US5226143A (en) Multiprocessor system includes operating system for notifying only those cache managers who are holders of shared locks on a designated page by global lock manager
US5251318A (en) Multiprocessing system comparing information copied from extended storage before and after processing for serializing access to shared resource
US5642501A (en) Computer method and apparatus for asynchronous ordered operations
JP2575541B2 (en) Invalidation method of hierarchy of distributed cache
US6298401B1 (en) Object oriented storage device having a disc drive controller providing an interface exposing methods which are invoked to access objects stored in a storage media
JP3704573B2 (en) Cluster system
JPH10301834A (en) Management method for shared memory
US5999976A (en) Parallel file system and method with byte range API locking
JPH056297A (en) Method of transaction processing and system
JPH0522259B2 (en)
JP2002521766A (en) Method and system for arbitrating streams of concurrent transactions in a database
JPH0412846B2 (en)
JPH04268649A (en) Method for controlling entry of data block into memory
JP2003337727A (en) Cache control program
JP2781092B2 (en) Exclusive control method between systems
JPH0622015B2 (en) Data processing system control method
JPS62287359A (en) Control system for simultaneous file access in loosely coupled multi-processor system
JP2685530B2 (en) How to manage shared data
US7555481B1 (en) Method and apparatus for increasing transaction concurrency by early release of locks in groups
KR0152714B1 (en) Buffer managing method using buffer locking techniques in storage system of multi-user environment
WO1993003436A1 (en) Method and apparatus for reducing lock period of shared buffer
JPH01112444A (en) Data access system
US5926835A (en) Method of isolating a memory location containing an obsolete value