JP2853608B2 - File access control method of parallel processing system - Google Patents
File access control method of parallel processing systemInfo
- Publication number
- JP2853608B2 JP2853608B2 JP7157063A JP15706395A JP2853608B2 JP 2853608 B2 JP2853608 B2 JP 2853608B2 JP 7157063 A JP7157063 A JP 7157063A JP 15706395 A JP15706395 A JP 15706395A JP 2853608 B2 JP2853608 B2 JP 2853608B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- buffer
- update
- shared
- version
- 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
Landscapes
- Multi Processors (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】[0001]
【産業上の利用分野】本発明は、各ホストから共有する
ファイルを備える並列処理システムに関し、特に、トラ
ンザクション処理の同時実行性を向上させるための並列
処理システムのファイルアクセス制御方式に関するもの
である。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a parallel processing system having a file shared by each host, and more particularly, to a file access control method of a parallel processing system for improving concurrent execution of transaction processing.
【0002】[0002]
【従来の技術】トランザクション処理の同時実行性を向
上させるための排他制御方式に関する従来技術として
は、例えば、特開平5−216742号公報(並列処理
方法及び装置)、特開平2−144637号公報(デー
タ構造に対するアクセス方法)、特開昭63−2653
54号公報(データ処理競合管理方法)等がある。2. Description of the Related Art Japanese Patent Application Laid-Open Nos. Hei 5-216742 (parallel processing method and apparatus) and Japanese Unexamined Patent Publication No. Hei 2-144637 (Japanese Patent Laid-Open Publication No. Hei 2-144637) disclose, for example, Japanese Patent Application Laid-Open Nos. Access method to data structure), JP-A-63-2653
No. 54 (data processing conflict management method).
【0003】特開平5−216742号公報は、複数の
処理ユニットで共有する大容量の計算用記憶領域として
拡張領域を利用し、複数の処理ユニットによる大規模な
配列の分散処理を可能とする方式を開示する。特開平2
−144637号公報は、並列処理システムにおいて読
取りをロックなしに行なうことにより、ロックに伴うオ
ーバヘッドを除くアクセス方法を開示する。特開昭63
−265354号公報は、2つのファイルのレコードを
同一形式で定義し、書込みと読込みの競合時に、一方を
書込み用、他方を読込み用として選択して並列処理を行
なう方法を開示する。これら従来における各方式では、
何れも書き込み処理時に必ずロック制御を必要とする。[0003] Japanese Patent Application Laid-Open No. 5-216742 discloses a method in which an extended area is used as a large-capacity calculation storage area shared by a plurality of processing units, and a large-scale distributed processing of a plurality of processing units can be performed. Is disclosed. JP 2
Japanese Patent Application Publication No. 144637 discloses an access method in which reading is performed without a lock in a parallel processing system, thereby eliminating overhead associated with the lock. JP 63
JP-265354 discloses a method in which records of two files are defined in the same format, and when contention between writing and reading occurs, one is selected for writing and the other is selected for reading to perform parallel processing. In each of these conventional methods,
In any case, lock control is always required at the time of write processing.
【0004】[0004]
【発明が解決しようとする課題】上述した従来方式を並
列処理システムに適用する場合、並列処理システム全体
の制御を行うことができるロック制御を必要とし、ロッ
ク制御のための大きなオーバヘッドが生じ、かつ待ち状
態発生によるデッドロックチェックのための並列システ
ム全体の状態管理(ウェイトグラフ管理)を必要とする
といった問題点があった。また、ファイルへの書き込み
を含めその間中ロックすることが必要となり、トランザ
クション処理の同時実行性を阻害していた。When the above-mentioned conventional method is applied to a parallel processing system, a lock control capable of controlling the entire parallel processing system is required, and a large overhead for the lock control occurs, and There is a problem that state management (weight graph management) of the entire parallel system for deadlock check due to occurrence of a wait state is required. In addition, it is necessary to lock all the time, including writing to the file, which hinders the concurrency of transaction processing.
【0005】本発明の目的は、ファイル排他制御による
オーバヘッドを削減することにより、データの処理のス
ループットを向上し、データ処理の同時実行性を向上す
ることができる並列処理システムのファイルアクセス制
御方式を提供することにある。An object of the present invention is to provide a file access control method of a parallel processing system capable of improving the throughput of data processing and improving the concurrent execution of data processing by reducing the overhead due to file exclusion control. To provide.
【0006】[0006]
【課題を解決するための手段】上記目的を達成するた
め、本発明は、各ホストから共有バッファを介し共有フ
ァイルを同時アクセスする並列処理システムにおいて、
前記共有バッファ上に、ページ参照用の参照バッファと
ページ更新用の更新バッファを設け、前記参照バッファ
上の各ページ毎に、該当ページのバージョン情報と更新
者を示す情報と参照者数を示す情報を設定し、ページを
更新する場合、参照バッファ上の既存のページを更新せ
ずに新しいバージョンのページを更新バッファ上に作成
することにより、ページ参照とページ更新の同時実行を
可能とする共有ファイルアクセス手段を備える構成とし
ている。To achieve the above object, the present invention provides a parallel processing system for simultaneously accessing a shared file from each host via a shared buffer.
On the shared buffer, a reference buffer for page reference and an update buffer for page update are provided, and for each page in the reference buffer, version information of the corresponding page, information indicating an updater, and information indicating the number of referenceers When setting a page and updating a page, a new version of the page is created in the update buffer without updating the existing page in the reference buffer. It is configured to have access means.
【0007】他の態様では、前記バージョン情報は、ペ
ージ間で矛盾ないデータアクセスを行うために使用し、
前記更新者情報は同一ページに対する同時更新を制約す
るために使用し、前記参照者数情報は前記参照バッファ
を解放するために使用し、カレントページ以外の場合は
前記参照者数が“0”になった時点で解放し、カレント
ページの場合は参照者数が“0”で、かつカレントペー
ジと同一で古いバージョンのページが存在しない場合の
み解放の対象とする。In another aspect, the version information is used to perform consistent data access between pages,
The updater information is used to restrict simultaneous updates to the same page, the referrer number information is used to release the reference buffer, and the number of referrers is set to “0” in cases other than the current page. When the current page is reached, it is released only when the number of referrers is "0" and the current page is the same as the current page and there is no old version page.
【0008】また、他の好ましい態様では、前記共有フ
ァイルアクセス手段は、ページの参照時において、必要
ページを前記参照バッファから検索し、参照者が参照バ
ッファを参照中ならばその参照バッファを参照し、当該
参照者が更新中のときのみ更新バッファを参照し、必要
ページが存在しない場合、前記共有バッファに参照バッ
ファを割り当てて前記共有ファイルから必要ページを入
力するページ入力処理部と、ページの更新時において、
当該更新者が当該ページを更新中の場合に更新バッファ
を更新可能な状態とし、他者が更新中の場合にエラーと
し、更新者無しの場合に前記参照バッファから更新バッ
ファに該当ページをコピーし、更新バッファを更新可能
な状態とするページ更新処理部とを備える構成としてい
る。In another preferred aspect, the shared file access means retrieves a necessary page from the reference buffer when referring to a page, and refers to the reference buffer if a referrer is referring to the reference buffer. A page input processing unit that refers to the update buffer only when the referrer is updating, and when a required page does not exist, allocates a reference buffer to the shared buffer and inputs a required page from the shared file; At times,
When the updater is updating the page, the update buffer is made updatable, when another person is updating, an error occurs, and when there is no updater, the relevant page is copied from the reference buffer to the update buffer. , And a page update processing unit for setting the update buffer in an updatable state.
【0009】さらに、他の好ましい態様では、前記共有
ファイルアクセス手段は、コミット処理時において、自
ら更新中の更新バッファを共有ファイルに出力し、参照
バッファのカレントページとして付け替え、さらに参照
バッファに対して、更新者無しの状態に設定し、参照者
数から“1”を減じるコミット処理部と、エラー処理時
において、自ら更新中の更新バッファを廃棄して参照バ
ッファに対して更新者無しの状態に設定すると共に、自
ら更新中あるいは参照中である場合、参照バッファの参
照者数から“1”を減じるエラー処理部とを備える構成
としている。In another preferred aspect, the shared file access means outputs the update buffer being updated by itself to the shared file during the commit processing, replaces the updated buffer as the current page of the reference buffer, and further updates the reference buffer. A commit processing unit that sets the state of no updater and subtracts “1” from the number of referrers, and at the time of error processing, discards the update buffer being updated by itself and leaves the reference buffer without an updater. In addition to the setting, when an update or reference is being performed by itself, an error processing unit that subtracts “1” from the number of referrers in the reference buffer is provided.
【0010】さらに、他の好ましい態様では、前記ペー
ジ入力処理部は、参照バッファを割り当てて前記共有フ
ァイルから入力したページのバージョンが、必要ページ
のバージョンと一致する場合、当該ページの参照者数に
“1”を加え、バージョンが一致しない場合にエラーと
し、前記参照バッファに他者が参照中の必要ページと同
一のページが存在する場合、当該ページのバージョンが
一致する場合、当該ページの参照者数に“1”を加え、
バージョンが一致しない場合、前記共有バッファに参照
バッファを割り当てて前記共有ファイルから必要ページ
を入力する。[0010] In another preferred aspect, the page input processing section allocates a reference buffer and, if the version of the page input from the shared file matches the version of the required page, reduces the number of viewers of the page. "1" is added, and if the versions do not match, an error is generated. If the same page as the required page being referred to by another exists in the reference buffer, if the version of the page matches, the referrer of the page Add "1" to the number,
If the versions do not match, a reference buffer is allocated to the shared buffer and a necessary page is input from the shared file.
【0011】[0011]
【作用】本発明の並列処理システムのファイルアクセス
制御方式では、共有バッファを有し、共有ファイルァク
セス手段は、共有バッファ上で参照バッファと更新バッ
ファを別々に備え、かつ共有バッファ上で排他制御を行
うことにより、ページ単位のロック制御を不要としてい
る。ページ単位のロック制御が不要であるため、待ち状
態は発生せず、ウェイトグラフ管理も不要となり、ファ
イル入出力を含む間中の長時間ロックも発生しない。According to the file access control method of the parallel processing system of the present invention, the shared file access means has a reference buffer and an update buffer separately on the shared buffer, and has exclusive control on the shared buffer. Is performed, the lock control for each page is not required. Since the lock control on a page-by-page basis is unnecessary, a wait state does not occur, a wait graph management is also unnecessary, and a long-time lock during file input / output is not generated.
【0012】[0012]
【実施例】本発明の好ましい実施例について図面を参照
して詳細に説明する。図1において、本発明の一実施例
による並列処理システムは、各ホスト10−1〜10n
と、共有ファイルアクセス手段20と、排他制御手段3
0と、資源管理装置40と、共有バッファ50と、共有
ファイル60から構成される。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described in detail with reference to the drawings. In FIG. 1, a parallel processing system according to an embodiment of the present invention
, Shared file access means 20 and exclusive control means 3
0, a resource management device 40, a shared buffer 50, and a shared file 60.
【0013】共有ファイルアクセス手段20は、ページ
入力処理部21、ページ更新処理部22、コミット処理
部23、エラー処理部24を備え、共有バッファ50を
制御管理するための手段である。排他制御手段30は、
共有ファイルアクセス手段20によって利用され、共有
バッファ50に対する排他制御を行うための手段であ
る。資源管理装置40は、排他制御手段30によって利
用され、並列処理システム全体の排他制御を行うための
装置である。The shared file access unit 20 includes a page input processing unit 21, a page update processing unit 22, a commit processing unit 23, and an error processing unit 24, and is a means for controlling and managing the shared buffer 50. Exclusive control means 30
This is used by the shared file access unit 20 to perform exclusive control on the shared buffer 50. The resource management device 40 is a device used by the exclusive control unit 30 to perform exclusive control of the entire parallel processing system.
【0014】共有バッファ50は、参照バッファ51
と、更新バッファ52から構成され、共有ファイルアク
セス手段20によってバッファ管理される。参照バッフ
ァ51は、各バッファ毎の管理情報として、各ページ毎
に該当ページのバージョンを示すバージョン情報B、更
新トランザクションを示す更新者情報U、参照トランザ
クション数を示す参照者数情報Rを有する。The shared buffer 50 includes a reference buffer 51
And an update buffer 52, and the buffer is managed by the shared file access unit 20. The reference buffer 51 has, as management information for each buffer, version information B indicating the version of the corresponding page, updater information U indicating an update transaction, and reference number information R indicating the number of reference transactions for each page.
【0015】これらの情報は、共有ファイルアクセス手
段20が共有バッファ50上で排他制御を行うために使
用される。なお、バージョン情報Bとしては、一例とし
てタイムスタンプ情報が用いられ、各ページに対する更
新日時をセットし、各トランザクションの起動日時以降
に更新されたページイメージをアクセスしないように制
御することにより、ページ間の矛盾を発生させないよう
にする。These pieces of information are used by the shared file access means 20 to perform exclusive control on the shared buffer 50. As the version information B, for example, time stamp information is used. An update date and time for each page is set, and control is performed so as not to access a page image updated after the activation date and time of each transaction. To avoid inconsistency.
【0016】更新者情報Uは、同一ページに対する同時
更新を制約し、あるいは更新者のみに更新中のバッファ
の参照を許可するために用いる。参照者数情報Rは、参
照バッファ51の各バッファを解放するために用い、ペ
ージ毎の参照バッファ上の最新バージョンのページであ
るカレントページ以外の場合は参照者数の値が“0”に
なった時点で、LRU制御等によるバッファの解放対象
とし、カレントページの場合は参照者数の値が“0”
で、かつカレントページと同一ページで古いバージョン
のページが存在しない場合に限りバッファの解放対象と
する。共有ファイル60は、並列処理システムで共有す
るファイルである。The updater information U is used to restrict simultaneous update to the same page or to permit only the updater to refer to the buffer being updated. Reference The number information R is used to release the buffers of the reference buffer 51, Bae
The latest version of the page in the per-page reference buffer.
In the case of a page other than the current page, when the value of the number of viewers becomes “0”, the buffer is released by LRU control or the like. In the case of the current page, the value of the number of viewers is “0”.
And if there is no page of the same version as the current page and an old version, the buffer is released. The shared file 60 is a file shared by the parallel processing system.
【0017】ここで、共有バッファ50の状態例につい
て図1に示すページAによって説明する。図1におい
て、ページAのコミット済の最新バージョンは、バージ
ョン“2”であり、現時点で更新トランザクション
“P”以外に2つの参照トランザクションの、計3つの
トランザクションによりページAのバージョン2が同時
に参照されている。さらに、参照バッファ51上に1世
代前のバージョン“1”を保持し、他のページと同期を
取って同一バージョンのデータ処理するために利用され
ている。更新バッファ52上のページAのバージョン
“3”は、更新トランザクション“P”によって更新中
である。Here, an example of the state of the shared buffer 50 will be described with reference to page A shown in FIG. In FIG. 1, the latest committed version of page A is version “2”, and version 2 of page A is simultaneously referenced by a total of three transactions of two reference transactions other than the update transaction “P” at this time. ing. Further, the version "1" of the previous generation is stored in the reference buffer 51, and is used to process data of the same version in synchronization with another page. The version “3” of the page A on the update buffer 52 is being updated by the update transaction “P”.
【0018】次いで、図2〜図55は、共有ファイルア
クセス手段20内のページ入力処理部21、ページ更処
理部22、コミット処理部23、エラー処理部24にお
ける各フローチャートを示す。本発明の動作について、
図1及び図2〜図5を参照して説明する。まず、図1に
より動作の概要を説明する。FIGS. 2 to 55 show flowcharts of the page input processing unit 21, the page renewal processing unit 22, the commit processing unit 23, and the error processing unit 24 in the shared file access unit 20. Regarding the operation of the present invention,
This will be described with reference to FIG. 1 and FIGS. First, an outline of the operation will be described with reference to FIG.
【0019】トランザクションPが共有ファイル60の
更新処理を行う場合、共有ファイルアクセス手段20
は、更新するページのカレントページイメージを参照バ
ッファ51に保存し、更新バッファ52に更新用バッフ
ァを確保することにより更新バッファ52上で更新を行
なう。トランザクションPがコミット処理を行なう前に
他のトランザクションが共有ファイル60の参照処理を
行う場合には、カレントぺージイメージを参照すること
により、更新トランザタションPと他のトランザクショ
ンの参照を同時実行できるようにする。When the transaction P updates the shared file 60, the shared file access means 20
Performs an update on the update buffer 52 by storing the current page image of the page to be updated in the reference buffer 51 and securing an update buffer in the update buffer 52. Before transaction P performs commit processing
If another transaction is performing the process of referring to the shared file 60 referring to the current Bae Jiimeji
Thus , the update transaction P and the reference of another transaction can be executed simultaneously.
【0020】図2は、共有ファイルアクセス手段20の
ページ入力処理部21の動作である共有ファイル60内
のデータ参照時のバッファ制御内容を示す。FIG. 2 shows the contents of buffer control when referring to data in the shared file 60, which is the operation of the page input processing section 21 of the shared file access means 20.
【0021】データの参照時は、まず必要ページを参照
バッファ51から検索する(ステップ201)。必要ペ
ージが存在しかつ当該参照者が更新中のときのみ(ステ
ップ202)、更新バッファ52を参照する(ステップ
208)。参照バッファが存在し、かつ参照者が参照バ
ッファを参照中ならばそのバッファを参照する(ステッ
プ202)。When referring to data, a necessary page is first searched from the reference buffer 51 (step 201). Only when the necessary page exists and the referrer is updating (step 202), the update buffer 52 is referred to (step 208). Reference buffer is present and the reference user to reference the buffer if in reference to the reference buffer (step 202).
【0022】必要ページについて当該参照者が更新中で
も参照中でもない場合(ステップ202)、同一ページ
が存在するかを検索する(ステップ203)。同一ペー
ジが存在する場合、該当ページのバージョンとトランザ
クションの起動日時とを比較し、起動日時以前に更新さ
れたページならば同一バージョンのページとし(ステッ
プ204)、同一バージョンならば参照者数情報Rに
“1”加えて参照する(ステップ207)。[0022] If the viewers about the need page is neither in the reference even while update (step 202), searches whether the same page exists (step 203). If the same page exists, the version and transaction
Compare with the start date and time of the action and update it before the start date and time.
If the page is the same version, it is determined that the page is of the same version (step 204). If the page is the same version, "1" is added to the number-of-referred-to information R (step 207).
【0023】同一バージョンのページが存在しない場合
は(ステップ203、204)、参照バッファを割り当
てて共有ファイル60からの入力を試みる(ステップ2
05)。必要とするバージョンより新しいバージョンし
か入力できなかった場合は、当該参照トランザクション
をエラーとして再処理させる(ステップ206)。ま
た、必要とするバージョンを入力した場合には(ステッ
プ206)、当該参照バッファの参照者数情報Rに
“1”加えて参照する(ステップ207)。以上の処理
により、トランザクション内の参照処理を矛盾なく実行
する。If there is no page of the same version (steps 203 and 204), an attempt is made to allocate a reference buffer and input from the shared file 60 (step 2).
05). If only a newer version than the required version can be input, the reference transaction is reprocessed as an error (step 206). When the required version is input (step 206), "1" is added to the number-of-referencer information R of the reference buffer to be referred (step 207). With the above processing, the reference processing in the transaction is executed without contradiction.
【0024】ただし、大量データを参照し集計するよう
な場合、更新トランザクションが次々に到着している時
には、バージョン不一致(ステップ206)となり集計
処理を何度も繰り返すことにより、処理が終了しない事
態が起こりうる。このような場合に対処するためには、
集計処理の途中で何度かコミットを発行し集計処理を進
展させるようにする必要がある。However, in the case of counting by referring to a large amount of data, when update transactions are arriving one after another, the version does not match (step 206) and the counting process is repeated many times, so that the process may not be completed. It can happen. To handle such cases,
It is necessary to issue a commit several times during the tallying process to advance the tallying process.
【0025】図3は共有ファイルアクセス手段20のペ
ージ更新処理部22の動作である共有ファイル60内の
データ更新時のバッファ制御を示す。FIG. 3 shows buffer control at the time of updating data in the shared file 60, which is the operation of the page update processing unit 22 of the shared file access means 20.
【0026】データの更新時は、更新トランザクション
が更新ページを未入力ならば、図2で説明したページ入
力処理を行う(ステップ301)。当然、更新ページを
バッファに保持している場合には、ステップ301の処
理は不要となる。At the time of updating data, if the update transaction has not input an updated page, the page input process described with reference to FIG. 2 is performed (step 301). Of course, if the updated page is held in the buffer, the processing of step 301 is not required.
【0027】当該更新者が既に当該ページを更新中の場
合には、その更新バッファを更新かのうな状態とする
(ステップ302)。当該更新者が更新中でない場合
(ページ入力処理を行った場合を含む)、当該ページを
他者が更新中であるならば、エラーとし再処理させる
(ステップ303)。すなわち、ロールバックしてコミ
ット時点から処理をやり直す。If the updater is already updating the page, the update buffer is set to be updated (step 302). If the updater is not updating (including the case where the page input process is performed), if another person is updating the page, an error occurs and the page is reprocessed (step 303). That is, the process is rolled back and the process is restarted from the commit time.
【0028】参照バッファ51に当該ページが存在する
が、他者が更新中でない場合には、参照バッファの更新
者情報Uに当該更新トランザクションの情報を設定し
(すなわち、自更新中の状態に設定する)、参照バッフ
ァから更新バッファにデータをコピーし、更新バッファ
を更新可能な状態とする(ステップ304)。言い換え
れば、カレントページ(最新のページ)以外の更新はエ
ラーとし、カレントページに対する更新については未更
新である場合と他の更新者が既に更新済である場合に限
り許可するように制御する。If the page exists in the reference buffer 51 but the other person is not updating, the information of the update transaction is set in the updater information U of the reference buffer (that is, the state is set to the state of updating itself). Yes), data is copied from the reference buffer to the update buffer, and the update buffer is made updatable (step 304). In other words, an update other than the current page (the latest page) is set as an error, and control is performed such that an update to the current page is permitted only when the update has not been performed or when another updater has already updated the update.
【0029】従来方式の欠点である更新時のロック制御
におけるオーバヘッドに関し、本実施例では、共有バッ
ファ上で更新トランザクションを管理し、同一ページに
対する更新トランザクションを1つのみに制約すること
によって、ロック制御を不要としている。With respect to the overhead in the lock control at the time of updating, which is a drawback of the conventional method, this embodiment manages the update transaction on the shared buffer and restricts the update transaction for the same page to only one. Is unnecessary.
【0030】図4は共有ファイルアクセス手段20のコ
ミット処理部23の動作であるコミット時のバッファ制
御を示す。FIG. 4 shows buffer control at the time of commit, which is the operation of the commit processing unit 23 of the shared file access means 20.
【0031】コミット時は、自トランザクションの参照
バッファを検索し(ステップ401)、参照バッファが
存在しかつそのページをコミット発行者が更新中であっ
た場合には(402,403)、更新バッファを共有フ
ァイル60に出力する(ステップ404)。さらに、当
該更新バッファを参照バッファのカレントページとして
付け替え(ステップ405)、参照バッファを更新済状
態に変更する(ステップ406)。すなわち、参照バッ
ファの更新者情報Uを更新者無しの状態にセットする。
その後、参照者バッファの参照者数情報を“1”減らす
(ステップ407)。The commit is a self transaction reference searching buffer (step 401), the reference buffer is present and commit issuer updating the page
In the case of (402, 403), the update buffer is output to the shared file 60 (step 404). Further, the update buffer is replaced as the current page of the reference buffer (step 405), and the reference buffer is changed to the updated state (step 406). That is, the updater information U in the reference buffer is set to a state without an updater.
Thereafter, the referrer number information in the referrer buffer is reduced by "1" (step 407).
【0032】コミット発行者が参照バッファを参照中で
ある場合(ステップ401、402、403)、参照者
数情報から“1”を減らし(ステップ407)、参照者
数が“0”となった参照バッファをLRU制御等による
解放対象バッファとする。If the commit issuer is referencing the reference buffer (steps 401, 402, 403), "1" is reduced from the referrer number information (step 407), and the reference in which the referrer number is "0" is obtained. The buffer is a buffer to be released by LRU control or the like.
【0033】図5は共有ファイルアクセス手段20のエ
ラー処理部24の動作であるエラー発生時のバッファ制
御を示す。FIG. 5 shows the operation of the error processing unit 24 of the shared file access means 20 to control the buffer when an error occurs.
【0034】エラー発生時は、エラー発生者が更新中の
更新バッファを廃棄し(ステップ501、502、50
3、504)、参照バッファの更新者を無しの状態に変
更し(ステップ505)、参照トランザクション数(参
照者数)を1減らす(ステップ506)。参照バッファ
に対しては、エラー発生者が参照中である場合(ステッ
プ501、502、503)、参照者数から“1”を減
らす(ステップ406)。When an error occurs, the error creator discards the update buffer being updated (steps 501, 502, 50).
3, 504), the updater of the reference buffer is changed to a state of no update (step 505), and the number of reference transactions (number of referencers) is reduced by 1 (step 506). When the error occurrence person is referring to the reference buffer (steps 501, 502, 503), "1" is reduced from the number of the reference persons (step 406).
【0035】エラー発生時に、更新バッファを廃棄する
だけで、ファイルのロールバックの必要がない理由は、
ファイル上にはコミット済の最新データのみを保持し、
共有バッファでのみ複数バージョンのデータを保持して
いるためである。When an error occurs, only the update buffer is discarded and the file need not be rolled back.
Keep only the latest committed data on the file,
This is because only a shared buffer holds multiple versions of data.
【0036】なお、共有バッファ50に対する同時アク
セスのための排他制御は、必要があれば、排他制御手段
30を使用して行う。排他制御手段30は、並列処理シ
ステム全体の排他処理を制御する資源管理装置40を使
用して排他制御を行う。あるいは、共有バッファ上に基
本同期命令であるテストアンドセット命令を持ち、排他
制御を行う方法やホスト間の通信手段を用いて排他制御
を行う方法等が存在する。以上好ましい実施例をあげて
本発明を説明したが、本発明は必ずしも上記実施例に限
定されるものではない。The exclusive control for simultaneous access to the shared buffer 50 is performed by using the exclusive control means 30, if necessary. The exclusion control means 30 performs exclusion control using a resource management device 40 that controls exclusion processing of the entire parallel processing system. Alternatively, there is a method of having a test and set instruction as a basic synchronization instruction on a shared buffer and performing exclusive control, a method of performing exclusive control using communication means between hosts, and the like. Although the present invention has been described with reference to the preferred embodiments, the present invention is not necessarily limited to the above embodiments.
【0037】[0037]
【発明の効果】以上説明したように本発明によれば、並
列処理システムにおいて、共有バッファのメモリ管理上
で排他制御を行い、ページ単位のロック制御を不要とす
ることにより、参照と更新間の並行処理を可能とし、排
他制御による待ち時間を削減することにより、データ処
理のスループット及び並行処理度を向上させ、大量デー
タ処理のシステムに対応させることが可能となる。As described above, according to the present invention, in a parallel processing system, exclusive control is performed on memory management of a shared buffer, and lock control in units of pages is not required. By enabling parallel processing and reducing the waiting time due to exclusive control, it is possible to improve the throughput of data processing and the degree of parallel processing, and to cope with a system of mass data processing.
【0038】更新時のロック制御におけるオーバヘッド
に関し、共有バッファ上で更新トランザクションを管理
し、同一ページに対する更新トランザクションを1つの
みに制約することによって、ロック制御を不要とするこ
とができる。Regarding the overhead in the lock control at the time of update, the update control is managed on the shared buffer, and the lock control can be made unnecessary by restricting only one update transaction to the same page.
【図1】 本発明の一実施例による並列処理システムの
構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of a parallel processing system according to one embodiment of the present invention.
【図2】 本実施例の共有ファイルアクセス手段のペー
ジ入力処理部による処理内容を説明するフローチャート
である。FIG. 2 is a flowchart illustrating processing performed by a page input processing unit of a shared file access unit according to the embodiment.
【図3】 本実施例の共有ファイルアクセス手段のペー
ジ更新処理部による処理内容を説明するフローチャート
である。FIG. 3 is a flowchart illustrating processing performed by a page update processing unit of the shared file access unit according to the embodiment.
【図4】 本実施例の共有ファイルアクセス手段のコミ
ット処理部による処理内容を説明するフローチャートで
ある。FIG. 4 is a flowchart illustrating processing performed by a commit processing unit of the shared file access unit according to the embodiment.
【図5】 本実施例の共有ファイルアクセス手段のエラ
ー処理部による処理内容を説明するフローチャートであ
る。FIG. 5 is a flowchart illustrating processing performed by an error processing unit of the shared file access unit according to the embodiment.
10−1〜10−n ホスト 20 共有ファイルアクセス手段 21 ページ入力処理部 22 ページ更新処理部 23 コミット処理部 24 エラー処理部 30 排他制御手段 40 資源管理装置 50 共有バッファ 51 参照バッファ 52 更新バッファ 60 共有ファイル 10-1 to 10-n Host 20 Shared file access unit 21 Page input processing unit 22 Page update processing unit 23 Commit processing unit 24 Error processing unit 30 Exclusive control unit 40 Resource management device 50 Shared buffer 51 Reference buffer 52 Update buffer 60 Shared File
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−319837(JP,A) 特開 昭62−287359(JP,A) 特開 平3−246644(JP,A) 特開 平3−123946(JP,A) 特開 平1−161452(JP,A) 特開 平1−163848(JP,A) 特開 平3−24648(JP,A) 特開 平4−284548(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 12/00 G06F 3/06 G06F 9/46 G06F 15/16 G06F 12/08 G06F 12/12──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A 1-319837 (JP, A) JP-A 62-287359 (JP, A) JP-A 3-246644 (JP, A) JP-A 3- 123946 (JP, A) JP-A-1-161452 (JP, A) JP-A-1-163848 (JP, A) JP-A-3-24648 (JP, A) JP-A-4-284548 (JP, A) (58) Field surveyed (Int.Cl. 6 , DB name) G06F 12/00 G06F 3/06 G06F 9/46 G06F 15/16 G06F 12/08 G06F 12/12
Claims (5)
ァイルを同時アクセスする並列処理システムにおいて、 前記共有バッファ上に、ページ参照用の参照バッファと
ページ更新用の更新バッファを設け、前記参照バッファ上の各ページ毎に、ページ間で矛盾な
いデータアクセスを行うために使用する該当ページのバ
ージョン情報と、同一ページに対する同時更新を制約す
るために使用する更新者を示す更新者情報と、前記参照
バッファを解放するために使用する参照者数を示す参照
者数情報を設定し、 ページを更新する場合、参照バッファ上の既存のページ
を更新せずに新しいバージョンのページを更新バッファ
上に作成することにより、ページ参照とページ更新の同
時実行を可能とする共有ファイルアクセス手段を備え、カレントページ以外の場合は前記参照者数が“0”にな
った時点で前記参照バッファを解放し、カレントページ
の場合は参照者数が“0”で、かつカレントページと同
一で古いバージョンのページが存在しない場合のみ前記
参照バッファを解放する ことを特徴とする並列処理シス
テムのファイルアクセス制御方式。1. A parallel processing system for simultaneously accessing a shared file via the shared buffer from each host, over the shared buffer, the reference buffer and update buffers for page update for the page reference is provided, on the reference buffer Inconsistent between pages for each page
Of the page used to access the new data
Version information and simultaneous updates to the same page
Updater information indicating the updater to be used for
A reference indicating the number of viewers to use to free the buffer
When setting page number information and updating a page, creating a new version of the page in the update buffer without updating the existing page in the reference buffer enables simultaneous execution of page reference and page update. Shared file access means, and when the page is other than the current page, the number of referring persons becomes “0”.
When the reference buffer is released, the current page
In the case of, the number of viewers is “0” and is the same as the current page.
Only if there is no old version page
A file access control method for a parallel processing system, which releases a reference buffer .
ァから検索し、参照者が参照バッファを参照中ならばそ
の参照バッファを参照し、当該参照者が更新中のときの
み更新バッファを参照し、必要ページが存在しない場
合、前記共有バッファに参照バッファを割り当てて前記
共有ファイルから必要ページを入力するページ入力処理
部と、 ページの更新時において、当該更新者が当該ページを更
新中の場合に更新バッファを更新可能な状態とし、他者
が更新中の場合にエラーとし、更新者無しの場合に前記
参照バッファから前記更新バッファに該当ページをコピ
ーし、更新バッファを更新可能な状態とするページ更新
処理部とを備えることを特徴とする請求項1に記載の並
列処理システムのファイルアクセス制御方式。 2. A method according to claim 1, wherein said shared file access means, when referring to a page, sets a required page to said reference buffer.
And if the referrer is referring to the reference buffer,
Refer to the reference buffer of the
If the required page does not exist
If the reference buffer is allocated to the shared buffer,
Page input processing for inputting required pages from shared files
Section and when the page is updated, the updater updates the page.
If the update buffer is updatable while it is new,
Is an error if the update is in progress, and the above
Copy the corresponding page from the reference buffer to the update buffer.
Page to make the update buffer updatable
The processing device according to claim 1, further comprising a processing unit.
File access control method for the column processing system.
共有ファイルに出力し、参照バッファのカレントページ
として付け替え、さらに参照バッファに対して、更新者
無しの状態に設定し、参照者数から“1”を減じる処理
を行なうコミット処理部と、 エラー処理時において、自ら更新中の更新バッファを廃
棄して参照バッファに対して更新者無しの状態に設定す
ると共に、自ら更新中あるいは参照中である場合、参照
バッファの参照者数から“1”を減じる処理を行なうエ
ラー処理部とを備えることを特徴とする請求項1又は計
求項2に記載の並列処理システムのファイルアクセス制
御方式。 3. The shared file access means, during a commit process, updates an update buffer being updated by itself.
Output to shared file, current page of reference buffer
As the updater
Processing to set the status to none and subtract "1" from the number of viewers
And the update buffer that is updating itself during error processing
Discard and set the reference buffer to no updater status
And if you are updating or referencing,
Perform processing to subtract “1” from the number of viewers in the buffer.
And an error processing unit.
File access system of the parallel processing system according to claim 2
Control method.
を割り当てて前記共有ファイルから入力したページのバ
ージョンが、必要ページのバージョンと一致する場合、
当該ページの参照者数に“1”を加え、バージョンが一
致しない場合にエラーとし、 前記参照バッファに他者が参照中の必要ページと同一の
ページが存在する場合、当該ページのバージョンが一致
する場合、当該ページの参照者数に“1”を加え、バー
ジョンが一致しない場合、前記共有バッファに参照バッ
ファを割り当てて前記共有ファイルから必要ページを入
力することを特徴とする請求項2に記載の並列処理シス
テムのファイルアクセス制御方式。 4. The image processing apparatus according to claim 1, wherein the page input processing unit includes a reference buffer.
Of the page entered from the shared file
If the version matches the version of the required page,
"1" is added to the number of viewers of the page, and the version is
If they do not match, an error will occur, and the same buffer as the required
If the page exists, the version of the page matches
If you do, add “1” to the number of visitors to the page and
If the versions do not match, the shared buffer
File and enter the required page from the shared file.
3. The parallel processing system according to claim 2, wherein
System file access control method.
ァイルを同時アクセスする並列処理システムにおいて、 前記共有バッファ上に、ページ参照用の参照バッファと
ページ更新用の更新バッファを設け、 前記参照バッファ上の各ページ毎に、該当ページのバー
ジョン情報と更新者を示す情報と参照者数を示す情報を
設定し、 ページを更新する場合、参照バッファ上の既存のページ
を更新せずに新しいバージョンのページを更新バッファ
上に作成することにより、ページ参照とページ更新の同
時実行を可能とする共有ファイルアクセス手段を備え、 前記共有ファイルアクセス手段は、 コミット処理時において、自ら更新中の更新バッファを
共有ファイルに出力し 、参照バッファのカレントページ
として付け替え、さらに参照バッファに対して、更新者
無しの状態に設定し、参照者数から“1”を減じる処理
を行なうコミット処理部と、 エラー処理時において、自ら更新中の更新バッファを廃
棄して参照バッファに対して更新者無しの状態に設定す
ると共に、自ら更新中あるいは参照中である場合、参照
バッファの参照者数から“1”を減じる処理を行なうエ
ラー処理部とを備えることを特徴とする並列処理システ
ムのファイルアクセス制御方式。 5. A shared buffer from each host via a shared buffer.
In the parallel processing system for simultaneously accessing files, a reference buffer for page reference is provided on the shared buffer.
An update buffer for updating the page is provided, and for each page on the reference buffer, a bar of the corresponding page is provided.
Version information, updater information, and referrer count information.
Set and update the page if the existing page in the reference buffer
Update new version page without updating buffer
By creating on the top, the same as page reference and page update
With shared file access means to the time capable of performing, the shared file access means, at the time of commit processing, the update buffers themselves Updating
Output to shared file, current page of reference buffer
As the updater
Processing to set the status to none and subtract "1" from the number of viewers
And the update buffer that is updating itself during error processing
Discard and set the reference buffer to no updater status
And if you are updating or referencing,
Perform processing to subtract “1” from the number of viewers in the buffer.
Parallel processing system, comprising:
System file access control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7157063A JP2853608B2 (en) | 1995-05-30 | 1995-05-30 | File access control method of parallel processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7157063A JP2853608B2 (en) | 1995-05-30 | 1995-05-30 | File access control method of parallel processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08328933A JPH08328933A (en) | 1996-12-13 |
JP2853608B2 true JP2853608B2 (en) | 1999-02-03 |
Family
ID=15641410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7157063A Expired - Lifetime JP2853608B2 (en) | 1995-05-30 | 1995-05-30 | File access control method of parallel processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2853608B2 (en) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4037058B2 (en) | 1999-01-13 | 2008-01-23 | 富士通株式会社 | Electronic information exclusive control apparatus, exclusive control method, and computer-readable recording medium recording exclusive control program |
JP3324572B2 (en) | 1999-03-30 | 2002-09-17 | 三菱電機株式会社 | Information processing apparatus and recording medium recording program to be executed by computer |
KR100727918B1 (en) * | 2002-08-03 | 2007-06-14 | 삼성전자주식회사 | Information storage medium and its recording and / or reproducing method |
AU2003251171A1 (en) * | 2002-08-03 | 2004-02-23 | Samsung Electronics Co., Ltd. | Information storage medium and method of recording and/or reproducing with respect to the medium |
US7916582B2 (en) | 2004-05-11 | 2011-03-29 | Samsung Electronics Co., Ltd. | Optical recording medium, recording/reproducing apparatus and method, initialization method, and reinitialization method |
US7663990B2 (en) | 2004-05-21 | 2010-02-16 | Samsung Electronics Co., Ltd. | Optical recording medium having access control area and method for recording or reproducing thereof |
JP5105713B2 (en) * | 2005-03-30 | 2012-12-26 | 日本電気株式会社 | Information processing device |
JP2006277628A (en) * | 2005-03-30 | 2006-10-12 | Hitachi Systems & Services Ltd | Database updating device |
EP2096564B1 (en) * | 2008-02-29 | 2018-08-08 | Euroclear SA/NV | Improvements relating to handling and processing of massive numbers of processing instructions in real time |
KR101782978B1 (en) | 2010-11-12 | 2017-09-29 | 삼성전자주식회사 | Apparatus for decoding image data based on availability of reference data and method of the same |
US8782352B2 (en) * | 2011-09-29 | 2014-07-15 | Oracle International Corporation | System and method for supporting a self-tuning locking mechanism in a transactional middleware machine environment |
JP6446475B2 (en) | 2014-04-30 | 2018-12-26 | オラクル・インターナショナル・コーポレイション | System and method for supporting an adaptive self-tuning lock mechanism in a transaction middleware machine environment |
JP6899643B2 (en) * | 2016-10-12 | 2021-07-07 | 株式会社荏原製作所 | Water supply device and water supply system |
KR102123616B1 (en) * | 2018-02-09 | 2020-06-17 | 한양대학교 산학협력단 | Method and apparatus for parallel journaling using conflict page list |
JP7391826B2 (en) * | 2020-12-24 | 2023-12-05 | 株式会社日立製作所 | Storage systems and data management methods |
-
1995
- 1995-05-30 JP JP7157063A patent/JP2853608B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH08328933A (en) | 1996-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2853608B2 (en) | File access control method of parallel processing system | |
US7107294B2 (en) | Method and apparatus for interrupting updates to a database to provide read-only access | |
US5881292A (en) | Dynamic versioning system for multiple users of multi-module software system | |
CA2436517C (en) | Method and apparatus for data processing | |
JP4237354B2 (en) | Transaction processing method and transaction processing system | |
JP3441807B2 (en) | B-tree index management method and system | |
KR100862661B1 (en) | Delayed logging method and device | |
JP4603546B2 (en) | Database management system with efficient version control | |
JPH0812631B2 (en) | Database transaction and query processing system | |
JP4916892B2 (en) | Log information management system and method for transaction processing | |
JPH0887510A (en) | Data base management method | |
JP2001101044A (en) | Transactional file managing method and transactional file system and composite transactional file system | |
JP4575762B2 (en) | Data processing method and apparatus, storage apparatus and processing program therefor | |
US7051051B1 (en) | Recovering from failed operations in a database system | |
CN118861175A (en) | A data processing method, device and equipment for database management system | |
JP3107094B2 (en) | Method and apparatus for shortening shared buffer lock period | |
JP2004341926A (en) | Database management system and database management program | |
CN102239489B (en) | Accessing data in a multi-generation database | |
JP2828354B2 (en) | Database management device | |
JP3027782B2 (en) | Database recovery method | |
US11567671B2 (en) | Method, electronic device, and computer program product for storage management | |
JP3450154B2 (en) | File access processing system | |
CN112306956B (en) | Methods, apparatuses, and computer program products for metadata maintenance | |
KR100630213B1 (en) | Log Priority Output Protocol Execution using Data Buffer Control Block in Data Storage System | |
JP2610972B2 (en) | Database data integrity method |