JP2983351B2 - データベース演算処理装置 - Google Patents
データベース演算処理装置Info
- Publication number
- JP2983351B2 JP2983351B2 JP3268186A JP26818691A JP2983351B2 JP 2983351 B2 JP2983351 B2 JP 2983351B2 JP 3268186 A JP3268186 A JP 3268186A JP 26818691 A JP26818691 A JP 26818691A JP 2983351 B2 JP2983351 B2 JP 2983351B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- processing
- command
- input
- table data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ホスト装置から与え
られるデータベース演算コマンドを受けて指定された演
算処理を実行するデータベース演算処理装置に係り、特
にホスト装置からの関係データベース演算である準結合
処理または結合処理の要求に対して、条件テーブルと対
象テーブルの2次記憶装置からの入力と準結合または結
合を並行して行なうデータベース演算処理装置に関す
る。
られるデータベース演算コマンドを受けて指定された演
算処理を実行するデータベース演算処理装置に係り、特
にホスト装置からの関係データベース演算である準結合
処理または結合処理の要求に対して、条件テーブルと対
象テーブルの2次記憶装置からの入力と準結合または結
合を並行して行なうデータベース演算処理装置に関す
る。
【0002】
【従来の技術】ホスト装置から与えられるデータベース
演算コマンドを受けて指定された演算処理を実行する従
来のデータベース演算処理装置では、関係データベース
演算である準結合処理(RESTRICT)または結合処理(JO
IN)の要求に対して、条件テーブルと対象テーブルの2
次記憶装置、例えばディスク(ディスク装置)からの読
み込みを同時に開始していた。そして、両テーブルの読
み込みが終了すると、条件テーブルのロードを行ない、
ロード完了後に対象テーブルの処理を開始していた。
演算コマンドを受けて指定された演算処理を実行する従
来のデータベース演算処理装置では、関係データベース
演算である準結合処理(RESTRICT)または結合処理(JO
IN)の要求に対して、条件テーブルと対象テーブルの2
次記憶装置、例えばディスク(ディスク装置)からの読
み込みを同時に開始していた。そして、両テーブルの読
み込みが終了すると、条件テーブルのロードを行ない、
ロード完了後に対象テーブルの処理を開始していた。
【0003】
【発明が解決しようとする課題】上記したように従来の
データベース演算処理装置では、準結合処理または結合
処理の要求に対して、条件テーブルと対象テーブルの2
次記憶装置からの読み込みを同時に開始していた。この
方式では、上記両テーブルの読み込みが並行して行なわ
れることから、各テーブルの単位時間当たりの読み込み
量は単独で読み込みを行なった場合の約半分となる。即
ち、従来のデータベース演算処理装置では、条件テーブ
ルと対象テーブルの読み込みを並行して行なっていたた
め、両テーブルの読み込みに時間がかかり、したがって
条件テーブルのロード完了まで時間がかかっていた。こ
の結果、対象テーブルの処理を開始するまでの時間がか
かるという問題があった。特に、条件テーブルの大きさ
が対象テーブルの大きさに比べて小さくないときは、こ
の問題は顕著であった。
データベース演算処理装置では、準結合処理または結合
処理の要求に対して、条件テーブルと対象テーブルの2
次記憶装置からの読み込みを同時に開始していた。この
方式では、上記両テーブルの読み込みが並行して行なわ
れることから、各テーブルの単位時間当たりの読み込み
量は単独で読み込みを行なった場合の約半分となる。即
ち、従来のデータベース演算処理装置では、条件テーブ
ルと対象テーブルの読み込みを並行して行なっていたた
め、両テーブルの読み込みに時間がかかり、したがって
条件テーブルのロード完了まで時間がかかっていた。こ
の結果、対象テーブルの処理を開始するまでの時間がか
かるという問題があった。特に、条件テーブルの大きさ
が対象テーブルの大きさに比べて小さくないときは、こ
の問題は顕著であった。
【0004】この発明は上記事情に鑑みてなされたもの
でその目的は、条件テーブルの読み込みを開始してから
対象テーブルの準結合または結合の処理を開始するまで
の時間が短縮でき、もって準結合処理と結合処理の高速
化が図れるデータベース演算処理装置を提供することに
ある。
でその目的は、条件テーブルの読み込みを開始してから
対象テーブルの準結合または結合の処理を開始するまで
の時間が短縮でき、もって準結合処理と結合処理の高速
化が図れるデータベース演算処理装置を提供することに
ある。
【0005】
【課題を解決するための手段】この発明は、ホスト装置
と演算対象のテーブルデータが格納される2次記憶装置
とに接続され、ホスト装置から与えられるコマンドに応
じて前記演算対象のテーブルデータを入力して所定のデ
ータベース演算処理を実行するデータベース演算処理装
置において、データベース演算処理装置全体の制御を司
る第1のプロセッサと、ホスト装置との間のインタフェ
ース制御及び2次記憶装置との間の入出力制御を司る第
2のプロセッサと、ソートを並列に実行する並列ソーテ
ィング機構及び各種関係代数演算を並列に実行する並列
関係代数演算機構が付加され、第1のプロセッサからの
要求に応じてこれら両機構を制御する第3のプロセッサ
と、演算の対象となるテーブルデータを一時記憶するた
めの第1及び第2の入力バッファが置かれる内部メモリ
とを備え、第1のプロセッサは、ホスト装置から準結合
または結合を指示するコマンドが与えられた場合に、第
2のプロセッサにより、2次記憶装置から第1の入力バ
ッファに指定された条件テーブルデータを読み込ませる
と共に、この第1の入力バッファに読み込まれた条件テ
ーブルデータを第3のプロセッサでの一括処理可能分だ
け同プロセッサにロードしてから、第2のプロセッサに
より、2次記憶装置から第2の入力バッファに指定され
た対象テーブルデータを読み込ませて、第3のプロセッ
サでの準結合または結合の処理を行なわせることを特徴
とするものである。
と演算対象のテーブルデータが格納される2次記憶装置
とに接続され、ホスト装置から与えられるコマンドに応
じて前記演算対象のテーブルデータを入力して所定のデ
ータベース演算処理を実行するデータベース演算処理装
置において、データベース演算処理装置全体の制御を司
る第1のプロセッサと、ホスト装置との間のインタフェ
ース制御及び2次記憶装置との間の入出力制御を司る第
2のプロセッサと、ソートを並列に実行する並列ソーテ
ィング機構及び各種関係代数演算を並列に実行する並列
関係代数演算機構が付加され、第1のプロセッサからの
要求に応じてこれら両機構を制御する第3のプロセッサ
と、演算の対象となるテーブルデータを一時記憶するた
めの第1及び第2の入力バッファが置かれる内部メモリ
とを備え、第1のプロセッサは、ホスト装置から準結合
または結合を指示するコマンドが与えられた場合に、第
2のプロセッサにより、2次記憶装置から第1の入力バ
ッファに指定された条件テーブルデータを読み込ませる
と共に、この第1の入力バッファに読み込まれた条件テ
ーブルデータを第3のプロセッサでの一括処理可能分だ
け同プロセッサにロードしてから、第2のプロセッサに
より、2次記憶装置から第2の入力バッファに指定され
た対象テーブルデータを読み込ませて、第3のプロセッ
サでの準結合または結合の処理を行なわせることを特徴
とするものである。
【0006】
【作用】上記の構成では、条件テーブルの読み込みが先
行して行なわれ、この条件テーブルのロード完了後に対
象テーブルの読み込みが開始されるので、条件テーブル
の読み込みが短時間で行なわれるようになり、条件テー
ブルの読み込みを開始してから対象テーブルの準結合ま
たは結合の処理を開始するまでの時間が短縮できる。
行して行なわれ、この条件テーブルのロード完了後に対
象テーブルの読み込みが開始されるので、条件テーブル
の読み込みが短時間で行なわれるようになり、条件テー
ブルの読み込みを開始してから対象テーブルの準結合ま
たは結合の処理を開始するまでの時間が短縮できる。
【0007】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。
明する。
【0008】図1にはこの発明の一実施例に係わるデー
タ処理装置の全体のシステム構成が示されている。この
データ処理装置は、ホストコンピュータ10と、データ
ベース演算処理装置(データベースエンジン;DBE)
16と、磁気ディスク装置などのディスク装置17とに
よって構成されている。ホストコンピュータ10は、C
PU11、主記憶装置12、第1及び第2のチャネル装
置14,15によって構成されており、これらCPU1
1、主記憶装置12及びチャネル装置14,15はシス
テムバス13を介して相互接続されている。
タ処理装置の全体のシステム構成が示されている。この
データ処理装置は、ホストコンピュータ10と、データ
ベース演算処理装置(データベースエンジン;DBE)
16と、磁気ディスク装置などのディスク装置17とに
よって構成されている。ホストコンピュータ10は、C
PU11、主記憶装置12、第1及び第2のチャネル装
置14,15によって構成されており、これらCPU1
1、主記憶装置12及びチャネル装置14,15はシス
テムバス13を介して相互接続されている。
【0009】ホストコンピュータ10とデータベース演
算処理装置(DBE)16はチャネル装置14によって
接続され、またホストコンピュータ10とディスク装置
17はチャネル装置15によって接続されている。さら
に、データベース演算処理装置(DBE)16とディス
ク装置17は専用のバス18を介して接続されている。
算処理装置(DBE)16はチャネル装置14によって
接続され、またホストコンピュータ10とディスク装置
17はチャネル装置15によって接続されている。さら
に、データベース演算処理装置(DBE)16とディス
ク装置17は専用のバス18を介して接続されている。
【0010】CPU11は、ホストコンピュータ10全
体の制御を司るものであり、データベース演算処理装置
(DBE)16に対してソート処理や関係代数演算等の
各種演算処理の実行を依頼する。主記憶装置12には、
データベース演算処理装置(DBE)16に対して演算
対象ファイルや演算内容を指示するためのコマンド群が
格納される。
体の制御を司るものであり、データベース演算処理装置
(DBE)16に対してソート処理や関係代数演算等の
各種演算処理の実行を依頼する。主記憶装置12には、
データベース演算処理装置(DBE)16に対して演算
対象ファイルや演算内容を指示するためのコマンド群が
格納される。
【0011】データベース演算処理装置(DBE)16
は、CPU11からのコマンドに基づいて演算対象ファ
イルのデータに対して演算処理を実行するものであり、
演算対象ファイルの入力及び演算結果の出力のために、
バス18を介してディスク装置17を直接的にアクセス
する。
は、CPU11からのコマンドに基づいて演算対象ファ
イルのデータに対して演算処理を実行するものであり、
演算対象ファイルの入力及び演算結果の出力のために、
バス18を介してディスク装置17を直接的にアクセス
する。
【0012】このDBE(データベース演算処理装置)
16は、エンジンインタフェースプロセッサ(EIP)
161、エンジン制御プロセッサ(ECP)162、大
容量メモリ(EBDM)163、ハードウェア(HW)
ソータ制御プロセッサ(ECAM)164、並列ソーテ
ィングモジュール(PSOM)165及び並列関係代数
演算モジュール(PRAM)166によって構成されて
いる。
16は、エンジンインタフェースプロセッサ(EIP)
161、エンジン制御プロセッサ(ECP)162、大
容量メモリ(EBDM)163、ハードウェア(HW)
ソータ制御プロセッサ(ECAM)164、並列ソーテ
ィングモジュール(PSOM)165及び並列関係代数
演算モジュール(PRAM)166によって構成されて
いる。
【0013】EIP(エンジンインタフェースプロセッ
サ)161、ECP(エンジン制御プロセッサ)162
及びECAM(ハードウェアソータ制御プロセッサ)1
64の3台のプロセッサは、内部バス167によって相
互接続されており、EBDM(大容量メモリ)163を
共有メモリとする密結合のマルチプロセッサを構成して
いる。EBDM163は、3台の各プロセッサの共通の
アドレス空間上に配置されている。また、これら3台の
プロセッサ、つまりEIP161、ECP162及びE
CAM164には機能分散がなされている。この場合、
それぞれの固有の役割を効率良く実行するために、これ
ら各プロセッサは、密結合ながらそれぞれに適した独立
のモニタによって動作制御されるように構成されてい
る。
サ)161、ECP(エンジン制御プロセッサ)162
及びECAM(ハードウェアソータ制御プロセッサ)1
64の3台のプロセッサは、内部バス167によって相
互接続されており、EBDM(大容量メモリ)163を
共有メモリとする密結合のマルチプロセッサを構成して
いる。EBDM163は、3台の各プロセッサの共通の
アドレス空間上に配置されている。また、これら3台の
プロセッサ、つまりEIP161、ECP162及びE
CAM164には機能分散がなされている。この場合、
それぞれの固有の役割を効率良く実行するために、これ
ら各プロセッサは、密結合ながらそれぞれに適した独立
のモニタによって動作制御されるように構成されてい
る。
【0014】EIP161、ECP162及びECAM
164の機能分散は、次のようになされている。
164の機能分散は、次のようになされている。
【0015】すなわち、EIP(エンジンインタフェー
スプロセッサ)161は、ホストコンピュータ10とD
BE16間の通信を行なうと共に、ディスク装置17の
ディスクコントローラにもバス18を介して接続されて
おり、ディスク装置17とのデータ入出力を制御する。
また、EIP161は、ディスク装置17にデータを出
力する際、出力ファイルの再構成処理も行なう。
スプロセッサ)161は、ホストコンピュータ10とD
BE16間の通信を行なうと共に、ディスク装置17の
ディスクコントローラにもバス18を介して接続されて
おり、ディスク装置17とのデータ入出力を制御する。
また、EIP161は、ディスク装置17にデータを出
力する際、出力ファイルの再構成処理も行なう。
【0016】ホストコンピュータ10との間の通信にお
いては、EIP161は、第1のチャネル装置14を介
してCPU11から送られてくるコマンドを受信し、そ
れをECP162に送信する。また、EIP161は、
ECP162から送られてくるコマンド結果としてのス
テータスを受信し、それを第1のチャネル装置14を介
してCPU11に返信する。
いては、EIP161は、第1のチャネル装置14を介
してCPU11から送られてくるコマンドを受信し、そ
れをECP162に送信する。また、EIP161は、
ECP162から送られてくるコマンド結果としてのス
テータスを受信し、それを第1のチャネル装置14を介
してCPU11に返信する。
【0017】ディスク装置17との間のデータ入出力処
理においては、EIP161は、ECP162からの入
出力要求を受け付け、直接EBDM163とディスク装
置17との間でデータ転送を行なう。
理においては、EIP161は、ECP162からの入
出力要求を受け付け、直接EBDM163とディスク装
置17との間でデータ転送を行なう。
【0018】ECP162は、EIP161、EBDM
163及びECAM164を内部バス167を介して制
御し、データ処理を行なう。
163及びECAM164を内部バス167を介して制
御し、データ処理を行なう。
【0019】EBDM(大容量メモリ)163は、ディ
スク装置17から読み出された演算対象のファイルデー
タ(テーブルデータ)、ECAM164、PSOM16
5及びPRAM166によるソート処理結果、関係代数
演算結果等を格納する共有メモリである。
スク装置17から読み出された演算対象のファイルデー
タ(テーブルデータ)、ECAM164、PSOM16
5及びPRAM166によるソート処理結果、関係代数
演算結果等を格納する共有メモリである。
【0020】ECAM(ハードウェアソータ制御プロセ
ッサ)164は、ECP162からの指令に基づいて、
PSOM165及びPRAM166による演算を制御す
る。
ッサ)164は、ECP162からの指令に基づいて、
PSOM165及びPRAM166による演算を制御す
る。
【0021】この場合、ECAM164は、EBDM1
63上のデータをPSOM165に入力し、PRAM1
66から出力された演算結果をEBDM163上に格納
するが、PSOM165へのデータ入力に際しては、キ
ー切り出し処理を実行する。このキー切り出し処理にお
いては、ECAM164は、演算対象の各レコードから
演算に必要なキーのみを切り出し、それにレコード識別
番号RID(EBDM163上におけるレコードの先頭
アドレス)を付加してPSOM165へ送出する。
63上のデータをPSOM165に入力し、PRAM1
66から出力された演算結果をEBDM163上に格納
するが、PSOM165へのデータ入力に際しては、キ
ー切り出し処理を実行する。このキー切り出し処理にお
いては、ECAM164は、演算対象の各レコードから
演算に必要なキーのみを切り出し、それにレコード識別
番号RID(EBDM163上におけるレコードの先頭
アドレス)を付加してPSOM165へ送出する。
【0022】PSOM(並列ソーティングモジュール)
165は、ECAM164によって駆動され、ソートを
並列に実行する専用のハードウェア回路であり、PRA
M166に接続されている。このPSOM165は、パ
イプラインマージソータと称されるものであり、2−ウ
ェイマージを行なう複数のソートセルをカスケード接続
してなる。
165は、ECAM164によって駆動され、ソートを
並列に実行する専用のハードウェア回路であり、PRA
M166に接続されている。このPSOM165は、パ
イプラインマージソータと称されるものであり、2−ウ
ェイマージを行なう複数のソートセルをカスケード接続
してなる。
【0023】PRAM(並列関係代数演算モジュール)
166は、関係型データベースにおけるJOIN(結合)や
RESTRICT(制約、準結合)といった関係代数演算を並列
に実行する専用のハードウェア回路であり、PSOM1
65からソートされたデータを入力し、演算結果をEC
AM164に出力する。ソート処理だけを実行する場合
には、PRAM166は最終段のソートセルとして機能
する。
166は、関係型データベースにおけるJOIN(結合)や
RESTRICT(制約、準結合)といった関係代数演算を並列
に実行する専用のハードウェア回路であり、PSOM1
65からソートされたデータを入力し、演算結果をEC
AM164に出力する。ソート処理だけを実行する場合
には、PRAM166は最終段のソートセルとして機能
する。
【0024】図2はホストコンピュータ10(のCPU
11)からDBE(データベース演算処理装置)16に
与えられるコマンド列21を示す。このコマンド列21
は、ホストコンピュータ10よりDBE16に処理を行
なわせる一連の処理内容を表わしたコマンド群(コマン
ド#1,#2…#n)とコマンド列内コマンド数よりな
る。
11)からDBE(データベース演算処理装置)16に
与えられるコマンド列21を示す。このコマンド列21
は、ホストコンピュータ10よりDBE16に処理を行
なわせる一連の処理内容を表わしたコマンド群(コマン
ド#1,#2…#n)とコマンド列内コマンド数よりな
る。
【0025】コマンドとしては、ディスク装置17から
EBDM163へのテーブルの読み込みを指示するREAD
コマンド、EBDM163上のデータを指定された形式
でディスク装置17またはEBDM163に出力するこ
とを指示するPROJECTION(射影)コマンド、及びRESTRI
CTコマンドが用意されている。このRESTRICTコマンド
は、異なるテーブルのカラムを条件として制約(準結
合)を行なうこと、即ち対象テーブルと条件テーブルの
複数カラムの比較を行ない該当する対象テーブル中のレ
コードを選択することを指示するコマンドである。
EBDM163へのテーブルの読み込みを指示するREAD
コマンド、EBDM163上のデータを指定された形式
でディスク装置17またはEBDM163に出力するこ
とを指示するPROJECTION(射影)コマンド、及びRESTRI
CTコマンドが用意されている。このRESTRICTコマンド
は、異なるテーブルのカラムを条件として制約(準結
合)を行なうこと、即ち対象テーブルと条件テーブルの
複数カラムの比較を行ない該当する対象テーブル中のレ
コードを選択することを指示するコマンドである。
【0026】またコマンドとして、同一テーブルのカラ
ムまたは定数による選択を行なうことを指示するSELECT
コマンド、対象テーブルと条件テーブルそれぞれに対し
て与えられたカラムに対する条件によるレコードの選択
を行なった後対象テーブルの選択されたレコード群と条
件テーブルの選択されたレコード群の複数カラムの比較
を行ない該当する対象テーブル中のレコードを選択する
ことを指示するSELSELJOINコマンド(指定されたキーカ
ラムによる結合を行なうJOINコマンドの一種)、及びデ
ィスク装置17上のワークファイルを指定するWORKFILE
コマンドも用意されている。
ムまたは定数による選択を行なうことを指示するSELECT
コマンド、対象テーブルと条件テーブルそれぞれに対し
て与えられたカラムに対する条件によるレコードの選択
を行なった後対象テーブルの選択されたレコード群と条
件テーブルの選択されたレコード群の複数カラムの比較
を行ない該当する対象テーブル中のレコードを選択する
ことを指示するSELSELJOINコマンド(指定されたキーカ
ラムによる結合を行なうJOINコマンドの一種)、及びデ
ィスク装置17上のワークファイルを指定するWORKFILE
コマンドも用意されている。
【0027】コマンド列21を構成する各コマンドは、
図に示すように、コマンドコードとDBE16での処理
に必要な諸情報からなる。この諸情報は、例えばRESTRI
CTコマンドであれば、選択の対象となるテーブルと、条
件となるテーブルと、対象テーブルのカラムと、条件テ
ーブルのカラムと、比較演算子等である。また、SELSEL
JOINコマンドであれば、結合の対象とするテーブルと、
条件となるテーブルと、対象テーブルに対する選択条
件、条件テーブルに対する選択条件、対象テーブルのカ
ラム、条件テーブルのカラム、結合のための演算子等で
ある。
図に示すように、コマンドコードとDBE16での処理
に必要な諸情報からなる。この諸情報は、例えばRESTRI
CTコマンドであれば、選択の対象となるテーブルと、条
件となるテーブルと、対象テーブルのカラムと、条件テ
ーブルのカラムと、比較演算子等である。また、SELSEL
JOINコマンドであれば、結合の対象とするテーブルと、
条件となるテーブルと、対象テーブルに対する選択条
件、条件テーブルに対する選択条件、対象テーブルのカ
ラム、条件テーブルのカラム、結合のための演算子等で
ある。
【0028】図3はDBE16からホストコンピュータ
10へ送られる処理ステータス23を示す。この処理ス
テータス23は、ホストコンピュータ10より処理依頼
を受けたコマンド群の処理結果を同コンピュータ10に
通知するためのものである。
10へ送られる処理ステータス23を示す。この処理ス
テータス23は、ホストコンピュータ10より処理依頼
を受けたコマンド群の処理結果を同コンピュータ10に
通知するためのものである。
【0029】図4は条件テーブル24a及び対象テーブ
ル24bの構造を示す。条件テーブル24aはコマンド
の処理対象となるもので、ディスク装置17に置かれる
場合と、読み込まれてEBDM163に置かれる場合が
ある。一方、対象テーブル24bはコマンドの処理対象
となるもので、やはりディスク装置17に置かれる場合
と、読み込まれてEBDM163に置かれる場合があ
る。
ル24bの構造を示す。条件テーブル24aはコマンド
の処理対象となるもので、ディスク装置17に置かれる
場合と、読み込まれてEBDM163に置かれる場合が
ある。一方、対象テーブル24bはコマンドの処理対象
となるもので、やはりディスク装置17に置かれる場合
と、読み込まれてEBDM163に置かれる場合があ
る。
【0030】図5はEBDM163に確保される入力バ
ッファ25a,25b及び出力バッファ26の構造を示
す。入力バッファ25aには、図4に示す条件テーブル
24aがディスク装置17からEBDM163に読み込
まれて格納される。入力バッファ25には、図4に示す
対象テーブル24bがディスク装置17からEBDM1
63に読み込まれて格納される。入力バッファ25a,
25bは一定サイズの単位バッファ(入力単位バッフ
ァ)に分割して使用される。この入力単位バッファのサ
イズは、EIP161がディスク装置17からデータを
最も効率良く入力できるデータ量となるように設定され
る。
ッファ25a,25b及び出力バッファ26の構造を示
す。入力バッファ25aには、図4に示す条件テーブル
24aがディスク装置17からEBDM163に読み込
まれて格納される。入力バッファ25には、図4に示す
対象テーブル24bがディスク装置17からEBDM1
63に読み込まれて格納される。入力バッファ25a,
25bは一定サイズの単位バッファ(入力単位バッフ
ァ)に分割して使用される。この入力単位バッファのサ
イズは、EIP161がディスク装置17からデータを
最も効率良く入力できるデータ量となるように設定され
る。
【0031】また出力バッファ26は、ECAM164
の処理結果を保持するためのものである。出力バッファ
26は、入力バッファ25a,25bの単位バッファ
(入力単位バッファ)に対応する単位バッファ(出力単
位バッファ)に分割して使用される。本実施例において
は、出力バッファ26に格納されるECAM164の処
理結果は、RID(の対)で表わされる。このため、出
力バッファ26の出力単位バッファは、入力バッファ2
5a,25bの入力単位バッファより小さなサイズとな
る。
の処理結果を保持するためのものである。出力バッファ
26は、入力バッファ25a,25bの単位バッファ
(入力単位バッファ)に対応する単位バッファ(出力単
位バッファ)に分割して使用される。本実施例において
は、出力バッファ26に格納されるECAM164の処
理結果は、RID(の対)で表わされる。このため、出
力バッファ26の出力単位バッファは、入力バッファ2
5a,25bの入力単位バッファより小さなサイズとな
る。
【0032】図6は図1のECP(エンジン制御プロセ
ッサ)162の機能構成を、同ECP162にて生成さ
れる各種タスク(以下、スレッドと称する)の相互関係
によって示すものである。
ッサ)162の機能構成を、同ECP162にて生成さ
れる各種タスク(以下、スレッドと称する)の相互関係
によって示すものである。
【0033】同図において、符号29はコマンド解析ス
レッドであり、ホストコンピュータ10からのコマンド
列21を先頭のコマンドから順に解析して、その解析毎
に対応するコマンドを処理するためのスレッド(コマン
ド処理スレッド)を生成し、結果をまとめて処理ステー
タス23としてホストコンピュータ10に送信する。
レッドであり、ホストコンピュータ10からのコマンド
列21を先頭のコマンドから順に解析して、その解析毎
に対応するコマンドを処理するためのスレッド(コマン
ド処理スレッド)を生成し、結果をまとめて処理ステー
タス23としてホストコンピュータ10に送信する。
【0034】符号30はコマンド解析スレッド29によ
って次々と生成されるコマンド処理スレッドの1つであ
り、DBE16内のハードウェア資源の利用状況から処
理方法を決定し、必要に応じ入力処理スレッド31a、
入力処理スレッド31b、ECAM処理依頼スレッド3
2を生成し、コマンドの処理終了後、処理結果をコマン
ド解析スレッド29に送信する。コマンド解析スレッド
29によるコマンド列21の解析に伴って次々と生成さ
れるコマンド処理スレッドは、それより先に生成された
コマンド処理スレッドがある場合、このスレッドの状態
をみて自スレッドが処理可能な状態になり次第処理を開
始する。これにより、各コマンド処理スレッドの並行動
作が可能となる。
って次々と生成されるコマンド処理スレッドの1つであ
り、DBE16内のハードウェア資源の利用状況から処
理方法を決定し、必要に応じ入力処理スレッド31a、
入力処理スレッド31b、ECAM処理依頼スレッド3
2を生成し、コマンドの処理終了後、処理結果をコマン
ド解析スレッド29に送信する。コマンド解析スレッド
29によるコマンド列21の解析に伴って次々と生成さ
れるコマンド処理スレッドは、それより先に生成された
コマンド処理スレッドがある場合、このスレッドの状態
をみて自スレッドが処理可能な状態になり次第処理を開
始する。これにより、各コマンド処理スレッドの並行動
作が可能となる。
【0035】符号31aは入力処理スレッドであり、デ
ィスク装置17上にある処理対象テーブル27aを入力
バッファ25aに入力する。符号31bは入力処理スレ
ッドであり、ディスク装置17上にある処理対象テーブ
ル27bを入力バッファ25bに入力する。符号32は
ECAM処理依頼スレッドであり、入力バッファ27a
のデータ(RESTRICTコマンド、SELSELJOINコマンドなど
の2入力コマンドの場合は入力バッファ27bも)をE
CAM164に渡して、処理を依頼し、その処理結果を
コマンド処理スレッド30に送信する。
ィスク装置17上にある処理対象テーブル27aを入力
バッファ25aに入力する。符号31bは入力処理スレ
ッドであり、ディスク装置17上にある処理対象テーブ
ル27bを入力バッファ25bに入力する。符号32は
ECAM処理依頼スレッドであり、入力バッファ27a
のデータ(RESTRICTコマンド、SELSELJOINコマンドなど
の2入力コマンドの場合は入力バッファ27bも)をE
CAM164に渡して、処理を依頼し、その処理結果を
コマンド処理スレッド30に送信する。
【0036】次に、図1のデータ処理装置におけるDB
E(データベース演算処理装置)16の動作を、RESTRI
CTコマンド及びSELSELJOINコマンドを実行する場合であ
って、処理対象のテーブル全体をECAM164で1回
で処理できる場合を例に、図7乃至図11のフローチャ
ートを適宜参照して説明する。なお、図7はECP16
2におけるコマンド解析スレッド29の処理手順を示す
フローチャート、図8はECP162におけるコマンド
処理スレッド30の処理手順を示すフローチャートであ
る。また、図9はECP162における入力処理スレッ
ド31aの処理手順を示すフローチャート、図10はE
CP162における入力処理スレッド31bの処理手順
を示すフローチャート、図11はECP162における
ECAM処理依頼スレッド32の処理手順を示すフロー
チャートである。
E(データベース演算処理装置)16の動作を、RESTRI
CTコマンド及びSELSELJOINコマンドを実行する場合であ
って、処理対象のテーブル全体をECAM164で1回
で処理できる場合を例に、図7乃至図11のフローチャ
ートを適宜参照して説明する。なお、図7はECP16
2におけるコマンド解析スレッド29の処理手順を示す
フローチャート、図8はECP162におけるコマンド
処理スレッド30の処理手順を示すフローチャートであ
る。また、図9はECP162における入力処理スレッ
ド31aの処理手順を示すフローチャート、図10はE
CP162における入力処理スレッド31bの処理手順
を示すフローチャート、図11はECP162における
ECAM処理依頼スレッド32の処理手順を示すフロー
チャートである。
【0037】以下では条件テーブル24aと対象テーブ
ル24bはディスク装置17上にあるものとする。
ル24bはディスク装置17上にあるものとする。
【0038】まず、ホストコンピュータ10(のCPU
11)からDBE16にシステムバス13、第1のチャ
ネル装置14を介して図2に示すコマンド列21が送ら
れてくると、同コマンド列21がEIP161によって
受信され、ECP162に渡される。この結果、ECP
162によってコマンド解析スレッド29が生成され
る。
11)からDBE16にシステムバス13、第1のチャ
ネル装置14を介して図2に示すコマンド列21が送ら
れてくると、同コマンド列21がEIP161によって
受信され、ECP162に渡される。この結果、ECP
162によってコマンド解析スレッド29が生成され
る。
【0039】コマンド解析スレッド29(に従って動作
するECP162)は、ホストコンピュータ10からの
コマンド列21を受け取り(図7ステップS1)、その
先頭を見てコマンド数nを知り、コマンドがなくなるま
で、コマンド列21内のコマンドコードを読んでは、そ
のコマンドコードに対する処理を行なうコマンド処理ス
レッドを生成することを繰り返す(図7ステップS2,
S3)。その際、コマンド処理スレッドに対し、該当す
るコマンドを渡す。コマンド解析スレッド29は、コマ
ンド列21内の全てのコマンドに対して、コマンド処理
スレッドを生成した後、各スレッドから順次処理結果メ
ッセージを受け取り(図7ステップS4)、全コマンド
の処理結果が揃った後、結果をまとめてホストコンピュ
ータ10にEIP161を介して処理結果ステータス2
3を送信する(図7ステップ5)。
するECP162)は、ホストコンピュータ10からの
コマンド列21を受け取り(図7ステップS1)、その
先頭を見てコマンド数nを知り、コマンドがなくなるま
で、コマンド列21内のコマンドコードを読んでは、そ
のコマンドコードに対する処理を行なうコマンド処理ス
レッドを生成することを繰り返す(図7ステップS2,
S3)。その際、コマンド処理スレッドに対し、該当す
るコマンドを渡す。コマンド解析スレッド29は、コマ
ンド列21内の全てのコマンドに対して、コマンド処理
スレッドを生成した後、各スレッドから順次処理結果メ
ッセージを受け取り(図7ステップS4)、全コマンド
の処理結果が揃った後、結果をまとめてホストコンピュ
ータ10にEIP161を介して処理結果ステータス2
3を送信する(図7ステップ5)。
【0040】ここではコマンドがRESTRICTコマンドまた
はSELSELJOINコマンドであり、同コマンドに対応してコ
マンド処理スレッド30が生成されたものとする。
はSELSELJOINコマンドであり、同コマンドに対応してコ
マンド処理スレッド30が生成されたものとする。
【0041】コマンド処理スレッド30(に従って動作
するECP162)は、コマンド解析スレッド29から
受け取ったコマンド(RESTRICTコマンドまたはSELSELJO
INコマンド)のコマンド処理のための諸情報をもとに、
コマンドの処理を行なう。まずコマンド処理スレッド3
0は、コマンドとDBE16の使用状況をもとに処理の
決定を行なう(図8ステップS11)。コマンド処理ス
レッド30は、このステップS11において、コマンド
を解析し、ECAM164で一括処理できるかの計算、
出力バッファ26の獲得、入力バッファ25aの獲得、
入力バッファ25bの獲得等も行なう。
するECP162)は、コマンド解析スレッド29から
受け取ったコマンド(RESTRICTコマンドまたはSELSELJO
INコマンド)のコマンド処理のための諸情報をもとに、
コマンドの処理を行なう。まずコマンド処理スレッド3
0は、コマンドとDBE16の使用状況をもとに処理の
決定を行なう(図8ステップS11)。コマンド処理ス
レッド30は、このステップS11において、コマンド
を解析し、ECAM164で一括処理できるかの計算、
出力バッファ26の獲得、入力バッファ25aの獲得、
入力バッファ25bの獲得等も行なう。
【0042】次にコマンド処理スレッド30は、条件テ
ーブル24aを入力バッファ25aに読み込む入力処理
スレッド31a、対象テーブル24bを入力バッファ2
5bに読み込む入力処理スレッド31b、及びECAM
164に処理依頼をするスレッド(ECAM処理依頼ス
レッド)32を生成する(図8ステップS12〜S1
4)。そしてコマンド処理スレッド30は、ECAM処
理依頼スレッド32からロード終了メッセージを待ち受
信の後、対象テーブル24bの読み込みを行なう入力処
理スレッド31bに読み込み開始を要求するメッセージ
を送信する(図8ステップS15,S16)。その後、
コマンド処理スレッド30は、各スレッド(ここでは入
力処理スレッド31a,31bおよびECAM処理依頼
スレッド32)からの処理終了メッセージを受信し、結
果をまとめてコマンド解析スレッド29に送信する(図
8ステップS17,S18)。
ーブル24aを入力バッファ25aに読み込む入力処理
スレッド31a、対象テーブル24bを入力バッファ2
5bに読み込む入力処理スレッド31b、及びECAM
164に処理依頼をするスレッド(ECAM処理依頼ス
レッド)32を生成する(図8ステップS12〜S1
4)。そしてコマンド処理スレッド30は、ECAM処
理依頼スレッド32からロード終了メッセージを待ち受
信の後、対象テーブル24bの読み込みを行なう入力処
理スレッド31bに読み込み開始を要求するメッセージ
を送信する(図8ステップS15,S16)。その後、
コマンド処理スレッド30は、各スレッド(ここでは入
力処理スレッド31a,31bおよびECAM処理依頼
スレッド32)からの処理終了メッセージを受信し、結
果をまとめてコマンド解析スレッド29に送信する(図
8ステップS17,S18)。
【0043】一方、入力処理スレッド31a(に従って
動作するECP162)は、同スレッド31aが生成さ
れると直ちに図9のフローチャートに示す入力処理動作
を開始し、入力バッファ25aの1番目の単位バッファ
が入力可能な状態ならば、EIP161に条件テーブル
24aの入力処理を依頼する(図9ステップS21〜S
23)。これによりEIP161は、ディスク装置17
から条件テーブル24aを1番目の単位バッファ分だけ
バス18を介して入力し、入力バッファ25aの1番目
の単位バッファに書き込む。このようにして、入力バッ
ファ25aの1番目の単位バッファへの(条件テーブル
24aの単位バッファ分の)入力が完了する。
動作するECP162)は、同スレッド31aが生成さ
れると直ちに図9のフローチャートに示す入力処理動作
を開始し、入力バッファ25aの1番目の単位バッファ
が入力可能な状態ならば、EIP161に条件テーブル
24aの入力処理を依頼する(図9ステップS21〜S
23)。これによりEIP161は、ディスク装置17
から条件テーブル24aを1番目の単位バッファ分だけ
バス18を介して入力し、入力バッファ25aの1番目
の単位バッファに書き込む。このようにして、入力バッ
ファ25aの1番目の単位バッファへの(条件テーブル
24aの単位バッファ分の)入力が完了する。
【0044】入力処理スレッド31aは、以下2番目以
降の単位バッファについても条件テーブル24aを全て
読み込み終わるまで同様の操作を繰り返す。そして入力
処理スレッド31aは、条件テーブル24aの読み込み
が終了して、その旨を判別すると、コマンド処理スレッ
ド30に処理結果を通知する(図9ステップS24,S
25)。
降の単位バッファについても条件テーブル24aを全て
読み込み終わるまで同様の操作を繰り返す。そして入力
処理スレッド31aは、条件テーブル24aの読み込み
が終了して、その旨を判別すると、コマンド処理スレッ
ド30に処理結果を通知する(図9ステップS24,S
25)。
【0045】これに対して入力処理スレッド31bは、
コマンド処理スレッド30から読み込み開始のメッセー
ジを受信するまで、即ち入力処理スレッド31aによる
条件テーブル24aの入力バッファ25aへの読み込み
が終了し、さらに入力バッファ25aに読み込まれた条
件テーブル24aのECAM164への(一括処理可能
分の)ロードが完了するまで、入力処理を待たされる。
コマンド処理スレッド30から読み込み開始のメッセー
ジを受信するまで、即ち入力処理スレッド31aによる
条件テーブル24aの入力バッファ25aへの読み込み
が終了し、さらに入力バッファ25aに読み込まれた条
件テーブル24aのECAM164への(一括処理可能
分の)ロードが完了するまで、入力処理を待たされる。
【0046】やがてコマンド処理スレッド30から読み
込み開始のメッセージを受信すると、入力処理スレッド
31b(に従って動作するECP162)は、入力バッ
ファ25bの1番目の単位バッファが入力可能な状態な
らば、EIP161に対象テーブル24bの入力処理を
依頼する(図10ステップS31〜S33)。これによ
りEIP161は、ディスク装置17から対象テーブル
24bを1番目の単位バッファ分だけバス18を介して
入力し、入力バッファ25bの1番目の単位バッファに
書き込む。このようにして、入力バッファ25bの1番
目の単位バッファへの(対象テーブル24bの単位バッ
ファ分の)入力が完了する。
込み開始のメッセージを受信すると、入力処理スレッド
31b(に従って動作するECP162)は、入力バッ
ファ25bの1番目の単位バッファが入力可能な状態な
らば、EIP161に対象テーブル24bの入力処理を
依頼する(図10ステップS31〜S33)。これによ
りEIP161は、ディスク装置17から対象テーブル
24bを1番目の単位バッファ分だけバス18を介して
入力し、入力バッファ25bの1番目の単位バッファに
書き込む。このようにして、入力バッファ25bの1番
目の単位バッファへの(対象テーブル24bの単位バッ
ファ分の)入力が完了する。
【0047】入力処理スレッド31bは、以下2番目以
降の単位バッファについても対象テーブル24bを全て
読み込み終わるまで同様の操作を繰り返す。そして入力
処理スレッド31bは、対象テーブル24bの読み込み
が終了して、その旨を判別すると、コマンド処理スレッ
ド30に処理結果を通知する(図10ステップS34,
S35)。
降の単位バッファについても対象テーブル24bを全て
読み込み終わるまで同様の操作を繰り返す。そして入力
処理スレッド31bは、対象テーブル24bの読み込み
が終了して、その旨を判別すると、コマンド処理スレッ
ド30に処理結果を通知する(図10ステップS34,
S35)。
【0048】さて、ECAM処理依頼スレッド32(に
従って動作するECP162)は、入力バッファ25a
内の単位バッファがロード可能となると、その単位バッ
ファの内容(条件テーブル24aの単位バッファ分のデ
ータ)を順次ECAM164にロードする動作(図11
ステップS41〜S43)を繰り返す。このロード動作
では、ECAM164が持つPSOM165により条件
キーがソートされ、PRAM166のバッファ(図示せ
ず)に格納される。なお、SELSELJOINコマンドの場合に
は、PSOM165でのソートに先立ち、ECAM16
4においてカラムまたは定数による選択が行なわれる。
従って動作するECP162)は、入力バッファ25a
内の単位バッファがロード可能となると、その単位バッ
ファの内容(条件テーブル24aの単位バッファ分のデ
ータ)を順次ECAM164にロードする動作(図11
ステップS41〜S43)を繰り返す。このロード動作
では、ECAM164が持つPSOM165により条件
キーがソートされ、PRAM166のバッファ(図示せ
ず)に格納される。なお、SELSELJOINコマンドの場合に
は、PSOM165でのソートに先立ち、ECAM16
4においてカラムまたは定数による選択が行なわれる。
【0049】ECAM処理依頼スレッド32は、ECA
M164で一括処理が可能なだけのデータ量(の条件テ
ーブル24aのデータ)のロードが完了すると、コマン
ド処理スレッド30にロード終了メッセージを送信する
(図11ステップS44,S45)。
M164で一括処理が可能なだけのデータ量(の条件テ
ーブル24aのデータ)のロードが完了すると、コマン
ド処理スレッド30にロード終了メッセージを送信する
(図11ステップS44,S45)。
【0050】このように本実施例では、条件テーブル2
4aをディスク装置17から入力する処理と、入力され
た条件テーブル24aをECAM164にロードする処
理とが並行して行なわれる。
4aをディスク装置17から入力する処理と、入力され
た条件テーブル24aをECAM164にロードする処
理とが並行して行なわれる。
【0051】次にECAM処理依頼スレッド32は、入
力処理スレッド31bの入力処理により処理可能になっ
た入力バッファ25b内の単位バッファのデータ(対象
テーブル24bのデータ)についてECAM164に処
理依頼し、その処理結果を出力バッファ26の各単位バ
ッファに出力させる(図11ステップS46)。これに
よりECAM164は、先にロードされた条件テーブル
24aのデータと入力された対象テーブル24bのデー
タについて、PSOM165及びPRAM166を制御
して指定されたコマンド(RESTRICTコマンドまたはSELS
ELJOINコマンド)の処理(準結合または結合処理)を行
ない、その結果を出力バッファ26の各単位バッファに
書き込む。例えばSELSELJOINコマンドであれば、ECA
M164に入力されてPSOM165でソートされた対
象キーを、既にPRAM166のバッファに格納済みの
条件キーと結合する処理が行なわれ、その結果が、該当
するレコードのレコード識別番号RIDの対として出力
バッファ26に書き込まれる。
力処理スレッド31bの入力処理により処理可能になっ
た入力バッファ25b内の単位バッファのデータ(対象
テーブル24bのデータ)についてECAM164に処
理依頼し、その処理結果を出力バッファ26の各単位バ
ッファに出力させる(図11ステップS46)。これに
よりECAM164は、先にロードされた条件テーブル
24aのデータと入力された対象テーブル24bのデー
タについて、PSOM165及びPRAM166を制御
して指定されたコマンド(RESTRICTコマンドまたはSELS
ELJOINコマンド)の処理(準結合または結合処理)を行
ない、その結果を出力バッファ26の各単位バッファに
書き込む。例えばSELSELJOINコマンドであれば、ECA
M164に入力されてPSOM165でソートされた対
象キーを、既にPRAM166のバッファに格納済みの
条件キーと結合する処理が行なわれ、その結果が、該当
するレコードのレコード識別番号RIDの対として出力
バッファ26に書き込まれる。
【0052】このように本実施例では、対象テーブル2
4bをディスク装置17から入力する処理と、ECAM
164での準結合または結合処理とが並行して行なわれ
る。
4bをディスク装置17から入力する処理と、ECAM
164での準結合または結合処理とが並行して行なわれ
る。
【0053】ECAM処理依頼スレッド32は、上記ス
テップS46の処理終了後、処理結果をコマンド処理ス
レッド30に送信する(図11ステップS47)。
テップS46の処理終了後、処理結果をコマンド処理ス
レッド30に送信する(図11ステップS47)。
【0054】以上のように本実施例では、内部バス16
7によって相互接続され、互いに並列動作可能なEIP
(エンジンインタフェースプロセッサ)161、ECP
(エンジン制御プロセッサ)162及びECAM(ハー
ドウェアソータ制御プロセッサ)164の3つのプロセ
ッサと、これら各プロセッサによって共有されるEBD
M(大容量メモリ)163と、ECAM164によって
制御されるPSOM(並列ソーティングモジュール)1
65及びPRAM(並列関係代数演算モジュール)16
6とにより、DBE(データベース演算処理装置)16
を構成している。
7によって相互接続され、互いに並列動作可能なEIP
(エンジンインタフェースプロセッサ)161、ECP
(エンジン制御プロセッサ)162及びECAM(ハー
ドウェアソータ制御プロセッサ)164の3つのプロセ
ッサと、これら各プロセッサによって共有されるEBD
M(大容量メモリ)163と、ECAM164によって
制御されるPSOM(並列ソーティングモジュール)1
65及びPRAM(並列関係代数演算モジュール)16
6とにより、DBE(データベース演算処理装置)16
を構成している。
【0055】また本実施例では、ホストコンピュータ1
0からDBE16にRESTRICTコマンドまたはSELSELJOIN
コマンドを含むコマンド列21が送られた場合に、EC
P162にてコマンド解析スレッド29が生成される構
成となっている。このコマンド解析スレッド29は、コ
マンド列21を解析してコマンド列21中のコマンド各
々の処理を行なうコマンド処理スレッド30で代表され
るコマンド処理スレッドを次々と生成し、それらからの
処理結果を受信してまとめてホストコンピュータ10へ
の処理ステータス23を通知するように構成される。
0からDBE16にRESTRICTコマンドまたはSELSELJOIN
コマンドを含むコマンド列21が送られた場合に、EC
P162にてコマンド解析スレッド29が生成される構
成となっている。このコマンド解析スレッド29は、コ
マンド列21を解析してコマンド列21中のコマンド各
々の処理を行なうコマンド処理スレッド30で代表され
るコマンド処理スレッドを次々と生成し、それらからの
処理結果を受信してまとめてホストコンピュータ10へ
の処理ステータス23を通知するように構成される。
【0056】コマンド処理スレッド30は、入力処理ス
レッド31a,31b並びECAM処理依頼スレッド3
2を順次生成し、ECAM処理依頼スレッド32からロ
ード終了メッセージを受信した後、入力処理スレッド3
1bに入力開始メッセージを送信し、各スレッドからの
処理メッセージをもとにコマンド処理結果をコマンド解
析スレッド29に送信するように構成される。
レッド31a,31b並びECAM処理依頼スレッド3
2を順次生成し、ECAM処理依頼スレッド32からロ
ード終了メッセージを受信した後、入力処理スレッド3
1bに入力開始メッセージを送信し、各スレッドからの
処理メッセージをもとにコマンド処理結果をコマンド解
析スレッド29に送信するように構成される。
【0057】入力処理スレッド31aは、条件テーブル
24aを直ちにディスク装置17から入力バッファ25
aに読み込み、処理終了後処理結果をコマンド処理スレ
ッド30に送信するように構成され、入力処理スレッド
31bは、対象テーブル24bをコマンド処理スレッド
30からの読み込み開始のメッセージ受信の後にディス
ク装置17から入力バッファ25bに読み込み、処理終
了後処理結果をコマンド処理スレッド30に送信するよ
うに構成される。
24aを直ちにディスク装置17から入力バッファ25
aに読み込み、処理終了後処理結果をコマンド処理スレ
ッド30に送信するように構成され、入力処理スレッド
31bは、対象テーブル24bをコマンド処理スレッド
30からの読み込み開始のメッセージ受信の後にディス
ク装置17から入力バッファ25bに読み込み、処理終
了後処理結果をコマンド処理スレッド30に送信するよ
うに構成される。
【0058】ECAM処理依頼スレッド32は、処理可
能になった入力バッファ25aの中の単位バッファをE
CAM164に順次ロードし、ECAM164で一括処
理可能分のロードが完了したのちコマンド処理スレッド
30にロード終了メッセージを送信し、処理可能になっ
た入力バッファ25bの中の単位バッファをECAM1
64に処理依頼して出力バッファ26の各単位バッファ
に出力させ、処理結果をコマンド処理スレッド30に送
信するように構成される。
能になった入力バッファ25aの中の単位バッファをE
CAM164に順次ロードし、ECAM164で一括処
理可能分のロードが完了したのちコマンド処理スレッド
30にロード終了メッセージを送信し、処理可能になっ
た入力バッファ25bの中の単位バッファをECAM1
64に処理依頼して出力バッファ26の各単位バッファ
に出力させ、処理結果をコマンド処理スレッド30に送
信するように構成される。
【0059】このような構成により、条件テーブル24
aのディスク装置17から入力バッファ25aへの読み
込みを先行させ、入力バッファ25aからECAM16
4への条件テーブル24aのロード完了後に、対象テー
ブル24bのディスク装置17から入力バッファ25b
への読み込みを開始させることができ、したがって条件
テーブル24aの読み込み時間が短縮(従来のほぼ半
分)され、条件テーブル24aの読み込みを開始してか
ら対象テーブル24bの準結合または結合の処理を開始
するまでの時間を短縮できる。
aのディスク装置17から入力バッファ25aへの読み
込みを先行させ、入力バッファ25aからECAM16
4への条件テーブル24aのロード完了後に、対象テー
ブル24bのディスク装置17から入力バッファ25b
への読み込みを開始させることができ、したがって条件
テーブル24aの読み込み時間が短縮(従来のほぼ半
分)され、条件テーブル24aの読み込みを開始してか
ら対象テーブル24bの準結合または結合の処理を開始
するまでの時間を短縮できる。
【0060】
【発明の効果】以上詳述したようにこの発明によれば、
条件テーブルの読み込みを先行して行ない、この条件テ
ーブルのロード完了後に対象テーブルの読み込みを開始
する構成としたので、条件テーブルの読み込みが短時間
で行なわれるようになり、条件テーブルの読み込みを開
始してから対象テーブルの準結合または結合の処理を開
始するまでの時間を、条件テーブルと対象テーブルとを
並行して読み込んでい従来方式に比べてほぼ半減でき、
準結合処理と結合処理の高速化が図れる。この効果は、
特に、条件テーブルの大きさが対象テーブルの大きさに
比べて小さくないとき顕著である。
条件テーブルの読み込みを先行して行ない、この条件テ
ーブルのロード完了後に対象テーブルの読み込みを開始
する構成としたので、条件テーブルの読み込みが短時間
で行なわれるようになり、条件テーブルの読み込みを開
始してから対象テーブルの準結合または結合の処理を開
始するまでの時間を、条件テーブルと対象テーブルとを
並行して読み込んでい従来方式に比べてほぼ半減でき、
準結合処理と結合処理の高速化が図れる。この効果は、
特に、条件テーブルの大きさが対象テーブルの大きさに
比べて小さくないとき顕著である。
【図1】この発明の一実施例に係るデータ処理装置のシ
ステム構成を示すブロック図。
ステム構成を示すブロック図。
【図2】図1のホストコンピュータ10からデータベー
ス演算処理装置(DBE)16に与えられるコマンド列
の構成を示す図。
ス演算処理装置(DBE)16に与えられるコマンド列
の構成を示す図。
【図3】データベース演算処理装置(DBE)16から
ホストコンピュータ10へ送られる処理ステータスの構
成を示す図。
ホストコンピュータ10へ送られる処理ステータスの構
成を示す図。
【図4】条件テーブル及び対象テーブルの構造を示す
図。
図。
【図5】図1の大容量メモリ(EBDM)163に確保
される入力バッファ25a,25b及び出力バッファ2
6の構造を示す図。
される入力バッファ25a,25b及び出力バッファ2
6の構造を示す図。
【図6】図1のエンジン制御プロセッサ(ECP)16
2の機能構成を、同プロセッサ162にて生成される各
種スレッドの相互関係によって示す図。
2の機能構成を、同プロセッサ162にて生成される各
種スレッドの相互関係によって示す図。
【図7】図6のコマンド解析スレッド29の処理手順を
示すフローチャート。
示すフローチャート。
【図8】図6のコマンド処理スレッド30の処理手順を
示すフローチャート。
示すフローチャート。
【図9】図6の入力処理スレッド31aの処理手順を示
すフローチャート。
すフローチャート。
【図10】図6の入力処理スレッド31bの処理手順を
示すフローチャート。
示すフローチャート。
【図11】図6のECAM処理依頼スレッド32の処理
手順を示すフローチャート。
手順を示すフローチャート。
10…ホストコンピュータ、11…CPU、16…デー
タベース演算処理装置(DBE)、17…ディスク装置
(2次記憶装置)、18…バス、161…エンジンイン
タフェースプロセッサ(EIP、第2のプロセッサ)、
162…エンジン制御プロセッサ(ECP、第1のプロ
セッサ)、163…大容量メモリ(EBDM、内部メモ
リ)、164…ハードウェア(HW)ソータ制御プロセ
ッサ(ECAM、第3のプロセッサ)、165…並列ソ
ーティングモジュール(PSOM)、166…並列関係
代数演算モジュール(PRAM)、21…コマンド列、
23…処理ステータス、24a…条件テーブル、24b
…対象テーブル、25a…入力バッファ(第1の入力バ
ッファ)、25b…入力バッファ(第2の入力バッフ
ァ)、26…出力バッファ、29…コマンド解析スレッ
ド、30…コマンド処理スレッド、31a…入力処理ス
レッド(第1の入力処理タスク)、31b…入力処理ス
レッド(第2の入力処理タスク)、32…ECAM処理
依頼スレッド(インタフェース処理タスク)。
タベース演算処理装置(DBE)、17…ディスク装置
(2次記憶装置)、18…バス、161…エンジンイン
タフェースプロセッサ(EIP、第2のプロセッサ)、
162…エンジン制御プロセッサ(ECP、第1のプロ
セッサ)、163…大容量メモリ(EBDM、内部メモ
リ)、164…ハードウェア(HW)ソータ制御プロセ
ッサ(ECAM、第3のプロセッサ)、165…並列ソ
ーティングモジュール(PSOM)、166…並列関係
代数演算モジュール(PRAM)、21…コマンド列、
23…処理ステータス、24a…条件テーブル、24b
…対象テーブル、25a…入力バッファ(第1の入力バ
ッファ)、25b…入力バッファ(第2の入力バッフ
ァ)、26…出力バッファ、29…コマンド解析スレッ
ド、30…コマンド処理スレッド、31a…入力処理ス
レッド(第1の入力処理タスク)、31b…入力処理ス
レッド(第2の入力処理タスク)、32…ECAM処理
依頼スレッド(インタフェース処理タスク)。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山田 広佳 東京都青梅市末広町2丁目9番地 株式 会社東芝青梅工場内 (72)発明者 島川 和典 東京都青梅市末広町2丁目9番地 株式 会社東芝青梅工場内 (72)発明者 佐藤 祐治 東京都青梅市新町1385番地 東芝ソフト ウェアエンジニアリング株式会社内 (72)発明者 外尾 博紀 東京都青梅市新町1385番地 東芝ソフト ウェアエンジニアリング株式会社内 (72)発明者 天野 慎一 東京都青梅市新町1385番地 東芝ソフト ウェアエンジニアリング株式会社内 (56)参考文献 特開 昭60−178573(JP,A) 特開 平2−178773(JP,A) 特開 平3−22151(JP,A) 中野美由紀ほか,「機能ディスクシス テム第2版」,コンピュータアーキテク チャシンポジウムpp.37−46,昭和63 年5月 (58)調査した分野(Int.Cl.6,DB名) G06F 17/30 G06F 12/00 512 G06F 15/16 370
Claims (3)
- 【請求項1】 ホスト装置と演算対象のテーブルデータ
が格納される2次記憶装置とに接続され、前記ホスト装
置から与えられるコマンドに応じて前記演算対象のテー
ブルデータを入力して所定のデータベース演算処理を実
行するデータベース演算処理装置において、データベース演算処理 装置全体の制御を司る第1のプロ
セッサと、 前記ホスト装置との間のインタフェース制御及び前記2
次記憶装置との間の入出力制御を司る第2のプロセッサ
と、 ソートを並列に実行する並列ソーティング機構及び各種
関係代数演算を並列に実行する並列関係代数演算機構が
付加され、前記第1のプロセッサからの要求に応じて前
記両機構を制御する第3のプロセッサと、 演算の対象となるテーブルデータを一時記憶するための
第1及び第2の入力バッファが置かれる内部メモリとを
具備し、 前記第1のプロセッサは、前記ホスト装置から前記第2
のプロセッサを介して準結合または結合を指示するコマ
ンドが与えられた場合に、前記第2のプロセッサによ
り、前記2次記憶装置から前記内部メモリの第1の入力
バッファに同コマンドで指定された条件テーブルデータ
を読み込ませると共に、前記第1の入力バッファに読み
込まれた条件テーブルデータを前記第3のプロセッサで
の一括処理可能分だけ同プロセッサにロードしてから、
前記第2のプロセッサにより、前記2次記憶装置から前
記内部メモリの第2の入力バッファに前記コマンドで指
定された対象テーブルデータを読み込ませて、前記第3
のプロセッサでの準結合または結合の処理を行なわせる
ように構成されていることを特徴とするデータベース演
算処理装置。 - 【請求項2】 ホスト装置と演算対象のテーブルデータ
が格納される2次記憶装置とに接続され、前記ホスト装
置から与えられるコマンドに応じて前記演算対象のテー
ブルデータを入力して所定のデータベース演算処理を実
行するデータベース演算処理装置において、データベース演算処理 装置全体の制御を司る第1のプロ
セッサと、 前記ホスト装置との間のインタフェース制御及び前記2
次記憶装置との間の入出力制御を司る第2のプロセッサ
と、 ソートを並列に実行する並列ソーティング機構及び各種
関係代数演算を並列に実行する並列関係代数演算機構が
付加され、前記第1のプロセッサからの要求に応じて前
記両機構を制御する第3のプロセッサと、 演算の対象となるテーブルデータを一時記憶するための
第1及び第2の入力バッファが置かれる内部メモリとを
具備し、 前記第1のプロセッサは、前記ホスト装置から与えられ
たコマンドを処理するためのコマンド処理タスクと、こ
のコマンド処理タスクの制御下にあって、前記コマンド
を実行するのに必要となる処理のうち、前記第2のプロ
セッサと関係する入出力処理を司る入出力処理タスク
と、前記第3のプロセッサとのインタフェースを司るイ
ンタフェース処理タスクとを必要数生成し、前記各タス
クを並行して動作させることにより、前記第1乃至第3
のプロセッサの並列処理を可能としたことを特徴とする
データベース演算処理装置。 - 【請求項3】 前記第1のプロセッサは、前記ホスト装
置から準結合または結合を指示するコマンドが与えられ
た場合に、前記2次記憶装置から前記内部メモリの第1
の入力バッファへの同コマンドで指定された条件テーブ
ルデータの読み込みを前記第2のプロセッサにより行な
わせる第1の入力処理タスクと、この第1の入出力処理
タスクの制御のもとで前記第1の入力バッファに読み込
まれた条件テーブルデータが前記第3のプロセッサに同
プロセッサの一括処理可能分ロードされた後に起動され
て、前記2次記憶装置から前記内部メモリの第2の入力
バッファへの前記コマンドで指定された対象テーブルデ
ータの読み込みを前記第2のプロセッサにより行なわせ
る第2の入力処理タスクと、前記第1の入力バッファに
読み込まれた条件テーブルデータを前記第3のプロセッ
サでの一括処理可能分だけ同プロセッサにロードし、し
かる後に前記第2の入力バッファに読み込まれた対象テ
ーブルデータについて前記ホスト装置から与えられた準
結合または結合の処理を前記第3のプロセッサに依頼す
るインタフェース処理タスクとを生成することを特徴と
する請求項2記載のデータベース演算処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3268186A JP2983351B2 (ja) | 1991-09-21 | 1991-09-21 | データベース演算処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3268186A JP2983351B2 (ja) | 1991-09-21 | 1991-09-21 | データベース演算処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0581334A JPH0581334A (ja) | 1993-04-02 |
JP2983351B2 true JP2983351B2 (ja) | 1999-11-29 |
Family
ID=17455115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3268186A Expired - Lifetime JP2983351B2 (ja) | 1991-09-21 | 1991-09-21 | データベース演算処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2983351B2 (ja) |
-
1991
- 1991-09-21 JP JP3268186A patent/JP2983351B2/ja not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
中野美由紀ほか,「機能ディスクシステム第2版」,コンピュータアーキテクチャシンポジウムpp.37−46,昭和63年5月 |
Also Published As
Publication number | Publication date |
---|---|
JPH0581334A (ja) | 1993-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4703446A (en) | Data processing unit diagnosis control apparatus | |
JP2884831B2 (ja) | 処理装置 | |
JP2983351B2 (ja) | データベース演算処理装置 | |
JP3004102B2 (ja) | データベース演算処理装置 | |
JP3002041B2 (ja) | データベース演算処理装置 | |
JP2983352B2 (ja) | データベース演算処理装置 | |
JP3143330B2 (ja) | プログラマブルコントローラ | |
JP2913664B2 (ja) | 画像情報分割処理装置及びその方法 | |
JPH03179548A (ja) | コマンド再実行処理方式 | |
JPH05101110A (ja) | データベース演算処理装置 | |
JPS635780B2 (ja) | ||
JP2504645B2 (ja) | テストプログラム実行制御処理方式 | |
JPH0581338A (ja) | データ処理装置 | |
JPH06348554A (ja) | データ処理装置 | |
JP3263123B2 (ja) | データ処理システムにおけるソート処理方式 | |
JPH05324431A (ja) | データ処理装置 | |
JPH0581339A (ja) | データ処理装置 | |
JPH05265953A (ja) | 分散処理型プログラムの起動方式 | |
JPS608925A (ja) | 重複キー入力情報の処理方法 | |
JPH05324428A (ja) | データ処理装置 | |
JPS6139285A (ja) | 情報検索装置 | |
JPH0581343A (ja) | データ処理装置 | |
JPH05324580A (ja) | データ処理装置 | |
JPS6139284A (ja) | 情報検索装置 | |
JPS60178547A (ja) | デ−タ処理方式 |