JP2000047916A - データベース管理システム - Google Patents

データベース管理システム

Info

Publication number
JP2000047916A
JP2000047916A JP10214487A JP21448798A JP2000047916A JP 2000047916 A JP2000047916 A JP 2000047916A JP 10214487 A JP10214487 A JP 10214487A JP 21448798 A JP21448798 A JP 21448798A JP 2000047916 A JP2000047916 A JP 2000047916A
Authority
JP
Japan
Prior art keywords
processing
resources
unit
paths
processing unit
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
JP10214487A
Other languages
English (en)
Inventor
Minoru Tamura
稔 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP10214487A priority Critical patent/JP2000047916A/ja
Publication of JP2000047916A publication Critical patent/JP2000047916A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 必要タスク数を正確に算出して割当て、かつ
不要なタスクを解放することを可能にする並列処理にお
けるタスク管理システムを提供する。 【解決手段】 階層的に処理される複数の処理単位から
なり、その複数の処理単位のうち最上位の処理単位と末
端の処理単位を含む複数の処理パスを含む処理グループ
を複数の資源により並列処理可能なデータベース管理シ
ステムにおいて、処理グループに含まれる複数の処理単
位の各々の処理順序を決定し、複数の処理パスの各々に
対して、各処理パスに含まれる全ての処理単位を同時に
処理するために必要な資源数のうち、最大の資源数の資
源を確保し、確保された資源を用いて決定された処理順
序に基づいて各処理単位を処理し、複数の処理単位の各
々の処理終了時に、複数の処理パスの各々に対して、処
理された処理済処理単位を除いた各処理パスに含まれる
全ての処理単位を同時に処理するために必要な資源数の
うち最大の資源数と、確保されている資源数との差分の
数の資源を解放するデータベース管理システムを提供す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベースへの
並列処理が可能なコンピュータシステムにおけるタスク
管理システムに関し、とりわけ、複数の処理プロセスグ
ループの実行順が階層構造を持つ時、必要タスク数を正
確に見積もってタスクを確保/解放することにより、効
率的にタスクを利用するタスク管理システムに関する。
【0002】
【従来の技術】従来、データベースに対する問い合わせ
を並列に処理するシステムにおいて、複数の処理プロセ
スグループが階層的になっている場合、問い合わせ処理
実行中に同時に必要となる最大のタスク数は、各処理プ
ロセスグループが必要とするタスク数と、複数の処理プ
ロセスグループを同時に実行する必要があるか否かの状
況から決定しており、処理の最初でそのタスク数分のタ
スクを確保して処理を行っていた。
【0003】タスク管理機能を持つコンピュータの並列
処理方式を、過去の特許出願から遡及調査すると、ま
ず、特開昭61−145674号公報には、オブジェク
ト指向モデルにおけるオブジェクトをプロセッサのタス
クとして扱い、タスク管理機構により、モデル管理プロ
セッサ上の仮想記憶装置に対するオブジェクトまたはオ
ブジェクト群を上記タスクとして生成し、これをタスク
割当て機構により複数の物理プロセッサに割当て、上記
タスク間で相互通信させることにより、上記オブジェク
トの並列処理を可能とする技術が開示されている。
【0004】次に、特開平7−98663号公報には、
非同期I/Oバッファと、ユーザプログラムの優先度に
対応して生成された非同期I/O実行タスクのアドレス
とタスク状態とを管理する非同期I/O実行タスク管理
テーブルを設けて、データのI/Oへの書き込みに優先
度を与える技術が開示されている。
【0005】次に、特開平9−319653号公報に
は、マルチプロセッサ下で生成されかつ配置される分散
タスクが使用する仮想記憶領域に対して物理的な記憶領
域を割り当てる技術が開示されている。該割り当ては、
既存のタスクに対する既割り当てを考慮してなされる。
【0006】
【発明が解決しようとする課題】ところで、上記の従来
技術には、次のような問題点があった。第1の問題点
は、一つの問い合わせ処理の実行中は、他の問い合わせ
の実行が待たされる可能性が大きいということである。
その理由は、この方式では、問い合わせ処理実行中に使
わなくなったタスクも、すべての処理が終了するまで確
保したままとしているからである。第2の問題点は、十
分なタスク数がなければ問い合わせ処理ができないか、
又は、実行が待たされる可能性があるということであ
る。その理由は、この方式では、各処理プロセスグルー
プは、必要とされたタスク数以下では処理を実行させる
ことができないからである。
【0007】上記の特開昭61−145674号公報に
開示された技術では、生成されるタスクとオブジェクト
との対応は適宜でよいとしている。すなわち、生成可能
なタスク数については考慮されていない。また、不要と
なったタスクの解放手段にまでは触れていない。
【0008】また、特開平7−98663号公報に開示
された技術は、データのI/Oへの入出力に際して優先
処理制御手段を与えることが要旨であり、階層構造を持
つ処理プロセスグループの必要タスク数の見積もりと余
剰タスクの解放を扱った技術ではない。
【0009】さらに、特開平9−319653号公報に
開示された技術は、生成されたタスクに対して、該生成
時に該タスクが使用する仮想記憶領域に対応する物理的
な記憶領域を割り当てる方法であって、やはり、処理プ
ロセスグループにおける必要タスクの見積もりと解放に
言及するものではない。
【0010】本発明は、以上のような従来の並列処理に
おけるタスク管理システムにおける問題点に鑑みてなさ
れたものであり、データ処理に伴うプロセスグループが
要求又は必要とするタスク数を正確に算出して該タスク
を確保し、かつ不要なタスクを解放することを可能にす
る並列処理におけるタスク管理システムを提供すること
を目的とする。
【0011】
【課題を解決するための手段】上記課題を解決するため
に、本発明の実施態様によれば、階層的に処理される複
数の処理単位からなり、その複数の処理単位のうち最上
位の処理単位と末端の処理単位を含む複数の処理パスを
含む処理グループを複数の資源により並列処理可能なデ
ータベース管理システムにおいて、処理グループに含ま
れる複数の処理単位の各々の処理順序を決定する決定手
段と、複数の処理パスの各々に対して、各処理パスに含
まれる全ての処理単位を同時に処理するために必要な資
源数のうち、最大の資源数の資源を確保する確保手段
と、確保手段によって確保された資源を用いて決定手段
によって決定された処理順序に基づいて各処理単位を処
理する処理手段と、処理手段による複数の処理単位の各
々の処理終了時に、複数の処理パスの各々に対して、処
理手段によって処理された処理済処理単位を除いた各処
理パスに含まれる全ての処理単位を同時に処理するため
に必要な資源数のうち最大の資源数と、確保されている
資源数との差分の数の資源を解放する解放手段を具備す
るデータベース管理システムを提供する。
【0012】また、上記のデータベース管理システムに
おいて、確保手段は、複数の処理パスの各々に対して、
各処理パスに含まれる全ての処理単位を同時に処理する
ために必要な資源数を満たさない確保可能な最大の資源
数を確保する確保手段をさらに具備し、処理パスの各々
は、確保手段によって確保された資源数を確保可能な最
大資源数と設定する手段と、確保可能な最大資源数に基
づいて、最上位の処理単位から順に各処理単位の処理に
必要な資源数を割り当てる手段と、割り当て手段によっ
て各処理単位の処理に必要な資源数が割り当てられる度
に、確保可能な最大資源数から処理単位に割り当てられ
た資源数を減じた値に確保可能な最大資源数を更新する
手段とを有し、処理手段は、決定手段により決定された
各処理単位の処理順序に基づいて、割り当て手段によっ
て割り当てられた各処理単位に必要な資源数を利用して
対応する処理単位の処理を行う手段からなり、解放手段
は、処理手段による複数の処理単位の各々の処理終了時
に、複数の処理パスの各々に対して、各処理パスに含ま
れる処理手段によって処理された処理単位を除く全ての
処理単位に対する割り当て手段によって割り当てられた
処理単位の処理に必要な資源数の総和と、確保されてい
る資源数との差分の数の資源を解放する手段からなるこ
とが可能である。
【0013】さらに、上記のデータベース管理システム
において、複数の処理パスに含まれる末端の処理単位
は、データベースを有する記憶媒体へのデータの読み書
きを行うアクセス手段からなり、末端の処理単位の処理
に利用される資源数は、アクセス手段によってデータの
読み書きを行うデータを有する記憶媒体へ同時にアクセ
ス可能なアクセス数を最大値とすることが可能である。
【0014】他には、複数の資源を有し、資源による並
列処理が可能なデータベース管理システムにおいて、処
理対象を階層的に処理される複数の処理単位からなる処
理グループに区分するステップと、処理グループに含ま
れる複数の処理単位のうち最上位の処理単位と末端の処
理単位を含む複数の処理パスに区分するステップと、処
理グループに含まれる複数の処理単位の各々の処理順序
を決定するステップと、複数の処理パスの各々に対し
て、各処理パスに含まれる全ての処理単位を同時に処理
するために必要な資源数のうち、最大の資源数の資源を
確保するステップと、確保するステップによって確保さ
れた資源を用いて決定手段によって決定された処理順序
に基づいて各処理単位を処理するステップと、処理する
ステップによる複数の処理単位の各々の処理終了時に、
複数の処理パスの各々に対して、処理するステップによ
って処理された処理済処理単位を除いた各処理パスに含
まれる全ての処理単位を同時に処理するために必要な資
源数のうち最大の資源数と、確保されている資源数との
差分の数の資源を解放するステップからなるデータベー
ス管理方法を提供する。
【0015】また、上記のデータベース管理方法におい
て、確保するステップは、複数の処理パスの各々に対し
て、各処理パスに含まれる全ての処理単位を同時に処理
するために必要な資源数を満たさない確保可能な最大の
資源数を確保するステップをさらに具備し、処理パスの
各々を処理するステップは、確保するステップによって
確保された資源数を確保可能な最大資源数と設定するス
テップと、確保可能な最大資源数に基づいて、最上位の
処理単位から順に各処理単位の処理に必要な資源数を割
り当てるステップと、割り当てるステップによって各処
理単位の処理に必要な資源数が割り当てられる度に、確
保可能な最大資源数から処理単位に割り当てられた資源
数を減じた値に確保可能な最大資源数を更新するステッ
プを具備し、処理するステップは、決定するステップに
より決定された各処理単位の処理順序に基づいて、割り
当てるステップによって割り当てられた各処理単位に必
要な資源数を利用して対応する処理単位の処理を行うス
テップからなり、解放するステップは、処理するステッ
プによる複数の処理単位の各々の処理終了時に、複数の
処理パスの各々に対して、各処理パスに含まれる処理す
るステップによって処理された処理単位を除く全ての処
理単位に対する割り当てるステップによって割り当てら
れた処理単位の処理に必要な資源数の総和と、確保され
ている資源数との差分の数の資源を解放するステップか
らなることが可能である。
【0016】さらに、上記のデータベース管理方法にお
いて、複数の処理パスに含まれる末端の処理単位を処理
するステップは、データベースを有する記憶媒体へのデ
ータの読み書きを行うステップからなり、複数の処理パ
スに含まれる末端の処理単位を処理するために必要な資
源数を決定するステップは、末端の処理単位の処理に利
用される資源数は、アクセス手段によってデータの読み
書きを行うデータを有する記憶媒体へ同時にアクセス可
能なアクセス数を最大値として決定するステップからな
ることが可能である。
【0017】さらに他には、複数の資源を有し、資源に
よる並列処理が可能なデータベース管理システムにおい
て、処理対象を階層的に処理される複数の処理単位から
なる処理グループに区分するステップと、処理グループ
に含まれる複数の処理単位のうち最上位の処理単位と末
端の処理単位を含む複数の処理パスに区分するステップ
と、処理グループに含まれる複数の処理単位の各々の処
理順序を決定するステップと、複数の処理パスの各々に
対して、各処理パスに含まれる全ての処理単位を同時に
処理するために必要な資源数のうち、最大の資源数の資
源を確保するステップと、確保するステップによって確
保された資源を用いて決定手段によって決定された処理
順序に基づいて各処理単位を処理するステップと、処理
するステップによる複数の処理単位の各々の処理終了時
に、複数の処理パスの各々に対して、処理するステップ
によって処理された処理済処理単位を除いた各処理パス
に含まれる全ての処理単位を同時に処理するために必要
な資源数のうち最大の資源数と、確保されている資源数
との差分の数の資源を解放するステップを実行するプロ
グラムを記録した記録媒体を提供する。
【0018】また、上記の記録媒体において、確保する
ステップは、複数の処理パスの各々に対して、各処理パ
スに含まれる全ての処理単位を同時に処理するために必
要な資源数を満たさない確保可能な最大の資源数を確保
するステップをさらに具備し、処理パスの各々を処理す
るステップは、確保するステップによって確保された資
源数を確保可能な最大資源数と設定するステップと、確
保可能な最大資源数に基づいて、最上位の処理単位から
順に各処理単位の処理に必要な資源数を割り当てるステ
ップと、割り当てるステップによって各処理単位の処理
に必要な資源数が割り当てられる度に、確保可能な最大
資源数から処理単位に割り当てられた資源数を減じた値
に確保可能な最大資源数を更新するステップを具備し、
処理するステップは、決定するステップにより決定され
た各処理単位の処理順序に基づいて、割り当てるステッ
プによって割り当てられた各処理単位に必要な資源数を
利用して対応する処理単位の処理を行うステップからな
り、解放するステップは、処理するステップによる複数
の処理単位の各々の処理終了時に、複数の処理パスの各
々に対して、各処理パスに含まれる処理するステップに
よって処理された処理単位を除く全ての処理単位に対す
る割り当てるステップによって割り当てられた処理単位
の処理に必要な資源数の総和と、確保されている資源数
との差分の数の資源を解放するステップからなるステッ
プを実行するプログラムを記録することも可能である。
【0019】さらに、上記の記録媒体において、複数の
処理パスに含まれる末端の処理単位を処理するステップ
は、データベースを有する記憶媒体へのデータの読み書
きを行うステップからなり、複数の処理パスに含まれる
末端の処理単位を処理するために必要な資源数を決定す
るステップは、末端の処理単位の処理に利用される資源
数は、アクセス手段によってデータの読み書きを行うデ
ータを有する記憶媒体へ同時にアクセス可能なアクセス
数を最大値として決定するステップからなるステップを
実行するプログラムを記録することも可能である。
【0020】以下に本発明の作用を説明する。本発明
は、データベースに対する問い合わせを並列に処理する
システムにおいて、複数の処理プロセスグループの実行
順が階層的になっている場合、タスクを効率よく利用で
きる構成を提供するものである。
【0021】図1において、ユーザ11は、データベー
ス管理システム20に対して、データベースの問い合わ
せ要求を行う。データベース管理システム20内のスケ
ジュール部21では、その問い合わせ要求に対して、表
データの処理スケジュールをたてる。その際、資源管理
部23で、管理しているシステム内で使用可能なタスク
数を調べ、各処理プロセスグループで何タスク(何並
列)で動作するかを決定する。そして、すべての処理を
行うのに必要なタスク41の確保を資源管理部23に要
求する。実行部22では、作成されたスケジュールをも
とにデータ処理を実行し、各処理プロセスグループ終了
時には、スケジュール部21に問い合わせ、今後必要で
あるタスク数を決定する。この値が現在確保しているタ
スク数より小さければ、その差分のタスク数を解放す
る。最終的に得られた問い合わせ結果をユーザ11に返
却する。このようにして、必要なくなった時点でタスク
41を解放することができ、効率的にタスク41を利用
することを可能にする。
【0022】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。 (第1の実施の形態)図1は、本発明の第1の実施の形
態に係る並列処理におけるタスク管理システムの全体構
成を示す図である。
【0023】図1を参照すると、本発明の並列処理にお
けるタスク管理手段の一実施例は、ユーザ11が要求す
る問い合わせを分析し、データ処理の内容と順番および
処理タスク数をスケジュールするスケジュール部21
と、スケジュールされたデータ処理をデータベース31
に対して行う実行部22と、利用可能なタスク41を管
理し、確保解放を行う資源管理部23とから構成されて
いる。さらに、記録媒体25とアクセス可能なデバイス
24が接続されている。
【0024】資源管理部23は、システム内で利用でき
る全タスク数と現在未使用のタスク数を管理し、スケジ
ュール部21からの要求によりタスク41を割り当てた
り、実行部22からの要求によりタスク41の解放を行
ったりする。スケジュール部21は、ユーザ11の問い
合わせ要求に応じて、データ処理の内容と順番を決定す
る。詳細については後述する。実行部22は、スケジュ
ール部21でスケジュールされたデータ処理を行う。各
処理プロセスグループ終了ごとにスケジュール部21に
今後必要なタスク数を問い合わせ、確保されているタス
ク数より少ないタスク数だけが必要な場合には、資源管
理部23に確保されているタスクの解放を要求する。
【0025】なお、以下で使用する「処理プロセスグル
ープ」なる用語は、一つのタスクとしてまとめられる処
理プロセス全体を指す用語として使用しているが、特に
紛らわしくない場合は、これを、単に「プロセスグルー
プ」或いは「プロセス」と称して使用することがある。
【0026】図2は、本発明の第1の実施の形態に係る
並列処理におけるタスク管理システムのスケジュール部
21の処理を示すブロック図である。図2を参照する
と、スケジュール部21では、データ処理生成部211
において、ユーザ11の問い合わせ要求に応じて、デー
タ処理の内容と順番を決定する。
【0027】データ処理の内容には、データベースから
検索条件に適合するデータを検索したり、複数の表デー
タを結合するといった処理がある。このとき、処理プロ
セスグループタスク数テーブル215を作成し、処理内
容を格納する。次に、タスク数決定手段212を用い
て、必要なタスク数を決定し、処理プロセスグループタ
スク数テーブル215に決定したタスク数を格納する。
次に、上記で求められた全データ処理で必要な数のタス
クをタスク確保213を介して資源管理部23に要求す
る。
【0028】処理プロセスは、一般に、図4のような階
層的な構造をもっている。図4で、○は処理プロセスグ
ループを表し、その中の数字は処理する順番を表してい
る。→は左プロセスが右プロセスを立ち上げることを表
し、そのために左プロセスとして1つのタスクが必要に
なる。←→は2つのプロセスグループが同時に実行する
ことを表し、両方のプロセスグループで複数のタスクが
必要になる。末端の処理プロセスグループの処理タスク
数は最大でデータが格納されているディスク数である。
これは、これより多くのタスクがあっても、同じディス
クに同時に入出力することになり、I/Oネックになっ
てしまうためである。
【0029】末端以外の処理プロセスグループのタスク
数は下位のプロセスとの関係で決定される。下位プロセ
スと親子関係にある場合は下位プロセスを監視するため
のタスクが1つあるだけでよい。また、下位プロセスと
同時実行される場合は下位プロセスと同じタスク数とす
る。本実施の形態では、最下位の各プロセスグループか
ら必要なタスク数をボトムアップに積み上げることによ
って、全体の必要タスク数を算出する方法が採用され
る。
【0030】図6は、本発明の第2の実施の形態に係る
並列処理におけるタスク管理システムのスケジュール部
21のタスク数決定手段212の動作を示すフローチャ
ートである。図6のタスク数決定手段は、ある処理プロ
セスグループ以下の処理を実行するに際し、必要なタス
ク数を決定する手段である。
【0031】以下、図2,図4を参照しつつ、図6に示
す本発明の第2の実施の形態に係るタスク管理方法を適
用したシステムのスケジュール部21のタスク数決定手
段212の処理の流れを説明する。但し、図6におい
て、TTnは、決定すべきタスク数を示す。
【0032】まず、ステップB01で、TTnを0に初
期化する。次に、ステップB02で、プロセスグループ
に下位につながっているプロセスグループから未処理の
一つを取り出し、これを対象プロセスとする。ステップ
B03では、このタスク数決定手段を再帰的に実行し、
その結果得られるタスク数をTTmとする。
【0033】次に、ステップB04で、この下位プロセ
スとの関係が親子プロセスか同時実行プロセスか否かを
調べ、親子プロセスならステップB05に、同時実行プ
ロセスならステップB06に行く。ステップB05で
は、プロセスを起動するためのタスクが一つ必要なだけ
であるので、対象プロセス以下で必要なタスク数はTT
m+1となり、これを領域TMPに代入する。ステップ
B06では、子プロセスと同時に並列に実行されるの
で、子プロセスのタスク数Tmと同じタスク数が必要に
なる。そこで、対象プロセス以下で必要なタスク数は、
TTm+Tmとなり、これを領域TMPに代入する。
【0034】ステップB07では、領域TMPの値がT
TNより大きければTTnに、領域TMPの値を代入す
る。これにより、現在までの最大値がTTnに格納され
ていることになる。次に、ステップB08では、対象プ
ロセスには未処理の下位プロセスがあるか否かを調べ、
有るならステップB02に行き、無いなら終了する。上
記一連の処理の結果、TTmが決定されたタスク数であ
る。
【0035】次に、図4に示す例で、タスク数決定手段
を具体的に説明する。処理プロセスグループnの実行に
必要なタスク数をTn、処理プロセスグループn以下に
必要なタスク数をTTnとする。TTnは処理プロセス
グループnの直下の処理プロセスグループが一つの場合
であり、その処理プロセスグループ以下で必要なタスク
数をTTmとすると、親子プロセスならTTm+1、同
時実行プロセスならTTm+Tnである。直下の処理プ
ロセスグループが複数の場合には、一つずつで考えた場
合の大きい方とする。
【0036】各フェーズで必要なタスク数は、下記の表
1のようになる。ここで、T3はT2と同時実行の場合
のタスク数なので、T3=T2であり、同様に、T6は
T5と同時実行の場合のタスク数なので、T6=T5で
ある。処理開始時には、同時に実行する最大のタスク
数、すなわち、max(max(T1+1,T2+T3)+
2,T5+T6)+1個のタスクを確保する。
【表1】
【0037】図5は、各プロセスグループの終了時に実
行されるタスク解放決定手段の動作を示すフローチャー
トである。最初に、ステップA01では、実行部による
対象プロセスグループのデータ処理を実行する。その終
了時にステップA02では、最上位のプロセスに対し
て、タスク数決定手段212を実行し、今後必要なタス
ク数を決定する。
【0038】次に、ステップA03では、必要なタスク
数と確保されているタスク数とを比較し、必要なタスク
数の方が少なければ、ステップA04に行き、そうでな
ければ、ステップA05に行く。ステップA04では、
(確保されているタスク数)−(必要なタスク数)個の
タスクの解放を資源管理部に要求する。次に、ステップ
A05では、未処理プロセスグループがあるか否かを調
べ、有ればステップA01に行き、無ければ終了する。
【0039】次に、図4の例でタスク解放手段を具体的
に説明する。処理プロセスグループ1、3、4、6終了
時に、今後必要なタスク数を調べ、解放できるタスクが
有れば、解放する。例えば、処理プロセスグループ1終
了時の今後必要なタスク数は、タスク数決定手段212
を用いて、下記の表2のとおりに決定される。
【表2】
【0040】確保されているタスク数は、max(max(T
1+1,T2+T3)+2,T5+T6)+1であり、
今後全体で必要なタスク数は、max(T2+T3+2,
T5+T6)+1であるので、 max(T2+T3+2,T5+T6)+1<max(max
(T1+1,T2+T3)+2,T5+T6)+1 なる関係が成立する場合には、タスクを解放できる。ま
た、処理プロセスグループ4終了時の今後必要なタスク
数はタスク数決定手段を用いて、下記の表3のとおりに
決定される。
【表3】
【0041】処理プロセスグループ4終了時にタスクが
解放されていないとすると、確保されているタスク数
は、max(max(T1+1,T2+T3)+2,T5+T
6)+1であり、今後全体で必要なタスク数は、T5+
T6+1であるので、 T5+T6+1<max(max(T1+1,T2+T3)+
2,T5+T6)+1 なる関係が成立する場合にはタスクを解放できる。
【0042】(第2の実施の形態)図3は、本発明の第
2の実施の形態に係る並列処理におけるタスク管理シス
テムのスケジュール部21の処理を示すブロック図であ
る。本実施の形態に係るタスク管理方法を適用したシス
テムの全体構成は、第1の実施の形態に係るタスク管理
方法を適用したシステムの全体構成と同じである。ま
た、本実施の形態に係るタスク管理方法を適用したシス
テムのスケジュール部21は、図2に示す本発明の第1
の実施の形態に係るタスク管理方法を適用したシステム
のスケジュール部21にタスク調整手段214が加わっ
たものとなっている。
【0043】タスク調整手段214は、スケジュール時
にタスク数決定手段212で決定された必要タスク数が
タスク確保213で全部は確保できなかった場合に、タ
スク確保213から呼び出され、各処理プロセスグルー
プに上位のプロセスグループから下位のプロセスグルー
プに向かって順に、トップダウンに利用可能なタスク数
を割当てる。最上位の処理プロセスグループには、デー
タ処理全体の処理プロセスグループが置かれ、該データ
処理全体の処理プロセスグループに対して現在の状況に
おいて利用可能なタスク数が先ず割り当てられ、以下、
下位の処理プロセスグループへとトップダウンに利用可
能なタスク数が割当てられる。該トップダウンの割当て
の結果、各処理プロセスグループは、場合によっては、
当初に見積もった必要タスク数よりは少ないタスク数を
利用可能なタスク数として処理を実行することになる。
【0044】図7は、本発明の第2の実施の形態に係る
並列処理におけるタスク管理システムのスケジュール部
21のタスク調整手段214の動作を示すフローチャー
トである。図7に示すスケジュール部21は、タスク数
決定手段212で算出され、タスク確保213を介して
資源管理部23に要求された必要タスク数が、該要求し
たタスク数よりも少ない数しか確保できなかった場合
に、各処理プロセスグループのタスク数の調整を行うタ
スク調整手段である。対象プロセスグループの想定する
階層構造は、図4で示されるものとする。
【0045】以下、図3,図4を参照しつつ、図7に示
す本発明の第2の実施の形態に係るタスク管理方法を適
用したシステムのスケジュール部21のタスク調整手段
214の処理の流れを説明する。
【0046】最初に、ステップC01で、Nは、対象処
理プロセスグループ以下を実行させるために使用可能な
タスク数とする。また、Mは該対象処理プロセスグルー
プの下位処理プロセスグループ以下を実行するために使
用可能なタスク数とする。次に、ステップC02で、対
象処理プロセスグループの下位につながっている処理プ
ロセスグループから未処理の一つを取り出し、これを対
象処理プロセスグループとする。
【0047】次に、ステップC03で、この下位処理プ
ロセスグループとの関係が単なる親子プロセスか、それ
とも同時実行プロセスかを調べ、単なる親子プロセスな
らステップC04に、同時実行プロセスならステップC
05に行く。単なる親子プロセスならば、子プロセスを
起動するためのタスクが一つ必要なだけなので、下位プ
ロセス以下を実行するために(N−1)個のタスクを使
用することができる。従って、ステップC04では、M
=N−1とする。
【0048】同時実行プロセスでは子プロセスと同時に
並列に実行されるので、親プロセスと子プロセスで同数
のタスク数を使用することになり、下位プロセスで使用
できるタスク数は現在使用可能なタスク数の半分N/2
になる。従って、ステップC05ではM=N/2とす
る。次に、ステップC06で、対象下位プロセスに対し
て、使用可能なタスク数をMとして、再帰的にタスク調
整手段を実行する。
【0049】次に、ステップC07では、対象プロセス
には未処理の下位プロセスがあるか否かを調べ、有るな
らステップC02に行き、無いなら終了する。末端のプ
ロセスで使用可能とされたタスク数が調整されたタスク
数である。
【0050】次に図4に示す例で、図7に示すタスク調
整手段214によるタスク数の計算結果を具体的に説明
する。データ1のディスク数を10、データ2のディス
ク数を8、データ3のディスク数を10とすると、全デ
ータ処理に必要なタスク数は、タスク数決定手段での
式、 max(max(T1+1,T2+T3)+2,T5+T6)
+1 を使って、21となる。ここで、実際に確保できたタス
ク数は15であった場合を考える。
【0051】この場合のタスク数の計算結果を下記の表
4にまとめる。
【表4】
【0052】従って、本実施の形態においては、処理プ
ロセスグループ1は、10タスク、処理プロセスグルー
プ2は、6タスク、処理プロセスグループ5は、7タス
クで実行されることになる。また、タスク確保213に
よって確保されたタスク数に対して、タスク調整手段2
14によって調整されたタスク数が0タスクであるもの
を含む処理プロセスに対しては、確保されたタスク数を
解放し、その処理プロセス全体の処理を一時的に待機さ
せる。他の処理プロセスによる新たなタスクの解放が発
生した時点で、改めてタスク確保213によりタスク数
を確保する。確保されたタスク数に応じてタスク調整手
段214によって調整されたタスク数が0タスクである
ものを含まなくなるまで一時的な待機手段と確保手段を
反復する。
【0053】
【発明の効果】上記のとおり、本発明に係る並列処理に
おけるタスク管理システムによれば、タスク管理におい
て、データ処理要求が必要とするタスク数を処理単位毎
に正確に見積もることにより、タスク処理の効率を上
げ、他の要求がタスク数不足で実行できないといった事
態の発生を減少することを可能にする。この結果、シス
テム全体のスループットが向上した。
【0054】また、一つの問い合わせ処理実行中に、1
処理単位が終了する毎に、その時点以降に必要となるタ
スク数を計算し、既に確保されているタスクの内、必要
無い分は解放することにより、更に効率的にタスクを利
用することが可能となった。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る並列処理にお
けるタスク管理システムの全体構成を示す図である。
【図2】本発明の第1の実施の形態に係る並列処理にお
けるタスク管理システムのスケジュール部21の処理を
示すブロック図である。
【図3】本発明の第2の実施の形態に係る並列処理にお
けるタスク管理システムのスケジュール部21の処理を
示すブロック図である。
【図4】対象プロセスグループの実行順序に関する階層
構造を示す図である。
【図5】各プロセスグループの終了時に実行されるタス
ク解放決定手段の動作を示すフローチャートである。
【図6】本発明の第2の実施の形態に係る並列処理にお
けるタスク管理システムのスケジュール部21のタスク
数決定手段212の動作を示すフローチャートである。
【図7】本発明の第2の実施の形態に係る並列処理にお
けるタスク管理システムのスケジュール部21のタスク
調整手段214の動作を示すフローチャートである。
【符号の説明】
11 ユーザ 20 データベース管理システム 21 スケジュール部 22 実行部 23 資源管理部 24 デバイス 25 記録媒体 31 データベース 41 資源(タスク) 211 データ処理生成部 212 タスク数決定手段 213 タスク確保 214 タスク調整手段 215 処理プロセスグループタスク数テーブル

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 階層的に処理される複数の処理単位から
    なり、前記複数の処理単位のうち最上位の処理単位と末
    端の処理単位を含む複数の処理パスを含む処理グループ
    を複数の資源により並列処理可能なデータベース管理シ
    ステムにおいて、 前記処理グループに含まれる前記複数の処理単位の各々
    の処理順序を決定する決定手段と、 前記複数の処理パスの各々に対して、前記各処理パスに
    含まれる全ての処理単位を同時に処理するために必要な
    資源数のうち、最大の資源数の資源を確保する確保手段
    と、 前記確保手段によって確保された資源を用いて前記決定
    手段によって決定された前記処理順序に基づいて前記各
    処理単位を処理する処理手段と、 前記処理手段による前記複数の処理単位の各々の処理終
    了時に、前記複数の処理パスの各々に対して、前記処理
    手段によって処理された処理済処理単位を除いた前記各
    処理パスに含まれる全ての処理単位を同時に処理するた
    めに必要な資源数のうち最大の資源数と、前記確保され
    ている資源数との差分の数の前記資源を解放する解放手
    段を具備するデータベース管理システム。
  2. 【請求項2】 前記確保手段は、 前記複数の処理パスの各々に対して、前記各処理パスに
    含まれる全ての処理単位を同時に処理するために必要な
    資源数を満たさない確保可能な最大の資源数を確保する
    確保手段をさらに具備し、 前記処理パスの各々は、 前記確保手段によって確保された前記資源数を確保可能
    な最大資源数と設定する手段と、 前記確保可能な最大資源数に基づいて、最上位の処理単
    位から順に各処理単位の処理に必要な資源数を割り当て
    る手段と、 前記割り当て手段によって前記各処理単位の前記処理に
    必要な資源数が割り当てられる度に、前記確保可能な最
    大資源数から前記処理単位に割り当てられた資源数を減
    じた値に前記確保可能な最大資源数を更新する手段とを
    有し、 前記処理手段は、 前記決定手段により決定された前記各処理単位の前記処
    理順序に基づいて、前記割り当て手段によって割り当て
    られた前記各処理単位に必要な前記資源数を利用して対
    応する前記処理単位の処理を行う手段からなり、 前記解放手段は、 前記処理手段による前記複数の処理単位の各々の処理終
    了時に、前記複数の処理パスの各々に対して、前記各処
    理パスに含まれる前記処理手段によって処理された前記
    処理単位を除く全ての処理単位に対する前記割り当て手
    段によって割り当てられた前記処理単位の処理に必要な
    資源数の総和と、前記確保されている資源数との差分の
    数の前記資源を解放する手段からなる請求項1に記載の
    データベース管理システム。
  3. 【請求項3】 前記複数の処理パスに含まれる末端の前
    記処理単位は、 前記データベースを有する記憶媒体へのデータの読み書
    きを行うアクセス手段からなり、 前記末端の処理単位の処理に利用される資源数は、前記
    アクセス手段によってデータの読み書きを行う前記デー
    タを有する前記記憶媒体へ同時にアクセス可能なアクセ
    ス数を最大値とすることを特徴とする請求項1または2
    に記載のデータベース管理システム。
  4. 【請求項4】 複数の資源を有し、前記資源による並列
    処理が可能なデータベース管理システムにおいて、 処理対象を階層的に処理される複数の処理単位からなる
    処理グループに区分するステップと、 前記処理グループに含まれる前記複数の処理単位のうち
    最上位の処理単位と末端の処理単位を含む複数の処理パ
    スに区分するステップと、 前記処理グループに含まれる前記複数の処理単位の各々
    の処理順序を決定するステップと、 前記複数の処理パスの各々に対して、前記各処理パスに
    含まれる全ての処理単位を同時に処理するために必要な
    資源数のうち、最大の資源数の資源を確保するステップ
    と、 前記確保するステップによって確保された資源を用いて
    前記決定手段によって決定された前記処理順序に基づい
    て前記各処理単位を処理するステップと、 前記処理するステップによる前記複数の処理単位の各々
    の処理終了時に、前記複数の処理パスの各々に対して、
    前記処理するステップによって処理された処理済処理単
    位を除いた前記各処理パスに含まれる全ての処理単位を
    同時に処理するために必要な資源数のうち最大の資源数
    と、前記確保されている資源数との差分の数の前記資源
    を解放するステップからなるデータベース管理方法。
  5. 【請求項5】 前記確保するステップは、 前記複数の処理パスの各々に対して、前記各処理パスに
    含まれる全ての処理単位を同時に処理するために必要な
    資源数を満たさない確保可能な最大の資源数を確保する
    ステップをさらに具備し、 前記処理パスの各々を処理するステップは、 前記確保するステップによって確保された前記資源数を
    確保可能な最大資源数と設定するステップと、 前記確保可能な最大資源数に基づいて、最上位の処理単
    位から順に各処理単位の処理に必要な資源数を割り当て
    るステップと、 前記割り当てるステップによって前記各処理単位の前記
    処理に必要な資源数が割り当てられる度に、前記確保可
    能な最大資源数から前記処理単位に割り当てられた資源
    数を減じた値に前記確保可能な最大資源数を更新するス
    テップを具備し、 前記処理するステップは、 前記決定するステップにより決定された前記各処理単位
    の前記処理順序に基づいて、前記割り当てるステップに
    よって割り当てられた前記各処理単位に必要な前記資源
    数を利用して対応する前記処理単位の処理を行うステッ
    プからなり、 前記解放するステップは、 前記処理するステップによる前記複数の処理単位の各々
    の処理終了時に、前記複数の処理パスの各々に対して、
    前記各処理パスに含まれる前記処理するステップによっ
    て処理された前記処理単位を除く全ての処理単位に対す
    る前記割り当てるステップによって割り当てられた前記
    処理単位の処理に必要な資源数の総和と、前記確保され
    ている資源数との差分の数の前記資源を解放するステッ
    プからなる請求項4に記載のデータベース管理方法。
  6. 【請求項6】 前記複数の処理パスに含まれる末端の前
    記処理単位を処理するステップは、 前記データベースを有する記憶媒体へのデータの読み書
    きを行うステップからなり、 前記複数の処理パスに含まれる末端の前記処理単位を処
    理するために必要な資源数を決定するステップは、 前記末端の処理単位の処理に利用される資源数は、前記
    アクセス手段によってデータの読み書きを行う前記デー
    タを有する前記記憶媒体へ同時にアクセス可能なアクセ
    ス数を最大値として決定するステップからなる請求項4
    または5に記載のデータベース管理方法。
  7. 【請求項7】 複数の資源を有し、前記資源による並列
    処理が可能なデータベース管理システムにおいて、 処理対象を階層的に処理される複数の処理単位からなる
    処理グループに区分するステップと、 前記処理グループに含まれる前記複数の処理単位のうち
    最上位の処理単位と末端の処理単位を含む複数の処理パ
    スに区分するステップと、 前記処理グループに含まれる前記複数の処理単位の各々
    の処理順序を決定するステップと、 前記複数の処理パスの各々に対して、前記各処理パスに
    含まれる全ての処理単位を同時に処理するために必要な
    資源数のうち、最大の資源数の資源を確保するステップ
    と、 前記確保するステップによって確保された資源を用いて
    前記決定手段によって決定された前記処理順序に基づい
    て前記各処理単位を処理するステップと、 前記処理するステップによる前記複数の処理単位の各々
    の処理終了時に、前記複数の処理パスの各々に対して、
    前記処理するステップによって処理された処理済処理単
    位を除いた前記各処理パスに含まれる全ての処理単位を
    同時に処理するために必要な資源数のうち最大の資源数
    と、前記確保されている資源数との差分の数の前記資源
    を解放するステップを実行するプログラムを記録した記
    録媒体。
  8. 【請求項8】 前記確保するステップは、 前記複数の処理パスの各々に対して、前記各処理パスに
    含まれる全ての処理単位を同時に処理するために必要な
    資源数を満たさない確保可能な最大の資源数を確保する
    ステップをさらに具備し、 前記処理パスの各々を処理するステップは、 前記確保するステップによって確保された前記資源数を
    確保可能な最大資源数と設定するステップと、 前記確保可能な最大資源数に基づいて、最上位の処理単
    位から順に各処理単位の処理に必要な資源数を割り当て
    るステップと、 前記割り当てるステップによって前記各処理単位の前記
    処理に必要な資源数が割り当てられる度に、前記確保可
    能な最大資源数から前記処理単位に割り当てられた資源
    数を減じた値に前記確保可能な最大資源数を更新するス
    テップを具備し、 前記処理するステップは、 前記決定するステップにより決定された前記各処理単位
    の前記処理順序に基づいて、前記割り当てるステップに
    よって割り当てられた前記各処理単位に必要な前記資源
    数を利用して対応する前記処理単位の処理を行うステッ
    プからなり、 前記解放するステップは、 前記処理するステップによる前記複数の処理単位の各々
    の処理終了時に、前記複数の処理パスの各々に対して、
    前記各処理パスに含まれる前記処理するステップによっ
    て処理された前記処理単位を除く全ての処理単位に対す
    る前記割り当てるステップによって割り当てられた前記
    処理単位の処理に必要な資源数の総和と、前記確保され
    ている資源数との差分の数の前記資源を解放するステッ
    プからなるステップを実行するプログラムを記録した請
    求項7に記載の記録媒体。
  9. 【請求項9】 前記複数の処理パスに含まれる末端の前
    記処理単位を処理するステップは、 前記データベースを有する記憶媒体へのデータの読み書
    きを行うステップからなり、 前記複数の処理パスに含まれる末端の前記処理単位を処
    理するために必要な資源数を決定するステップは、 前記末端の処理単位の処理に利用される資源数は、前記
    アクセス手段によってデータの読み書きを行う前記デー
    タを有する前記記憶媒体へ同時にアクセス可能なアクセ
    ス数を最大値として決定するステップからなるステップ
    を実行するプログラムを記録した請求項7または8に記
    載の記録媒体。
JP10214487A 1998-07-29 1998-07-29 データベース管理システム Pending JP2000047916A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10214487A JP2000047916A (ja) 1998-07-29 1998-07-29 データベース管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10214487A JP2000047916A (ja) 1998-07-29 1998-07-29 データベース管理システム

Publications (1)

Publication Number Publication Date
JP2000047916A true JP2000047916A (ja) 2000-02-18

Family

ID=16656536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10214487A Pending JP2000047916A (ja) 1998-07-29 1998-07-29 データベース管理システム

Country Status (1)

Country Link
JP (1) JP2000047916A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004511854A (ja) * 2000-10-09 2004-04-15 マキシマム アヴェイラビリティ リミテッド データ処理の方法及び装置
KR20140057641A (ko) * 2011-11-18 2014-05-13 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 데이터센터 리소스 할당

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004511854A (ja) * 2000-10-09 2004-04-15 マキシマム アヴェイラビリティ リミテッド データ処理の方法及び装置
US7930271B2 (en) 2000-10-09 2011-04-19 Maximum Availability Ltd. Method and apparatus for data processing
US8818939B2 (en) 2000-10-09 2014-08-26 Maximum Availability Ltd. Method and apparatus for data processing
KR20140057641A (ko) * 2011-11-18 2014-05-13 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 데이터센터 리소스 할당
KR101630749B1 (ko) 2011-11-18 2016-06-15 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 데이터센터 리소스 할당
US9460127B2 (en) 2011-11-18 2016-10-04 Empire Technology Development Llc Datacenter database generation using task fingerprint and allocated resources

Similar Documents

Publication Publication Date Title
WO2021208546A1 (zh) Kubernetes集群架构***下多维资源调度方法
JP3689336B2 (ja) データベースにおける並行したトランザクションのストリームを調停するための方法およびシステム
JP3882930B2 (ja) 共用リソースを使用するための仮想計算機の管理
JP2589932B2 (ja) 装置の割り当てのグローバルな最適化方法とシステム
US9465663B2 (en) Allocating resources in a compute farm to increase resource utilization by using a priority-based allocation layer to allocate job slots to projects
US8261275B2 (en) Method and system for heuristics-based task scheduling
US8321871B1 (en) System and method of using transaction IDS for managing reservations of compute resources within a compute environment
US20070016907A1 (en) Method, system and computer program for automatic provisioning of resources to scheduled jobs
US8549526B2 (en) Access control apparatus and access control method
US20080276242A1 (en) Method For Dynamic Scheduling In A Distributed Environment
US7770177B2 (en) System for memory reclamation based on thread entry and release request times
JP2005534116A (ja) 複数の消費者をもつコンピュータシステムで資源を動的に割当てて管理する方法
KR20060053929A (ko) 정보 처리 장치, 정보 처리 방법 및 프로그램
KR20130033020A (ko) 매니코어 시스템에서의 파티션 스케줄링 장치 및 방법
JP3664021B2 (ja) サービスレベルによる資源割当方式
CN114546587A (zh) 一种在线图像识别服务的扩缩容方法及相关装置
JP2015148909A (ja) 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム
Du et al. A combined priority scheduling method for distributed machine learning
JP2001229058A (ja) データベースサーバ処理方法
JP2000047916A (ja) データベース管理システム
JP2924725B2 (ja) バッファ割り当て制御システム
JP2001142723A (ja) 資源配分方法、計算機システム及び記録媒体
JP3761317B2 (ja) バッファの動的管理方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
CN115981817B (zh) 一种面向htap的任务资源调度方法及其***
JPH11175357A (ja) タスク管理方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20030421