JPH0581336A - データベース演算処理装置 - Google Patents

データベース演算処理装置

Info

Publication number
JPH0581336A
JPH0581336A JP3313058A JP31305891A JPH0581336A JP H0581336 A JPH0581336 A JP H0581336A JP 3313058 A JP3313058 A JP 3313058A JP 31305891 A JP31305891 A JP 31305891A JP H0581336 A JPH0581336 A JP H0581336A
Authority
JP
Japan
Prior art keywords
input
processor
processing
buffer
output
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.)
Granted
Application number
JP3313058A
Other languages
English (en)
Other versions
JP3002041B2 (ja
Inventor
Tomohiko Yamada
朝彦 山田
Takao Iwasaki
孝夫 岩崎
Hiroyoshi Yamada
広佳 山田
Kazunori Shimakawa
和典 島川
Yuji Sato
祐治 佐藤
Hironori Hokao
博紀 外尾
Shinichi Amano
慎一 天野
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.)
Toshiba Corp
Toshiba Software Engineering Corp
Original Assignee
Toshiba Corp
Toshiba Software Engineering 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 Toshiba Corp, Toshiba Software Engineering Corp filed Critical Toshiba Corp
Priority to JP3313058A priority Critical patent/JP3002041B2/ja
Publication of JPH0581336A publication Critical patent/JPH0581336A/ja
Application granted granted Critical
Publication of JP3002041B2 publication Critical patent/JP3002041B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】処理すべきテーブルの大きさに対してデータベ
ース演算処理装置内のメモリが十分でない場合でも、選
択と準結合と結合の処理がデータベース演算処理装置自
身で高速に行なえるようにすることである。 【構成】データベース演算処理装置のメモリに入りきら
ない対象テーブル24bを用いるSELECTコマンドの場合
に、同テーブル24bを読み込むための入力バッファ2
5bを2分割して切り替え、分割されたバッファ25b
内のレコード群を単位としてECAM(ハードウェアソ
ータ制御プロセッサ)164にてSELECT処理させる構成
とする。また、ディスク装置17からバッファ25bへ
のテーブル24bの読み込みを制御する入力処理スレッ
ド31b、ECAM164とのインタフェースをとるE
CAM処理依頼スレッド32、及び出力バッファ26か
らディスク装置17への出力を制御する出力処理スレッ
ド33を並列動作させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ホスト装置から与え
られるデータベース演算コマンドを受けて指定された演
算処理を実行するデータベース演算処理装置に係り、特
にホスト装置からの関係データベース演算である選択、
準結合または結合の処理要求に対して、テーブルの2次
記憶装置からの入力と関係データベース演算と2次記憶
装置への出力とを並行して行なうデータベース演算処理
装置に関する。
【0002】
【従来の技術】ホスト装置から与えられるデータベース
演算コマンドを受けて指定された演算処理を実行するデ
ータベース演算処理装置が従来より知られている。従
来、この種のデータベース演算処理装置内のメモリ(内
部メモリ)に入りきらないテーブルを対象とする関係デ
ータベース演算である選択(SELECT)、準結合(RESTRI
CT)または結合(JOIN)の処理は、ホスト装置において
ソフトウェアによって処理されていた。
【0003】
【発明が解決しようとする課題】上記したように従来
は、データベース演算処理装置内のメモリに入りきらな
いテーブルを対象とする関係データベース演算は、ホス
ト装置のソフトウェア処理によって行なわれていたた
め、データベース演算処理装置内のメモリの消費が多い
場合には、このような状態が頻繁に発生して処理速度の
低下が激しくなるという問題があった。特に結合の処理
速度低下は顕著であった。
【0004】この発明は上記事情に鑑みてなされたもの
でその目的は、処理すべきテーブルの大きさに対してデ
ータベース演算処理装置内のメモリが十分でない場合で
も、選択と準結合と結合の処理がデータベース演算処理
装置自身で高速に行なえるデータベース演算処理装置を
提供することにある。
【0005】
【課題を解決するための手段】この発明は、ホスト装置
から与えられるデータベース演算コマンドを受けて指定
された演算処理を実行するデータベース演算処理装置
に、装置全体の制御を司る第1のプロセッサと、ホスト
装置との間のインタフェース制御及び2次記憶装置との
間の入出力制御を司る第2のプロセッサと、並列ソーテ
ィング機構及び並列関係演算機構が付加され、第1のプ
ロセッサからの要求に応じてこれら両機構を制御する第
3のプロセッサと、関係演算の対象となる対象テーブル
データおよび関係演算の条件となる条件テーブルデータ
を一時記憶するための内部メモリとを設けると共に、上
記第1のプロセッサの構成を次のように構成したことを
特徴とするものである。
【0006】即ち、第1のプロセッサは、ホスト装置か
ら第2のプロセッサを介して与えられた選択を指示する
コマンドで指定される2次記憶装置上の対象テーブルデ
ータが内部メモリの入力バッファに全て読み込めない場
合に、入力バッファを複数の領域に分割してその領域を
繰り返し切り替え使用することで、対象テーブルデータ
の入力バッファへの読み込みを第2のプロセッサにより
行なわせる入力処理手段と、この入力処理手段の制御の
もとで第2のプロセッサにより入力バッファ内の分割領
域に読み込まれたデータについての選択処理及び選択処
理結果の出力バッファへの出力処理を第3のプロセッサ
に依頼するインタフェース処理手段と、出力バッファか
ら2次記憶装置へのデータ出力を第2のプロセッサによ
り行なわせる出力処理手段とを備えるように構成され
る。
【0007】また、第1のプロセッサが、ホスト装置か
ら与えられた準結合(または結合)を指示するコマンド
で指定される2次記憶装置上の条件テーブルデータ及び
対象テーブルデータが内部メモリのそれぞれ第1及び第
2の入力バッファに全て読み込めない場合に、第1の入
力バッファを複数の領域に分割してその領域を繰り返し
切り替え使用することで、条件テーブルデータの第1の
入力バッファへの読み込みを、第2のプロセッサにより
J回(Jは第3のプロセッサで分割処理すべき対象テー
ブルデータの分割数)繰り返し行なわせる(または1回
行なわせる)第1の入力処理手段と、第2の入力バッフ
ァを複数の領域に分割してその領域を繰り返し切り替え
使用することで、対象テーブルデータの第2の入力バッ
ファへの読み込みを、第2のプロセッサにより1回(ま
たはI回、Iは第3のプロセッサで分割処理すべき条件
テーブルデータの分割数)行なわせる第2の入力処理手
段と、第1及び第2の入力処理手段の制御のもとで第2
のプロセッサにより第1及び第2の入力バッファ内の分
割領域に読み込まれたデータについての準結合処理及び
準結合処理結果(または結合処理及び結合処理結果)の
出力バッファへの出力処理を第3のプロセッサに依頼す
るインタフェース処理手段と、出力バッファから2次記
憶装置へのデータ出力を第2のプロセッサにより行なわ
せる出力処理手段とを備えるように構成されることをも
特徴とする。
【0008】
【作用】上記の構成では、データベース演算処理装置の
内部メモリに確保される入力バッファまたは出力バッフ
ァがサイクリックに利用され、また入力処理手段(第1
及び第2入力処理手段)、インタフェース処理手段及び
出力処理手段が並行して動作するため、内部メモリの効
率的利用が図れ、選択、準結合または結合の処理対象と
なるテーブルを2次記憶装置からデータベース演算処理
装置内に読み込むのに十分な内部メモリが存在しない場
合でも、データベース演算処理装置内での処理が可能と
なり、しかも装置内での並行処理により処理の高速化が
図れる。
【0009】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。
【0010】図1にはこの発明の一実施例に係わるデー
タ処理装置の全体のシステム構成が示されている。この
データ処理装置は、ホストコンピュータ10と、データ
ベース演算処理装置(データベースエンジン;DBE)
16と、磁気ディスク装置などのディスク装置17とに
よって構成されている。ホストコンピュータ10は、C
PU11、主記憶装置12、第1及び第2のチャネル装
置14,15によって構成されており、これらCPU1
1、主記憶装置12及びチャネル装置14,15はシス
テムバス13を介して相互接続されている。
【0011】ホストコンピュータ10とデータベース演
算処理装置(DBE)16はチャネル装置14によって
接続され、またホストコンピュータ10とディスク装置
17はチャネル装置15によって接続されている。さら
に、データベース演算処理装置(DBE)16とディス
ク装置17は専用のパス18を介して接続されている。
【0012】CPU11は、ホストコンピュータ10全
体の制御を司るものであり、データベース演算処理装置
(DBE)16に対してソート処理や関係代数演算等の
各種演算処理の実行を依頼する。主記憶装置12には、
データベース演算処理装置(DBE)16に対して演算
対象ファイルや演算内容を指示するためのコマンド群が
格納される。
【0013】データベース演算処理装置(DBE)16
は、CPU11からのコマンドに基づいて演算対象ファ
イルのデータに対して演算処理を実行するものであり、
演算対象ファイルの入力及び演算結果の出力のために、
パス18を介してディスク装置17を直接的にアクセス
する。
【0014】このDBE(データベース演算処理装置)
16は、エンジンインターフェースプロセッサ(EI
P)161、エンジン制御プロセッサ(ECP)16
2、大容量メモリ(EBDM)163、ハードウェア
(HW)ソータ制御プロセッサ(ECAM)164、並
列ソーティングモジュール(PSOM)165及び並列
関係代数演算モジュール(PRAM)166によって構
成されている。
【0015】EIP(エンジンインターフェースプロセ
ッサ)161、ECP(エンジン制御プロセッサ)16
2及びECAM(ハードウェアソータ制御プロセッサ)
164の3台のプロセッサは、内部バス167によって
相互接続されており、EBDM(大容量メモリ)163
を共有メモリとする密結合のマルチプロセッサを構成し
ている。EBDM163は、3台の各プロセッサの共通
のアドレス空間上に配置されている。また、これら3台
のプロセッサ、つまりEIP161、ECP162及び
ECAM164には機能分散がなされている。この場
合、それぞれの固有の役割を効率良く実行するために、
これら各プロセッサは、密結合ながらそれぞれに適した
独立のモニタによって動作制御されるように構成されて
いる。
【0016】EIP161、ECP162及びECAM
164の機能分散は、次のようになされている。
【0017】すなわち、EIP(エンジン制御プロセッ
サ)161は、ホストコンピュータ10とDBE16間
の通信を行なうと共に、ディスク装置17のディスクコ
ントローラにもパス18を介して接続されており、ディ
スク装置17とのデータ入出力を制御する。また、EI
P161は、ディスク装置17にデータを出力する際、
出力ファイルの再構成処理も行なう。
【0018】ホストコンピュータ10との間の通信にお
いては、EIP161は、第1のチャネル装置14を介
してCPU11から送られてくるコマンドを受信し、そ
れをECP162に送信する。また、EIP161は、
ECP162から送られてくるコマンド結果としてのス
テータスを受信し、それを第1のチャネル装置14を介
してCPU11に返信する。
【0019】ディスク装置17との間のデータ入出力処
理においては、EIP161は、ECP162からの入
出力要求を受け付け、直接EBDM163とディスク装
置17との間でデータ転送を行なう。
【0020】ECP162は、EIP161、EBDM
163及びECAM164を内部バス167を介して制
御し、データ処理を行なう。
【0021】EBDM(大容量メモリ)163は、ディ
スク装置17から読み出された演算対象のファイルデー
タ(テーブルデータ)、ECAM164、PSOM16
5及びPRAM166によるソート処理結果、関係代数
演算結果等を格納する共有メモリである。
【0022】ECAM(ハードウェアソータ制御プロセ
ッサ)164は、ECP162からの指令に基づいて、
PSOM165及びPRAM166による演算を制御す
る。
【0023】この場合、ECAM164は、EBDM1
63上のデータをPSOM165に入力し、PRAM1
66から出力された演算結果をEBDM163上に格納
するが、PSOM165へのデータ入力に際しては、キ
ー切り出し処理を実行する。このキー切り出し処理にお
いては、ECAM164は、演算対象の各レコードから
演算に必要なキーのみを切り出し、それにレコード識別
番号RID(EBDM163上におけるレコードの先頭
アドレス)を付加してPSOM165へ送出する。
【0024】PSOM(並列ソーティングモジュール)
165は、ECAM164によって駆動され、ソートを
並列に実行する専用のハードウェア回路であり、PRA
M166に接続されている。このPSOM165は、パ
イプラインマージソータと称されるものであり、2−ウ
ェイマージを行なう複数のソートセルをカスケード接続
してなる。
【0025】PRAM(並列関係代数演算モジュール)
166は、関係型データベースにおけるJOIN(結合)や
RESTRICT(制約、準結合)といった関係代数演算を並列
に実行する専用のハードウェア回路であり、PSOM1
65からソートされたデータを入力し、演算結果をEC
AM164に出力する。ソート処理だけを実行する場合
には、PRAM166は最終段のソートセルとして機能
する。
【0026】図2はホストコンピュータ10(のCPU
11)からDBE(データベース演算処理装置)16に
与えられるコマンド列21を示す。このコマンド列21
は、ホストコンピュータ10よりDBE16に処理を行
なわせる一連の処理内容を表わしたコマンド群(コマン
ド#1,#2…#n)とコマンド列内コマンド数よりな
る。
【0027】コマンドとしては、ディスク装置17から
EBDM163へのテーブルの読み込みを指示するREAD
コマンド、EBDM163上のデータを指定された形式
でディスク装置17またはEBDM163に出力するこ
とを指示するPROJECTION(射影)コマンド、及びRESTRI
CTコマンドが用意されている。このRESTRICTコマンド
は、異なるテーブルのカラムを条件として制約(準結
合)を行なうこと、即ち対象テーブルと条件テーブルの
複数カラムの比較を行ない該当する対象テーブル中のレ
コードを選択することを指示するコマンドである。
【0028】またコマンドとして、対象テーブルに対し
て与えられたカラムに対する条件によるレコードの選択
を行なうことを指示するSELECTコマンド、対象テーブル
と条件テーブルそれぞれに対して与えられたカラムに対
する条件によるレコードの選択を行なった後対象テーブ
ルの選択されたレコード群と条件テーブルの選択された
レコード群の複数カラムの比較を行ない該当する対象テ
ーブル中のレコードを選択することを指示するSELSELJO
INコマンド(指定されたキーカラムによる結合を行なう
JOINコマンドの一種)、及びディスク装置17上のワー
クファイルを指定するWORKFILEコマンドも用意されてい
る。
【0029】コマンド列21を構成する各コマンドは、
図に示すように、コマンドコードとDBE16での処理
に必要な諸情報からなる。この諸情報は、例えばRESTRI
CTコマンドであれば、選択の対象となるテーブルと、条
件となるテーブルと、対象テーブルのカラムと、条件テ
ーブルのカラムと、比較演算子等である。また、SELSEL
JOINコマンドであれば、結合の対象とするテーブルと、
条件となるテーブルと、対象テーブルに対する選択条
件、条件テーブルに対する選択条件、対象テーブルのカ
ラム、条件テーブルのカラム、結合のための演算子等で
ある。
【0030】図3はDBE16からホストコンピュータ
10へ送られる処理ステータス23を示す。この処理ス
テータス23は、ホストコンピュータ10より処理依頼
をうけたコマンド群の処理結果を同コンピュータ10に
通知するためのものである。
【0031】図4は条件テーブル24a及び対象テーブ
ル24bの構造を示す。条件テーブル24aはコマンド
の処理対象となるもので、ディスク装置17に置かれる
場合と、読み込まれてEBDM163に置かれる場合が
ある。一方、対象テーブル24bはコマンドの処理対象
となるもので、やはりディスク装置17に置かれる場合
と、読み込まれてEBDM163に置かれる場合があ
る。
【0032】図5はEBDM163に確保される入力バ
ッファ25a,25b、出力バッファ26、入力バッフ
ァ管理テーブル27a,27b及び出力バッファ管理テ
ーブル28の構造を示す。
【0033】入力バッファ25aには、図4に示す条件
テーブル24aがディスク装置17からEBDM163
に読み込まれて格納される。入力バッファ25bには、
図4に示す対象テーブル24bがディスク装置17から
EBDM163に読み込まれて格納される。入力バッフ
ァ25a,25bは一定サイズの単位バッファ(入力単
位バッファ)に分割して使用される。この入力単位バッ
ファのサイズは、EIP161がディスク装置17から
データを最も効率良く入力できるデータ量となるように
設定される。
【0034】また出力バッファ26は、ECAM164
の処理結果を保持するためのものである。出力バッファ
26は、入力バッファ25a,25bの単位バッファ
(入力単位バッファ)に対応する単位バッファ(出力単
位バッファ)に分割して使用される。本実施例において
は、出力バッファ26に格納されるECAM164の処
理結果は、RID(の対)で表わされる。このため、出
力バッファ26の出力単位バッファは、入力バッファ2
5a,25bの入力単位バッファより小さなサイズとな
る。
【0035】次に入力バッファ管理テーブル27a,2
7bは、入力バッファ25a,25bの各単位バッファ
についてその利用状況等の情報を保持するためのもので
ある。また出力バッファ管理テーブル28は、出力バッ
ファ26の各単位バッファについてその利用状況等の情
報を保持するためのものである。
【0036】図6は図1のECP(エンジン制御プロセ
ッサ)162の機能構成を、同ECP162にて生成さ
れる各種タスク(以下、スレッドと称する)の相互関係
によって示すものである。
【0037】同図において、符号29はコマンド解析ス
レッドであり、ホストコンピュータ10からのコマンド
列21を先頭のコマンドから順に解析して、その解析毎
に対応するコマンドを処理するためのスレッド(コマン
ド処理スレッド)を生成し、結果をまとめて処理ステー
タス23としてホストコンピュータ10に送信する。
【0038】符号30はコマンド解析スレッド29によ
って次々と生成されるコマンド処理スレッドの1つであ
り、DBE16内のハードウェア資源の利用状況から処
理方法を決定し、必要に応じ入力処理スレッド31a、
入力処理スレッド31b、ECAM処理依頼スレッド3
2及び出力処理スレッド33を生成し、コマンドの処理
終了後、処理結果をコマンド解析スレッド29に送信す
る。コマンド解析スレッド29によるコマンド列21の
解析に伴って次々と生成されるコマンド処理スレッド
は、それより先に生成されたコマンド処理スレッドがあ
る場合、このスレッドの状態をみて自スレッドが処理可
能な状態になり次第処理を開始する。これにより、各コ
マンド処理スレッドの並行動作が可能となる。
【0039】符号31aは入力処理スレッドであり、デ
ィスク装置17上にある処理対象テーブル27aを入力
バッファ25aに入力する。符号31bは入力処理スレ
ッドであり、ディスク装置17上にある処理対象テーブ
ル27bを入力バッファ25bに入力する。
【0040】符号32はECAM処理依頼スレッドであ
り、入力バッファ25aのデータ(RESTRICTコマンド、
SELSELJOINコマンドなどの2入力コマンドの場合は入力
バッファ25bも)をECAM164に渡して、処理を
依頼し、その処理結果をコマンド処理スレッド30に送
信する。
【0041】符号33は出力処理スレッドであり、出力
バッファ26のデータをディスク装置17に出力する。
【0042】次に、図1のデータ処理装置におけるDB
E(データベース演算処理装置)16の動作を、SELECT
コマンド、RESTRICTコマンド及びSELSELJOINコマンドを
それぞれ実行する場合であって、処理対象のテーブル全
体がEBDM163に入りきらない場合(拡張処理)を
例に、図7乃至図14のフローチャートを適宜参照して
説明する。なお、図7はコマンド解析スレッド29の処
理手順を示すフローチャート、図8はコマンド処理スレ
ッド30の処理手順を示すフローチャートである。ま
た、図9は入力処理スレッド31aの処理手順を示すフ
ローチャート、図10は入力処理スレッド31bの処理
手順を示すフローチャートである。また、図11は1入
力コマンドSELECTのときのECAM処理依頼スレッド3
2の処理手順を示すフローチャート、図12並びに図3
は2入力コマンドRESTRICTまたはSELSELJOINのときのE
CAM処理依頼スレッド32の処理手順を示すフローチ
ャート、図14は出力処理スレッド33の処理手順を示
すフローチャートである。
【0043】以下では条件テーブル24aと対象テーブ
ル24bはディスク装置17上にあるものとする。
【0044】まず、ホストコンピュータ10(のCPU
11)からDBE16にシステムバス13、第1のチャ
ネル装置14を介して図2に示すコマンド列21が送ら
れてくると、同コマンド列21がEIP161によって
受信され、ECP162に渡される。この結果、ECP
162によってコマンド解析スレッド29が生成され
る。
【0045】コマンド解析スレッド29(に従って動作
するECP162)は、ホストコンピュータ10からの
コマンド列21を受け取り(図7ステップS1)、その
先頭を見てコマンド数nを知り、コマンドがなくなるま
で、コマンド列21内のコマンドコードを読んでは、そ
のコマンドコードに対する処理を行なうコマンド処理ス
レッドを生成することを繰り返す(図7ステップS2,
S3)。その際、コマンド処理スレッドに対し、該当す
るコマンドを渡す。コマンド解析スレッド29は、コマ
ンド列21内の全てのコマンドに対して、コマンド処理
スレッドを生成した後、各スレッドから順次処理結果メ
ッセージを受け取り(図7ステップS4)、全コマンド
の処理結果が揃った後、結果をまとめてホストコンピュ
ータ10にEIP161を介して処理結果ステータス2
3を送信する(図7ステップ5)。
【0046】ここではコマンドがSELECTコマンド、REST
RICTコマンドまたはSELSELJOINコマンドであり、同コマ
ンドに対応してコマンド処理スレッド30が生成された
ものとする。
【0047】コマンド処理スレッド30(に従って動作
するECP162)は、コマンド解析スレッド29から
受け取ったコマンド(SELECTコマンド、RESTRICTコマン
ドまたはSELSELJOINコマンド)のコマンド処理のための
諸情報をもとに、コマンドの処理を行なう。まずコマン
ド処理スレッド30は、コマンドとDBE16の使用状
況をもとに処理の決定を行なう(図8ステップS1
1)。コマンド処理スレッド30は、このステップS1
1において、コマンドを解析し、ECAM164で一括
処理できるかの計算、出力バッファ26の獲得、入力バ
ッファ25aの獲得(2入力コマンドの場合だけ)、及
び入力バッファ25bの獲得等も行なう。
【0048】次にコマンド処理スレッド30は、2入力
コマンドの場合であれば、条件テーブル24aを入力バ
ッファ25aに読み込む入力処理スレッド31aを生成
する(図8ステップS12,S13)。そしてコマンド
処理スレッド30は、2入力コマンドまたは1入力コマ
ンドのいずれの場合でも、対象テーブル24bを入力バ
ッファ25bに読み込む入力処理スレッド31bを生成
し、さらにECAM164に処理依頼をするスレッド
(ECAM処理依頼スレッド)32を生成する(図8ス
テップS14,S15)。その後、コマンド処理スレッ
ド30は、各スレッド(ここでは入力処理スレッド31
a,31bおよびECAM処理依頼スレッド32)から
の処理終了メッセージを受信し、結果をまとめてコマン
ド解析スレッド29に送信する(図8ステップS16,
S17)。
【0049】入力処理スレッド31aは、上記したよう
に2入力コマンドであるRESTRICTとSELSELJOINコマンド
のときのみ(コマンド処理スレッド30によって)生成
される。入力処理スレッド31aはまず、入力バッファ
25aの1番目の単位バッファ(入力単位バッファ)に
対応する入力バッファ管理テーブル27aの情報を参照
して、この単位バッファが入力可能か否かを調べ、入力
可能な状態ならば直ちに、入力可能でなければ入力可能
状態となるのを待って、EIP161に条件テーブル2
4aの入力処理を依頼する(図9ステップS21〜S2
3)。これによりEIP161は、ディスク装置17か
ら条件テーブル24aを1番目の単位バッファ分だけパ
ス18を介して入力し、入力バッファ25aの1番目の
単位バッファに書き込む。
【0050】このようにして、入力バッファ25aの1
番目の単位バッファへの(条件テーブル24aの単位バ
ッファ分の)入力が完了すると、入力処理スレッド31
aは、入力バッファ25aの1番目の単位バッファに対
応する入力バッファ管理テーブル27aの情報を入力済
みの情報に書き換える(図9ステップS24)。
【0051】入力処理スレッド31aは、以下2番目以
降の単位バッファについても条件テーブル24aを全て
読み込み終わるまで、同様の操作を繰り返す。この際、
全て読み終える前に入力バッファ25aを使い果たした
場合は、入力バッファ25aの1番目の単位バッファか
ら再利用するものとする。
【0052】やがて入力処理スレッド31aは、条件テ
ーブル24aの読み込みが終了して、その旨を判別する
と(図9ステップS25)、ECAM処理依頼スレッド
32から読み込みを終了するか再度読むかを指定するメ
ッセージが送られているか否かを調べ(図9ステップS
26)、再読み込みメッセージが送られたならば、上記
の手順で、ディスク装置17から入力バッファ25aへ
のテーブル再読み込みを行なう。この再読み込みメッセ
ージの発行により、RESTRICTコマンドやSELSELJOINコマ
ンドの処理で同一テーブルを対象に複数回読み込む必要
がある場合に、その都度入力処理スレッド31aを起動
する必要がないため、即ち1つの入力処理スレッド31
aで複数回の同一テーブル読み込みが行なえるため、E
CP162の負担が軽減される。
【0053】一方、終了メッセージが送られたならば、
入力処理スレッド31aは、コマンド処理スレッド30
に処理結果を通知する(図9ステップS27)。
【0054】一方、入力処理スレッド31b(に従って
動作するECP162)は、入力バッファ25bの1番
目の単位バッファ(入力単位バッファ)に対応する入力
バッファ管理テーブル27bの情報を参照して、この単
位バッファが入力可能か否かを調べ、入力可能な状態な
らば直ちに、入力可能でなければ入力可能状態となるの
を待って、EIP161に対象テーブル24bの入力処
理を依頼する(図10ステップS31〜S33)。これ
によりEIP161は、ディスク装置17から対象テー
ブル24bを1番目の単位バッファ分だけパス18を介
して入力し、入力バッファ25bの1番目の単位バッフ
ァに書き込む。
【0055】このようにして、入力バッファ25bの1
番目の単位バッファへの(対象テーブル24bの単位バ
ッファ分の)入力が完了すると、入力処理スレッド31
bは、入力バッファ25bの1番目の単位バッファに対
応する入力バッファ管理テーブル27bの情報を入力済
みの情報に書き換える(図10ステップS34)。
【0056】入力処理スレッド31bは、以下2番目以
降の単位バッファについても対象テーブル24bを全て
読み込み終わるまで、同様の操作を繰り返す。この際、
全て読み終える前に入力バッファ25bを使い果たした
場合は、入力バッファ25bの1番目の単位バッファか
ら再利用するものとする。
【0057】やがて入力処理スレッド31bは、対象テ
ーブル24bの読み込みが終了して、その旨を判別する
と(図10ステップS35)、読み込みを終了するか再
度読むかを指定するメッセージが送られているか否かを
調べ(図10ステップS36)、再読み込みメッセージ
が送られたならば、上記の手順で、ディスク装置17か
ら入力バッファ25bへのテーブル再読み込みを行な
う。
【0058】一方、終了メッセージが送られたならば、
入力処理スレッド31bは、コマンド処理スレッド30
に処理結果を通知する(図10ステップS37)。
【0059】さて、ECAM処理依頼スレッド32は、
1入力コマンドSELECTの場合には、まず入力バッファ管
理テーブル27bを参照し、処理すべき入力バッファ2
5bの中の単位バッファ(入力単位バッファ)が処理可
能状態であれば(単位バッファの最後までデータが入っ
ており、読み込みの途中でなければ)、その単位バッフ
ァのデータ(対象テーブル24bのデータ)の処理をE
CAM164に依頼する(図11ステップS41〜S4
4)。これによりECAM164では、依頼された単位
バッファのデータに対するSELECT処理が行なわれる。
【0060】ECAM処理依頼スレッド32は、上記の
入力バッファ25bの単位バッファ毎の依頼処理を、E
CAM164の一括処理可能分に達するまで繰り返す。
【0061】ここで、ECAM164でのSELECT処理
は、無限個のレコード処理が可能であるため(RESTRICT
やSELSELJOINと異なって)一括処理可能なデータ量に、
ハードウェア定数による制限はない。このため本実施例
では、入力バッファ25bを、図15に示すように単位
バッファ群がほぼ同数となるように2分し、一方の領域
をECAM164での対象テーブル24bに対する2m
+1回(m=0,1…)、即ち奇数回での一括処理の対
象とし、他方の領域を2(m+1)(m=0,1…)
回、即ち偶数回での一括処理の対象とするようにしてい
る。
【0062】ECAM処理依頼スレッド32は、SELECT
コマンドについてのECAM164での一括処理可能分
の処理依頼が完了すると(図11ステップS45)、出
力バッファ管理テーブル28を参照し、出力すべき出力
バッファ26の中の単位バッファ(出力単位バッファ)
が処理可能状態であれば、その単位バッファへのデータ
出力処理(ここではSELECT結果のデータ出力処理)をE
CAM164に依頼する(図11ステップS46〜S4
8)。
【0063】やがて出力バッファ26の各単位バッファ
への出力が完了すると、ECAM処理依頼スレッド32
は、各単位バッファ(出力単位バッファ)の情報を出力
バッファ管理テーブル28の対応する領域に書き込む
(図11ステップS49,S50)。
【0064】続いてECAM処理依頼スレッド32は、
ここまでの処理で入力が完了した入力単位バッファが入
力バッファ25bの中に存在したら、それらのもののう
ちで最後の単位バッファの位置の情報を、今回出力され
る出力単位バッファのうちの最後の出力単位バッファの
出力バッファ管理テーブル28の情報に与える(図11
ステップS51)。
【0065】ECAM処理依頼スレッド32は、以上の
動作を処理すべきデータがなくなるまで繰り返し、処理
終了後、コマンド処理スレッド30に処理結果を送信す
る(図11ステップS52)。
【0066】以上のようにして、入力処理スレッド31
bにより対象テーブル24bのデータを入力バッファ2
5bの2分された一方の領域へ読み込むのと並行して、
入力バッファ25bの他方の領域に既に読み込まれてい
る対象テーブル24bのデータをECAM処理依頼スレ
ッド32からの処理依頼により、ECAM164にて処
理(SELECT処理)することができる。
【0067】次に、2入力コマンド(RESTRICTコマンド
またはSELSELJOINコマンド)の場合には、ECAM処理
依頼スレッド32は、まず入力バッファ管理テーブル2
7aを参照し、ECAM164にロードすべき入力バッ
ファ25bの中の単位バッファ(入力単位バッファ)が
処理可能状態であれば、その単位バッファのデータ(条
件テーブル24aのデータ)をECAM164にロード
する(図12ステップS61〜S64)。これにより、
ECAM164が持つPSOM165により条件キーが
ソートされ、PRAM166のバッファ(図示せず)に
格納される。なお、SELSELJOINコマンドの場合には、P
SOM165でのソートに先立ち、ECAM164にお
いてカラムまたは定数による選択が行なわれる。
【0068】ECAM処理依頼スレッド32は、上記の
入力バッファ25aの単位バッファ毎のECAM164
へのロード処理を、ECAM164の一括処理可能分の
ロードが完了するまで繰り返す。
【0069】ECAM処理依頼スレッド32は、ECA
M164の一括処理可能分のロードが完了すると(図1
2ステップS65)、今度は入力バッファ管理テーブル
27bを参照し、処理すべき入力バッファ25bの中の
単位バッファ(入力単位バッファ)が処理可能状態であ
れば、その単位バッファのデータ(対象テーブル24b
のデータ)の処理(RESTRICTまたはSELSELJOIN)をEC
AM164に依頼する(図12ステップS66〜S6
8)。
【0070】ECAM処理依頼スレッド32は、上記の
入力バッファ25bの単位バッファ毎の依頼処理を、E
CAM164の(ハードウェア定数で決まる)一括処理
可能分に達するまで繰り返す。
【0071】ECAM処理依頼スレッド32は、RESTRI
CTまたはSELSELJOINコマンドについてのECAM164
での一括処理可能分の処理依頼が完了すると(図12ス
テップS69)、出力バッファ管理テーブル28を参照
し、出力すべき出力バッファ26の中の単位バッファ
(出力単位バッファ)が処理可能状態であれば、その単
位バッファへのデータ出力処理(ここではRESTRICTまた
はSELSELJOIN結果のデータ出力処理)をECAM164
に依頼する(図13ステップS70〜S72)。
【0072】やがて出力バッファ26の各単位バッファ
への出力が完了すると、ECAM処理依頼スレッド32
は、各単位バッファ(出力単位バッファ)の情報を出力
バッファ管理テーブル28の対応する領域に書き込む
(図13ステップS73,S74)。
【0073】続いてECAM処理依頼スレッド32は、
ここまでの処理で入力が完了した入力単位バッファが入
力バッファ25aまたは25bの中に存在したら、それ
らのもののうちで最後の単位バッファの位置の情報を、
条件と対象それぞれについて、今回出力される出力単位
バッファのうちの最後の出力単位バッファの出力バッフ
ァ管理テーブル28の情報に与える(図13ステップS
75)。
【0074】ECAM処理依頼スレッド32は、以上の
動作を処理すべきデータがなくなるまで繰り返し、処理
終了後、コマンド処理スレッド30に処理結果を送信す
る(図12ステップS76)。
【0075】一方、出力処理スレッド33は、出力バッ
ファ26の1番目の単位バッファ(出力単位バッファ)
に対応する出力バッファ管理テーブル28の情報を参照
し、出力可能な状態ならば(単位バッファの最後までデ
ータが入っており、書き込みの途中でなければ)、EI
P161に1番目の出力単位バッファの(ディスク装置
17への)出力処理を依頼する(図14ステップS81
〜S83)。
【0076】1番目の出力単位バッファの出力が完了す
ると、出力処理スレッド33は、1番目の単位バッファ
に対応する入力バッファ管理テーブル27aまたは27
bの情報を参照し、入力可能な単位バッファが存在する
ことを示す情報があれば、当該入力バッファ管理テーブ
ル27aまたは27bの情報を書き換えた後、出力済み
の情報に書き換える(図14ステップS84〜S8
6)。そして出力処理スレッド33は、2番目以降の単
位バッファについても全ての出力が終わるまで同様の操
作を繰り返すが、全ての出力が終わる前に出力バッファ
26を使い果たした場合は1番目の単位バッファから再
利用するものとする。出力処理スレッド33は、全ての
出力が終了すると、コマンド処理スレッド30に処理結
果を通知する(図14ステップS88)。
【0077】上記したように本実施例では、EBDM1
63に入りきらない対象テーブル24bを処理対象とす
るSELECTコマンドの処理(拡張処理)の場合、対象テー
ブル24bを読み込むための入力バッファ25bをほぼ
2等分して切り替え使用し(図15参照)、分割された
入力バッファ25b内のレコード群を単位としてECA
M164にてSELECT処理させるようにしている。しか
も、ディスク装置17から入力バッファ25bへの対象
テーブル24bの読み込みを制御する入力処理スレッド
31b、ECAM164とのインタフェースをとるEC
AM処理依頼スレッド32、及び出力バッファ26から
ディスク装置17への出力を制御する出力処理スレッド
33は、並列に動作する。
【0078】このため、図15に示すように、入力バッ
ファ25bの一方の分割領域の処理がECAM処理依頼
スレッド32からECAM164に依頼されて同ECA
M164にて実行され、その結果が出力処理スレッド3
3によりディスク装置17に出力されるのと並行して、
入力バッファ25bの他方の分割領域に対する入力処理
スレッド31bによる(対象テーブル24bの)新たな
レコードの読み込みが可能となる。さらに、入力バッフ
ァ25b,出力バッファ26の使用状況が、入力バッフ
ァ管理テーブル27b,出力バッファ管理テーブル28
によって、単位バッファ毎に管理され、出力バッファ2
6からの単位バッファのデータの出力処理に応じて再利
用可能となる入力バッファ25bの単位バッファの情報
が、出力処理スレッド33(の同期制御)によって入力
バッファ管理テーブル27bに反映されるため、入力バ
ッファ25bの領域を一層効率よく使用することができ
る。なお、入力バッファ25a,25bを用いるRESTRI
CTまたはSELSELJOINコマンドの場合でも、出力バッファ
26からの単位バッファのデータの出力処理に応じて再
利用可能となる入力バッファ25aまたは25bの単位
バッファの情報が入力バッファ管理テーブル27aまた
は27bに反映されるため、メモリ領域を効率よく使用
できる。
【0079】これに対して従来は、入力バッファ25b
を分割使用せず、全領域にテーブルデータを読み込んで
から、ECAM164により処理を行なわせ、それが終
了してからディスク装置17への出力処理を行なう構成
となっていたため、入力処理、ECAM処理及び出力処
理が完全にシーケンシャルとなってしまい、メモリを効
率的に使用できず、また高速処理も困難であった。
【0080】次に、RESTRICTコマンド、SELSELJOINの場
合にも、ディスク装置17から入力バッファ25a,2
5bへの条件テーブル24a,対象テーブル24bの読
み込みを制御する入力処理スレッド31a,31b、E
CAM164とのインタフェースをとるECAM処理依
頼スレッド32、及び出力バッファ26からディスク装
置17への出力を制御する出力処理スレッド33が並列
に動作するため、メモリ領域を効率よく使用でき、高速
処理が行なえる。
【0081】RESTRICTコマンドの処理で、条件テーブル
24aがEBDM163(の入力バッファ25a)に入
りきらないならば、対象テーブル24bをECAM16
4でJ回に分けて処理する(JはECAM164のハー
ドウェア定数と対象テーブル24bのデータ量で決まる
値)必要がある。この場合、条件テーブル24aの入力
バッファ25aへの読み込みを、図16に示すように入
力処理スレッド31aによってJ回繰り返せばよい。
【0082】次に、SELSELJOINマンドの処理で、対象テ
ーブル24bがEBDM163(の入力バッファ25
b)に入りきらないならば、条件テーブル24aをEC
AM164でI回に分けて処理する(IはECAM16
4のハードウェア定数と条件テーブル24aのデータ量
で決まる値)必要がある。この場合、対象テーブル24
bの入力バッファ25bへの読み込みを、図17に示す
ように入力処理スレッド31bによってI回繰り返せば
よい。
【0083】
【発明の効果】以上詳述したようにこの発明によれば、
データベース演算処理装置の内部メモリに確保される入
力バッファまたは出力バッファがサイクリックに利用さ
れ、また入力処理手段(第1及び第2入力処理手段)、
インタフェース処理手段及び出力処理手段が並行して動
作するため、内部メモリの効率的利用が図れ、選択、準
結合または結合の処理対象となるテーブルを2次記憶装
置からデータベース演算処理装置内に読み込むのに十分
な内部メモリが存在しない場合でも、データベース演算
処理装置内での処理が実現でき、しかも装置内での並行
処理により高速処理が行なえる。
【0084】また、この発明によれば、入力バッファ,
出力バッファの使用状況が、入力バッファ管理テーブ
ル,出力バッファ管理テーブルによって、分割領域(単
位バッファ)毎に管理され、出力バッファからの単位バ
ッファのデータの出力処理に応じて再利用可能となる入
力バッファの単位バッファの情報が、出力処理手段(出
力処理スレッド)の制御(同期制御)によって入力バッ
ファ管理テーブルに反映されるため、入力バッファの領
域を一層効率よく使用することができる。
【図面の簡単な説明】
【図1】この発明の一実施例に係るデータ処理装置のシ
ステム構成を示すブロック図。
【図2】図1のホストコンピュータ10からデータベー
ス演算処理装置(DBE)16に与えられるコマンド列
の構成を示す図。
【図3】データベース演算処理装置(DBE)16から
ホストコンピュータ10へ送られる処理ステータスの構
成を示す図。
【図4】条件テーブル及び対象テーブルの構造を示す
図。
【図5】図1の大容量メモリ(EBDM)163に確保
される各種バッファ及びバッファ管理テーブルの構造を
示す図。
【図6】図1のエンジン制御プロセッサ(ECP)16
2の機能構成を、同プロセッサ162にて生成される各
種スレッドの相互関係によって示す図。
【図7】図6のコマンド解析スレッド29の処理手順を
示すフローチャート。
【図8】図6のコマンド処理スレッド30の処理手順を
示すフローチャート。
【図9】図6の入力処理スレッド31aの処理手順を示
すフローチャート。
【図10】図6の入力処理スレッド31bの処理手順を
示すフローチャート。
【図11】1入力コマンドSELECTのときの図6のECA
M処理依頼スレッド32の処理手順を示すフローチャー
ト。
【図12】2入力コマンドRESTRICT,SELSELJOINのとき
の図6のECAM処理依頼スレッド32の処理手順を示
すフローチャート。
【図13】2入力コマンドRESTRICT,SELSELJOINのとき
の図6のECAM処理依頼スレッド32の処理手順を示
すフローチャート。
【図14】図6の出力処理スレッド33の処理手順を示
すフローチャート。
【図15】SELECTコマンドのときの各部の動作の概略を
示す図。
【図16】RESTRICTコマンドのときの各部の動作の概略
を示す図。
【図17】SELSELJOINコマンドのときの各部の動作の概
略を示す図。
【符号の説明】
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…出力バッファ、27a…入力バッファ管理
テーブル(第1の入力バッファ管理テーブル)、27b
…入力バッファ管理テーブル(第2の入力バッファ管理
テーブル)、28…出力バッファ管理テーブル、29…
コマンド解析スレッド、30…コマンド処理スレッド、
31a…入力処理スレッド、31b…入力処理スレッ
ド、32…ECAM処理依頼スレッド。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岩崎 孝夫 東京都青梅市末広町2丁目9番地 株式会 社東芝青梅工場内 (72)発明者 山田 広佳 東京都青梅市末広町2丁目9番地 株式会 社東芝青梅工場内 (72)発明者 島川 和典 東京都青梅市末広町2丁目9番地 株式会 社東芝青梅工場内 (72)発明者 佐藤 祐治 東京都青梅市新町1385番地 東芝ソフトウ エアエンジニアリング株式会社内 (72)発明者 外尾 博紀 東京都青梅市新町1385番地 東芝ソフトウ エアエンジニアリング株式会社内 (72)発明者 天野 慎一 東京都青梅市新町1385番地 東芝ソフトウ エアエンジニアリング株式会社内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ホスト装置、及び演算対象のテーブルデ
    ータが格納される2次記憶装置と接続され、前記ホスト
    装置から与えられるコマンドに応じて前記演算対象のテ
    ーブルデータを入力して所定のデータベース演算処理を
    実行するデータベース演算処理装置において、 装置全体の制御を司る第1のプロセッサと、 前記ホスト装置との間のインタフェース制御及び前記2
    次記憶装置との間の入出力制御を司る第2のプロセッサ
    と、 ソートを並列に実行する並列ソーティング機構及び各種
    関係代数演算を並列に実行する並列関係代数演算機構が
    付加され、前記第1のプロセッサからの要求に応じて前
    記両機構を制御する第3のプロセッサと、 関係演算の対象となる対象テーブルデータを一時記憶す
    るための入力バッファ及び関係演算結果を一時記憶する
    ための出力バッファが置かれる内部メモリとを具備し、 前記第1のプロセッサは、前記ホスト装置から前記第2
    のプロセッサを介して選択を指示するコマンドが与えら
    れ、且つ同コマンドで指定される前記2次記憶装置上の
    対象テーブルデータが前記内部メモリの入力バッファに
    全て読み込めない場合に、前記入力バッファを複数の領
    域に分割してその領域を繰り返し切り替え使用すること
    で、前記対象テーブルデータの前記入力バッファへの読
    み込みを前記第2のプロセッサにより行なわせる入力処
    理手段と、この入力処理手段の制御のもとで前記第2の
    プロセッサにより前記入力バッファ内の分割領域に読み
    込まれたデータについての選択処理及び選択処理結果の
    前記出力バッファへの出力処理を前記第3のプロセッサ
    に依頼するインタフェース処理手段と、前記出力バッフ
    ァから前記2次記憶装置へのデータ出力を前記第2のプ
    ロセッサにより行なわせる出力処理手段とを備え、 前記入力処理手段、前記インタフェース処理手段及び前
    記出力処理手段を並行して動作させるようにしたことを
    特徴とするデータベース演算処理装置。
  2. 【請求項2】 前記入力バッファは第1および第2の領
    域に2分され、前記インタフェース処理手段は、前記入
    力バッファの前記第1または第2の領域を交互に繰り返
    し切り替え、その領域に含まれる前記各分割領域に読み
    込まれたデータについての選択処理及び選択処理結果の
    前記出力バッファへの出力処理を前記第3のプロセッサ
    に依頼することを特徴とする請求項1記載のデータベー
    ス演算処理装置。
  3. 【請求項3】 ホスト装置、及び演算対象のテーブルデ
    ータが格納される2次記憶装置と接続され、前記ホスト
    装置から与えられるコマンドに応じて前記演算対象のテ
    ーブルデータを入力して所定のデータベース演算処理を
    実行するデータベース演算処理装置において、 装置全体の制御を司る第1のプロセッサと、 前記ホスト装置との間のインタフェース制御及び前記2
    次記憶装置との間の入出力制御を司る第2のプロセッサ
    と、 ソートを並列に実行する並列ソーティング機構及び各種
    関係代数演算を並列に実行する並列関係代数演算機構が
    付加され、前記第1のプロセッサからの要求に応じて前
    記両機構を制御する第3のプロセッサと、 関係演算の条件となる条件テーブルデータを一時記憶す
    るための第1の入力バッファ、関係演算の対象となる対
    象テーブルデータを一時記憶するための第2の入力バッ
    ファ及び関係演算結果を一時記憶するための出力バッフ
    ァが置かれる内部メモリとを具備し、 前記第1のプロセッサは、前記ホスト装置から前記第2
    のプロセッサを介して準結合を指示するコマンドが与え
    られ、且つ同コマンドで指定される前記2次記憶装置上
    の条件テーブルデータ及び対象テーブルデータが前記内
    部メモリのそれぞれ第1及び第2の入力バッファに全て
    読み込めない場合に、前記第1の入力バッファを複数の
    領域に分割してその領域を繰り返し切り替え使用するこ
    とで、前記条件テーブルデータの前記第1の入力バッフ
    ァへの読み込みを、前記第2のプロセッサによりJ回
    (Jは前記第3のプロセッサで分割処理すべき前記対象
    テーブルデータの分割数)繰り返し行なわせる第1の入
    力処理手段と、前記第2の入力バッファを複数の領域に
    分割してその領域を繰り返し切り替え使用することで、
    前記対象テーブルデータの前記第2の入力バッファへの
    読み込みを、前記第2のプロセッサにより行なわせる第
    2の入力処理手段と、前記第1及び第2の入力処理手段
    の制御のもとで前記第2のプロセッサにより前記第1及
    び第2の入力バッファ内の分割領域に読み込まれたデー
    タについての準結合処理及び準結合処理結果の前記出力
    バッファへの出力処理を前記第3のプロセッサに依頼す
    るインタフェース処理手段と、前記出力バッファから前
    記2次記憶装置へのデータ出力を前記第2のプロセッサ
    により行なわせる出力処理手段とを備え、 前記第1及び第2の入力処理手段、前記インタフェース
    処理手段及び前記出力処理手段を並行して動作させるよ
    うにしたことを特徴とするデータベース演算処理装置。
  4. 【請求項4】 ホスト装置、及び演算対象のテーブルデ
    ータが格納される2次記憶装置と接続され、前記ホスト
    装置から与えられるコマンドに応じて前記演算対象のテ
    ーブルデータを入力して所定のデータベース演算処理を
    実行するデータベース演算処理装置において、 装置全体の制御を司る第1のプロセッサと、 前記ホスト装置との間のインタフェース制御及び前記2
    次記憶装置との間の入出力制御を司る第2のプロセッサ
    と、 ソートを並列に実行する並列ソーティング機構及び各種
    関係代数演算を並列に実行する並列関係代数演算機構が
    付加され、前記第1のプロセッサからの要求に応じて前
    記両機構を制御する第3のプロセッサと、 関係演算の条件となる条件テーブルデータを一時記憶す
    るための第1の入力バッファ、関係演算の対象となる対
    象テーブルデータを一時記憶するための第2の入力バッ
    ファ及び関係演算結果を一時記憶するための出力バッフ
    ァが置かれる内部メモリとを具備し、 前記第1のプロセッサは、前記ホスト装置から前記第2
    のプロセッサを介して結合を指示するコマンドが与えら
    れ、且つ同コマンドで指定される前記2次記憶装置上の
    条件テーブルデータ及び対象テーブルデータが前記内部
    メモリのそれぞれ第1及び第2の入力バッファに全て読
    み込めない場合に、前記第1の入力バッファを複数の領
    域に分割してその領域を繰り返し切り替え使用すること
    で、前記条件テーブルデータの前記第1の入力バッファ
    への読み込みを、前記第2のプロセッサにより繰り返し
    行なわせる第1の入力処理手段と、前記第2の入力バッ
    ファを複数の領域に分割してその領域を繰り返し切り替
    え使用することで、前記対象テーブルデータの前記第2
    の入力バッファへの読み込みを、前記第2のプロセッサ
    によりI回(Iは前記第3のプロセッサで分割処理すべ
    き前記条件テーブルデータの分割数)行なわせる第2の
    入力処理手段と、前記第1及び第2の入力処理手段の制
    御のもとで前記第2のプロセッサにより前記第1及び第
    2の入力バッファ内の分割領域に読み込まれたデータに
    ついての結合処理及び結合処理結果の前記出力バッファ
    への出力処理を前記第3のプロセッサに依頼するインタ
    フェース処理手段と、前記出力バッファから前記2次記
    憶装置へのデータ出力を前記第2のプロセッサにより行
    なわせる出力処理手段とを備え、 前記第1及び第2の入力処理手段、前記インタフェース
    処理手段及び前記出力処理手段を並行して動作させるよ
    うにしたことを特徴とするデータベース演算処理装置。
  5. 【請求項5】 前記第1の入力バッファの使用状況を前
    記分割領域単位で管理するための第1の入力バッファ管
    理テーブルと、前記第2の入力バッファの使用状況を前
    記分割領域単位で管理するための第2の入力バッファ管
    理テーブルと、前記出力バッファの使用状況を前記第1
    および第2の入力バッファの分割領域に対応する領域単
    位で管理するための出力バッファ管理テーブルとを更に
    備え、前記出力処理手段は、前記出力バッファからの出
    力時には前記出力バッファ管理テーブルの該当エントリ
    に出力済みを示す情報を書き込むと共に前記第1または
    第2の入力バッファ管理テーブルの対応するエントリに
    再利用可を示す情報を書き込むことにより、前記第1ま
    たは第2入力バッファの再利用を可能としたことを特徴
    とする請求項3または請求項4記載のデータベース演算
    処理装置。
JP3313058A 1991-09-21 1991-09-21 データベース演算処理装置 Expired - Lifetime JP3002041B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3313058A JP3002041B2 (ja) 1991-09-21 1991-09-21 データベース演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3313058A JP3002041B2 (ja) 1991-09-21 1991-09-21 データベース演算処理装置

Publications (2)

Publication Number Publication Date
JPH0581336A true JPH0581336A (ja) 1993-04-02
JP3002041B2 JP3002041B2 (ja) 2000-01-24

Family

ID=18036707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3313058A Expired - Lifetime JP3002041B2 (ja) 1991-09-21 1991-09-21 データベース演算処理装置

Country Status (1)

Country Link
JP (1) JP3002041B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04165295A (ja) * 1990-06-05 1992-06-11 Hidaka Seiki Kk 熱交換器用フィン及びその製造法
JP2018025726A (ja) * 2016-08-12 2018-02-15 富士通株式会社 情報提供方法、情報提供プログラムおよび情報提供装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04165295A (ja) * 1990-06-05 1992-06-11 Hidaka Seiki Kk 熱交換器用フィン及びその製造法
JP2018025726A (ja) * 2016-08-12 2018-02-15 富士通株式会社 情報提供方法、情報提供プログラムおよび情報提供装置

Also Published As

Publication number Publication date
JP3002041B2 (ja) 2000-01-24

Similar Documents

Publication Publication Date Title
US20050050522A1 (en) Data processing system
JPH06131181A (ja) 階層並列処理型中央処理装置
JP3002041B2 (ja) データベース演算処理装置
JP3004102B2 (ja) データベース演算処理装置
JPH05324430A (ja) データ処理装置
JP2983351B2 (ja) データベース演算処理装置
JP2983352B2 (ja) データベース演算処理装置
JPH05101110A (ja) データベース演算処理装置
JPH06348561A (ja) データ処理装置
EP0664509A1 (en) Method and apparatus for passing control from a first process to a second process
JPH05324431A (ja) データ処理装置
JPH06176074A (ja) データ処理装置
Elshoff et al. Handling asynchronous interrupts in a PL/1‐like language
JPH0581342A (ja) データ処理装置
JPH06348554A (ja) データ処理装置
JP2841719B2 (ja) 分散情報処理装置
JPH06348558A (ja) データ処理装置
JPH0580976A (ja) データ処理装置
JPH05324580A (ja) データ処理装置
JPH05101111A (ja) データ処理装置
JPH0650531B2 (ja) データ駆動型プロセッサのオーバーフロー回避方式
JPH04310134A (ja) ファイルサーバの制御方法
JPS59200325A (ja) 割込処理方式
JPS6324430A (ja) 並列化初期プログラムロ−デイング方式
JPH01166217A (ja) コンピュータ制御文作成方式