JPH08137910A - Parallel data base processing method and its executing device - Google Patents

Parallel data base processing method and its executing device

Info

Publication number
JPH08137910A
JPH08137910A JP6280709A JP28070994A JPH08137910A JP H08137910 A JPH08137910 A JP H08137910A JP 6280709 A JP6280709 A JP 6280709A JP 28070994 A JP28070994 A JP 28070994A JP H08137910 A JPH08137910 A JP H08137910A
Authority
JP
Japan
Prior art keywords
load
processor
processing
db
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.)
Pending
Application number
JP6280709A
Other languages
Japanese (ja)
Inventor
Yutaka Hosoya
Kazuo Masai
一夫 正井
豊 細矢
Original Assignee
Hitachi 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 Hitachi Ltd, 株式会社日立製作所 filed Critical Hitachi Ltd
Priority to JP6280709A priority Critical patent/JPH08137910A/en
Publication of JPH08137910A publication Critical patent/JPH08137910A/en
Application status is Pending legal-status Critical

Links

Abstract

PURPOSE: To improve the through-put of the whole system by predicting the load of requested processing in parallel DB processing so that the load of respective processors can be equalized.
CONSTITUTION: Predicted execution time in each DB engine processor to be executed is found out based upon a load calculation expression corresponding to structured query language(SQL) estimating information 133 in processing obtained by optimization and allowed to be executed as predicted execution time to be written in a DB engine load table 132. The sum of the load of all DB engine processors, is added to a load estimation value recorded in an SQL load table 131 as the load of a corresponding request analyzing schedule processor. When the value is referred to by another processor, request analyzing schedule processing considering also request analyzing processing which is not executed yet as a load can be executed. Then an access request is outputted to the DB engine to operate data. After completing request analysis, a DB engine scheduler 124 adjusts a schedule and determines efficient processing order based upon the table 132.
COPYRIGHT: (C)1996,JPO

Description

【発明の詳細な説明】 DETAILED DESCRIPTION OF THE INVENTION

【0001】 [0001]

【産業上の利用分野】本発明は、並列処理技術に関し、 The present invention relates to relates to a parallel processing technology,
特に並列実行可能な複数のプロセッサを有しそれぞれのプロセッサで異なるデータベース(以下DBと略す)制御を行う並列DB処理方法に適用して有効な技術に関するものである。 In particular (hereinafter abbreviated as DB) different databases in each of the processors having a plurality of processors capable parallel execution to a technique effectively applied to a parallel DB processing method for performing control.

【0002】 [0002]

【従来の技術】複数の仕事を並行して処理するための複数のプロセッサを持つ処理システムにおいては、いかに複数個のプロセッサを効率良く均等に並行動作させるかが重要となる。 BACKGROUND OF THE INVENTION processing system having a plurality of processors for processing in parallel a plurality of jobs, how to a plurality of processors efficiently uniformly in parallel operation is important.

【0003】従来の並列処理システムにおいて、各プロセッサに負荷を分散する方法として、個々の負荷の大きさを考慮せずに順番に処理可能なプロセッサへ分配するラウンドロビンによる方法がある。 [0003] In the conventional parallel processing system, as a method for distributing the load on each processor, there is a method in a round-robin distribution to the size that can be processed sequentially without regard to the processor of the individual load. この場合、各負荷がほぼ均一であれば、高いスループットを得ることができる。 In this case, if the load is substantially uniform, it is possible to obtain a high throughput. しかし一般的な用途では、各負荷を構成する処理内容やデータの大きさにはばらつきがあることが多い。 However, in general use, there is often a variation in the size of the processing content and data constituting each load. 従って、ラウンドロビンによる方法で均等に割り当てたとしても、各プロセッサの負荷は均等にならない。 Therefore, even if equally allocated in the process according to the round robin, load of each processor does not become uniform.

【0004】その解決方法としては例えば特許出願公開番号平4−123252号で述べられているように、実行時間に実行優先度を乗じたもので各プロセッサの負荷を監視用のプロセッサが計測し、プロセッサの選択を行なう時点での計測値の差を均等化させる方向で、動的に処理をするプロセッサを選ぶ方法がある。 [0004] Solution The as described in patent application publication number Rights 4-123252 example, the load of each processor measures the processor for monitoring at multiplied by the execution priority in the execution time, in the direction to equalize the difference between the measured values ​​at the time of performing the selection of the processor, there is a method of selecting a processor to dynamically process. また、特許出願公開番号平3−88060号で述べられているように、各プロセッサが自分自身の負荷を把握しておき、負荷が最も小さいプロセッサが、負荷が高くなってしまったプロセッサの処理を代わりに受け付け、負荷分散するといった方法がある。 Further, as described in patent application publication No. flat 3-88060, each processor in advance to understand the load itself, the load is the smallest processor, the processing of the processor load has become high accepting instead, there is a method such load balancing.

【0005】これらの方法は過去の負荷状態を計測し負荷分散する指標として使っているので、実際に処理をして負荷にばらつきが出たものをそれ以上悪化させない働きをするに留まる。 [0005] These methods are used as an index for load distribution measures past load condition, remain what variations can actually handle to load acts not to deteriorate further.

【0006】 [0006]

【発明が解決しようとする課題】本発明者は、前記従来技術を検討した結果、以下の問題点を見いだした。 THE INVENTION Problems to be Solved] The present inventor has studied the prior art and found the following problems.

【0007】すなわち、上記従来技術では負荷分散するにあたり、過去の負荷状態を計測して負荷分散する指標としているため、均質な負荷が安定して入力されないと各プロセッサ間での負荷のばらつきが発生してしまうことを避けられない。 Namely, when load balancing is above prior art, since the past load state measured by the load distribution to the index, homogeneous load stable dispersion of load among the processors and not input by the occurrence inevitable that ends up. 不均質な負荷が入力される一般的な状況においては、負荷分散を正しく行なうことが出来ない。 In a typical situation in which heterogeneous load is inputted, it is impossible to perform load balancing correctly. DB処理要求を分散する際、各プロセッサの負荷を均等化することが並列システムのプロセッサを効率よく使いシステム全体のスループットを向上することになるので、負荷のばらつきはスループットの低下をもたらすという問題があった。 When dispersing the DB processing request, it means that to equalize the load on each processor can be improved efficiently use the throughput of the entire system of processors the parallel system, a problem that the variation of the load results in a decrease in throughput there were. また、一旦負荷のアンバランスが出来てしまうと、誤って割り当ててしまった負荷が処理されるまで、負荷のバランスを取り戻せない。 In addition, once the imbalance of the load would be, until the load you've accidentally assignment is processed, not regain the balance of the load.

【0008】本発明の目的は、過去の状況から推測された負荷だけでなく、要求された処理の負荷を予想し、各プロセッサの負荷を均等化することでシステム全体のスループットを高める技術を提供することにある。 An object of the present invention not only load that is estimated from past circumstances, provide a technique to predict the load of the requested processing, increasing the throughput of the entire system by equalizing the load of each processor It is to.

【0009】本発明の他の目的は、各プロセッサの処理終了時刻の予想に基づいて実行優先度を変化させ、システム全体のスループットを高める技術を提供することにある。 Another object of the present invention, by changing the execution priority based on the expected processing end time of each processor is to provide a technique for enhancing the throughput of the entire system.

【0010】本発明の他の目的は、要求された処理の負荷を予想し負荷を均等化する手段、各プロセッサの予想処理終了時刻により実行優先度を変化させる手段を提供することにある。 Another object of the present invention, the means to equalize the expected load the load of requested processing is to provide a means for changing the execution priority by predicted processing end time of each processor.

【0011】本発明の前記の目的と新規な特徴は、本明細書の記述及び添付図面によって明かになるであろう。 [0011] The objects and novel features of the present invention will become apparent from the description of this specification and the accompanying drawings.

【0012】 [0012]

【課題を解決するための手段】本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、 Among the inventions disclosed in the present application Means for Solving the Problems] To briefly explain the summary of typical,
下記のとおりである。 It is as follows.

【0013】(1)並列実行可能な複数の処理装置からなり、DB処理要求を受け付けるプロセッサが複数存在する並列DB処理装置における並列DB処理方法において、DB処理要求を行うユーザプログラムからのDB接続要求に対して、一旦、全DB処理要求受付プロセッサのDB処理要求負荷を管理するプロセッサで、最も負荷の低いプロセッサを選び、当該プロセッサを当該DB処理要求に対するDB処理要求受付プロセッサとし、当該DB処理要求受付プロセッサは、受け付けたDB処理要求の予想負荷をDB処理要求受付プロセッサのDB処理要求負荷を管理するプロセッサへ連絡し、負荷情報に加えることで、複数のDB処理要求受付プロセッサの負荷を現在状況だけでなく今後予約された負荷についても加味して均等化する [0013] (1) a parallel executable plurality of processing units, in a parallel DB processing method in a parallel DB processing device processor for receiving the DB processing request there are a plurality, DB connection request from a user program for DB processing request respect, once the processor to manage the DB processing required load for all DB process request receiving processor to select the least loaded processor, the processor and DB process request receiving processor with respect to the DB processing request, the DB processing request reception processor communicates the expected load of the accepted DB processing request to the processor that manages the DB processing request load of the DB process request receiving processor, by adding to the load information, the current situation the load of the plurality of DB processing request receiving processor equalized by taking into account also the load that is reserved future not only のである。 Than is.

【0014】(2)並列実行可能な複数の処理装置からなり、DB処理要求を受け付けるプロセッサが複数存在する並列DB処理装置における並列DB処理方法において、DB処理要求を行うユーザプログラムからのDB接続要求に対して、一旦、DB処理要求受付プロセッサでDB処理要求を解析し、個々のDB処理要求プロセッサのDB処理要求負荷を管理するプロセッサへ連絡し、複数のDB処理要求受付プロセッサで、最終プロセッサとならないプロセッサは指定された時間まで優先度を低くして実行し、最終プロセッサとなるプロセッサは最優先で実行して、負荷の大きいプロセッサを優先して実行することで待ち時間が最少となるようにスケジュールするものである。 [0014] (2) Parallel consists executable plurality of processing units, in a parallel DB processing method in a parallel DB processing device processor for receiving the DB processing request there are a plurality, DB connection request from a user program for DB processing request respect, once analyzed the DB processing requests DB process request receiving processor, contact the processor to manage the DB processing load demand of the individual DB processing request processor, a plurality of DB process request receiving processor, and a final processor become not processor executes with a lower priority to a specified time, the processor which is the final processor running at top priority, a large processor load as latency by executing preferentially is minimized it is intended to schedule.

【0015】(3)並列実行可能な複数の処理装置からなり、DB処理要求を受け付けるプロセッサが複数存在する並列DB処理装置において、要求されたDB処理の負荷を予想して複数のプロセッサの負荷を均等化する手段と、各プロセッサの予想処理終了時刻に基づいて実行優先度を変化させて待ち時間を最少とする手段を備えるものである。 [0015] (3) a plurality of processor capable parallel execution, the parallel DB processing device processor there are a plurality of accepting a DB process request, a load of a plurality of processors in anticipation of load of the requested DB processing means for equalizing is a waiting time while changing the execution priority based on the expected processing end time of each processor as it has the means to minimize.

【0016】(4)前記(3)の並列DB処理装置において、要求されたデーターベース処理の負荷を予想して複数のプロセッサの負荷を均等化する手段は、負荷のスケジュールを行なう要求解析スケジューラを持ち、現在の各プロセッサの負荷状態を把握し保持する記憶手段(負荷情報パネル)、要求された処理内容を分析してその負荷を予想する手段、過去受け付けた負荷予想値の合計が最も小さいプロセッサに処理を割り振る手段、実際の処理を受け持つプロセッサが全て受け付け可能な負荷の限界を越えている場合に要求受け付けを拒否する手段、実行に先だって要求された処理を実行するのに必要な時間を算出し負荷情報パネルに足し込む手段、要求された処理が終了した時点で、負荷情報パネルに足し込んだ時間を減ずる手段を [0016] (4) in the parallel DB processing apparatus of (3), means for equalizing the load of the plurality of processors in anticipation of load of the requested database processing, the request analysis scheduler that performs scheduling of the load has a storage means (load information panels) for holding grasp the current load state of each processor, means for predicting the load by analyzing the requested processing content, the smallest processor total of past received load forecasts means for allocating processing, the actual processing unit rejects the request acceptance when the processor exceeds the limits of all possible reception load responsible for, calculates the time required to execute the requested processing prior to execution and it means Komu added to the load information panel, when the requested processing is completed, the means for reducing the elaborate's time added to the load information panel つものである。 One is intended.

【0017】(5)前記(3)の並列DB処理装置において、各プロセッサの予想処理終了時刻に基づいて実行優先度を変化させて待ち時間を最少とする手段は、DB [0017] (5) means to minimize the parallel DB processing apparatus, the waiting time by changing the execution priority based on the expected processing end time of each processor of said (3), DB
エンジンスケジューラを持ち、要求された処理内容の解析で得られた情報から各DBエンジンプロセッサにDB Having an engine scheduler, DB from the information obtained by the analysis of the requested processing items in each DB engine processor
アクセス要求をする手段、負荷情報パネルの総CPU処理終了時刻見て処理実行優先度を切り替える時刻を設定する手段、DBエンジンプロセッサが、指定された優先度切り替え時刻まで低優先度で実行し、該切り替え時刻後は高優先度で実行する手段を持つものである。 Means for the access request, means for setting the time for switching the total CPU processing end time look processing execution priority of the load information panel, DB engine processor, running at low priority until the specified priority switching time, the after the switching time is one having a means for executing a high priority.

【0018】 [0018]

【作用】上述した手段により、本発明の並列DB処理方法では、要求解析のスケジュール時は、現在解析中あるいはこれから解析する要求解析処理全ての負荷を考慮に入れた負荷を各解析プロセッサが負荷情報パネルに登録した負荷情報から知り、最も負荷の低いプロセッサへスケジュールする。 By the action] above means, in parallel DB processing method of the present invention, when scheduling the request analysis is currently analyzed during or each analysis processor load information the load taking into account the request analysis process all loads to be analyzed from this to know from the load information registered in the panel, to schedule to the least busy processor. 要求内容を解析するプログラムには、 The program to analyze the request content,
実行に先だって要求内容を実行するのに必要な時間を算出し負荷情報パネルに足し込む。 Calculating a time required to perform a prior request to the running Komu added to the load information panel. さらに実際の要求内容実行が終了した時点で、負荷情報パネルに足し込んだ時間を減ずる。 Furthermore the actual requirements when the content execution is completed, reduce the elaborate's time added to the load information panel. このことで、負荷情報パネルは、現時点で各プロセッサに割り当てた負荷を反映することになる。 In this, the load information panel will reflect the load assigned to each processor at this time.

【0019】DBエンジンプロセッサのスケジュール時は、各プロセッサの総CPU処理終了時刻に今回のDB [0019] The schedule at the time of the DB engine processor, this time to the total CPU processing end time of each processor DB
処理要求に基づく各プロセッサで必要となる予想処理時間を加え、最終終了プロセッサの時刻を求める。 Required by each processor based on the processing request expected processing time was added to determine the time of the last ended processor. 各プロセッサにおいては、今回の予想負荷を最終プロセッサの終了時刻になるまえに終わらせるために、最低処理を開始しないと間に合わなくなる時刻を優先度切り替え時刻とする。 In each processor, to end before the the current expected load to the end time of the last processor, a time no longer in time not to start the minimum processing and priority switching time. 優先度切り替え時刻より前には、他の処理を追い抜かせて実行してもよいが、優先度切り替え時刻以降は最高優先度で実行させ、自分が最終完了時刻を遅らせないように実行調整を行なう。 Prior to the priority switching time may be performed by overtake the other processes, but the priority switching time later is executed at the highest priority, the execution adjusted so that they do delay the final completion time . この制御を行なうことでトータルの待ち時間を最少とし、スループットを向上させることができる。 The latency of total by performing this control is minimized, thereby improving the throughput.

【0020】 [0020]

【実施例】以下、本発明の一実施例を図1から図8を参照しながら説明する。 EXAMPLES Hereinafter, with reference to FIG. 8 an embodiment of the present invention from FIG.

【0021】図1は、本発明を実施するDB処理システムの全体構成図である。 [0021] FIG. 1 is an overall configuration diagram of a DB processing system embodying the present invention.

【0022】図1においてDB処理システム11は、複数のプロセッサからなる並列DB処理の負荷を均等化するためのシステムであり、各処理プロセッサ12と各処理プロセッサ間で情報の共用が可能な共有記憶装置1 The DB processing system 11 in FIG. 1 is a system for equalizing the load of the parallel DB processing consisting of a plurality of processors, sharing is a shared storage of information among the processors and each processor 12 device 1
3、外部記憶装置14、各処理プロセッサ間で通信を行うための高速通信路15、共有記憶装置をアクセスするための共有記憶接続装置16、外部との通信装置17、 3, external storage device 14, high-speed communication path 15 for communication between the processors, the shared memory shared storage connected device 16 for accessing the external and the communication device 17,
端末等の外部からのデータ入出力装置18からなる。 And a data input-output device 18 from the external terminal or the like. ここで、高速通信路15は、各プロセッサを接続するバスでも良いし、公衆回線等の通信回線でも良い。 Here, high-speed communication channel 15 may be a bus for connecting each processor may be a communication line such as public line. 処理プロセッサには要求入力部121と入力した構造化照会言語(SQL)をどのプロセッサで処理するか決める要求解析スケジューラ122、実際にSQLを解析しDBエンジンアクセスの単位に分解する要求解析プロセッサ12 Processing request analysis scheduler 122 to decide the processor to process at which processor the inputted Structured Query Language (SQL) and request input unit 121, actually degrade the unit of analysis and DB engine accesses the SQL request analyzing processor 12
3、各DBエンジンアクセス単位をどういった順序で処理するか決めるDBエンジンスケジューラ124、外部記憶装置中に存在する各DBを実際にアクセスするDB 3, DB engine scheduler 124 decide what to do with said order of each DB engine access unit, DB actually accessing each DB present in the external storage device
エンジン125のプログラムが動作する。 Program of the engine 125 to operate. また各プロセッサは、その時点での時刻(現在時刻)を得る現在時刻取得手段を持つ。 And each processor has a current time acquiring means for obtaining the time (current time) at that time.

【0023】共有記憶装置13上には、負荷情報パネルとして、SQLの要求解析をする各プロセッサの負荷情報を持つSQL負荷テーブル131と各DBエンジン毎の予想処理時間情報を持つDBエンジン負荷テーブル1 [0023] in the shared memory 13, as the load information panel, DB engine load table 1 and SQL load table 131 with the load information of each processor to the request analysis of SQL with the expected processing time information of each DB engine
32、各SQL機能に対応する負荷の取得情報を持つS 32, S having obtained information of the load corresponding to the SQL function
QL見積り情報133が存在する。 QL estimate information 133 is present.

【0024】図2は、SQL負荷テーブル131の構成を示す。 FIG. 2 shows a configuration of a SQL load table 131. SQL負荷テーブル131は、各要求解析プロセッサに対応する個数分、各要求解析プロセッサ毎の負荷の度合を数値化した負荷見積り値201を持つ。 SQL load table 131, the number fraction corresponding to the request analysis processor, with the load estimated value 201 obtained by quantifying the degree of load of each request analyzing processor.

【0025】図3は、DBエンジン負荷テーブル132 [0025] Figure 3, DB engine load table 132
の構成を示す。 It shows the configuration. DBエンジン負荷テーブル132は、D DB engine load table 132, D
Bエンジンプロセッサに対応する個数分、DBエンジンプロセッサの負荷が全て無くなる総CPU処理終了時刻301、SQL見積り情報133より求める実行時間を記憶する予想実行時間302、総CPU処理終了時刻3 Number fraction, expected execution time 302 for storing the execution time determined from the total CPU processing end time 301, SQL estimate information 133 eliminates loading of the DB engine processor all, total CPU processing end time 3 corresponding to B engine processor
01と予想実行時間302の加算結果を一時的に保存する仮終了時刻303、仮終了時刻303のうち最大のものを保存する最遅終了時刻304、実行優先度を高くしてスケジュールをしなければならない時刻を示す優先度切り替え時刻305を持つ。 01 provisional end time 303 for temporarily storing the addition result of the expected execution time 302, latest end time 304 to store the largest of provisional end time 303, unless the schedule to increase the execution priority with the priority switching time 305 that shows become not time.

【0026】図4は、SQL見積り情報133の構成を示す。 [0026] FIG. 4 shows a configuration of a SQL estimate information 133. SQL見積り情報133はSQLの機能情報を列挙したSQL機能情報401とSQL機能情報401の各機能に対応する実行見積り時間計算式402を持つ。 SQL estimate information 133 has the execution estimated time calculation formula 402 corresponding to each function of the SQL function information 401 and SQL function information 401 that lists the function information of the SQL.
実行見積り時間計算式402はテーブルサイズ、データサイズ、ディスクアクセス速度、プロセッサ能力、機能毎の所要ステップ係数などを引数とする式であり必要情報を与えることで実行時間の予想が出来る。 Run estimated time calculation formula 402 table size, data size, the disk access speed, processor power, each function of the required steps coefficients including the expected execution time by giving necessary information is an expression for the argument can.

【0027】次に、要求されたDB処理の負荷を予想し、各プロセッサの負荷を均等化する方法について説明する。 Next, it predicted load of the requested DB process, a method for equalizing the load of each processor.

【0028】図5は要求解析をする場合の要求解析スケジュールプロセッサでの処理をフローチャートで示したものである。 [0028] FIG. 5 shows the process in the request analysis schedule processor in the case of a request analyzed by the flow chart. 端末等からSQLによるDBアクセス要求が発生すると要求入力部121は通信装置17によりアクセス情報を受け取り、要求解析スケジューラ122に制御を渡す(501)。 Request input unit 121 and the DB access request is generated by the SQL from the terminal or the like receives the access information by the communication device 17, and passes control to a request analysis scheduler 122 (501). 要求解析スケジューラ122はSQL負荷テーブル131中の負荷見積り値201を見て最も負荷の軽い要求解析プロセッサを探す(50 Request analysis scheduler 122 looks for a lighter request analysis processor the least busy by looking at the load estimated value 201 in SQL load table 131 (50
2)。 2). 探した要求解析プロセッサがスケジュール受付不可能なほどの負荷を持っているか調べ(503)その場合は通信装置17に対し要求拒否を送信する(50 Request analysis processor looking if either checked (503) that has a load enough schedule reception impossible sends a request rejection to the communication device 17 (50
4)。 4). スケジュール可能であれば要求解析プロセッサに要求解析処理をスケジュールする(505)。 To schedule a request analysis processing to the schedule if possible request analysis processor (505). スケジュールした最も負荷の軽い要求解析プロセッサにおいて、 In light request analysis processor the most load schedule,
各処理毎のアクセス時間をSQL見積り情報133により算出する。 The access time for each process is calculated by SQL estimate information 133. それら該当要求解析プロセッサが持つ事になるアクセス時間を負荷とし、負荷見積り値201に加算し格納することで次のSQLによるDBアクセス要求は、ここで更新した負荷見積り値201を見て要求解析プロセッサを決めることになる。 To them the appropriate request analysis access processor would be to have time and load, the load estimated value 201 DB access request by following SQL by storing the sum in the request analysis by looking at the load estimated value 201 updated here Processor It will determine the.

【0029】図6は要求解析をする場合の要求解析プロセッサでの処理をフローチャートで示したものである。 [0029] FIG. 6 shows the process in the request analysis processor in the case of a request analyzed by the flow chart.
要求解析処理が要求解析スケジュールプロセッサから発生すると(601)、従来の非並列DBの場合と同様にまずSQLの構文解析をし(602)、次に意味解析(603)、最適化と実行すべき処理への分解を行う。 When the request analysis process is generated from the request analysis schedule processor (601), and similarly first SQL parsing the case of the conventional non-parallel DB (602), then semantic analysis (603), to be optimized and executed carry out the decomposition of the processing.
最適化により得られた実行すべき処理についてSQL見積り情報133のSQL機能情報401に対応する実行見積り時間計算式402から負荷計算式を得て、その式に基づき実行が必要となるDBエンジンプロセッサ毎の予想実行時間をDBエンジン負荷テーブル132中の予想実行時間302に求める(604)。 To obtain a running estimated time calculation formula 402 from the load calculation formula corresponding to the SQL function information 401 of the SQL estimate information 133 about the process to be executed obtained by optimization, DB engine each processor is performed on the basis of the expression is required determining the expected execution time of the expected execution time 302 in the DB engine load table 132 (604). 全てのDBエンジンプロセッサの負荷合計は該当要求解析スケジュールプロセッサの持つ負荷としてSQL負荷テーブル131 SQL load table 131 total load of all the DB engine processor as a load with the appropriate request analysis schedule processor
の負荷見積り値201に加える(605)。 Add the load estimated value 201 (605). この値を他のプロセッサが参照することでまだ実行していない要求解析処理についても負荷として考慮に入れた要求解析スケジュール処理ができるようになる。 So that it is required analysis schedule processing taking into account the load also request analysis process is not already running by referring to the value other processors. この後実際にDB In fact DB after this
エンジンへアクセス要求を出しデータの操作をする(6 The operation of the data issues an access request to the engine (6
06)。 06). 全ての要求解析処理が完了したら605で加えた全てのDBエンジンプロセッサの負荷合計を該当要求解析スケジュールプロセッサのSQL負荷テーブルの負荷見積り値201から引き、見積った負荷値を全て完了し処理能力に余裕ができたことを通知する(607)。 Pull the total load of all the DB engine processor that all request analysis process is added at 605 After completing the appropriate request analysis schedule processor SQL load table of the load estimated value 201, spare processing capacity to complete all the load values ​​estimated to notify that could be (607).
要求解析処理の後処理を行い一連の要求解析処理は終了となる(608)。 Series of request analysis process performed post-request analysis process ends (608). 要求解析が終了したらDBエンジンスケジューラ124は、スケジュール待ち時間が最少となるようにスケジュールの調整を行い、DBエンジン負荷テーブル132を用いて効率的なDBエンジン内の処理順序を決定する。 DB engine scheduler 124 When the request analysis is completed, adjusts the schedule to schedule latency is minimized, determines the order of processing efficient in DB engine with DB engine load table 132.

【0030】次に、各プロセッサの予想される処理終了時刻を基に、実行優先度を変化させて待ち時間を減少させる方法について説明する。 Next, based on the expected processing end time of each processor, by changing the execution priority for a method of reducing the waiting time will be described.

【0031】図7はDBエンジンの実行優先順位を決めるDBエンジンスケジュールプロセッサでの処理をフローチャートで示したものである。 [0031] Figure 7 illustrates a flow chart of the process in the DB engine schedule processor for determining the execution priority of the DB engine. DBエンジンスケジュール要求がDBエンジンスケジュールプロセッサに発生すると(701)、要求解析処理の際設定されたDBエンジンプロセッサ毎の予想実行時間302をDBエンジン負荷テーブル132から得る(702)。 If DB engine schedule request is generated DB engine schedule processor (701), the estimated execution time 302 for each DB engine processor which is set when the request analysis process obtained from the DB engine load table 132 (702). 得た予想実行時間302に対応する総CPU処理終了時刻301は現在時刻取得手段により得た現在時刻より以前を示しているか調べる(703)。 Total CPU processing end time 301 corresponding to the expected execution time 302 obtained is checked whether shows earlier than the current time obtained by the current time acquisition unit (703). もし総CPU処理終了時刻3 If the total CPU processing time ends at 3
01が現在時刻より以前を示しているなら現在時刻に予想実行時間302を加算したものを仮終了時刻303とする(704)。 01 those obtained by adding the estimated duration 302 to the current time if shows a prior to the current time as the temporary end time 303 (704). もしそうでなければ総CPU処理終了時刻301に予想実行時間302を加算したものを仮終了時刻303とする(705)。 If the provisional end time 303 obtained by adding the estimated duration 302 unless the total CPU processing end time 301 so (705). 実行が必要となるプロセッサ毎に求めた仮終了時刻303の内、最後に終わるものを最遅終了時刻304とする(706)。 Execution of provisional end time 303 obtained for each processor required, those ending at the end and the latest end time 304 (706). 最遅終了時刻304からプロセッサ毎の予想実行時間302を減じ、優先度切り替え時刻305を求め、それぞれを優先度切替ポイントとして登録する(707)。 Subtracting the expected execution time 302 of each processor from the latest end time 304, obtains a priority switching time 305, and registers each of them as priority switching points (707). このとき、 At this time,
処理を実行するプロセッサが単一プロセッサの場合は、 If the processor executing the process is a single processor,
優先度切替ポイントを登録しない。 Do not register the priority switching point. 実行が必要となるプロセッサの総CPU処理終了時刻301は予想実行時間302を足し込み更新する(708)。 Run the total CPU processing end time 301 of the processor necessary updates summing the expected execution time 302 (708). DBエンジンプロセッサにスケジュール指示を出しDBエンジンスケジュールプロセッサでのスケジュール処理は終了する(7 Schedule processing of the DB engine schedule processor issues a schedule instructions to the DB engine processor is terminated (7
09)。 09).

【0032】各DBエンジンプロセッサでは、優先度切り替え指示付き処理と優先度切り替え指示なし処理とに分けてスケジュールする。 [0032] In each of the DB engine processor, the schedule is divided into a priority switching instruction with processing and priority switching instruction without processing. 優先度切り替え指示付き処理の場合、優先度切り替え時刻までは、通常より低い低優先度で実行する。 If priority switching instruction processor with, until the priority switching time, run at lower than normal lower priority. 優先度切り替え時刻が過ぎたら、通常より高い高優先度に切り替え実行する。 Once past the priority switching time, usually switching execution to a higher high priority. 優先度切り替え指示なし処理の場合、最初から通常優先度で実行する。 If priority switching instruction without treatment, run from the beginning in the usual priority.
優先順位の異なる優先度の処理が同一のDBエンジンで実行する場合、優先度の高い方を必ず優先して実行する。 If the processing of the different priority priority is executed in the same DB engine, executes always prioritized higher priority. 優先順位の同じものがある場合、先にスケジュールした方を必ず優先して実行する。 If there is the same thing of priority, to execute be sure to give priority to those who were scheduled earlier. 本スケジュール方法をとることで、複数プロセッサで処理する場合は、最終プロセッサとならないプロセッサでは、他の処理を追い抜かせて実行し、自分が最終プロセッサとなる場合は、最優先で実行することになる。 By adopting the scheduling method, when processing with multiple processors is a processor that do not last processor to execute by overtake the other process, if they become final processor will execute at the highest priority . 従って、できるだけ待ちとなる処理の実行を遅らせ、負荷の大きいプロセッサを優先して実行することで総待ち時間を減らせることになる。 Therefore, delay the execution of the possible waiting to become processed, it would be reduced the total latency by executing with priority larger processor load.

【0033】図8はDB処理方法でDBエンジンスケジュール要求が発生した場合、優先度切り替え時刻305 FIG. 8 is the case where DB engine scheduling request is generated DB processing method, the priority switching time 305
に基づき実行優先順位を制御するDBエンジンプロセッサでのスケジュール処理をフローチャートで示したものである。 It illustrates a flow chart of the scheduling process in the DB engine processor for controlling the execution priority based on.

【0034】スケジュール要求が発生(801)したらそのスケジュール要求がDBエンジンスケジュールプロセッサから新しく発生したスケジュール要求なのか優先度切り替え時刻305になったことで発生した優先度切り替え指示要求なのか判断する(802)。 The schedule request is generated (801) Once you the schedule request to determine whether a generated priority switching instruction request by now schedule request for the one priority switching time 305 newly generated from the DB engine schedule processor (802 ). 新しいスケジュール要求ならば現在時刻取得手段により得た現在時刻とスケジュールに要する時間を足した時間に余裕値を加えた基準時刻と優先度切り替え時刻305の値を比較する(803)。 If the new schedule request to compare the reference time obtained by adding a margin value to the time plus the current time and the time required to schedule obtained by the current time obtaining means and the value of the priority switching time 305 (803). もし優先度切り替え時刻305が基準時刻より以前を示しているなら通常優先度でスケジュールする(804)。 If priority switching time 305 is scheduled in the normal priority if shows a prior than the reference time (804). もしそうでないなら低優先度でスケジュール(805)し、優先度切り替え時刻305になったら高優先度でスケジュールするように優先度切り替え指示要求を発生させるようにDBエンジンスケジューラに指示(806)を出す。 If schedules (805) in a low priority if not, instructs (806) to the DB engine scheduler to generate a priority switching instruction requesting to schedule high priority Once become priority switching time 305 .

【0035】スケジュール要求の判断(802)の際、 [0035] In the judgment of the schedule request (802),
DBエンジンスケジュールプロセッサからの新しいスケジュール要求でなかった場合、これは806で登録した低優先度で動作していた処理が高優先度で実行すべき時間になり優先度切り替え指示要求が発生した状態であるので該当処理の優先度を高優先度に切り替る(80 If Not found new schedule request from the DB engine schedule processor, which is in a state of process operating at low priority registered with 806 high priority becomes to be time execution priority switching instruction request is generated there switched priority of the corresponding processing in the high priority because (80
7)。 7). 一連のDBエンジンプロセッサでのスケジュール処理が終了したら、次のスケジュール処理に移る(80 When the schedule processing of a series of DB engine processor is completed, the process moves to the next scheduled treatment (80
8)。 8).

【0036】なお、共有メモリが使用できない並列処理計算機の場合でも総負荷管理プロセッサを設け、当該プロセッサのメモリにDBエンジン負荷テーブル132及びSQL見積り情報133を管理させ、他のプロセッサは、当該管理プロセッサに問い合わせを行なう手段をとることで同等の方法を実現できる。 [0036] Even when the parallelism computer shared memory can not be used provided the total load management processor, the memory of the processor to manage the DB engine load table 132 and SQL estimate information 133, other processors, the management processor the equivalent method can be realized by taking the means to query the.

【0037】以上、本発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。 [0037] Although the present invention has been concretely described based on the embodiments, that the present invention is not limited to the above embodiments, and various modifications are possible within a scope not departing from the gist as a matter of course.

【0038】 [0038]

【発明の効果】本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記のとおりである。 To briefly explain advantageous effects obtained by typical ones of the inventions disclosed in the present application, according to the present invention, it is as follows.

【0039】すなわち、並列DB処理において、要求される処理の負荷を予想し、各プロセッサの負荷を均等化することでシステム全体のスループットを向上させることができる。 [0039] That is, in the parallel DB processing, anticipate the required processing load, it is possible to improve the throughput of the entire system by equalizing the load of each processor.

【0040】また、各プロセッサの負荷から処理終了時刻を予想し、これを基に実行優先度を変化させることで待ち時間を減少させ、システム全体のスループットを向上させることができる。 Further, predicted processing end time from the load of each processor, which reduces latency by changing the execution priority based on, it is possible to improve the throughput of the entire system.

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

【図1】本発明による一実施例の並列データベース処理方法の全体構成図である。 1 is an overall configuration diagram of a parallel database processing method of one embodiment according to the present invention.

【図2】本実施例のSQL負荷テーブル構成図である。 2 is a SQL load table configuration diagram of this embodiment.

【図3】本実施例のDBエンジン負荷テーブル構成図である。 3 is a DB engine load table configuration diagram of this embodiment.

【図4】本実施例のSQL見積り情報構成図である。 4 is a SQL estimate information configuration diagram of this embodiment.

【図5】本実施例の要求解析スケジュール方法流れ図である。 5 is a request analysis schedule process flow diagram of this embodiment.

【図6】本実施例の要求解析処理方法流れ図である。 6 is a request analysis processing method flow diagram of this embodiment.

【図7】本実施例のDBエンジンスケジュール方法流れ図である。 7 is a DB engine scheduling method flow diagram of this embodiment.

【図8】本実施例のDBエンジン実行優先順位設定方法流れ図である。 8 is a DB engine run priority setting method flow diagram of this embodiment.

【符号の説明】 DESCRIPTION OF SYMBOLS

11…並列DB処理システム、12…処理プロセサ、1 11 ... parallel DB processing system, 12 ... processing processor, 1
21…要求入力部、122…要求解析スケジューラ、1 21 ... request input unit, 122 ... request analysis scheduler, 1
23…要求解析プロセサ、124…DBエンジンスケジューラ、125…DBエンジン、13…共有記憶装置、 23 ... request analysis processor, 124 ... DB engine scheduler, 125 ... DB engine, 13 ... shared storage,
131…SQL負荷テーブル、132…DBエンジン負荷テーブル、133…SQL見積り情報、14…外部記憶装置、15…高速通信路、16…共有記憶接続装置、 131 ... SQL load table, 132 ... DB engine load table, 133 ... SQL estimate information, 14 ... external storage device, 15 ... high-speed communication path, 16 ... shared storage connection device,
17…通信装置、18…データ入出力装置、201…負荷見積り値、301…総CPU終了時刻、302…予想実行時間、303…仮終了時刻、304…最遅終了時刻、305…優先度切り替え時刻、401…SQL機能情報、402…実行見積り時間計算式、501…DBアクセス要求発生を示す、502…最も負荷の軽い要求解析プロセッサ選択処理、503…処理受付可能かの判断、504…拒否応答処理、505…要求解析プロセッサへのスケジュール処理、601…要求解析処理の発生を示す、602…構文解析処理、603…意味解析処理、604…予想実行時間算出処理、605…SQL負荷テーブルに予想実行時間の合計を加算、606…データの操作処理、607…SQL負荷テーブルから予想実行時間の合計を減算、6 17 ... communication device, 18 ... data input-output device, 201 ... load estimated value, 301 ... total CPU end time, 302 ... expected execution time, 303 ... temporary end time, 304 ... latest end time, 305 ... priority switching time , 401 ... SQL function information 402 ... execution time estimate equation, 501 ... showing the DB access request generation, 502 ... the most lightly loaded request analysis processor selection process, 503 ... processing availabilities of determination, 504 ... reject response process , 505 ... scheduling process to request analysis processor, 601 ... indicates the occurrence of a request analysis process, 602 ... syntax analysis processing, 603 ... semantic analysis processing, 604 ... expected execution time calculation process, expected execution time 605 ... SQL load table the total addition of 606 ... operation processing of the data, subtracting the sum of the estimated duration from 607 ... SQL load table, 6 8…要求解析処理終了を示す、701…DBエンジンスケジュール要求発生を示す、702…予想実行時間取得処理、703…総CPU 8 ... indicating the request analysis process ends, 701 ... DB engine showing a schedule request generation, 702 ... expected execution time acquisition processing, 703 ... total CPU
終了時刻と現在時刻の比較、704…現在時刻に予想実行時間を加算したものを仮終了時刻とする処理、705 End time and comparing the current time, 704 ... process of the provisional end time obtained by adding the estimated duration to the current time, 705
…総CPU終了時刻に予想実行時間を加算したものを仮終了時刻とする処理、706…仮終了時刻の中から最も遅いものを最遅終了時刻とする処理、707…最遅終了時刻から予想実行時間を引き優先度切り替え時刻を求める処理、708…総CPU終了時刻を優先度切り替え時刻で更新する処理、709…スケジュール終了処理、8 ... the process of a material obtained by adding the expected execution time to the total CPU time ends at the temporary end time, 706 ... the process of the latest end time of the slowest among the provisional end time, expected to run from the 707 ... latest end time process of obtaining the pull priority switching time to time, the process of updating with priority switching time the 708 ... total CPU end time, 709 ... schedule end processing, 8
01…スケジュール要求発生を示す、802…スケジュール要求種別の判断、803…基準時刻と優先度切り替え時刻の比較、804…通常優先度でのスケジュール、 01 ... indicating the schedule request generation, 802 ... determining scheduling request type, 803 ... reference time and the priority comparison of switching time, 804 ... normal scheduled at priority,
805…低優先度でのスケジュール、806…DBエンジンスケジュール要求登録処理、807…高優先度でのスケジュール、808…DBエンジンプロセッサスケジュール終了処理。 805 ... low priority schedule, 806 ... DB engine schedule request registration process, 807 ... high priority schedule, 808 ... DB engine processor scheduling completion processing.

Claims (3)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 並列実行可能な複数のプロセッサによるデータベース処理において、要求されたデータベース処理の負荷を予想し、複数のプロセッサの負荷を現在状況だけでなく今後予想される負荷についても加味して均等化することを特徴とする並列データベース処理方法。 1. A database processing by a plurality of processors capable parallel execution, we expect loads of the requested database processing, even taking into account also the loads that are anticipated not load multiple processors only the current situation parallel database processing method characterized by reduction.
  2. 【請求項2】 並列実行可能な複数のプロセッサによるデータベース処理において、各プロセッサの処理終了時刻の予想に基づいて実行優先度を変化させ、各プロセッサの待ち時間を最少とすることを特徴とする並列データベース処理方法。 2. A database processing by a plurality of processors capable parallel execution, parallel to changing the execution priority based on the expected processing end time of each processor, characterized in that the waiting time of each processor a minimum database processing method.
  3. 【請求項3】 並列実行可能な複数のプロセッサからなるデータベース処理装置において、要求されたデータベース処理の負荷を予想して複数のプロセッサの負荷を均等化する手段、各プロセッサの処理終了時刻の予想に基づいて実行優先度を変化させて待ち時間を最少とする手段の少なくともどちらか一方を備えることを特徴とする並列データベース処理装置。 3. A database processing apparatus comprising a plurality of processors capable parallel execution, means for equalizing the load of the plurality of processors in anticipation of load of the requested database operations, the expected processing end time of each processor parallel database processing apparatus, characterized in that it comprises at least either one of the means to minimize by changing the execution priority waiting time based.
JP6280709A 1994-11-15 1994-11-15 Parallel data base processing method and its executing device Pending JPH08137910A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6280709A JPH08137910A (en) 1994-11-15 1994-11-15 Parallel data base processing method and its executing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6280709A JPH08137910A (en) 1994-11-15 1994-11-15 Parallel data base processing method and its executing device

Publications (1)

Publication Number Publication Date
JPH08137910A true JPH08137910A (en) 1996-05-31

Family

ID=17628863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6280709A Pending JPH08137910A (en) 1994-11-15 1994-11-15 Parallel data base processing method and its executing device

Country Status (1)

Country Link
JP (1) JPH08137910A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758345A (en) * 1995-11-08 1998-05-26 International Business Machines Corporation Program and method for establishing a physical database layout on a distributed processor system
US6212516B1 (en) 1997-02-19 2001-04-03 Hitachi, Ltd. Parallel database management method and parallel database management system
JP2006293838A (en) * 2005-04-13 2006-10-26 Dainippon Printing Co Ltd Terminal device and diagnostic program
US7293092B2 (en) 2002-07-23 2007-11-06 Hitachi, Ltd. Computing system and control method
JP2009181577A (en) * 2008-01-31 2009-08-13 Hewlett-Packard Development Co Lp Intelligent data storage system
WO2018150481A1 (en) * 2017-02-15 2018-08-23 株式会社日立製作所 Data control method for distributed processing system, and distributed processing system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758345A (en) * 1995-11-08 1998-05-26 International Business Machines Corporation Program and method for establishing a physical database layout on a distributed processor system
US6212516B1 (en) 1997-02-19 2001-04-03 Hitachi, Ltd. Parallel database management method and parallel database management system
US6694312B2 (en) 1997-02-19 2004-02-17 Hitachi, Ltd. Database processing method and apparatus for processing data by analyzing query input
US7293092B2 (en) 2002-07-23 2007-11-06 Hitachi, Ltd. Computing system and control method
JP2006293838A (en) * 2005-04-13 2006-10-26 Dainippon Printing Co Ltd Terminal device and diagnostic program
JP2009181577A (en) * 2008-01-31 2009-08-13 Hewlett-Packard Development Co Lp Intelligent data storage system
WO2018150481A1 (en) * 2017-02-15 2018-08-23 株式会社日立製作所 Data control method for distributed processing system, and distributed processing system

Similar Documents

Publication Publication Date Title
US7197577B2 (en) Autonomic input/output scheduler selector
US8285966B2 (en) Autonomic self-tuning of database management system in dynamic logical partitioning environment
US7140020B2 (en) Dynamic management of virtual partition computer workloads through service level optimization
US7020879B1 (en) Interrupt and exception handling for multi-streaming digital processors
KR101600129B1 (en) Application efficiency engine
US8793695B2 (en) Information processing device and information processing method
US8185908B2 (en) Dynamic scheduling in a distributed environment
EP2176751B1 (en) Scheduling by growing and shrinking resource allocation
US8423534B2 (en) Actively managing resource bottlenecks in a database system
US6578064B1 (en) Distributed computing system
US5924097A (en) Balanced input/output task management for use in multiprocessor transaction processing system
US7899966B2 (en) Methods and system for interrupt distribution in a multiprocessor system
JP3037182B2 (en) Task management system
US8775413B2 (en) Parallel, in-line, query capture database for real-time logging, monitoring and optimizer feedback
US7712102B2 (en) System and method for dynamically configuring a plurality of load balancers in response to the analyzed performance data
US20100250642A1 (en) Adaptive Computing Using Probabilistic Measurements
US5745778A (en) Apparatus and method for improved CPU affinity in a multiprocessor system
US4727487A (en) Resource allocation method in a computer system
US20050022173A1 (en) Method and system for allocation of special purpose computing resources in a multiprocessor system
US20040163085A1 (en) Method to distribute programs using remote java objects
US5790851A (en) Method of sequencing lock call requests to an O/S to avoid spinlock contention within a multi-processor environment
CA2382017C (en) Workload management in a computing environment
US20050076043A1 (en) Workload scheduler with resource optimization factoring
EP1286264A2 (en) Device for task scheduling with priority levels
JP2012514780A (en) Method, system, and computer program for prioritization for contention arbitration in transaction memory management (priority for contention arbitration in transaction memory management)