JPH0581334A - Data base arithmetic processor - Google Patents

Data base arithmetic processor

Info

Publication number
JPH0581334A
JPH0581334A JP3268186A JP26818691A JPH0581334A JP H0581334 A JPH0581334 A JP H0581334A JP 3268186 A JP3268186 A JP 3268186A JP 26818691 A JP26818691 A JP 26818691A JP H0581334 A JPH0581334 A JP H0581334A
Authority
JP
Japan
Prior art keywords
processor
processing
command
input
thread
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
JP3268186A
Other languages
Japanese (ja)
Other versions
JP2983351B2 (en
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 JP3268186A priority Critical patent/JP2983351B2/en
Publication of JPH0581334A publication Critical patent/JPH0581334A/en
Application granted granted Critical
Publication of JP2983351B2 publication Critical patent/JP2983351B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To shorten the time until a processing of quasi-coupling or coupling of an object table is started after read-in of a condition table is started. CONSTITUTION:A first and a second input processing threads, and a thread for requesting a processing to an ECAN (hardware sorter control processor) having a parallel sorting module and a parallel relation algebra arithmetic module are generated successively (S12-S14), a condition table from a disk device is read in immediately by a first input processing thread, data of the read-in condition table is loaded to the ECAM by an ECAM processing request thread, and after a loading end notice from the request thread (S15), an input start is requested to a second input processing thread and the input of an object table from the disk device is started (S16), and a quasi-couplinr or coupling processing is executed by the ECAM.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は、ホスト装置から与え
られるデータベース演算コマンドを受けて指定された演
算処理を実行するデータベース演算処理装置に係り、特
にホスト装置からの関係データベース演算である準結合
処理または結合処理の要求に対して、条件テーブルと対
象テーブルの2次記憶装置からの入力と準結合または結
合を並行して行なうデータベース演算処理装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a database operation processing device for receiving a database operation command given from a host device and executing a specified operation process, and more particularly to a semi-join process which is a relational database operation from the host device. Further, the present invention relates to a database operation processing device that performs input from a secondary storage device of a condition table and a target table and semi-join or join in parallel in response to a request for join processing.

【0002】[0002]

【従来の技術】ホスト装置から与えられるデータベース
演算コマンドを受けて指定された演算処理を実行する従
来のデータベース演算処理装置では、関係データベース
演算である準結合処理(RESTRICT)または結合処理(JO
IN)の要求に対して、条件テーブルと対象テーブルの2
次記憶装置、例えばディスク(ディスク装置)からの読
み込みを同時に開始していた。そして、両テーブルの読
み込みが終了すると、条件テーブルのロードを行ない、
ロード完了後に対象テーブルの処理を開始していた。
2. Description of the Related Art In a conventional database operation processing device that receives a database operation command given from a host device and executes a specified operation process, a relational database operation is a semi-join process (RESTRICT) or join process (JO).
IN) request, 2 of condition table and target table
Reading from the next storage device, for example, a disk (disk device) was started at the same time. When both tables have been read, the condition table is loaded,
Processing of the target table was started after loading was completed.

【0003】[0003]

【発明が解決しようとする課題】上記したように従来の
データベース演算処理装置では、準結合処理または結合
処理の要求に対して、条件テーブルと対象テーブルの2
次記憶装置からの読み込みを同時に開始していた。この
方式では、上記両テーブルの読み込みが並行して行なわ
れることから、各テーブルの単位時間当たりの読み込み
量は単独で読み込みを行なった場合の約半分となる。即
ち、従来のデータベース演算処理装置では、条件テーブ
ルと対象テーブルの読み込みを並行して行なっていたた
め、両テーブルの読み込みに時間がかかり、したがって
条件テーブルのロード完了まで時間がかかっていた。こ
の結果、対象テーブルの処理を開始するまでの時間がか
かるという問題があった。特に、条件テーブルの大きさ
が対象テーブルの大きさに比べて小さくないときは、こ
の問題は顕著であった。
As described above, in the conventional database arithmetic processing device, in response to the request of the semi-join process or the join process, the condition table and the target table are divided into two.
Reading from the next storage was started at the same time. In this method, since the reading of both tables is performed in parallel, the amount of reading of each table per unit time is about half that when reading alone. That is, in the conventional database arithmetic processing device, since the condition table and the target table are read in parallel, it takes time to read both tables, and thus it takes time to complete the loading of the condition table. As a result, there is a problem that it takes time to start processing the target table. In particular, this problem was remarkable when the size of the condition table was not smaller than the size of the target table.

【0004】この発明は上記事情に鑑みてなされたもの
でその目的は、条件テーブルの読み込みを開始してから
対象テーブルの準結合または結合の処理を開始するまで
の時間が短縮でき、もって準結合処理と結合処理の高速
化が図れるデータベース演算処理装置を提供することに
ある。
The present invention has been made in view of the above circumstances, and an object thereof is to reduce the time from the start of reading a condition table to the start of semi-join or join processing of target tables, and thus semi-join. An object of the present invention is to provide a database arithmetic processing device capable of speeding up processing and joining processing.

【0005】[0005]

【課題を解決するための手段】この発明は、ホスト装
置、及び演算対象のテーブルデータが格納される2次記
憶装置と接続され、ホスト装置から与えられるコマンド
に応じて前記演算対象のテーブルデータを入力して所定
のデータベース演算処理を実行するデータベース演算処
理装置において、装置全体の制御を司る第1のプロセッ
サと、ホスト装置との間のインタフェース制御及び2次
記憶装置との間の入出力制御を司る第2のプロセッサ
と、ソートを並列に実行する並列ソーティング機構及び
各種関係代数演算を並列に実行する並列関係代数演算機
構が付加され、第1のプロセッサからの要求に応じてこ
れら両機構を制御する第3のプロセッサと、演算の対象
となるテーブルデータを一時記憶するための第1及び第
2の入力バッファが置かれる内部メモリとを備え、第1
のプロセッサは、ホスト装置から準結合または結合を指
示するコマンドが与えられた場合に、第2のプロセッサ
により、2次記憶装置から第1の入力バッファに指定さ
れた条件テーブルデータを読み込ませると共に、この第
1の入力バッファに読み込まれた条件テーブルデータを
第3のプロセッサでの一括処理可能分だけ同プロセッサ
にロードしてから、第2のプロセッサにより、2次記憶
装置から第2の入力バッファに指定された対象テーブル
データを読み込ませて、第3のプロセッサでの準結合ま
たは結合の処理を行なわせることを特徴とするものであ
る。
SUMMARY OF THE INVENTION The present invention is connected to a host device and a secondary storage device for storing table data to be operated and stores the table data to be operated in response to a command given from the host device. In a database operation processing device that inputs and executes predetermined database operation processing, interface control between the first processor that controls the entire device and the host device, and input / output control between the secondary storage device are performed. A second processor, a parallel sorting mechanism for executing sorts in parallel, and a parallel relational algebra operation mechanism for executing various relational algebraic operations in parallel are added, and these two mechanisms are controlled in response to a request from the first processor. And a first input buffer and a second input buffer for temporarily storing table data to be operated. And an internal memory, the first
The processor of causes the second processor to read the condition table data designated in the first input buffer from the secondary storage device by the second processor when a command for instructing the semi-join or the join is given from the host device. The condition table data read into the first input buffer is loaded into the same processor as the batch processable amount in the third processor, and then the second processor loads the secondary storage device to the second input buffer. It is characterized in that the designated target table data is read and the semi-join or join processing is performed by the third processor.

【0006】[0006]

【作用】上記の構成では、条件テーブルの読み込みが先
行して行なわれ、この条件テーブルのロード完了後に対
象テーブルの読み込みが開始されるので、条件テーブル
の読み込みが短時間で行なわれるようになり、条件テー
ブルの読み込みを開始してから対象テーブルの準結合ま
たは結合の処理を開始するまでの時間が短縮できる。
In the above configuration, since the condition table is read in advance and the target table is started to be read after this condition table is completely loaded, the condition table can be read in a short time. The time from the start of reading the condition table to the start of the semi-join or join processing of the target table can be shortened.

【0007】[0007]

【実施例】以下、図面を参照してこの発明の実施例を説
明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0008】図1にはこの発明の一実施例に係わるデー
タ処理装置の全体のシステム構成が示されている。この
データ処理装置は、ホストコンピュータ10と、データ
ベース演算処理装置(データベースエンジン;DBE)
16と、磁気ディスク装置などのディスク装置17とに
よって構成されている。ホストコンピュータ10は、C
PU11、主記憶装置12、第1及び第2のチャネル装
置14,15によって構成されており、これらCPU1
1、主記憶装置12及びチャネル装置14,15はシス
テムバス13を介して相互接続されている。
FIG. 1 shows the overall system configuration of a data processing apparatus according to an embodiment of the present invention. This data processing device includes a host computer 10 and a database arithmetic processing device (database engine; DBE).
16 and a disk device 17 such as a magnetic disk device. The host computer 10 is C
The CPU 11 includes a PU 11, a main memory device 12, and first and second channel devices 14 and 15.
1, the main storage device 12 and the channel devices 14 and 15 are interconnected via a system bus 13.

【0009】ホストコンピュータ10とデータベース演
算処理装置(DBE)16はチャネル装置14によって
接続され、またホストコンピュータ10とディスク装置
17はチャネル装置15によって接続されている。さら
に、データベース演算処理装置(DBE)16とディス
ク装置17は専用のパス18を介して接続されている。
The host computer 10 and the database arithmetic processing unit (DBE) 16 are connected by a channel device 14, and the host computer 10 and the disk device 17 are connected by a channel device 15. Further, the database operation processing device (DBE) 16 and the disk device 17 are connected via a dedicated path 18.

【0010】CPU11は、ホストコンピュータ10全
体の制御を司るものであり、データベース演算処理装置
(DBE)16に対してソート処理や関係代数演算等の
各種演算処理の実行を依頼する。主記憶装置12には、
データベース演算処理装置(DBE)16に対して演算
対象ファイルや演算内容を指示するためのコマンド群が
格納される。
The CPU 11 controls the host computer 10 as a whole, and requests the database arithmetic processing unit (DBE) 16 to execute various arithmetic processes such as sorting and relational algebraic arithmetic. In the main storage device 12,
A command group for instructing a calculation target file and calculation contents to the database calculation processing device (DBE) 16 is stored.

【0011】データベース演算処理装置(DBE)16
は、CPU11からのコマンドに基づいて演算対象ファ
イルのデータに対して演算処理を実行するものであり、
演算対象ファイルの入力及び演算結果の出力のために、
パス18を介してディスク装置17を直接的にアクセス
する。
Database arithmetic processing unit (DBE) 16
Is for executing arithmetic processing on the data of the calculation target file based on a command from the CPU 11,
To input the calculation target file and output the calculation result,
The disk device 17 is directly accessed via the path 18.

【0012】このDBE(データベース演算処理装置)
16は、エンジンインターフェースプロセッサ(EI
P)161、エンジン制御プロセッサ(ECP)16
2、大容量メモリ(EBDM)163、ハードウェア
(HW)ソータ制御プロセッサ(ECAM)164、並
列ソーティングモジュール(PSOM)165及び並列
関係代数演算モジュール(PRAM)166によって構
成されている。
This DBE (database arithmetic processing unit)
16 is an engine interface processor (EI
P) 161, engine control processor (ECP) 16
2. A large capacity memory (EBDM) 163, a hardware (HW) sorter control processor (ECAM) 164, a parallel sorting module (PSOM) 165, and a parallel relational algebra operation module (PRAM) 166.

【0013】EIP(エンジンインターフェースプロセ
ッサ)161、ECP(エンジン制御プロセッサ)16
2及びECAM(ハードウェアソータ制御プロセッサ)
164の3台のプロセッサは、内部バス167によって
相互接続されており、EBDM(大容量メモリ)163
を共有メモリとする密結合のマルチプロセッサを構成し
ている。EBDM163は、3台の各プロセッサの共通
のアドレス空間上に配置されている。また、これら3台
のプロセッサ、つまりEIP161、ECP162及び
ECAM164には機能分散がなされている。この場
合、それぞれの固有の役割を効率良く実行するために、
これら各プロセッサは、密結合ながらそれぞれに適した
独立のモニタによって動作制御されるように構成されて
いる。
An EIP (engine interface processor) 161, an ECP (engine control processor) 16
2 and ECAM (hardware sorter control processor)
The three processors 164 are interconnected by an internal bus 167, and an EBDM (large capacity memory) 163.
Tightly coupled multi-processor with shared memory is configured. The EBDM 163 is arranged in a common address space of each of the three processors. Further, the functions are distributed to these three processors, that is, the EIP 161, the ECP 162, and the ECAM 164. In this case, in order to efficiently carry out each unique role,
Each of these processors is configured to be tightly coupled and controlled by an independent monitor suitable for each processor.

【0014】EIP161、ECP162及びECAM
164の機能分散は、次のようになされている。
EIP 161, ECP 162 and ECAM
The function distribution of 164 is performed as follows.

【0015】すなわち、EIP(エンジン制御プロセッ
サ)161は、ホストコンピュータ10とDBE16間
の通信を行なうと共に、ディスク装置17のディスクコ
ントローラにもパス18を介して接続されており、ディ
スク装置17とのデータ入出力を制御する。また、EI
P161は、ディスク装置17にデータを出力する際、
出力ファイルの再構成処理も行なう。
That is, the EIP (engine control processor) 161 communicates between the host computer 10 and the DBE 16 and is also connected to the disk controller of the disk device 17 via the path 18 to exchange data with the disk device 17. Control I / O. Also, EI
When P161 outputs data to the disk device 17,
It also reconstructs the output file.

【0016】ホストコンピュータ10との間の通信にお
いては、EIP161は、第1のチャネル装置14を介
してCPU11から送られてくるコマンドを受信し、そ
れをECP162に送信する。また、EIP161は、
ECP162から送られてくるコマンド結果としてのス
テータスを受信し、それを第1のチャネル装置14を介
してCPU11に返信する。
In the communication with the host computer 10, the EIP 161 receives the command sent from the CPU 11 via the first channel device 14 and sends it to the ECP 162. Also, the EIP 161 is
The status as the command result sent from the ECP 162 is received and returned to the CPU 11 via the first channel device 14.

【0017】ディスク装置17との間のデータ入出力処
理においては、EIP161は、ECP162からの入
出力要求を受け付け、直接EBDM163とディスク装
置17との間でデータ転送を行なう。
In the data input / output processing with the disk device 17, the EIP 161 receives the input / output request from the ECP 162 and directly transfers the data between the EBDM 163 and the disk device 17.

【0018】ECP162は、EIP161、EBDM
163及びECAM164を内部バス167を介して制
御し、データ処理を行なう。
The ECP 162 is an EIP 161, an EBDM
163 and ECAM 164 are controlled via internal bus 167 to perform data processing.

【0019】EBDM(大容量メモリ)163は、ディ
スク装置17から読み出された演算対象のファイルデー
タ(テーブルデータ)、ECAM164、PSOM16
5及びPRAM166によるソート処理結果、関係代数
演算結果等を格納する共有メモリである。
The EBDM (large-capacity memory) 163 is a file data (table data) to be operated, which is read from the disk device 17, ECAM 164, PSOM 16
5 and the PRAM 166 is a shared memory for storing sort processing results, relational algebraic operation results, and the like.

【0020】ECAM(ハードウェアソータ制御プロセ
ッサ)164は、ECP162からの指令に基づいて、
PSOM165及びPRAM166による演算を制御す
る。
The ECAM (hardware sorter control processor) 164, based on the command from the ECP 162,
The operation by the PSOM 165 and the PRAM 166 is controlled.

【0021】この場合、ECAM164は、EBDM1
63上のデータをPSOM165に入力し、PRAM1
66から出力された演算結果をEBDM163上に格納
するが、PSOM165へのデータ入力に際しては、キ
ー切り出し処理を実行する。このキー切り出し処理にお
いては、ECAM164は、演算対象の各レコードから
演算に必要なキーのみを切り出し、それにレコード識別
番号RID(EBDM163上におけるレコードの先頭
アドレス)を付加してPSOM165へ送出する。
In this case, the ECAM 164 is the EBDM1
The data on 63 is input to PSOM165, and PRAM1
The calculation result output from 66 is stored in the EBDM 163, but when data is input to the PSOM 165, key cutout processing is executed. In this key cutout processing, the ECAM 164 cuts out only the key necessary for the calculation from each record to be calculated, adds the record identification number RID (the start address of the record on the EBDM 163) to the key and sends it to the PSOM 165.

【0022】PSOM(並列ソーティングモジュール)
165は、ECAM164によって駆動され、ソートを
並列に実行する専用のハードウェア回路であり、PRA
M166に接続されている。このPSOM165は、パ
イプラインマージソータと称されるものであり、2−ウ
ェイマージを行なう複数のソートセルをカスケード接続
してなる。
PSOM (parallel sorting module)
165 is a dedicated hardware circuit that is driven by the ECAM 164 and executes sorting in parallel.
It is connected to M166. The PSOM 165 is called a pipeline merge sorter, and is composed of a plurality of sort cells cascade-connected to perform 2-way merge.

【0023】PRAM(並列関係代数演算モジュール)
166は、関係型データベースにおけるJOIN(結合)や
RESTRICT(制約、準結合)といった関係代数演算を並列
に実行する専用のハードウェア回路であり、PSOM1
65からソートされたデータを入力し、演算結果をEC
AM164に出力する。ソート処理だけを実行する場合
には、PRAM166は最終段のソートセルとして機能
する。
PRAM (parallel relational algebra operation module)
166 is JOIN (join) in relational database
This is a dedicated hardware circuit that executes relational algebraic operations such as RESTRICT (constraints, semi-joins) in parallel.
Input the sorted data from 65 and EC the calculation result
Output to AM164. When only the sorting process is executed, the PRAM 166 functions as the final sort cell.

【0024】図2はホストコンピュータ10(のCPU
11)からDBE(データベース演算処理装置)16に
与えられるコマンド列21を示す。このコマンド列21
は、ホストコンピュータ10よりDBE16に処理を行
なわせる一連の処理内容を表わしたコマンド群(コマン
ド#1,#2…#n)とコマンド列内コマンド数よりな
る。
FIG. 2 shows the CPU of the host computer 10 (
11 shows a command sequence 21 given to DBE (database arithmetic processing unit) 16 from 11). This command sequence 21
Is composed of a command group (commands # 1, # 2 ... #n) representing a series of processing contents to cause the DBE 16 to perform processing from the host computer 10 and the number of commands in the command sequence.

【0025】コマンドとしては、ディスク装置17から
EBDM163へのテーブルの読み込みを指示するREAD
コマンド、EBDM163上のデータを指定された形式
でディスク装置17またはEBDM163に出力するこ
とを指示するPROJECTION(射影)コマンド、及びRESTRI
CTコマンドが用意されている。このRESTRICTコマンド
は、異なるテーブルのカラムを条件として制約(準結
合)を行なうこと、即ち対象テーブルと条件テーブルの
複数カラムの比較を行ない該当する対象テーブル中のレ
コードを選択することを指示するコマンドである。
As the command, READ for instructing the reading of the table from the disk device 17 to the EBDM 163
Command, PROJECTION command for instructing to output the data on the EBDM 163 to the disk device 17 or the EBDM 163 in the specified format, and RESTRI
CT command is prepared. This RESTRICT command is a command to instruct to perform constraint (semi-join) with columns of different tables as conditions, that is, to compare multiple columns of the target table and condition table and select records in the corresponding target table. is there.

【0026】またコマンドとして、同一テーブルのカラ
ムまたは定数による選択を行なうことを指示するSELECT
コマンド、対象テーブルと条件テーブルそれぞれに対し
て与えられたカラムに対する条件によるレコードの選択
を行なった後対象テーブルの選択されたレコード群と条
件テーブルの選択されたレコード群の複数カラムの比較
を行ない該当する対象テーブル中のレコードを選択する
ことを指示するSELSELJOINコマンド(指定されたキーカ
ラムによる結合を行なうJOINコマンドの一種)、及びデ
ィスク装置17上のワークファイルを指定するWORKFILE
コマンドも用意されている。
As a command, SELECT for instructing selection by columns or constants of the same table
After selecting records according to the condition for the given column for each of the command, target table and condition table, compare the selected record group of the target table and multiple columns of the selected record group of the condition table SELSEL JOIN command (a type of JOIN command that performs a join by the specified key column) for instructing to select the record in the target table to be processed, and WORKFILE for specifying the work file on the disk device 17
Commands are also prepared.

【0027】コマンド列21を構成する各コマンドは、
図に示すように、コマンドコードとDBE16での処理
に必要な諸情報からなる。この諸情報は、例えばRESTRI
CTコマンドであれば、選択の対象となるテーブルと、条
件となるテーブルと、対象テーブルのカラムと、条件テ
ーブルのカラムと、比較演算子等である。また、SELSEL
JOINコマンドであれば、結合の対象とするテーブルと、
条件となるテーブルと、対象テーブルに対する選択条
件、条件テーブルに対する選択条件、対象テーブルのカ
ラム、条件テーブルのカラム、結合のための演算子等で
ある。
Each command constituting the command sequence 21 is
As shown in the figure, it comprises a command code and various information necessary for processing in the DBE 16. This information is, for example, RESTRI
In the case of the CT command, the table to be selected, the table to be the condition, the column of the target table, the column of the condition table, the comparison operator, and the like. Also, SELSEL
If it is a JOIN command, the table to be joined and
The table that is a condition, the selection condition for the target table, the selection condition for the condition table, the column of the target table, the column of the condition table, the operator for joining, and the like.

【0028】図3はDBE16からホストコンピュータ
10へ送られる処理ステータス23を示す。この処理ス
テータス23は、ホストコンピュータ10より処理依頼
を受けたコマンド群の処理結果を同コンピュータ10に
通知するためのものである。
FIG. 3 shows the processing status 23 sent from the DBE 16 to the host computer 10. The processing status 23 is for notifying the computer 10 of the processing result of the command group received the processing request from the host computer 10.

【0029】図4は条件テーブル24a及び対象テーブ
ル24bの構造を示す。条件テーブル24aはコマンド
の処理対象となるもので、ディスク装置17に置かれる
場合と、読み込まれてEBDM163に置かれる場合が
ある。一方、対象テーブル24bはコマンドの処理対象
となるもので、やはりディスク装置17に置かれる場合
と、読み込まれてEBDM163に置かれる場合があ
る。
FIG. 4 shows the structures of the condition table 24a and the target table 24b. The condition table 24a is the target of command processing, and may be placed in the disk device 17 or read and placed in the EBDM 163. On the other hand, the target table 24b is the target of command processing, and may be placed in the disk device 17 or read and placed in the EBDM 163.

【0030】図5はEBDM163に確保される入力バ
ッファ25a,25b及び出力バッファ26の構造を示
す。入力バッファ25aには、図4に示す条件テーブル
24aがディスク装置17からEBDM163に読み込
まれて格納される。入力バッファ25には、図4に示す
対象テーブル24bがディスク装置17からEBDM1
63に読み込まれて格納される。入力バッファ25a,
25bは一定サイズの単位バッファ(入力単位バッフ
ァ)に分割して使用される。この入力単位バッファのサ
イズは、EIP161がディスク装置17からデータを
最も効率良く入力できるデータ量となるように設定され
る。
FIG. 5 shows the structures of the input buffers 25a and 25b and the output buffer 26 secured in the EBDM 163. The condition table 24a shown in FIG. 4 is read from the disk device 17 and stored in the EBDM 163 in the input buffer 25a. The target table 24b shown in FIG. 4 is stored in the input buffer 25 from the disk device 17 to the EBDM1.
It is read and stored in 63. Input buffer 25a,
25b is used by dividing it into unit buffers (input unit buffers) of a fixed size. The size of the input unit buffer is set so that the EIP 161 has a data amount with which data can be most efficiently input from the disk device 17.

【0031】また出力バッファ26は、ECAM164
の処理結果を保持するためのものである。出力バッファ
26は、入力バッファ25a,25bの単位バッファ
(入力単位バッファ)に対応する単位バッファ(出力単
位バッファ)に分割して使用される。本実施例において
は、出力バッファ26に格納されるECAM164の処
理結果は、RID(の対)で表わされる。このため、出
力バッファ26の出力単位バッファは、入力バッファ2
5a,25bの入力単位バッファより小さなサイズとな
る。
The output buffer 26 is the ECAM 164.
For holding the processing result of. The output buffer 26 is used by being divided into unit buffers (output unit buffers) corresponding to the unit buffers (input unit buffers) of the input buffers 25a and 25b. In the present embodiment, the processing result of the ECAM 164 stored in the output buffer 26 is represented by RID (pair). Therefore, the output unit buffer of the output buffer 26 is the input buffer 2
The size is smaller than the input unit buffer of 5a and 25b.

【0032】図6は図1のECP(エンジン制御プロセ
ッサ)162の機能構成を、同ECP162にて生成さ
れる各種タスク(以下、スレッドと称する)の相互関係
によって示すものである。
FIG. 6 shows the functional configuration of the ECP (engine control processor) 162 of FIG. 1 by the interrelationship of various tasks (hereinafter referred to as threads) generated by the ECP 162.

【0033】同図において、符号29はコマンド解析ス
レッドであり、ホストコンピュータ10からのコマンド
列21を先頭のコマンドから順に解析して、その解析毎
に対応するコマンドを処理するためのスレッド(コマン
ド処理スレッド)を生成し、結果をまとめて処理ステー
タス23としてホストコンピュータ10に送信する。
In the figure, reference numeral 29 is a command analysis thread, which is a thread (command processing) for analyzing the command sequence 21 from the host computer 10 in order from the first command and processing the corresponding command for each analysis. (Thread), and sends the result as a processing status 23 to the host computer 10.

【0034】符号30はコマンド解析スレッド29によ
って次々と生成されるコマンド処理スレッドの1つであ
り、DBE16内のハードウェア資源の利用状況から処
理方法を決定し、必要に応じ入力処理スレッド31a、
入力処理スレッド31b、ECAM処理依頼スレッド3
2を生成し、コマンドの処理終了後、処理結果をコマン
ド解析スレッド29に送信する。コマンド解析スレッド
29によるコマンド列21の解析に伴って次々と生成さ
れるコマンド処理スレッドは、それより先に生成された
コマンド処理スレッドがある場合、このスレッドの状態
をみて自スレッドが処理可能な状態になり次第処理を開
始する。これにより、各コマンド処理スレッドの並行動
作が可能となる。
Reference numeral 30 is one of the command processing threads successively generated by the command analysis thread 29. The processing method is determined from the utilization status of the hardware resources in the DBE 16, and the input processing thread 31a, if necessary.
Input processing thread 31b, ECAM processing request thread 3
2 is generated, and after the command processing is completed, the processing result is transmitted to the command analysis thread 29. A command processing thread generated one after another by the command analysis thread 29 analyzing the command sequence 21 has a command processing thread generated prior to the command processing thread 29. If there is a command processing thread generated earlier than that, the own thread can process the thread. Processing will start as soon as. As a result, the command processing threads can operate in parallel.

【0035】符号31aは入力処理スレッドであり、デ
ィスク装置17上にある処理対象テーブル27aを入力
バッファ25aに入力する。符号31bは入力処理スレ
ッドであり、ディスク装置17上にある処理対象テーブ
ル27bを入力バッファ25bに入力する。符号32は
ECAM処理依頼スレッドであり、入力バッファ27a
のデータ(RESTRICTコマンド、SELSELJOINコマンドなど
の2入力コマンドの場合は入力バッファ27bも)をE
CAM164に渡して、処理を依頼し、その処理結果を
コマンド処理スレッド30に送信する。
Reference numeral 31a is an input processing thread, which inputs the processing target table 27a on the disk device 17 to the input buffer 25a. Reference numeral 31b is an input processing thread, which inputs the processing target table 27b on the disk device 17 to the input buffer 25b. Reference numeral 32 is an ECAM processing request thread, which is the input buffer 27a.
Data (including the input buffer 27b in the case of 2-input commands such as RESTRICT command and SELSELJOIN command)
It passes the data to the CAM 164, requests the processing, and sends the processing result to the command processing thread 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の処理手順を示すフロー
チャートである。
Next, the DB in the data processor of FIG.
The operation of E (database arithmetic processing unit) 16
A case where the CT command and the SELSEL JOIN command are executed and the entire table to be processed can be processed by the ECAM 164 at one time will be described as an example with reference to the flowcharts of FIGS. 7 to 11 as appropriate. Note that FIG. 7 shows ECP16.
2 is a flowchart showing the processing procedure of the command analysis thread 29 in FIG. 2, and FIG. 8 is a flowchart showing the processing procedure of the command processing thread 30 in the ECP 162. 9 is a flowchart showing the processing procedure of the input processing thread 31a in the ECP 162, and FIG.
FIG. 11 is a flowchart showing the processing procedure of the input processing thread 31b in the CP 162, and FIG. 11 is a flowchart showing the processing procedure of the ECAM processing request thread 32 in the ECP 162.

【0037】以下では条件テーブル24aと対象テーブ
ル24bはディスク装置17上にあるものとする。
In the following, it is assumed that the condition table 24a and the target table 24b are on the disk device 17.

【0038】まず、ホストコンピュータ10(のCPU
11)からDBE16にシステムバス13、第1のチャ
ネル装置14を介して図2に示すコマンド列21が送ら
れてくると、同コマンド列21がEIP161によって
受信され、ECP162に渡される。この結果、ECP
162によってコマンド解析スレッド29が生成され
る。
First, (the CPU of the host computer 10
When the command sequence 21 shown in FIG. 2 is sent from 11) to the DBE 16 via the system bus 13 and the first channel device 14, the command sequence 21 is received by the EIP 161 and passed to the ECP 162. As a result, ECP
The command analysis thread 29 is generated by 162.

【0039】コマンド解析スレッド29(に従って動作
するECP162)は、ホストコンピュータ10からの
コマンド列21を受け取り(図7ステップS1)、その
先頭を見てコマンド数nを知り、コマンドがなくなるま
で、コマンド列21内のコマンドコードを読んでは、そ
のコマンドコードに対する処理を行なうコマンド処理ス
レッドを生成することを繰り返す(図7ステップS2,
S3)。その際、コマンド処理スレッドに対し、該当す
るコマンドを渡す。コマンド解析スレッド29は、コマ
ンド列21内の全てのコマンドに対して、コマンド処理
スレッドを生成した後、各スレッドから順次処理結果メ
ッセージを受け取り(図7ステップS4)、全コマンド
の処理結果が揃った後、結果をまとめてホストコンピュ
ータ10にEIP161を介して処理結果ステータス2
3を送信する(図7ステップ5)。
The command analysis thread 29 (the ECP 162 which operates in accordance with the command) receives the command string 21 from the host computer 10 (step S1 in FIG. 7), knows the command number n by looking at the head of the command string, and continues until there are no more commands. When the command code in 21 is read, the generation of the command processing thread that performs the processing for the command code is repeated (step S2 in FIG. 7).
S3). At that time, the corresponding command is passed to the command processing thread. The command analysis thread 29 generates command processing threads for all the commands in the command sequence 21, and then sequentially receives processing result messages from each thread (step S4 in FIG. 7), and the processing results of all commands are complete. After that, the results are put together and the processing result status 2 is sent to the host computer 10 via the EIP 161.
3 is transmitted (step 5 in FIG. 7).

【0040】ここではコマンドがRESTRICTコマンドまた
はSELSELJOINコマンドであり、同コマンドに対応してコ
マンド処理スレッド30が生成されたものとする。
Here, it is assumed that the command is the RESTRICT command or the SELSEL JOIN command, and the command processing thread 30 is generated corresponding to the command.

【0041】コマンド処理スレッド30(に従って動作
するECP162)は、コマンド解析スレッド29から
受け取ったコマンド(RESTRICTコマンドまたはSELSELJO
INコマンド)のコマンド処理のための諸情報をもとに、
コマンドの処理を行なう。まずコマンド処理スレッド3
0は、コマンドとDBE16の使用状況をもとに処理の
決定を行なう(図8ステップS11)。コマンド処理ス
レッド30は、このステップS11において、コマンド
を解析し、ECAM164で一括処理できるかの計算、
出力バッファ26の獲得、入力バッファ25aの獲得、
入力バッファ25bの獲得等も行なう。
The command processing thread 30 (the ECP 162 which operates according to the command processing thread) receives the command (RESTRICT command or SELSELJO) received from the command analysis thread 29.
IN command) based on various information for command processing,
Process the command. First, the command processing thread 3
0 determines the processing based on the command and the usage status of the DBE 16 (step S11 in FIG. 8). In step S11, the command processing thread 30 analyzes the commands and calculates whether the ECAM 164 can perform batch processing.
Acquisition of output buffer 26, acquisition of input buffer 25a,
It also acquires the input buffer 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)。
Next, the command processing thread 30 inputs the condition table 24a into the input buffer 25a, the input processing thread 31a, and the target table 24b into the input buffer 2.
Input processing thread 31b read into 5b and ECAM
A thread (ECAM processing request thread) 32 for requesting processing to 164 is generated (steps S12 to S1 in FIG. 8).
4). Then, the command processing thread 30 waits for the load end message from the ECAM processing request thread 32, and then transmits a message requesting the start of reading to the input processing thread 31b that reads the target table 24b (steps S15 and S16 in FIG. 8). ). afterwards,
The command processing thread 30 receives the processing end message from each thread (here, the input processing threads 31a and 31b and the ECAM processing request thread 32), and sends the results together to the command analysis thread 29 (FIG. 8, step 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の単位バッファ分の)入力が完了する。
On the other hand, the input processing thread 31a (the ECP 162 operating in accordance therewith) starts the input processing operation shown in the flowchart of FIG. 9 immediately after the thread 31a is generated, and the first unit buffer of the input buffer 25a receives the input. If it is possible, the EIP 161 is requested to input the condition table 24a (steps S21 to S in FIG. 9).
23). As a result, the EIP 161 becomes the disk device 17
From the above, the condition table 24a is input via the path 18 for the first unit buffer, and is written in the first unit buffer of the input buffer 25a. In this way, the input (for the unit buffer of the condition table 24a) to the first unit buffer of the input buffer 25a is completed.

【0044】入力処理スレッド31aは、以下2番目以
降の単位バッファについても条件テーブル24aを全て
読み込み終わるまで同様の操作を繰り返す。そして入力
処理スレッド31aは、条件テーブル24aの読み込み
が終了して、その旨を判別すると、コマンド処理スレッ
ド30に処理結果を通知する(図9ステップS24,S
25)。
The input processing thread 31a repeats the same operation for the second and subsequent unit buffers until all the condition tables 24a have been read. When the input processing thread 31a finishes reading the condition table 24a and determines that the reading is completed, the input processing thread 31a notifies the command processing thread 30 of the processing result (FIG. 9, steps S24, S).
25).

【0045】これに対して入力処理スレッド31bは、
コマンド処理スレッド30から読み込み開始のメッセー
ジを受信するまで、即ち入力処理スレッド31aによる
条件テーブル24aの入力バッファ25aへの読み込み
が終了し、さらに入力バッファ25aに読み込まれた条
件テーブル24aのECAM164への(一括処理可能
分の)ロードが完了するまで、入力処理を待たされる。
On the other hand, the input processing thread 31b is
Until the reading start message is received from the command processing thread 30, that is, the reading of the condition table 24a into the input buffer 25a by the input processing thread 31a is completed, and further the ECAM 164 of the condition table 24a read into the input buffer 25a ( Input processing is kept waiting until the load (for batch processing) is completed.

【0046】やがてコマンド処理スレッド30から読み
込み開始のメッセージを受信すると、入力処理スレッド
31b(に従って動作するECP162)は、入力バッ
ファ25bの1番目の単位バッファが入力可能な状態な
らば、EIP161に対象テーブル24bの入力処理を
依頼する(図10ステップS31〜S33)。これによ
りEIP161は、ディスク装置17から対象テーブル
24bを1番目の単位バッファ分だけパス18を介して
入力し、入力バッファ25bの1番目の単位バッファに
書き込む。このようにして、入力バッファ25bの1番
目の単位バッファへの(対象テーブル24bの単位バッ
ファ分の)入力が完了する。
When a read start message is received from the command processing thread 30 in the end, the input processing thread 31b (the ECP 162 operating in accordance with it) determines that the input table in the input buffer 25b is ready for input to the target table in the EIP 161. The input processing of 24b is requested (steps S31 to S33 in FIG. 10). As a result, the EIP 161 inputs the target table 24b from the disk device 17 for the first unit buffer via the path 18 and writes the target table 24b in the first unit buffer of the input buffer 25b. In this way, the input (for the unit buffer of the target table 24b) to the first unit buffer of the input buffer 25b is completed.

【0047】入力処理スレッド31bは、以下2番目以
降の単位バッファについても対象テーブル24bを全て
読み込み終わるまで同様の操作を繰り返す。そして入力
処理スレッド31bは、対象テーブル24bの読み込み
が終了して、その旨を判別すると、コマンド処理スレッ
ド30に処理結果を通知する(図10ステップS34,
S35)。
The input processing thread 31b repeats the same operation for the second and subsequent unit buffers until the target table 24b is completely read. Then, when the input processing thread 31b finishes reading the target table 24b and determines the fact, it notifies the command processing thread 30 of the processing result (FIG. 10, step S34,
S35).

【0048】さて、ECAM処理依頼スレッド32(に
従って動作するECP162)は、入力バッファ25a
内の単位バッファがロード可能となると、その単位バッ
ファの内容(条件テーブル24aの単位バッファ分のデ
ータ)を順次ECAM164にロードする動作(図11
ステップS41〜S43)を繰り返す。このロード動作
では、ECAM164が持つPSOM165により条件
キーがソートされ、PRAM166のバッファ(図示せ
ず)に格納される。なお、SELSELJOINコマンドの場合に
は、PSOM165でのソートに先立ち、ECAM16
4においてカラムまたは定数による選択が行なわれる。
Now, the ECAM processing request thread 32 (the ECP 162 which operates according to the ECAM processing request thread) 32 is operated by the input buffer 25a.
When the unit buffer in the unit can be loaded, the contents of the unit buffer (the unit buffer data of the condition table 24a) are sequentially loaded into the ECAM 164 (FIG. 11).
Steps S41 to S43) are repeated. In this load operation, the condition keys are sorted by the PSOM 165 of the ECAM 164 and stored in the buffer (not shown) of the PRAM 166. In the case of the SELSELJOIN command, the ECAM16 is used before the sorting by the PSOM165.
At 4, a column or constant selection is made.

【0049】ECAM処理依頼スレッド32は、ECA
M164で一括処理が可能なだけのデータ量(の条件テ
ーブル24aのデータ)のロードが完了すると、コマン
ド処理スレッド30にロード終了メッセージを送信する
(図11ステップS44,S45)。
The ECAM processing request thread 32 uses the ECA
When the loading of the amount of data (the data of the condition table 24a) that can be collectively processed in M164 is completed, a load end message is transmitted to the command processing thread 30 (steps S44 and S45 in FIG. 11).

【0050】このように本実施例では、条件テーブル2
4aをディスク装置17から入力する処理と、入力され
た条件テーブル24aをECAM164にロードする処
理とが並行して行なわれる。
As described above, in this embodiment, the condition table 2
4a from the disk device 17 and the process of loading the input condition table 24a into the ECAM 164 are performed in parallel.

【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に書き込まれる。
Next, the ECAM processing request thread 32 requests the ECAM 164 to process the data of the unit buffer (data of the target table 24b) in the input buffer 25b which can be processed by the input processing of the input processing thread 31b. The result is output to each unit buffer of the output buffer 26 (step S46 in FIG. 11). As a result, the ECAM 164 controls the PSOM 165 and the PRAM 166 for the data of the previously loaded condition table 24a and the input data of the target table 24b, and specifies the specified command (RESTRICT command or SELS
ELJOIN command) processing (semi-join or join processing) is performed, and the result is written in each unit buffer of the output buffer 26. For example, if it is a SELSEL JOIN command, ECA
The target key input to M164 and sorted by PSOM165 is combined with the condition key already stored in the buffer of PRAM166, and the result is output to the output buffer 26 as a pair of the record identification number RID of the corresponding record. Written in.

【0052】このように本実施例では、対象テーブル2
4bをディスク装置17から入力する処理と、ECAM
164での準結合または結合処理とが並行して行なわれ
る。
As described above, in this embodiment, the target table 2
4b input from the disk device 17 and ECAM
The semi-join or join processing at 164 is performed in parallel.

【0053】ECAM処理依頼スレッド32は、上記ス
テップS46の処理終了後、処理結果をコマンド処理ス
レッド30に送信する(図11ステップS47)。
The ECAM processing request thread 32 transmits the processing result to the command processing thread 30 after the processing in step S46 is completed (step S47 in FIG. 11).

【0054】以上のように本実施例では、内部バス16
7によって相互接続され、互いに並列動作可能なEIP
(エンジンインタフェースプロセッサ)161、ECP
(エンジン制御プロセッサ)162及びECAM(ハー
ドウェアソータ制御プロセッサ)164の3つのプロセ
ッサと、これら各プロセッサによって共有されるEBD
M(大容量メモリ)163と、ECAM164によって
制御されるPSOM(並列ソーティングモジュール)1
65及びPRAM(並列関係代数演算モジュール)16
6とにより、DBE(データベース演算処理装置)16
を構成している。
As described above, in the present embodiment, the internal bus 16
EIPs interconnected by 7 and capable of operating in parallel with each other
(Engine Interface Processor) 161, ECP
(Engine control processor) 162 and ECAM (hardware sorter control processor) 164, and EBD shared by these processors
M (large capacity memory) 163 and PSOM (parallel sorting module) 1 controlled by ECAM 164.
65 and PRAM (parallel relational algebra operation module) 16
6 and DBE (database arithmetic processing unit) 16
Are configured.

【0055】また本実施例では、ホストコンピュータ1
0からDBE16にRESTRICTコマンドまたはSELSELJOIN
コマンドを含むコマンド列21が送られた場合に、EC
P162にてコマンド解析スレッド29が生成される構
成となっている。このコマンド解析スレッド29は、コ
マンド列21を解析してコマンド列21中のコマンド各
々の処理を行なうコマンド処理スレッド30で代表され
るコマンド処理スレッドを次々と生成し、それらからの
処理結果を受信してまとめてホストコンピュータ10へ
の処理ステータス23を通知するように構成される。
In this embodiment, the host computer 1
RESTRICT command or SELSEL JOIN from 0 to DBE16
When a command string 21 including a command is sent, EC
The command analysis thread 29 is generated in P162. The command analysis thread 29 generates command processing threads represented by a command processing thread 30 that analyzes the command string 21 and processes each command in the command string 21 one after another, and receives processing results from them. The processing status 23 is collectively notified to the host computer 10.

【0056】コマンド処理スレッド30は、入力処理ス
レッド31a,31b並びECAM処理依頼スレッド3
2を順次生成し、ECAM処理依頼スレッド32からロ
ード終了メッセージを受信した後、入力処理スレッド3
1bに入力開始メッセージを送信し、各スレッドからの
処理メッセージをもとにコマンド処理結果をコマンド解
析スレッド29に送信するように構成される。
The command processing thread 30 is composed of the input processing threads 31a and 31b and the ECAM processing request thread 3.
2 are sequentially generated, and after the load end message is received from the ECAM processing request thread 32, the input processing thread 3
The input start message is transmitted to 1b, and the command processing result is transmitted to the command analysis thread 29 based on the processing message from each thread.

【0057】入力処理スレッド31aは、条件テーブル
24aを直ちにディスク装置17から入力バッファ25
aに読み込み、処理終了後処理結果をコマンド処理スレ
ッド30に送信するように構成され、入力処理スレッド
31bは、対象テーブル24bをコマンド処理スレッド
30からの読み込み開始のメッセージ受信の後にディス
ク装置17から入力バッファ25bに読み込み、処理終
了後処理結果をコマンド処理スレッド30に送信するよ
うに構成される。
The input processing thread 31a immediately transfers the condition table 24a from the disk device 17 to the input buffer 25.
The input processing thread 31b inputs the target table 24b from the command processing thread 30 after receiving the read start message from the disk device 17 after the processing is completed. It is configured to read into the buffer 25b and send the processing result after the processing is completed to the command processing thread 30.

【0058】ECAM処理依頼スレッド32は、処理可
能になった入力バッファ25aの中の単位バッファをE
CAM164に順次ロードし、ECAM164で一括処
理可能分のロードが完了したのちコマンド処理スレッド
30にロード終了メッセージを送信し、処理可能になっ
た入力バッファ25bの中の単位バッファをECAM1
64に処理依頼して出力バッファ26の各単位バッファ
に出力させ、処理結果をコマンド処理スレッド30に送
信するように構成される。
The ECAM processing request thread 32 uses the unit buffer in the input buffer 25a which has become processable as E.
Sequential loading to the CAM 164, and after the ECAM 164 has completed loading of the batch processable amount, a load end message is sent to the command processing thread 30, and the unit buffer in the input buffer 25b that has become processable is set to ECAM1.
It is configured to request 64 to process and output to each unit buffer of the output buffer 26, and to transmit the processing result to the command processing thread 30.

【0059】このような構成により、条件テーブル24
aのディスク装置17から入力バッファ25aへの読み
込みを先行させ、入力バッファ25aからECAM16
4への条件テーブル24aのロード完了後に、対象テー
ブル24bのディスク装置17から入力バッファ25b
への読み込みを開始させることができ、したがって条件
テーブル24aの読み込み時間が短縮(従来のほぼ半
分)され、条件テーブル24aの読み込みを開始してか
ら対象テーブル24bの準結合または結合の処理を開始
するまでの時間を短縮できる。
With this arrangement, the condition table 24
a from the disk device 17 to the input buffer 25a in advance, and the input buffer 25a to the ECAM 16
No. 4 to the input buffer 25b after the loading of the condition table 24a into the target table 24b is completed.
Can be started, and therefore the reading time of the condition table 24a can be shortened (almost half of the conventional time), and the reading of the condition table 24a can be started before the semi-join or join processing of the target table 24b. It can shorten the time until.

【0060】[0060]

【発明の効果】以上詳述したようにこの発明によれば、
条件テーブルの読み込みを先行して行ない、この条件テ
ーブルのロード完了後に対象テーブルの読み込みを開始
する構成としたので、条件テーブルの読み込みが短時間
で行なわれるようになり、条件テーブルの読み込みを開
始してから対象テーブルの準結合または結合の処理を開
始するまでの時間を、条件テーブルと対象テーブルとを
並行して読み込んでい従来方式に比べてほぼ半減でき、
準結合処理と結合処理の高速化が図れる。この効果は、
特に、条件テーブルの大きさが対象テーブルの大きさに
比べて小さくないとき顕著である。
As described in detail above, according to the present invention,
Since the condition table is read in advance and the target table is read after this condition table is completely loaded, the condition table can be read in a short time, and the condition table can be read. The time from the start of processing the semi-join or the join of the target tables can be halved compared to the conventional method in which the condition table and the target table are read in parallel.
The speed of the semi-join process and the join process can be increased. This effect is
This is particularly noticeable when the size of the condition table is not smaller than the size of the target table.

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

【図1】この発明の一実施例に係るデータ処理装置のシ
ステム構成を示すブロック図。
FIG. 1 is a block diagram showing a system configuration of a data processing device according to an embodiment of the present invention.

【図2】図1のホストコンピュータ10からデータベー
ス演算処理装置(DBE)16に与えられるコマンド列
の構成を示す図。
FIG. 2 is a diagram showing a configuration of a command sequence given from a host computer 10 in FIG. 1 to a database arithmetic processing unit (DBE) 16.

【図3】データベース演算処理装置(DBE)16から
ホストコンピュータ10へ送られる処理ステータスの構
成を示す図。
FIG. 3 is a diagram showing a configuration of a processing status sent from a database arithmetic processing unit (DBE) 16 to a host computer 10.

【図4】条件テーブル及び対象テーブルの構造を示す
図。
FIG. 4 is a diagram showing structures of a condition table and a target table.

【図5】図1の大容量メモリ(EBDM)163に確保
される入力バッファ25a,25b及び出力バッファ2
6の構造を示す図。
5 is an input buffer 25a, 25b and an output buffer 2 secured in a large capacity memory (EBDM) 163 of FIG.
The figure which shows the structure of 6.

【図6】図1のエンジン制御プロセッサ(ECP)16
2の機能構成を、同プロセッサ162にて生成される各
種スレッドの相互関係によって示す図。
6 is an engine control processor (ECP) 16 of FIG.
The figure which shows the 2nd function structure by the mutual relationship of the various threads produced | generated by the same processor 162.

【図7】図6のコマンド解析スレッド29の処理手順を
示すフローチャート。
7 is a flowchart showing a processing procedure of a command analysis thread 29 of FIG.

【図8】図6のコマンド処理スレッド30の処理手順を
示すフローチャート。
8 is a flowchart showing a processing procedure of a command processing thread 30 of FIG.

【図9】図6の入力処理スレッド31aの処理手順を示
すフローチャート。
9 is a flowchart showing a processing procedure of an input processing thread 31a shown in FIG.

【図10】図6の入力処理スレッド31bの処理手順を
示すフローチャート。
10 is a flowchart showing a processing procedure of an input processing thread 31b shown in FIG.

【図11】図6のECAM処理依頼スレッド32の処理
手順を示すフローチャート。
11 is a flowchart showing a processing procedure of an ECAM processing request thread 32 of FIG.

【符号の説明】[Explanation of symbols]

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処理
依頼スレッド(インタフェース処理タスク)。
10 ... Host computer, 11 ... CPU, 16 ... Database arithmetic processing unit (DBE), 17 ... Disk device (secondary storage device), 18 ... Path, 161, ... Engine interface processor (EIP, second processor),
162 ... Engine control processor (ECP, first processor), 163 ... Large-capacity memory (EBDM, internal memory), 164 ... Hardware (HW) sorter control processor (ECAM, third processor), 165 ... Parallel sorting module (PSOM), 166 ... Parallel algebraic arithmetic module (PRAM), 21 ... Command sequence,
23 ... Processing status, 24a ... Condition table, 24b
... Target table, 25a ... Input buffer (first input buffer), 25b ... Input buffer (second input buffer), 26 ... Output buffer, 29 ... Command analysis thread, 30 ... Command processing thread, 31a ... Input processing thread (First input processing task), 31b ... Input processing thread (second input processing task), 32 ... ECAM processing request thread (interface processing task).

───────────────────────────────────────────────────── フロントページの続き (72)発明者 岩崎 孝夫 東京都青梅市末広町2丁目9番地 株式会 社東芝青梅工場内 (72)発明者 山田 広佳 東京都青梅市末広町2丁目9番地 株式会 社東芝青梅工場内 (72)発明者 島川 和典 東京都青梅市末広町2丁目9番地 株式会 社東芝青梅工場内 (72)発明者 佐藤 祐治 東京都青梅市新町1385番地 東芝ソフトウ エアエンジニアリング株式会社内 (72)発明者 外尾 博紀 東京都青梅市新町1385番地 東芝ソフトウ エアエンジニアリング株式会社内 (72)発明者 天野 慎一 東京都青梅市新町1385番地 東芝ソフトウ エアエンジニアリング株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Takao Iwasaki 2-9 Suehiro-cho, Ome-shi, Tokyo Stock company Toshiba Ome factory (72) Inventor Hiroka Yamada 2-9 Suehiro-cho, Ome-shi, Tokyo Shareholders Inside the Toshiba Ome Plant (72) Inventor Kazunori Shimakawa 2-9 Suehiro-cho, Ome-shi, Tokyo Stock Company Inside the Toshiba Ome Plant (72) Inventor Yuji Sato 1385 Shinmachi, Ome-shi, Tokyo Inside Toshiba Software Engineering Co., Ltd. (72) Inventor Hiroki Soto 1385 Shinmachi, Ome-shi, Tokyo Within Toshiba Soft Engineering Co., Ltd. (72) Inventor Shinichi Amano 1385 Shinmachi, Ome-shi, Tokyo Inside Toshiba Soft Engineering Co., Ltd.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 ホスト装置、及び演算対象のテーブルデ
ータが格納される2次記憶装置と接続され、前記ホスト
装置から与えられるコマンドに応じて前記演算対象のテ
ーブルデータを入力して所定のデータベース演算処理を
実行するデータベース演算処理装置において、 装置全体の制御を司る第1のプロセッサと、 前記ホスト装置との間のインタフェース制御及び前記2
次記憶装置との間の入出力制御を司る第2のプロセッサ
と、 ソートを並列に実行する並列ソーティング機構及び各種
関係代数演算を並列に実行する並列関係代数演算機構が
付加され、前記第1のプロセッサからの要求に応じて前
記両機構を制御する第3のプロセッサと、 演算の対象となるテーブルデータを一時記憶するための
第1及び第2の入力バッファが置かれる内部メモリとを
具備し、 前記第1のプロセッサは、前記ホスト装置から前記第2
のプロセッサを介して準結合または結合を指示するコマ
ンドが与えられた場合に、前記第2のプロセッサによ
り、前記2次記憶装置から前記内部メモリの第1の入力
バッファに同コマンドで指定された条件テーブルデータ
を読み込ませると共に、前記第1の入力バッファに読み
込まれた条件テーブルデータを前記第3のプロセッサで
の一括処理可能分だけ同プロセッサにロードしてから、
前記第2のプロセッサにより、前記2次記憶装置から前
記内部メモリの第2の入力バッファに前記コマンドで指
定された対象テーブルデータを読み込ませて、前記第3
のプロセッサでの準結合または結合の処理を行なわせる
ように構成されていることを特徴とするデータベース演
算処理装置。
1. A predetermined database operation, which is connected to a host device and a secondary storage device for storing table data to be operated, and inputs the table data to be operated in response to a command given from the host device. In a database arithmetic processing device that executes a process, an interface control between a first processor that controls the entire device and the host device, and
A second processor that controls input / output to and from a next storage device, a parallel sorting mechanism that executes sorts in parallel, and a parallel relational algebra operation mechanism that executes various relational algebraic operations in parallel are added, and the first processor is added. A third processor for controlling both mechanisms in response to a request from the processor; and an internal memory in which first and second input buffers for temporarily storing table data to be operated are provided. The first processor operates from the host device to the second device.
Condition given by the second processor from the secondary storage device to the first input buffer of the internal memory when a command for instructing quasi-joining or joining is given through the processor The table data is read, and at the same time, the condition table data read in the first input buffer is loaded into the same processor in an amount that can be collectively processed by the third processor,
The second processor causes the second input buffer of the internal memory to read the target table data specified by the command from the secondary storage device, and the third processor
Database arithmetic processing device, characterized in that it is configured to perform a quasi-joining or joining process in the processor.
【請求項2】 ホスト装置、及び演算対象のテーブルデ
ータが格納される2次記憶装置と接続され、前記ホスト
装置から与えられるコマンドに応じて前記演算対象のテ
ーブルデータを入力して所定のデータベース演算処理を
実行するデータベース演算処理装置において、 装置全体の制御を司る第1のプロセッサと、 前記ホスト装置との間のインタフェース制御及び前記2
次記憶装置との間の入出力制御を司る第2のプロセッサ
と、 ソートを並列に実行する並列ソーティング機構及び各種
関係代数演算を並列に実行する並列関係代数演算機構が
付加され、前記第1のプロセッサからの要求に応じて前
記両機構を制御する第3のプロセッサと、 演算の対象となるテーブルデータを一時記憶するための
第1及び第2の入力バッファが置かれる内部メモリとを
具備し、 前記第1のプロセッサは、前記ホスト装置から与えられ
たコマンドを処理するためのコマンド処理タスク、この
コマンド処理タスクの制御下にあって、前記コマンドを
実行するのに必要となる処理のうち、前記第2のプロセ
ッサと関係する入出力処理を司る入出力処理タスク及び
前記第3のプロセッサとのインタフェースを司るインタ
フェース処理タスクを必要数生成し、前記各タスクを並
行して動作させることにより、前記第1乃至第3のプロ
セッサの並列処理を可能としたことを特徴とするデータ
ベース演算処理装置。
2. A predetermined database operation, which is connected to a host device and a secondary storage device for storing table data to be operated, and inputs the table data to be operated in response to a command given from the host device. In a database arithmetic processing device that executes a process, an interface control between a first processor that controls the entire device and the host device, and
A second processor that controls input / output to and from the next storage device, a parallel sorting mechanism that executes sorts in parallel, and a parallel relational algebra operation mechanism that executes various relational algebraic operations in parallel are added, and the first processor is added. A third processor for controlling both mechanisms in response to a request from the processor; and an internal memory in which first and second input buffers for temporarily storing table data to be operated are provided. The first processor is a command processing task for processing a command given from the host device, and among the processing required to execute the command under the control of the command processing task, An input / output processing task that controls the input / output processing related to the second processor and an interface processing task that controls the interface with the third processor. Click to generate necessary number, said by operating in parallel each task, the database processing unit, characterized in that which enables parallel processing of the first to third processors.
【請求項3】 前記第1のプロセッサは、前記ホスト装
置から準結合または結合を指示するコマンドが与えられ
た場合には、前記2次記憶装置から前記内部メモリの第
1の入力バッファへの同コマンドで指定された条件テー
ブルデータの読み込みを、前記第2のプロセッサにより
行なわせる第1の入力処理タスク、この第1の入出力処
理タスクの制御のもとで前記第1の入力バッファに読み
込まれた条件テーブルデータが前記第3のプロセッサに
同プロセッサの一括処理可能分ロードされた後に起動さ
れて、前記2次記憶装置から前記内部メモリの第2の入
力バッファへの前記コマンドで指定された対象テーブル
データの読み込みを、前記第2のプロセッサにより行な
わせる第2の入力処理タスクと、前記第1の入力バッフ
ァに読み込まれた条件テーブルデータを前記第3のプロ
セッサでの一括処理可能分だけ同プロセッサにロード
し、しかる後に前記第2の入力バッファに読み込まれた
対象テーブルデータについて前記ホスト装置から与えら
れた準結合または結合の処理を前記第3のプロセッサに
依頼するインタフェース処理タスクとを生成することを
特徴とする請求項2記載のデータベース演算処理装置。
3. The first processor, when a command for instructing quasi-coupling or coupling is given from the host device, transfers the same from the secondary storage device to the first input buffer of the internal memory. A first input processing task that causes the second processor to read the condition table data specified by the command, and is read into the first input buffer under the control of the first input / output processing task. Target table designated by the command from the secondary storage device to the second input buffer of the internal memory, which is activated after the condition table data is loaded into the third processor for a batch processable amount of the same processor. A second input processing task for causing the second processor to read table data, and a condition read into the first input buffer. The condition table data is loaded into the same processor as the batch processable amount in the third processor, and then the target table data read into the second input buffer is subjected to the semi-join or the join given from the host device. An interface processing task for requesting processing to the third processor is generated, and the database arithmetic processing apparatus according to claim 2.
JP3268186A 1991-09-21 1991-09-21 Database arithmetic processing unit Expired - Lifetime JP2983351B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3268186A JP2983351B2 (en) 1991-09-21 1991-09-21 Database arithmetic processing unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3268186A JP2983351B2 (en) 1991-09-21 1991-09-21 Database arithmetic processing unit

Publications (2)

Publication Number Publication Date
JPH0581334A true JPH0581334A (en) 1993-04-02
JP2983351B2 JP2983351B2 (en) 1999-11-29

Family

ID=17455115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3268186A Expired - Lifetime JP2983351B2 (en) 1991-09-21 1991-09-21 Database arithmetic processing unit

Country Status (1)

Country Link
JP (1) JP2983351B2 (en)

Also Published As

Publication number Publication date
JP2983351B2 (en) 1999-11-29

Similar Documents

Publication Publication Date Title
US4703446A (en) Data processing unit diagnosis control apparatus
JPH06131181A (en) Hierarchical parallel processing type central processing unit
JP3004102B2 (en) Database processing unit
JP3002041B2 (en) Database processing unit
JPH0581334A (en) Data base arithmetic processor
JP2983352B2 (en) Database arithmetic processing unit
JPH05101110A (en) Data base arithmetic processing unit
JPH06348561A (en) Data processor
JPH0581339A (en) Data processor
JPH06348554A (en) Data processor
JPH07219793A (en) System and method for transfer of control between processing processes
JPH0581338A (en) Data processor
JPH05324580A (en) Data processor
JPH06348558A (en) Data processor
JPH0581343A (en) Data processor
JPH04310134A (en) File server control method
JP3263123B2 (en) Sorting method in data processing system
JPH05265953A (en) Activation system for distributed processing type program
JPH0580976A (en) Data processor
JPH05324428A (en) Data processor
JPS6139284A (en) Information retrieving device
JPH06110745A (en) Data processor
JPH0535505A (en) Input/output task control method
JPH0619746B2 (en) Information processing equipment
JPH0488456A (en) Channel controller