JPH07120305B2 - Database processing method by multiprocessor - Google Patents

Database processing method by multiprocessor

Info

Publication number
JPH07120305B2
JPH07120305B2 JP1068815A JP6881589A JPH07120305B2 JP H07120305 B2 JPH07120305 B2 JP H07120305B2 JP 1068815 A JP1068815 A JP 1068815A JP 6881589 A JP6881589 A JP 6881589A JP H07120305 B2 JPH07120305 B2 JP H07120305B2
Authority
JP
Japan
Prior art keywords
database
processing
resource
local
shared
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 - Fee Related
Application number
JP1068815A
Other languages
Japanese (ja)
Other versions
JPH02247748A (en
Inventor
克己 林
政昭 三谷
裕 関根
知博 林
一彦 斉藤
義徳 下雅意
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1068815A priority Critical patent/JPH07120305B2/en
Priority to CA002011807A priority patent/CA2011807C/en
Priority to AU52001/90A priority patent/AU614225B2/en
Priority to DE69032337T priority patent/DE69032337T2/en
Priority to KR1019900003741A priority patent/KR930000853B1/en
Priority to ES90302972T priority patent/ES2116267T3/en
Priority to US07/495,982 priority patent/US5649184A/en
Priority to EP90302972A priority patent/EP0389242B1/en
Publication of JPH02247748A publication Critical patent/JPH02247748A/en
Publication of JPH07120305B2 publication Critical patent/JPH07120305B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 〔概要〕 データベースのリソース管理をローカルメモリを中心に
行う局所処理と,共用メモリを中心に行う共用処理と
を,アクセス状況に応じて,動的に変更するようにした
マルチプロセッサによるデータベース処理方式に関し, データベースのリソースに対するアクセス状況に応じ
て,インテグリティ保証を効率的に行い,アクセス性能
を向上させることを目的とし, データベースのある単位であるリソースごとに,共用処
理の対象になるか局所処理の対象になるかを記憶するデ
ータベース管理情報記憶部と,データベース管理情報記
憶部の設定情報に従って,アクセスのための制御を,各
プロセッサモジュールにおいてシンメトリックに処理す
る共用処理または非シンメトリックに処理する局所処理
のいずれかで行うアクセス管理部と,共用処理管理およ
び局所処理管理を切り替える共用・局所変更制御部とを
備えるように構成する。
[Detailed Description of the Invention] [Outline] The local processing for centering the resource management of the database on the local memory and the shared processing centering on the shared memory are dynamically changed according to the access status. Regarding a database processing method by a multiprocessor, the target of shared processing is for each resource, which is a unit of the database, for the purpose of efficiently ensuring the integrity and improving the access performance according to the access status to the database resource. Control information for each processor module is processed symmetrically according to the setting information of the database management information storage unit and the database management information storage unit that stores whether it becomes a target of local processing or shared processing or non-processing. In any of the local processing that processes symmetrically It is configured to include an access management unit that performs the processing, and a shared / local change control unit that switches shared processing management and local processing management.

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

本発明は,データベースのリソース管理をローカルメモ
リを中心に行う局所処理と,共用メモリを中心に行う共
用処理とを,アクセス状況に応じて,動的に変更するよ
うにしたマルチプロセッサによるデータベース処理方式
に関する。
The present invention relates to a database processing method by a multiprocessor that dynamically changes a local process for resource management of a database mainly in a local memory and a shared process mainly in a shared memory according to an access situation. Regarding

マルチプロセッサシステムは,密結合マルチプロセッサ
システムと,疎結合マルチプロセッサシステムとに大別
されるが,さらにこれらを複合させたものや,密結合と
疎結合との中間的なものなど,多種多様のシステム構成
が,実用化されてきている。
The multiprocessor system is roughly classified into a tightly coupled multiprocessor system and a loosely coupled multiprocessor system. Further, there are various types such as a composite of these and an intermediate one between the tightly coupled and the loosely coupled. The system configuration has been put to practical use.

一方,データベース管理システムを,1つのプロセッサ上
で実現するには,レスポンスにある程度の限界が生じる
ので,マルチプロセッサで処理することが考えられてい
るが,データを常に正しい状態に維持するためのインテ
グリティ保証の処理時間が増大する傾向にある。処理性
能を向上させるためには,このインテグリティ保証を効
率的に行うことが必要とされる。
On the other hand, in order to realize a database management system on one processor, there is a certain limit to the response, so it is considered to be processed by multiple processors. However, the integrity for maintaining data in a correct state is always considered. Warranty processing time tends to increase. In order to improve processing performance, it is necessary to make this integrity guarantee efficiently.

〔従来の技術〕[Conventional technology]

第7図は従来のマルチプロセッサによるデータベース処
理方式の例を示す。
FIG. 7 shows an example of a conventional database processing system by a multiprocessor.

第7図(イ),(ロ)において,プロセッサモジュール
11は,それぞれCPUおよびローカルメモリ25を持つ処理
装置である。各プロセッサモジュール11は,バス結合さ
れ,プロセッサ間通信が可能になっている。
A processor module is shown in FIGS.
Reference numeral 11 is a processing device having a CPU and a local memory 25, respectively. Each processor module 11 is bus-coupled to enable inter-processor communication.

データベースのリソース(資源)22は,通常,グラニュ
ールと呼ばれる単位,すなわち,データベース中のある
データ集合の単位で,アクセスが管理される。この単位
は,例えばファイルレベルのこともあり,レコードレベ
ルのこともある。
Access to the resource 22 of the database is normally managed in a unit called a granule, that is, a unit of a certain data set in the database. This unit may be, for example, a file level or a record level.

このリソース22に対するアクセスでは,アクセス競合に
よるデータ矛盾の発生防止や,障害発生時における復旧
など,データの完全性を維持するためのインテグリティ
保証を行わなければならない。
In access to this resource 22, integrity guarantee for maintaining data integrity such as prevention of occurrence of data inconsistency due to access competition and recovery at the time of failure must be performed.

従来,第7図(イ)に示すようなシステムでは,二次記
憶のデータベース実体格納部13に格納されたデータにつ
いて,各プロセッサモジュール11の担当するリソース22
が,あらかじめ静的にまたは負荷状況に応じて動的に決
められ,その各リソース22に対するインテグリティ保証
を,各プロセッサモジュール11が,すべて局所的に行う
ようにしていた。
Conventionally, in a system such as that shown in FIG. 7 (a), for the data stored in the database entity storage unit 13 of the secondary storage, the resource 22
However, each processor module 11 is statically determined in advance or dynamically determined according to the load condition, and each processor module 11 locally guarantees the integrity of each resource 22.

一方,第7図(ロ)に示すようなシステムでは,データ
ベース実体格納部13から読み出したリソース22を,各プ
ロセッサモジュール11がアクセス可能な共用メモリ10上
に置き,排他制御,バッファ制御などの処理を,システ
ム全体で共通に行うことにより,すなわち,各プロセッ
サモジュール11がシンメトリックに行うことにより,共
用処理としてのインテグリティ保証を実現していた。
On the other hand, in the system as shown in FIG. 7B, the resource 22 read from the database entity storage unit 13 is placed in the shared memory 10 accessible by each processor module 11 to perform processing such as exclusive control and buffer control. Has been performed in common in the entire system, that is, each processor module 11 performs symmetry, thereby realizing integrity guarantee as shared processing.

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

従来の処理方式では,インテグリティ保証を,各プロセ
ッサモジュール11に閉じた局所処理で行うか,システム
全体に共通な共用処理で行うかのいずれかであり,ある
リソース22について,局所処理で行ったり,共用処理で
行ったりすることはなかった。
In the conventional processing method, the integrity guarantee is either performed by a local process closed in each processor module 11 or a shared process common to the entire system. It was never done as a shared process.

第7図(イ)に示すような,リソース22を局所処理で管
理する方式では,あるプロセッサモジュール11が持つリ
ソース22を,他のプロセッサモジュール11がアクセスし
たい場合,プロセッサ間通信により,排他制御のための
ロック依頼や,バッファアクセス依頼を,管理元のプロ
セッサモジュール11に対して行う。そのための通信オー
バヘッドが大きく,複数のプロセッサモジュール11から
アクセスされる可能性の大きいリソース22については,
処理性能が非常に悪くなるという問題があった。
In the method of managing the resource 22 by the local processing as shown in FIG. 7 (a), when the resource 22 of one processor module 11 is desired to be accessed by another processor module 11, the inter-processor communication enables exclusive control. A lock request and a buffer access request are issued to the management source processor module 11. For the resource 22 that has a large communication overhead for that purpose and is likely to be accessed from multiple processor modules 11,
There was a problem that the processing performance was extremely poor.

また,あるリソース22についての最適配分を行う場合,
人間がアクセスの統計データ等を参考にして,割り振る
べきプロセッサモジュール11を決定しなければならなか
ったので,チューニングが難しいという問題があった。
In addition, when performing optimal allocation for a certain resource 22,
Since humans had to determine the processor module 11 to be allocated with reference to the access statistical data and the like, there was a problem that tuning was difficult.

一方,第7図(ロ)に示すような,リソース22を共通処
理で管理する方式では,あるリソース22について,特定
の1つのプロセッサモジュール11だけが多くアクセスす
る場合であっても,常に,システム全体を考慮した排他
制御やバッファ制御などの管理を行う必要があるため,
その処理コストが大きくなり,効率的なアクセス制御が
できなくなるという問題があった。
On the other hand, in the method of managing the resource 22 by the common processing as shown in FIG. 7B, even when only one specific processor module 11 makes a large access to a certain resource 22, the system is always operated. Since it is necessary to manage exclusive control and buffer control in consideration of the whole,
There is a problem that the processing cost becomes large and efficient access control cannot be performed.

本発明は上記問題点の解決を図り,データベースのリソ
ースに対するアクセス状況に応じて,インテグリティ保
証を効率的に行い,アクセス性能を向上させることを目
的としている。
An object of the present invention is to solve the above-mentioned problems, to efficiently perform integrity guarantee according to the access status to the resource of the database, and to improve the access performance.

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

第1図は本発明の構成例を示す。 FIG. 1 shows a configuration example of the present invention.

第1図において,10は共用メモリ,11−1,11−2,…はプロ
セッサモジュール(PM),12は各プロセッサモジュール1
1と共用メモリ10とを接続する高速バス,13はデータベー
ス実体格納部,20はデータベース管理情報記憶部,21は排
他制御情報を記憶するロック情報記憶部,22はデータベ
ースのある単位であるリソース,23はリソース22へのア
クセスを管理するアクセス管理部,25は共用・局所変更
制御部,25は各プロセッサモジュールが持つローカルメ
モリ,26は各プロセッサモジュール内における排他制御
情報を記憶する局所ロック情報記憶部を表す。
In FIG. 1, 10 is a shared memory, 11-1, 11-2, ... Are processor modules (PM), 12 is each processor module 1
1 is a high-speed bus connecting the shared memory 10, 13 is a database entity storage unit, 20 is a database management information storage unit, 21 is a lock information storage unit that stores exclusive control information, 22 is a resource that is a unit of the database, 23 is an access management unit that manages access to the resource 22, 25 is a shared / local change control unit, 25 is a local memory of each processor module, and 26 is a local lock information storage that stores exclusive control information in each processor module. Represents a part.

各プロセッサモジュール11−1,11−2,…は,それぞれロ
ーカルメモリ25を持ち,また,共用メモリ10にバス結合
されている。さらに,このシステムでは,各プロセッサ
モジュールに,データベース実体格納部13が,I/Oバス14
を介して接続され,各プロセッサモジュールから同等に
アクセスできるようになっている。なお,2つのバスを1
つで構成してもよい。
Each of the processor modules 11-1, 11-2, ... Has a local memory 25 and is bus-coupled to the shared memory 10. Further, in this system, each processor module has a database entity storage unit 13 and an I / O bus 14
, And can be equally accessed from each processor module. In addition, two buses are 1
You may comprise by one.

データベースのリソース22の管理は,データベース管理
情報記憶部20に設定された管理情報に基づいて行う。デ
ータベース管理情報記憶部20は,共用メモリ10に配置さ
れることもあり,ローカルメモリ25に配置されることも
ある。
The resource 22 of the database is managed based on the management information set in the database management information storage unit 20. The database management information storage unit 20 may be arranged in the shared memory 10 or the local memory 25.

本発明では,データベース管理情報記憶部20内に,アク
セス対象になっているリソース22が,共用処理の対象に
なっているか,局所処理の対象になっているかを示す共
用/局所表示部が設けられている。このデータベース管
理情報記憶部20は,ローカルメモリ25内にあってもよ
い。
According to the present invention, the database management information storage unit 20 is provided with a shared / local display unit that indicates whether the resource 22 to be accessed is a target of shared processing or a target of local processing. ing. The database management information storage unit 20 may be in the local memory 25.

各プロセッサモジュール11−1,11−2,…は,それぞれ対
称的な同じ構成となっており,アクセス管理部23と共用
・局所変更制御部24とを持つ。
Each of the processor modules 11-1, 11-2, ... Has the same symmetrical configuration, and has an access management unit 23 and a shared / local change control unit 24.

アクセス管理部23は,共用メモリ10上にあるリソース22
の管理機能と,ローカルメモリ25上にあるリソース22の
管理機能とを備えている。
The access management unit 23 uses the resources 22 on the shared memory 10.
And the management function of the resource 22 on the local memory 25.

これらのリソース22に対する共用処理では,リソース22
に対するインテグリティ保証の処理を,各プロセッサモ
ジュールがシンメトリックに行う。ここで,シンメトリ
ックとは,どのプロセッサモジュールがリソース22にア
クセスとしても,同様な処理シーケンスで制御が行われ
ることを意味する。
In shared processing for these resources 22, resource 22
Each processor module symmetrically performs the integrity guarantee processing for. Here, the symmetric means that control is performed in the same processing sequence regardless of which processor module accesses the resource 22.

局所処理では,リソース22に対するインテグリティ保証
の処理を,そのリソース22が割り当てられた特定のプロ
セッサモジュールが行う。すなわち,リソース22を管理
するプロセッサモジュールと,他のプロセッサモジュー
ルとの処理は,非シンメトリックになる。
In the local processing, the integrity guarantee processing for the resource 22 is performed by the specific processor module to which the resource 22 is assigned. That is, the processing between the processor module that manages the resource 22 and the other processor modules is non-symmetrical.

リソース22に対するアクセスの制御を,共用処理として
行うか,局所処理として行うかは,データベース管理情
報記憶部20の共用/局所表示部を参照して決定する。
Whether to control access to the resource 22 as a shared process or a local process is determined by referring to the shared / local display unit of the database management information storage unit 20.

共用・局所変更制御部24は,各リソース22ごとにアクセ
ス状況を管理し,アクセス頻度が特定なプロセッサモジ
ュールに偏在しているとき,そのリソース22をその特定
なプロセッサモジュールによる局所処理対象とし,アク
セス頻度が特定なプロセッサモジュールに偏在していな
いとき,そのリソースを共用処理対象とする変更制御を
行う。すなわち,各リソース22のアクセス状況を監視す
ることにより,データベース管理情報記憶部20の共用/
局所表示部を更新して,共用から局所,または局所から
共用へのリソース管理の変更制御を行う。
The sharing / local change control unit 24 manages the access status of each resource 22, and when the access frequency is unevenly distributed to a specific processor module, the resource 22 is targeted for local processing by the specific processor module and accessed. When the frequency is not unevenly distributed to a specific processor module, change control is performed so that the resource is shared. That is, by monitoring the access status of each resource 22, the database management information storage unit 20 can be shared / used.
Update the local display to control the change of resource management from shared to local or from local to shared.

〔作用〕 第2図は本発明の作用説明図である。[Operation] FIG. 2 is an explanatory view of the operation of the present invention.

本発明は,データベースのリソース管理について,ロー
カルメモリを中心に行う局所処理と,共用メモリを中心
に行う共用処理とを,共用・局所変更制御により,アク
セス状況に応じて,動的に変更するようにしたものであ
る。
According to the present invention, for resource management of a database, local processing centered on a local memory and shared processing centered on a shared memory are dynamically changed according to an access situation by sharing / local change control. It is the one.

局所処理の場合,リソースに対するアクセスのための排
他制御やバッファ制御を,そのリソースを管理する特定
のプロセッサモジュールが行う。リソースに対するアク
セスが,特定のプロセッサモジュールに偏在している場
合,排他制御やバッファ制御を局所的に行うことによ
り,大部分のアクセス制御を高速化することが可能にな
る。
In the case of local processing, exclusive control and buffer control for accessing a resource are performed by a specific processor module that manages the resource. When access to a resource is unevenly distributed in a specific processor module, most access control can be speeded up by performing exclusive control and buffer control locally.

共用処理の場合,インテグリティ保証をシステム全体に
ついて行うので,特定のプロセッサが行う自分が管理す
るリソースに対する局所処理の場合に比べて,処理が遅
くなることもある。しかし,アクセスが特定のプロセッ
サモジュールに偏在することなく,各々のプロセッサか
ら均等にアクセスされるようなリソースについては,特
定のプロセッサモジュールに対する負荷の集中を回避
し,また,特定のプロセッサに対するアクセス依頼など
の通信コストの増大を防ぐことが可能になり,システム
全体としてのスループットを向上させることができる。
In the case of shared processing, integrity assurance is performed for the entire system, so the processing may be slower than in the case of local processing for resources managed by itself by a specific processor. However, for resources that are uniformly accessed by each processor without unevenly distributing access to specific processor modules, avoiding concentration of load on specific processor modules and requesting access to specific processors. It is possible to prevent an increase in the communication cost of, and improve the throughput of the entire system.

本発明では,第2図に示すように,アクセスが特定のプ
ロセッサモジュールに偏在する場合,局所処理管理と
し,偏在傾向が解消した場合,共用処理管理とするよう
に動的に変更制御を行うので,リソースのアクセス状況
に応じた最適なアクセス管理を行うことができるように
なる。
According to the present invention, as shown in FIG. 2, when the access is unevenly distributed to a specific processor module, the local processing management is performed, and when the uneven distribution tendency is resolved, the shared processing management is dynamically performed. , It will be possible to perform optimal access management according to the access status of resources.

〔実施例〕〔Example〕

第3図は本発明の一実施例によるシステム構成例,第4
図は本発明の一実施例に係る処理概要説明図,第5図は
本発明の一実施例で用いる管理用データ説明図,第6図
は本発明の一実施例に係る共用・局所変更制御の処理の
例を示す。
FIG. 3 is a system configuration example according to an embodiment of the present invention, FIG.
FIG. 5 is an explanatory view of a processing outline according to one embodiment of the present invention, FIG. 5 is an explanatory view of management data used in one embodiment of the present invention, and FIG. 6 is a shared / local change control according to one embodiment of the present invention. An example of the processing will be shown.

本発明は,例えば第3図に示すようなマルチプロセッサ
システム上で実施される。第3図において,SSUは共用メ
モリ装置,SCAはI/Oインタフェースアダプタ,DKはディス
ク記憶装置,DLPはデータリンクプロセッサ,DRCは回線制
御を行うドライバ・レシーバ・カードを表す。
The present invention is implemented, for example, on a multiprocessor system as shown in FIG. In FIG. 3, SSU is a shared memory device, SCA is an I / O interface adapter, DK is a disk storage device, DLP is a data link processor, and DRC is a driver / receiver card for line control.

各プロセッサモジュール11は,1台または複数台のCPUと
ローカルメモリ25とを持っている。ローカルメモリ25に
対しては,キャッシュメモリのような利用の仕方でI/O
の削減が可能である。また,各プロセッサモジュール11
は,バスコントローラ(図示省略)による制御のもと
に,高速バス12を介して,共用メモリ装置SSUに対する
アクセスを行うことができるようになっている。
Each processor module 11 has one or a plurality of CPUs and a local memory 25. I / O to the local memory 25 is performed in the same way as a cache memory.
Can be reduced. In addition, each processor module 11
Under the control of a bus controller (not shown), the shared memory device SSU can be accessed via the high-speed bus 12.

バスオペレーションの高速化と障害対策のため,高速バ
ス12やI/Oバス14などは,多重化されている。もちろ
ん,一重でもよい。
The high-speed bus 12 and the I / O bus 14 are multiplexed for speeding up bus operations and for troubleshooting. Of course, it may be a single layer.

各プロセッサモジュール11は,あるプロセッサモジュー
ル11の処理を,他のプロセッサモジュール11が代わりに
行うことができるように構成される。したがって,プロ
セッサモジュール11の障害時には,その障害装置をシス
テムから切り離して,残りのプロセッサモジュール11に
より,サービスを続行することができるようになってい
る。
Each processor module 11 is configured such that the processing of one processor module 11 can be performed by another processor module 11 instead. Therefore, when the processor module 11 fails, the failed device can be separated from the system and the remaining processor modules 11 can continue the service.

データベースの実体は,光ディスクや磁気ディスクなど
のディスク記憶装置DKに格納され,どのプロセッサモジ
ュール11からも,I/Oバス14およびアダプタSCAを介して
アクセスできるようになっている。
The substance of the database is stored in a disk storage device DK such as an optical disk or a magnetic disk, and can be accessed from any processor module 11 via the I / O bus 14 and the adapter SCA.

このようなシステムに類似したシステムとして,日経BP
社発行の「日経エレクトロニクスNO.461,1988年11月28
日号」,P110〜P115に示されているような各種のシステ
ムが知られているが,これらに限らず,共用メモリをバ
ス結合した種々のマルチプロセッサアーキテクチャ上
で,本発明を実現することが可能である。
As a system similar to such a system, Nikkei BP
Published by Nikkei Electronics No.461, November 28, 1988
Although various systems are known, such as those described in "Japanese issue", P110 to P115, the present invention is not limited to these, and the present invention can be realized on various multiprocessor architectures in which shared memories are bus-coupled. It is possible.

端末等からのデータベースへのアクセス要求の処理は,
第4図に示すように行われる。
The processing of the access request to the database from the terminal etc.
This is performed as shown in FIG.

第4図(イ)は,メッセージを入力して,応用プログラ
ムAPPを起動するまでの処理の流れ,第4図(ロ)は,
データベース管理部の処理の流れを示している。以下の
説明における〜は,第4図に示す〜に対応す
る。
FIG. 4 (a) is a flow of processing from inputting a message to starting the application program APP, and FIG. 4 (b) is
The flow of processing of a database management part is shown. In the following description, ~ corresponds to ~ shown in FIG.

任意のプロセッサモジュール11で,データベース検
索要求などのメッセージの入力処理を行う。メッセージ
を入力する端末ごとに,その入力処理を担当するプロセ
ッサモジュール11をあらかじめ決めておいてもよい。
An arbitrary processor module 11 performs input processing of a message such as a database search request. For each terminal that inputs a message, the processor module 11 in charge of the input processing may be determined in advance.

メッセージに従って,実行すべき応用プログラムAP
Pがアクセスするデータベースと,各プロセッサモジュ
ール11ごとの負荷状況に応じて,各プロセッサモジュー
ル11の応用プログラムAPPにメッセージを振り分ける。
Application program AP to be executed according to the message
Messages are distributed to the application program APP of each processor module 11 according to the database accessed by P and the load status of each processor module 11.

これにより,メッセージを振り分けられた応用プロ
グラムAPPの実行が開始される。応用プログラムAPPは,
必要に応じてデータベース操作言語によるアクセス要求
を,データベース管理部に対して行う。
As a result, the execution of the application program APP to which the message has been distributed is started. The application program APP is
An access request in the database operation language is issued to the database management unit if necessary.

データベース管理部では,アクセス管理部23が,応
用プログラムAPPとのインタフェースに従って,アクセ
ス要求があったりリソースに対する排他制御,すなわ
ち,アクセス競合を避けるためのロック制御を行う。こ
の排他制御は,アクセスするリソースが共用処理対象と
なっているか,局所処理対象となっているかで異なり,
システム全体または特定のプロセッサモジュールの範囲
で有効なロック管理を行う。
In the database management unit, the access management unit 23 performs exclusive control for access requests and resources, that is, lock control for avoiding access conflict, according to the interface with the application program APP. This exclusive control differs depending on whether the accessed resource is a shared processing target or a local processing target.
Effective lock management for the entire system or for a specific processor module.

〜排他制御と同様に,リソースが共用処理対象とな
っているか,局所処理対象となっているかにより,共用
メモリとローカルメモリとを使い分けて,バッファ制御
を行う。必要に応じて,二次記憶へのアクセスも行う。
そして,アクセス結果を,依頼元の応用プログラムAPP
に通知する。
~ Similar to exclusive control, buffer control is performed by selectively using shared memory and local memory depending on whether the resource is a shared processing target or a local processing target. If necessary, access to secondary memory is also made.
Then, the access result is the application program APP of the request source.
To notify.

以上のアクセスの処理とは別に,共用・局所変更制
御部24は,各プロセッサモジュールのアクセス状況を管
理・維持する。各リソースについて,共用処理対象とす
るか局所処理対象とするかを判定するための情報の収集
も行う。
Apart from the above access processing, the shared / local change control unit 24 manages / maintains the access status of each processor module. For each resource, it also collects information for determining whether to perform shared processing or local processing.

各リソースについて,アクセス頻度が特定のプロセ
ッサモジュールに集中しているか否かを調べる。そし
て,局所処理管理をするか共用処理管理をするかを決定
する。
For each resource, check whether the access frequency is concentrated on a specific processor module. Then, it is determined whether to perform local processing management or shared processing management.

共用または局所の管理形態の変更が必要になった場
合,管理情報およびリソースを,共用メモりおよびロー
カルメモリ間で移動し,共用・局所の変更処理を行う。
共用・局所変更制御部24は,以上の処理を,所定の間隔
で周期的に,または他の適当な契機で行う。
When it becomes necessary to change the shared or local management form, the management information and resources are moved between the shared memory and the local memory, and the shared / local change processing is performed.
The shared / local change control unit 24 performs the above-described processing periodically at predetermined intervals or at another appropriate trigger.

共用処理および局所処理の管理のために使用する管理用
データとして,例えば第5図に示すようなデータがあ
る。
As the management data used for managing the shared processing and the local processing, there is data as shown in FIG. 5, for example.

第5図に示すスペース管理表30は,データベースを管理
する空間管理情報を保持するテーブルである。本実施例
では,1つのプロセッモジュール内に複数のアドレス空間
を持つことができ,各空間に共通のカーネル(核)部に
よって,その空間およびデータベースの管理を行うよう
になっている。空間異常時には,相互にバックアップ可
能である。スペース管理表30は,データベース属性表31
へのポインタを持つ。
The space management table 30 shown in FIG. 5 is a table holding space management information for managing the database. In this embodiment, one processor module can have a plurality of address spaces, and a kernel (core) unit common to each space manages the space and the database. When space is abnormal, mutual backup is possible. The space management table 30 is the database attribute table 31.
With a pointer to.

データベース属性表31は,リソースごとに次のような情
報を持つ。
The database attribute table 31 has the following information for each resource.

(a)リソース名:データベースのリソースごとの共用
・局所を管理する単位に付加される名前である。この名
前により,実際に配置されているデータベースのリソー
ス22が識別できるようになっている。すなわち,バッフ
ァ管理情報32を介して,共用バッファまたはローカルメ
モリ内のバッファで管理されているデータとの対応がと
れるようになっている。
(A) Resource name: This is a name added to a unit for managing sharing / localization of each resource of the database. By this name, the resource 22 of the database actually arranged can be identified. That is, the data managed by the shared buffer or the buffer in the local memory can be dealt with via the buffer management information 32.

(b):共用/局所表示:対応するリソース22が,共用
型で制御されているのか,局所(偏在)型で制御されて
いるのかを示すフラグ等による表示である。この表示に
従って,リソース22やその管理情報を,共用メモリに配
置するか否かなどが決定される。
(B): Shared / local display: This is a display with a flag or the like indicating whether the corresponding resource 22 is shared-type control or local (ubiquitous) type control. According to this display, whether to allocate the resource 22 or its management information to the shared memory is determined.

(c)アクセス状況ポインタ:データベースアクセス状
況表33をポイントする。
(C) Access status pointer: Points to the database access status table 33.

(d)データベース配置情報:局所型の場合に,そのイ
ンテグリティを保証するプロセッサモジュールの識別子
を持つ。
(D) Database allocation information: In the case of a local type, it has an identifier of a processor module that guarantees its integrity.

データベースアクセス状況表33は,各リソースごとのア
クセス状況の管理のために,各プロセッサモジュールが
何回そのリソースにアクセスしたかを示す次のような情
報を持つ。
The database access status table 33 has the following information indicating how many times each processor module has accessed that resource in order to manage the access status for each resource.

(a)PM-ID:そのリソースに直接またはアクセス依頼に
より間接的にアクセスしたプロセッサモジュールの識別
子である。
(A) PM-ID: This is an identifier of a processor module that has accessed the resource directly or indirectly by an access request.

(b)参照回数・更新回数:プロセッサモジュールごと
の参照または更新のアクセス回数である。第5図に示す
管理用データの制御表は,共用メモリ内やプロセッサモ
ジュール内のローカルメモリに配置されている。
(B) Reference count / update count: The reference or update access count for each processor module. The control table for management data shown in FIG. 5 is arranged in the shared memory or the local memory in the processor module.

リソースが局所型の場合,データベース属性表31,デー
タベースアクセス状況表33は,その局所制御を行ってい
るプロセッサモジュールのローカルメモリに存在する。
When the resource is of a local type, the database attribute table 31 and the database access status table 33 exist in the local memory of the processor module that performs the local control.

リソースが共用型の場合,データベース属性表31は,共
用メモリ上にあるが,データベースアクセス状況表33
は,共用メモリ上と各プロセッサモジュール内のローカ
ルメモリ上に配置され,プロセッサモジュールは,その
プロセッサモジュールのアクセス状況だけの情報を更新
している。共用メモリ上には,ある時間間隔で,各プロ
セッサモジュールから,アクセス状況のデータが収集さ
れるようになっている。
If the resource is shared, the database attribute table 31 is in the shared memory, but the database access status table 33
Are arranged on the shared memory and the local memory in each processor module, and the processor module updates only the access status of the processor module. On the shared memory, access status data is collected from each processor module at a certain time interval.

局所型のインテグリティ保証によるデータベースアクセ
スおよび共用型のインテグリティ保証によるデータベー
スアクセスの処理については,分散データベース管理シ
ステム等において,それぞれ個別的に従来から知られて
いるので,その処理内容の詳細な説明は省略する。
The processing of database access with local integrity guarantee and database access with shared integrity guarantee are individually known in the distributed database management system, etc., and detailed description of the processing contents is omitted. To do.

特に,本発明に関連する共用・局所変更制御の処理は,
所定の周期で起動され,例えば第6図に示す処理〜
のように行われる。
In particular, the shared / local change control processing related to the present invention is
It is started at a predetermined cycle, and for example, the processing shown in FIG.
Is done like.

各リソースに対して,それが共用型または局所型に
固定化されているかどうかを判定する。アクセス状況に
よらずに,オペレータまたはシステム管理者がリソース
のタイプを固定的に指定している場合には,共用・局所
の変更は行わない。
For each resource, determine whether it is fixed as shared or local. If the operator or system administrator fixedly specifies the resource type regardless of the access status, sharing / local modification is not performed.

各プロセッサモジュールでのアクセス状況を収集
し,共用メモリ上にあるデータベースアクセス状況表に
登録する。
The access status of each processor module is collected and registered in the database access status table on the shared memory.

現在,着目しているリソースが,共用型か局所型か
をデータベース属性表により判定する。共用型の場合,
処理へ,局所型の場合,処理へ移る。
At present, whether the resource of interest is a shared type or a local type is determined by the database attribute table. In case of shared type,
Move to processing. If local type, move to processing.

アクセス状況の結果を参照し,あるプロセッサモジ
ュールでのアクセスが,他のプロセッサモジュールでの
アクセスより,極端に多いかどうかを調べる。アクセス
が偏在していない場合,そのリソースに対する処理を終
了する。
Check the access status result to see if the number of accesses in one processor module is extremely higher than that in another processor module. If the access is not unevenly distributed, the processing for the resource ends.

局所型と判定されたリソースのインテグリティを保
証するプロセッサモジュールを,そのアクセスが極端に
多いプロセッサモジュールとする。
A processor module that guarantees the integrity of a resource that is determined to be a local type is a processor module that has an extremely large number of accesses.

この時点でデータベースアクセス状況表をクリアし
て,今後,インテグリティ保証を行うプロセッサモジュ
ールに,これらの管理情報を移す。
At this point, the database access status table is cleared and these management information will be transferred to the processor module that guarantees the integrity in the future.

バッファ管理についても,局所処理管理へ移行し,
データベースの最新性の管理を,局所型と判定されたプ
ロセッサモジュールで行うようにする。
As for buffer management, shift to local processing management,
The latestness of the database is managed by the processor module that is determined to be local type.

データベースのアクセス効率をよくするため,この
リソースのためのデータベースバッファを,局所処理を
行うプロセッサモジュールのローカルメモリに設けたバ
ッファに移行する。
In order to improve the access efficiency of the database, the database buffer for this resource is moved to the buffer provided in the local memory of the processor module that performs local processing.

現在,局所型である場合,その局所処理を行うプロ
セッサモジュールでは,各プロセッサモジュールからの
アクセス依頼に基づいて,それらのアクセス状況の登録
を行っている。その結果を参照し,局所処理を行ってい
るプロセッサモジュールのアクセス回数が,他のプロセ
ッサモジュールによるアクセス回数(アクセス依頼回
数)のどれかよりも少ない場合,そのリソースを共用と
判定し,共用型へ移行する処理〜を実行する。
Currently, in the case of the local type, the processor module that performs the local processing registers the access statuses thereof based on the access request from each processor module. Referring to the result, if the access count of the processor module that is performing local processing is less than any of the access counts (access request counts) of other processor modules, it is determined that the resource is shared, and the resource is shared. Execute the processes to migrate.

この時点でデータベースアクセス状況表をクリアし
て,今後,インテグリティ保証を行うプロセッサモジュ
ールのローカルメモリから,これらの管理情報を共用メ
モリ上へ移動する。
At this point, the database access status table is cleared, and in the future, these pieces of management information are moved from the local memory of the processor module that guarantees the integrity to the shared memory.

バッファ管理によるデータベースの最新性の管理
も,共用処理管理とする。すなわち,各プロセッサモジ
ュールがシンメトリックにリソースを管理する。
Shared processing management is also used to manage the database freshness by buffer management. That is, each processor module manages the resources symmetrically.

このリソースのためのデータベースバッファを,共
用メモリ上に移動し,他のプロセッサモジュールによる
参照効率を上げる。なお,共用型のリソースでも,必ず
しもすべて共用メモリ上で処理しなければならないわけ
ではなく,例えばロックをかけたうえで,そのコピーを
ローカルメモリに移して処理することもできる。
The database buffer for this resource is moved to the shared memory to improve the reference efficiency by other processor modules. It should be noted that all shared resources do not necessarily have to be processed on the shared memory. For example, after locking, a copy thereof can be moved to the local memory for processing.

上記実施例におけるリソース管理の共用から局所への移
行,または局所から共用への移行の条件は,一例であ
り,種々の条件設定を行うことが可能であることは言う
までもない。例えば,強制的に人が決める場合,計画的
にスケジュールを変える場合などもある。
It goes without saying that the condition of resource management shift from shared to local or from local to shared in the above embodiment is an example, and various condition settings can be made. For example, there are cases in which people are forced to make decisions, and schedules are changed systematically.

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

以上説明したように,本発明によれば,データベース・
リソースのアクセス状況に応じて,共用型のインテグリ
ティ保証または局所型のインテグリティ保証が自動的に
選択され,リソース管理の最適配置により,アクセスの
高速化および通信オーバヘッドの削減などの処理コスト
の低下を図ることが可能になる。
As described above, according to the present invention, a database
Shared-type integrity guarantee or local-type integrity guarantee is automatically selected according to the access status of resources. Optimal allocation of resource management aims to reduce processing costs such as high-speed access and reduction of communication overhead. It will be possible.

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

第1図は本発明の構成例, 第2図は本発明の作用説明図, 第3図は本発明の一実施例によるシステム構成例, 第4図は本発明の一実施例に係る処理概要説明図, 第5図は本発明の一実施例で用いる管理用データ説明
図, 第6図は本発明の一実施例に係る共用・局所変更制御の
処理の例, 第7図は従来技術の例を示す。 図中,10は共用メモリ,11−1,11−2,…はプロセッサモジ
ュール,12は高速バス,13はデータベース実体格納部,14
はI/Oバス,20はデータベース管理情報記憶部,21はロッ
ク情報記憶部,22はリソース,23はアクセス管理部,24は
共用・局所変更制御部,25はローカルメモリ,26は局所ロ
ック情報記憶部を表す。
FIG. 1 is a configuration example of the present invention, FIG. 2 is an operation explanatory diagram of the present invention, FIG. 3 is a system configuration example according to an embodiment of the present invention, and FIG. 4 is an outline of processing according to an embodiment of the present invention. Explanatory diagram, FIG. 5 is an explanatory diagram of management data used in one embodiment of the present invention, FIG. 6 is an example of shared / local change control processing according to one embodiment of the present invention, and FIG. Here is an example: In the figure, 10 is a shared memory, 11-1, 11-2, ... Are processor modules, 12 is a high-speed bus, 13 is a database entity storage unit, 14
Is an I / O bus, 20 is a database management information storage unit, 21 is a lock information storage unit, 22 is a resource, 23 is an access management unit, 24 is a shared / local change control unit, 25 is a local memory, and 26 is local lock information. Represents a storage unit.

フロントページの続き (72)発明者 林 知博 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 斉藤 一彦 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 下雅意 義徳 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内Front Page Continuation (72) Inventor Tomohiro Hayashi 1015 Kamiodanaka, Nakahara-ku, Kawasaki-shi, Kanagawa, Fujitsu Limited (72) Inventor Kazuhiko Saito 1015 Kamedota, Nakahara-ku, Kawasaki, Kanagawa Prefecture, Fujitsu Limited (72) Inventor Masayoshi Shimonori 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】それぞれローカルメモリ(25)を持つ複数
のプロセッサモジュール(11−i)と,これらの各プロ
セッサモジュールにバス結合される共用メモリ(10)と
を備えたマルチプロセッサシステムによるデータベース
処理方式において, データベースのある単位であるリソースごとに,共用処
理の対象になるか局所処理の対象になるかを記憶するデ
ータベース管理情報記憶部(20)と, データベースに対するアクセス依頼に対し,上記データ
ベース管理情報記憶部の設定情報に従って,アクセスの
ための制御を,各プロセッサモジュールにおいてシンメ
トリックに処理する共用処理または非シンメトリックに
処理する局所処理のいずれかで行うアクセス管理部(2
3)と, データベースのある単位であるリソースごとにアクセス
状況を管理し,アクセス頻度が特定なプロセッサモジュ
ールに偏在しているとき,そのリソースをその特定なプ
ロセッサモジュールによる局所処理対象とし,アクセス
頻度が特定なプロセッサモジュールに偏在していないと
き,そのリソースを共用処理対象とする共用・局所変更
制御部(24)とを備えたことを特徴とするマルチプロセ
ッサによるデータベース処理方式。
1. A database processing system by a multiprocessor system comprising a plurality of processor modules (11-i) each having a local memory (25) and a shared memory (10) bus-coupled to each of these processor modules. In database, a database management information storage unit (20) that stores, for each resource, which is a unit of the database, whether to be a target of shared processing or a target of local processing, and the database management information for the access request to the database. According to the setting information in the storage unit, the access control unit performs access control by either shared processing which is processed symmetrically in each processor module or local processing which is processed non-symmetrically in each processor module (2
3), the access status is managed for each resource that is a unit of the database, and when the access frequency is unevenly distributed to a specific processor module, the resource is targeted for local processing by the specific processor module and the access frequency is A database processing method by a multiprocessor, characterized by comprising a shared / local change control unit (24) for sharing the resource when the resource is not unevenly distributed to a specific processor module.
JP1068815A 1989-03-20 1989-03-20 Database processing method by multiprocessor Expired - Fee Related JPH07120305B2 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP1068815A JPH07120305B2 (en) 1989-03-20 1989-03-20 Database processing method by multiprocessor
CA002011807A CA2011807C (en) 1989-03-20 1990-03-15 Data base processing system using multiprocessor system
AU52001/90A AU614225B2 (en) 1989-03-20 1990-03-19 Data base processing system using multiprocessor system
DE69032337T DE69032337T2 (en) 1989-03-20 1990-03-20 Database processing system using multiprocessor system
KR1019900003741A KR930000853B1 (en) 1989-03-20 1990-03-20 Database processing system using multiprocessor system
ES90302972T ES2116267T3 (en) 1989-03-20 1990-03-20 DATABASE TREATMENT SYSTEM USING A MULTIPROCESSOR SYSTEM.
US07/495,982 US5649184A (en) 1989-03-20 1990-03-20 Symmetric/asymmetric shared processing operation in a tightly coupled multiprocessor
EP90302972A EP0389242B1 (en) 1989-03-20 1990-03-20 Data base processing system using multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1068815A JPH07120305B2 (en) 1989-03-20 1989-03-20 Database processing method by multiprocessor

Publications (2)

Publication Number Publication Date
JPH02247748A JPH02247748A (en) 1990-10-03
JPH07120305B2 true JPH07120305B2 (en) 1995-12-20

Family

ID=13384591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1068815A Expired - Fee Related JPH07120305B2 (en) 1989-03-20 1989-03-20 Database processing method by multiprocessor

Country Status (1)

Country Link
JP (1) JPH07120305B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7599910B1 (en) 1993-11-16 2009-10-06 Hitachi, Ltd. Method and system of database divisional management for parallel database system
JP5625450B2 (en) * 2010-03-31 2014-11-19 富士通株式会社 Distributed processing apparatus, distributed processing program, and distributed processing method

Also Published As

Publication number Publication date
JPH02247748A (en) 1990-10-03

Similar Documents

Publication Publication Date Title
US5649184A (en) Symmetric/asymmetric shared processing operation in a tightly coupled multiprocessor
CN100422940C (en) System and method of arbitrating access of threads to shared resources within a data processing system
EP0428006A2 (en) Multilevel locking system and method
US8051422B2 (en) Resource assignment method for query partioning based on processing cost of each partition
US10452686B2 (en) System and method for memory synchronization of a multi-core system
US5485573A (en) Method and apparatus for assisting in the determination of the source of errors in a multi-host data base management system
US6457107B1 (en) Method and apparatus for reducing false sharing in a distributed computing environment
JP2690435B2 (en) Multiprocessor system having microprogram means for dispatching processing to a processor
US9088569B2 (en) Managing access to a shared resource using client access credentials
JPH07120305B2 (en) Database processing method by multiprocessor
US8689230B2 (en) Determination of running status of logical processor
JP2552759B2 (en) Database processor by multiprocessor
JPH06348661A (en) Inter-multiprocessor exclusive control system
JPH08180025A (en) Scheduling device
US5062046A (en) Multiple processor system having a correspondence table for transferring processing control between instruction processors
JPS603229B2 (en) Information processing method
JP2517859B2 (en) Parallel process management method
KR101924466B1 (en) Apparatus and method of cache-aware task scheduling for hadoop-based systems
US20080209427A1 (en) Hardware Register Access Via Task Tag Id
JP2787107B2 (en) Buffer control system and device
JPH0310343A (en) Hot spot data management processing system
JPS63113637A (en) Exclusive processing system for hash table entry
JPH11120013A (en) Process request distribution method of multiprocessor system
CN116226081A (en) Database elastic expansion method and device, electronic equipment and storage medium
JPH09319708A (en) On-line control process substitution system

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees