JPH0580977A - Data processor - Google Patents

Data processor

Info

Publication number
JPH0580977A
JPH0580977A JP3268185A JP26818591A JPH0580977A JP H0580977 A JPH0580977 A JP H0580977A JP 3268185 A JP3268185 A JP 3268185A JP 26818591 A JP26818591 A JP 26818591A JP H0580977 A JPH0580977 A JP H0580977A
Authority
JP
Japan
Prior art keywords
processor
sort
arithmetic
data
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3268185A
Other languages
Japanese (ja)
Inventor
Hiroyoshi Yamada
広佳 山田
Takao Iwasaki
孝夫 岩崎
Kazunori Shimakawa
和典 島川
Tomohiko Yamada
朝彦 山田
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
Original Assignee
Toshiba 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 filed Critical Toshiba Corp
Priority to JP3268185A priority Critical patent/JPH0580977A/en
Publication of JPH0580977A publication Critical patent/JPH0580977A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To reduce the load of a host device and to improve the sort processing performance by merging plural partial sort strings in an arithmetic processor. CONSTITUTION:A data base arithmetic processor 16 applies a multiprocessor constitution. The data input/output processing is carried out between the processor 16 and a magnetic disk device 17 by an engine interface processor EIP 161. A hardware sorter control processor ECAM 164 perform the sort processing with use of the hardware arithmetic circuits of a parallel sorting module PSOM 165 and a parallel relation algebraical arithmetic module PRAM 166. Then an engine control processor ECP 162 performs the n-way merge processing to merge the total control with plural partial sort strings. Furthermore the external sort input processing and the sort processing as well as the n-way merge processing and the output processing are carried out in parallel with each other.

Description

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

【0001】[0001]

【産業上の利用分野】この発明は、ホスト装置からの要
求に応じて演算対象のファイルデータに対してソート等
の演算処理を実行する演算処理装置を備えたデータ処理
装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing device having an arithmetic processing device for executing arithmetic processing such as sorting on file data to be operated in response to a request from a host device.

【0002】[0002]

【従来の技術】一般に、コンピュータシステムにおいて
は、ソート処理や関係データベースの検索系処理等を高
速に実行するために専用のデータベース演算処理装置が
設けられている。このデータベース演算処理装置はハー
ドウェアソータと称される演算回路を備えている。この
ハードウェアソータは、2−ウェイーマージを行う複数
のソートセルから成るパイプラインソータであり、一度
に複数個のデータをソーティング(整列化)することが
できる。
2. Description of the Related Art Generally, a computer system is provided with a dedicated database arithmetic processing unit for executing sort processing and search processing of a relational database at high speed. This database arithmetic processing unit includes an arithmetic circuit called a hardware sorter. This hardware sorter is a pipeline sorter composed of a plurality of sort cells that perform 2-way merge, and can sort (sort) a plurality of data at a time.

【0003】演算対象ファイルのデータ量が少ない場合
には、ハードウェアソータによる1回のソート処理だけ
で整列化されたソートストリング(部分ソート列)を生
成する事ができる。このように演算対象の全データをハ
ードウェアソータで一度にソーテイングする処理は、内
部ソート処理と称され、ハードウェアソータによって高
速に実行できる。
When the data amount of the calculation target file is small, the sorted string (partial sorted string) can be generated by only one sort process by the hardware sorter. The process of sorting all the data to be calculated by the hardware sorter at once is called an internal sort process and can be executed at high speed by the hardware sorter.

【0004】しかし、演算対象のデータ量が多い場合
や、複数のファイルを演算対象とする場合には、ハード
ウェアソータによって一度にソートできないので、ハー
ドウェアソータによって生成された複数の部分ソート列
をマージする必要がある。このようにマージ処理を必要
とするソート処理は外部ソートと称されており、そのマ
ージ処理を行う方法としては、従来、次の2通りの方法
があった。
However, when the amount of data to be calculated is large, or when a plurality of files are to be calculated, the hardware sorter cannot sort at once, so a plurality of partial sort sequences generated by the hardware sorter cannot be sorted. Need to merge. The sort process requiring the merge process is called an external sort, and conventionally, there are the following two methods for performing the merge process.

【0005】第1は、ホスト装置でマージを行う方法で
ある。つまり、この方法では、データベース演算処理装
置はハードウェアソータを用いたソートのみを担当し、
以降の処理は全てホスト装置で行われる。
The first is a method of merging with a host device. In other words, in this method, the database processing unit is in charge of only sorting using the hardware sorter,
All subsequent processing is performed by the host device.

【0006】しかしながら、このようにホスト装置でマ
ージを行う場合は、ホスト装置の負荷が増大されるとい
う不具合が生じる。また、ホスト装置がマージを行うた
めには、ハードウェアソータで生成した部分ソート列を
データベース演算処理装置からホスト装置へデータ転送
しなければならないので、そのデータ転送によって生じ
るオーバーヘッドも非常に大きなものとなる。
However, when merging is performed by the host device in this way, the load of the host device is increased. Further, in order for the host device to perform merging, since the partial sort sequence generated by the hardware sorter must be transferred from the database arithmetic processing device to the host device, the overhead caused by the data transfer is also very large. Become.

【0007】第2は、ホスト装置ではなく、データベー
ス演算処理装置内のハードウェアソータによってマージ
処理を行う方法である。しかしながら、前述したように
ハードウェアソータは、2−ウェイマージのソートセル
をカスケード接続したものであるので、その性質上、マ
ージ対象とできるソート済みの部分ソート列は2本に限
られる。このため、ハードウェアソータによって最初に
生成された部分ソート列が2本よりも多く存在する場合
には、ハードウェアソータによるマージ処理をトーナメ
ント的に繰り返すことが必要となる。
The second is a method of performing a merge process by a hardware sorter in the database arithmetic processing device, not by the host device. However, as described above, since the hardware sorter is formed by cascade-connecting 2-way merge sort cells, the number of sorted partial sort sequences that can be merged is limited to two because of its nature. Therefore, when there are more than two partial sort sequences initially generated by the hardware sorter, it is necessary to repeat the merge process by the hardware sorter in a tournament manner.

【0008】このようにハードウェアソータによって2
−ウェイマージ処理を繰り返し実行すると、ホスト装置
の負荷は軽減できるが、データベース演算処理装置内に
おけるデータの移動量、およびハードウェアソータによ
るデータ比較回数の増大を招くので、マージ処理に多く
の時間が必要とされるという不具合を招くことになる。
In this way, the hardware sorter 2
-If the way merge process is repeatedly executed, the load on the host device can be reduced, but since the amount of data movement in the database arithmetic processing device and the number of data comparisons by the hardware sorter increase, a lot of time is required for the merge process. This leads to the inconvenience of being required.

【0009】このように、従来では、全データをハード
ウェアソータによって一度にソートできる場合は高性能
が期待できるが、例えば外部ソートのように一度にソー
トできずにマージ処理を必要とする場合は、ホスト装置
の負荷の増大、あるいは演算時間の増大による性能低下
が引き起こされるという問題があった。
As described above, conventionally, high performance can be expected when all the data can be sorted at once by the hardware sorter, but when, for example, external sorting cannot be sorted at once and merge processing is required. However, there is a problem that the performance of the host device is lowered due to the increase of the load of the host device or the increase of the calculation time.

【0010】[0010]

【発明が解決しようとする課題】従来では、演算対象デ
ータを一度にソートできずにマージ処理を必要とする場
合は、ホスト装置の負荷の増大、あるいは演算時間の増
大による性能低下が引き起こされる欠点があった。
Conventionally, when the data to be calculated cannot be sorted at one time and merge processing is required, the load on the host device increases or the performance decreases due to an increase in calculation time. was there.

【0011】この発明はこのような点に鑑みなされたも
ので、ハードウェアソータを用いずに演算処理装置内で
複数の部分ソート列をマージできるようにして、ホスト
装置の負荷を大幅に軽減し、しかも十分に高速なソート
処理を実現することができるデータ処理装置を提供する
ことを目的とする。
The present invention has been made in view of the above circumstances, and enables a plurality of partial sort sequences to be merged in the arithmetic processing device without using a hardware sorter, thereby significantly reducing the load on the host device. Moreover, it is an object of the present invention to provide a data processing device capable of realizing a sufficiently high-speed sort process.

【0012】[0012]

【課題を解決するための手段および作用】この発明は、
ホスト装置と、演算対象のファイルデータが格納される
2次記憶装置と、前記2次記憶装置を直接アクセスする
ためのパスを有し、前記ホスト装置からの要求に応じて
前記演算対象のファイルデータに対して所定の演算処理
を実行する演算処理装置とを備えたデータ処理装置にお
いて、前記演算処理装置には、演算対象のファイルデー
タを前記パスを介して前記2次記憶装置から入力する手
段と、入力された演算対象のファイルデータに対して所
定の演算処理を実行し、複数の部分ソート列を生成する
演算回路と、この演算回路による演算によって生成され
複数の部分ソート列をまとめてマージすることにより1
本の整列化されたソート列を生成するマージ手段と、こ
のマージ手段によって生成されたソート列を前記パスを
介して前記2次記憶装置に出力する手段とを具備し、前
記演算処理装置内で前記複数の部分ソート列をまとめて
マージすることを第1の特徴とする。
Means and Actions for Solving the Problems
A host device, a secondary storage device in which file data to be operated are stored, and a path for directly accessing the secondary storage device, and the file data to be operated is converted to the file data to be operated in response to a request from the host device. In a data processing device including an arithmetic processing device that executes a predetermined arithmetic processing, means for inputting file data to be operated from the secondary storage device via the path to the arithmetic processing device, An operation circuit that performs a predetermined operation process on the input file data of the operation target to generate a plurality of partial sort sequences and a plurality of partial sort sequences generated by the operation of this arithmetic circuit are merged together. By 1
In the arithmetic processing device, there are provided merge means for generating a sorted sort sequence of the book, and means for outputting the sort sequence generated by the merge means to the secondary storage device via the path. The first feature is that the plurality of partial sort sequences are merged together.

【0013】このデータ処理装置においては、演算処理
装置内にマージ手段が設けられており、演算回路で生成
された複数の部分ソート列は、演算回路ではなく、その
演算処理装置内に設けられたマージ手段によってまとめ
て一度にマージ(n−ウェイマージ)され、これによっ
て1本の整列化されたソート列に生成される。そして、
このマージ手段によって生成されたソート列は、演算処
理装置から2次記憶装置に直接的に出力される。このた
め、演算回路を用いずに演算処理装置内で複数の部分ソ
ート列をマージできるようになり、ホスト装置の負荷を
大幅に軽減でき、しかも演算回路を繰り返し用いる場合
よりもデータ移動量等を減らすことが出来るのでその分
だけ高速のソート処理を実現できる。
In this data processing device, the merging means is provided in the arithmetic processing device, and the plurality of partial sort sequences generated by the arithmetic circuit are provided not in the arithmetic circuit but in the arithmetic processing device. By the merging means, they are collectively merged (n-way merge) at one time, and thereby, one sorted sort sequence is generated. And
The sort sequence generated by this merging means is directly output from the arithmetic processing unit to the secondary storage unit. For this reason, a plurality of partial sort sequences can be merged in the arithmetic processing device without using the arithmetic circuit, the load on the host device can be significantly reduced, and the amount of data movement can be reduced more than when the arithmetic circuit is repeatedly used. Since it can be reduced, high speed sort processing can be realized.

【0014】また、この発明は、演算処理装置に第1乃
至第3のプロセッサから構成されるマルチプロセッサ構
成を採用し、演算処理装置と2次記憶装置間のデータ入
出力を第1のプロセッサに、演算回路を用いた演算処理
を第2のプロセッサに、そして、全体の制御とマージ処
理を第3のプロセッサにそれぞれ機能分散すると共に、
第1のプロセッサによるデータ入力と第3のプロセッサ
による演算処理を並行して動作させ、また、第3のプロ
セッサによるマージ処理と第1のプロセッサによるデー
タ出力処理を並行して動作させるように構成したことを
第2の特徴とする。
Further, according to the present invention, a multiprocessor configuration including first to third processors is adopted in the arithmetic processing device, and data input / output between the arithmetic processing device and the secondary storage device is performed in the first processor. , The arithmetic processing using the arithmetic circuit is distributed to the second processor, and the overall control and merge processing are distributed to the third processor.
The data input by the first processor and the arithmetic processing by the third processor are operated in parallel, and the merge processing by the third processor and the data output processing by the first processor are operated in parallel. This is the second feature.

【0015】この構成においては、第1乃至第3のプロ
セッサによって負荷分散が図れ、しかもデータ入力とソ
ートの演算処理、およびマージ処理とデータ出力がそれ
ぞれ並行して動作されるので、ソート処理に要する全体
の時間を著しく低減することができる。したがって、マ
ージ処理に要する時間だけ全体のソート処理時間が増大
されるといった不具合を招くこと無く、演算処理装置内
でマージ処理を行うことができ、高性能の装置を実現で
きる。
In this configuration, the load distribution is achieved by the first to third processors, and the data input and sort operation processes, and the merge process and data output are operated in parallel, so that the sort process is required. The overall time can be significantly reduced. Therefore, the merge process can be performed in the arithmetic processing device without causing a problem that the total sort process time is increased by the time required for the merge process, and a high-performance device can be realized.

【0016】[0016]

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

【0017】図1にはこの発明の一実施例に係わるデー
タ処理装置の全体のシステム構成が示されている。この
データ処理装置は、ホストコンピュータ10と、データ
ベース演算処理装置(データベースエンジン;DBE)
16と、磁気ディスク装置17とによって構成されてい
る。ホストコンピュータ10は、CPU11、主記憶装
置12、第1および第2のチャネル装置14,15によ
って構成されており、これらCPU11、主記憶装置1
2、およびチャネル装置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 magnetic disk device 17. The host computer 10 is composed of a CPU 11, a main storage device 12, and first and second channel devices 14 and 15, and these CPU 11 and main storage device 1
2 and the channel devices 14 and 15 are the system bus 13
Are interconnected via.

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

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

【0020】データベース演算処理装置(DBE)16
は、CPU11からのコマンドに基づいて演算対象ファ
イルのデータに対して演算処理を実行するものであり、
演算対象ファイルの入力および演算結果の出力のため
に、パス18を介して磁気ディスク装置17を直接的に
アクセスする。
Database 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,
The magnetic disk device 17 is directly accessed via the path 18 in order to input the calculation target file and output the calculation result.

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

【0022】エンジンインターフェースプロセッサ(E
IP)161、エンジン制御プロセッサ(ECP)16
2、およびハードウェアソータ制御プロセッサ(ECA
M)164の3台のプロセッサは、内部バス167によ
って相互接続されており、大容量メモリ(EBDM)1
63を共有メモリとする密結合のマルチプロセッサを構
成している。大容量メモリ(EBDM)163は、3台
の各プロセッサの共通のアドレス空間上に配置されてい
る。また、これら3台のプロセッサ、つまりエンジンイ
ンターフェースプロセッサ(EIP)161、エンジン
制御プロセッサ(ECP)162、およびハードウェア
ソータ制御プロセッサ(ECAM)164には機能分散
がなされている。この場合、それぞれの固有の役割を効
率良く実行するために、これら各プロセッサは、密結合
ながらそれぞれに適した独立のモニタによって動作制御
されるように構成されている。
Engine interface processor (E
IP) 161, engine control processor (ECP) 16
2 and hardware sorter control processor (ECA
M) 164 of the three processors are interconnected by an internal bus 167, and a large capacity memory (EBDM) 1
A tightly coupled multiprocessor having 63 as a shared memory is configured. The large capacity memory (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 engine interface processor (EIP) 161, the engine control processor (ECP) 162, and the hardware sorter control processor (ECAM) 164. In this case, in order to efficiently perform their respective unique roles, the respective processors are configured to be tightly coupled and controlled by independent monitors suitable for the respective processors.

【0023】エンジンインターフェースプロセッサ(E
IP)161、エンジン制御プロセッサ(ECP)16
2、およびハードウェアソータ制御プロセッサ(ECA
M)164の機能分散は、次のようになされている。
Engine interface processor (E
IP) 161, engine control processor (ECP) 16
2 and hardware sorter control processor (ECA
The function distribution of M) 164 is as follows.

【0024】すなわち、エンジンインターフェースプロ
セッサ(EIP)161は、ホストコンピュータ10と
データベース演算処理装置16間の通信を行うと共に、
磁気ディスク装置17のディスクコントローラにもパス
18を介して接続されており、磁気ディスク装置17と
のデータ入出力を制御する。また、エンジンインターフ
ェースプロセッサ(EIP)161は、磁気ディスク装
置17にデータを出力する際、出力ファイルの再構成処
理も行う。
That is, the engine interface processor (EIP) 161 performs communication between the host computer 10 and the database arithmetic processing unit 16, and
It is also connected to the disk controller of the magnetic disk device 17 via a path 18, and controls data input / output with the magnetic disk device 17. Further, the engine interface processor (EIP) 161 also performs reconfiguration processing of an output file when outputting data to the magnetic disk device 17.

【0025】ホストコンピュータ10との間の通信にお
いては、エンジンインターフェースプロセッサ(EI
P)161は、第1のチャネル装置14を介してCPU
11から送られてくるコマンドを受信し、それをエンジ
ン制御プロセッサ(ECP)162に送信する。また、
エンジンインターフェースプロセッサ(EIP)161
は、エンジン制御プロセッサ(ECP)162から送ら
れてくるコマンド結果としてステータスを受信し、それ
を第1のチャネル装置14を介してCPU11に返信す
る。
In communication with the host computer 10, an engine interface processor (EI) is used.
P) 161 is the CPU via the first channel device 14
It receives the command sent from 11 and sends it to the engine control processor (ECP) 162. Also,
Engine interface processor (EIP) 161
Receives the status as a command result sent from the engine control processor (ECP) 162, and sends it back to the CPU 11 via the first channel device 14.

【0026】磁気ディスク装置17との間のデータ入出
力処理においては、エンジンインターフェースプロセッ
サ(EIP)161は、エンジン制御プロセッサ(EC
P)162からの入出力要求を受け付け、大容量メモリ
(EBDM)163と磁気ディスク装置17との間でデ
ータ転送を行う。
In the data input / output processing with the magnetic disk device 17, the engine interface processor (EIP) 161 includes an engine control processor (EC).
P) receives an input / output request from 162 and transfers data between the large capacity memory (EBDM) 163 and the magnetic disk device 17.

【0027】エンジン制御プロセッサ(ECP)162
は、エンジンインターフェースプロセッサ(EIP)1
61、大容量メモリ(EBDM)163、およびハード
ウェア制御プロセッサ(ECAM)164を内部バス1
67を介して制御すると共に、大容量メモリ(EBD
M)163に格納された部分ソート列に対してnーウェ
イマージを行う。
Engine Control Processor (ECP) 162
Is an engine interface processor (EIP) 1
61, a mass memory (EBDM) 163, and a hardware control processor (ECAM) 164 on the internal bus 1
67 and a large-capacity memory (EBD
M) The n-way merge is performed on the partial sort sequence stored in 163.

【0028】このnーウェイマージ処理は、マージ対象
の複数の部分ソート列全てをまとめてマージするもので
ある。すなわち、エンジン制御プロセッサ(ECP)1
62は、ハードウェア制御プロセッサ(ECAM)16
4、並列ソーティングモジュール(PSOM)165、
および並列関係代数演算モジュール(PRAM)166
によるソート処理で生成された複数の部分ソート列から
それぞれ先頭の要素のうちで例えば最小値の要素を選ん
では出力列に移すという処理をソフトウェア的に実行す
る。この場合、先頭要素が出力列に移された部分ソート
列については次の要素が先頭要素となり、今度はその先
頭要素が他の部分ソート列の先頭要素と比較される。エ
ンジン制御プロセッサ(ECP)162によるこのよう
なnーウェイマージの具体的な処理手順については、図
6を参照して後述する。
This n-way merge processing is to merge all the plurality of partial sort sequences to be merged together. That is, the engine control processor (ECP) 1
62 is a hardware control processor (ECAM) 16
4, parallel sorting module (PSOM) 165,
And parallel relational algebra operation module (PRAM) 166
The software performs a process of selecting, for example, the element having the smallest value from among the first elements of the plurality of partial sort sequences generated by the sorting process according to 1. In this case, for the partial sort sequence in which the leading element is moved to the output sequence, the next element becomes the leading element, and this leading element is compared with the leading elements of other partial sorting sequences. A specific processing procedure of such an n-way merge by the engine control processor (ECP) 162 will be described later with reference to FIG.

【0029】大容量メモリ(EBDM)163は、磁気
ディスク装置17から読み出された演算対象のファイル
データ、ハードウェアソータ制御プロセッサ(ECA
M)164、並列ソーティングモジュール(PSOM)
165、および並列関係代数演算モジュール(PRA
M)166によるソート処理結果、さらには、エンジン
制御プロセッサ(ECP)162によるマージ結果等を
格納する共有メモリである。演算対象のファイルデータ
は大容量メモリ(EBDM)163内の入力バッファ部
に格納され、ソート結果およびマージ結果は大容量メモ
リ(EBDM)163内の出力バッファ部に格納され
る。
A large-capacity memory (EBDM) 163 is a file data to be operated, which is read from the magnetic disk device 17, a hardware sorter control processor (ECA).
M) 164, Parallel Sorting Module (PSOM)
165, and parallel relational algebra operation module (PRA
M) 166 is a shared memory for storing the sort processing result by the engine control processor (ECP) 162 and the merge result by the engine control processor (ECP) 162. The file data to be operated is stored in the input buffer unit in the large capacity memory (EBDM) 163, and the sorting result and the merge result are stored in the output buffer unit in the large capacity memory (EBDM) 163.

【0030】ハードウェアソータ制御プロセッサ(EC
AM)164は、エンジン制御プロセッサ(ECP)1
62からの指令に基づいて、並列ソーティングモジュー
ル(PSOM)165および並列関係代数演算モジュー
ル(PRAM)166による演算を制御する。
Hardware sorter control processor (EC
AM) 164 is an engine control processor (ECP) 1
Based on the command from 62, the operations by the parallel sorting module (PSOM) 165 and the parallel relational algebraic operation module (PRAM) 166 are controlled.

【0031】この場合、ハードウェアソータ制御プロセ
ッサ(ECAM)164は、大容量メモリ(EBDM)
163上のデータを並列ソーティングモジュール(PS
OM)165に入力し、並列関係代数演算モジュール
(PRAM)166から出力された演算結果を大容量メ
モリ(EBDM)163上に格納するが、並列ソーティ
ングモジュール(PSOM)165へのデータ入力に際
しては、キー切り出し処理を実行する。このキー切り出
し処理においては、ハードウェアソータ制御プロセッサ
(ECAM)164は、演算対象の各レコードから演算
に必要なキーのみを切り出し、それにレコード識別番号
(大容量メモリ163上におけるレコードの先頭アドレ
ス)を付加して並列ソーティングモジュール(PSO
M)165へ送出する。
In this case, the hardware sorter control processor (ECAM) 164 is a large capacity memory (EBDM).
Parallel sorting module (PS
The OM) 165 and the arithmetic result output from the parallel relational algebraic arithmetic module (PRAM) 166 are stored in the large capacity memory (EBDM) 163. When the data is input to the parallel sorting module (PSOM) 165, Execute the key cutout process. In this key cutout processing, the hardware sorter control processor (ECAM) 164 cuts out only the key necessary for the calculation from each record to be calculated, and adds the record identification number (the start address of the record in the large capacity memory 163) to it. Add parallel parallel sorting module (PSO
M) Send to 165.

【0032】並列ソーティングモジュール(PSOM)
165は、ハードウェアソータ制御プロセッサ(ECA
M)164によって駆動され、ソートを並列に実行する
専用のハードウェア回路であり、並列関係代数演算モジ
ュール(PRAM)166に接続されている。この並列
ソーティングモジュール(PSOM)165は、パイプ
ラインマージソータと称されるものであり、2−ウェイ
マージを行う複数のソートセルをカスケード接続してな
る。
Parallel sorting module (PSOM)
165 is a hardware sorter control processor (ECA
M) is a dedicated hardware circuit that is driven by 164 and executes sorting in parallel, and is connected to a parallel relational algebra operation module (PRAM) 166. The parallel sorting module (PSOM) 165 is called a pipeline merge sorter, and is composed of a plurality of sort cells cascade-connected to perform 2-way merge.

【0033】並列関係代数演算モジュール(PRAM)
166は、関係型データベースにおけるJOIN(結
合)やRESTRICT(制約)といった関係代数演算
を並列に実行する専用のハードウェア回路であり、並列
ソーティングモジュール(PSOM)165からソート
されたデータを入力し、演算結果をハードウェアソータ
制御プロセッサ(ECAM)164に出力する。ソート
処理だけを実行する場合には、並列関係代数演算モジュ
ール(PRAM)166は、最終段のソートセルとして
機能する。
Parallel Relational Algebra Operation Module (PRAM)
Reference numeral 166 denotes a dedicated hardware circuit that executes relational algebraic operations such as JOIN (join) and RESTRICT (restriction) in a relational database in parallel, and inputs sorted data from the parallel sorting module (PSOM) 165 to perform arithmetic operations. The result is output to the hardware sorter control processor (ECAM) 164. When only the sorting process is executed, the parallel relational algebraic operation module (PRAM) 166 functions as the final sort cell.

【0034】このように、エンジンインターフェースプ
ロセッサ(EIP)161、エンジン制御プロセッサ
(ECP)162、およびハードウェアソータ制御プロ
セッサ(ECAM)164にはそれぞれ外部ソートのた
めの機能が分散されている。この場合、これらプロセッ
サは、大容量メモリ(EBDM)163上のバッファの
やりとりを除けば非同期に動作し、並行して各機能を実
行する。すなわち、外部ソートは、入力処理、ソート処
理、マージ処理、および出力処理から構成されるが、ハ
ードウェアソータ制御プロセッサ(ECAM)164の
制御によるソート演算処理は、エンジンインターフェー
スプロセッサ(EIP)161による演算対象データの
入力処理と並行して実行され、また、エンジンインター
フェースプロセッサ(EIP)161による演算結果の
データ出力処理は、エンジン制御プロセッサ(ECP)
162によるマージ処理と並行して実行される。
As described above, the functions for external sorting are distributed to the engine interface processor (EIP) 161, the engine control processor (ECP) 162, and the hardware sorter control processor (ECAM) 164. In this case, these processors operate asynchronously except for the exchange of buffers on the large capacity memory (EBDM) 163, and execute the respective functions in parallel. That is, the external sort is composed of an input process, a sort process, a merge process, and an output process, but the sort operation process under the control of the hardware sorter control processor (ECAM) 164 is an operation by the engine interface processor (EIP) 161. The data output processing executed by the engine interface processor (EIP) 161 in parallel with the input processing of the target data is the engine control processor (ECP).
It is executed in parallel with the merge processing by 162.

【0035】次に、図1のデータ処理装置によって実行
される外部ソート処理の動作を説明する。
Next, the operation of the external sort processing executed by the data processing apparatus of FIG. 1 will be described.

【0036】まず、データ処理装置全体の処理の流れの
概要を説明する。
First, an outline of the processing flow of the entire data processing apparatus will be described.

【0037】CPU11は、主記憶装置12上にあるソ
ート等のコマンドをシステムバス13を介してデータベ
ース演算処理装置16に発行する。そのコマンドは大容
量メモリ(EBDM)163に格納される。エンジン制
御プロセッサ(ECP)162は、そのコマンドの解析
を行い、処理対象となるデータをエンジンインターフェ
ースプロセッサ(EIP)161を介して磁気ディスク
装置17から大容量メモリ(EBDM)163に読み込
み、それをハードウェアソータ制御プロセッサ(ECA
M)164に渡してソート処理を実行させる。ハードウ
ェアソータ制御プロセッサ(ECAM)164は、対象
となるデータを並列ソーティングモジュール(PSO
M)165から並列関係代数演算モジュール(PRA
M)166に渡し、処理が終了すればエンジン制御プロ
セッサ(ECP)162に報告を行う。エンジン制御プ
ロセッサ(ECP)162は、複数のソートストリング
からなるソート結果をまとめてマージ(n−ウェイマー
ジ)する。エンジンインターフェースプロセッサ(EI
P)161は、処理結果をディスク装置17に出力し、
そして与えられたコマンドに対応する応答をシステムバ
ス13を介してCPU11に返す。
The CPU 11 issues commands such as sorts stored in the main memory 12 to the database arithmetic processing unit 16 via the system bus 13. The command is stored in the large capacity memory (EBDM) 163. The engine control processor (ECP) 162 analyzes the command, reads the data to be processed from the magnetic disk device 17 into the large capacity memory (EBDM) 163 via the engine interface processor (EIP) 161, and reads it. Wear sorter control processor (ECA
M) Pass to 164 to execute sort processing. The hardware sorter control processor (ECAM) 164 processes the target data in the parallel sorting module (PSO).
M) 165 to parallel relational algebra module (PRA
M) 166, and when the processing is completed, it reports to the engine control processor (ECP) 162. The engine control processor (ECP) 162 merges (n-way merge) the sorting results including a plurality of sorting strings. Engine interface processor (EI
P) 161 outputs the processing result to the disk device 17,
Then, the response corresponding to the given command is returned to the CPU 11 via the system bus 13.

【0038】次に、図2のフローチャートを参照して、
データベース演算処理装置16内における動作を説明す
る。
Next, referring to the flow chart of FIG.
The operation in the database arithmetic processing unit 16 will be described.

【0039】前述したように、大容量メモリ(EBD
M)163にはエンジンインターフェースプロセッサ
(EIP)161による入力処理によってソート対象の
データが格納され、この入力処理と並行してハードウェ
アソータ制御プロセッサ(ECAM)164による演算
制御が実行される。すなわち、エンジンインターフェー
スプロセッサ(EIP)161は、磁気ディスク装置1
7に対象となるデータが存在するかぎり大容量メモリ
(EBDM)163に入力を行い、それをハードウェア
ソータ制御プロセッサ(ECAM)164に渡す。
As described above, the large capacity memory (EBD
M) 163 stores data to be sorted by the input processing by the engine interface processor (EIP) 161, and arithmetic control by the hardware sorter control processor (ECAM) 164 is executed in parallel with this input processing. That is, the engine interface processor (EIP) 161 is the magnetic disk device 1
As long as the target data exists in 7, the input is made to the large capacity memory (EBDM) 163, which is passed to the hardware sorter control processor (ECAM) 164.

【0040】ハードウェアソータ制御プロセッサ(EC
AM)164は、大容量メモリ(EBDM)163に格
納されたデータを、並列ソーティングモジュール(PS
OM)165および並列関係代数演算モジュール(PR
AM)166で一度にソートできる件数ごとのストリン
グに分割し、未処理データがなくなるまで、そのストリ
ング毎にソート処理を実行させる(ステップS11,S
12)。並列ソーティングモジュール(PSOM)16
5および並列関係代数演算モジュール(PRAM)16
6は、ソート処理によって一定サイズのソート済みデー
タ列(部分ソート列)を順次生成する。
Hardware sorter control processor (EC
The AM) 164 transfers the data stored in the large capacity memory (EBDM) 163 to the parallel sorting module (PS).
OM) 165 and parallel relational algebra calculation module (PR
(AM) 166 divides into strings for each number that can be sorted at a time, and sort processing is executed for each string until there is no unprocessed data (steps S11, S).
12). Parallel sorting module (PSOM) 16
5 and parallel relational algebra operation module (PRAM) 16
6 sequentially generates a sorted data string (partial sort string) of a certain size by the sorting process.

【0041】ここで、図3および図4を参照して、大容
量メモリ(EBDM)163上に格納される演算対象デ
ータ、およびソート処理により生成される部分ソート列
の具体例を説明する。
Now, with reference to FIGS. 3 and 4, a specific example of the operation target data stored in the large capacity memory (EBDM) 163 and the partial sort sequence generated by the sorting process will be described.

【0042】図3に示されているように、演算対象デー
タは、例えば、n×4個のレコードR1,R2,…から
構成されており、各レコードは例えば5個のフィールド
F1〜F5を含んでいる。並列ソーティングモジュール
(PSOM)165および並列関係代数演算モジュール
(PRAM)166で一度にソートできる件数がn個で
ある場合には、図示のように、演算対象データはそれぞ
れn個のレコードからなる4つのストリングに分割され
る。
As shown in FIG. 3, the operation target data is composed of, for example, n × 4 records R1, R2, ..., Each record including, for example, five fields F1 to F5. I'm out. When the number of items that can be sorted at a time by the parallel sorting module (PSOM) 165 and the parallel relational algebra operation module (PRAM) 166 is n, as shown in the figure, the operation target data is four records each consisting of n records. Split into strings.

【0043】このような演算対象データに対して、例え
ば、第3のフィールドF3をキーフィールドとするソー
トを行う場合には、ハードウェアソータ制御プロセッサ
(ECAM)164は、演算対象の各レコードR1,R
2…から演算に必要な第3のフィールドF3(K1,K
2,…)のみを切り出し、それにレコード識別番号(メ
モリ163上のレコードの先頭アドレスAD1,AD
2,…)を付加して、それを並列ソーティングモジュー
ル(PSOM)165,並列関係代数演算モジュール
(PRAM)166に渡す。
When such operation target data is sorted, for example, using the third field F3 as a key field, the hardware sorter control processor (ECAM) 164 uses the respective records R1 to be operated. R
2 ... from the third field F3 (K1, K
2, ...) are cut out and the record identification number (the head address AD1, AD of the record on the memory 163) is added to it.
2, ...) are added and passed to the parallel sorting module (PSOM) 165 and the parallel relational algebra operation module (PRAM) 166.

【0044】並列ソーティングモジュール(PSOM)
165,並列関係代数演算モジュール(PRAM)16
6は、ストリング毎にソートを行って昇順または降順に
整列化された部分ソート列を生成する。
Parallel sorting module (PSOM)
165, parallel relational algebra operation module (PRAM) 16
6 sorts each string to generate a partial sort sequence sorted in ascending or descending order.

【0045】図4においては、昇順に整列化した場合の
部分ソート列S1〜S4が示されている。これら部分ソ
ート列S1〜S4は、演算対象データの第1乃至第4の
ストリングにそれぞれ対応するものである。各部分ソー
ト列S1〜S4の要素は、図示のように、レコード識別
番号とキー部から構成されており、このような部分ソー
ト列S1〜S4がソート処理結果として大容量メモリ
(EBDM)163上に格納される。
FIG. 4 shows partial sort sequences S1 to S4 in the case of sorting in ascending order. These partial sort sequences S1 to S4 correspond to the first to fourth strings of the calculation target data, respectively. As shown in the figure, the elements of each partial sort sequence S1 to S4 are composed of a record identification number and a key part, and such partial sort sequences S1 to S4 are stored in the large capacity memory (EBDM) 163 as the sorting result. Stored in.

【0046】演算対象データのソート処理が全て実行さ
れると、エンジン制御プロセッサ(ECP)162は、
部分ソート列S1〜S4をまとめてマージし、図5に示
すような1本の整列化されたストリングを生成する(ス
テップS13)。図5に示されているように、エンジン
制御プロセッサ(ECP)162のマージで生成された
ストリングの各要素はレコード識別番号だけから成り、
レコード識別番号はキー部の値が小さいものから順に配
置されている。このようなマージ結果は、大容量メモリ
(EBDM)163上に格納される。
When all sort processing of the data to be calculated is executed, the engine control processor (ECP) 162
The partial sort sequences S1 to S4 are merged together to generate one aligned string as shown in FIG. 5 (step S13). As shown in FIG. 5, each element of the string generated by the engine control processor (ECP) 162 merge consists of a record identification number only,
The record identification numbers are arranged in order from the smallest value in the key part. The merged result is stored in the large capacity memory (EBDM) 163.

【0047】次に、図6を参照して、エンジン制御プロ
セッサ(ECP)162によってソフトウェア的に実行
されるn−ウェイマージの具体的な処理手順を説明す
る。
Next, referring to FIG. 6, a specific processing procedure of the n-way merge executed by the engine control processor (ECP) 162 by software will be described.

【0048】図6においては、説明を簡単にするため
に、部分ソート列S1〜S4の各要素をなすレコード識
別番号とキー部がまとめてR(n)として示されてい
る。ここで、括弧内のnの値はキー部の値に対応してい
る。
In FIG. 6, for simplification of explanation, the record identification number and the key part forming each element of the partial sort sequences S1 to S4 are collectively shown as R (n). Here, the value of n in parentheses corresponds to the value of the key part.

【0049】まず、エンジン制御プロセッサ(ECP)
162は、部分ソート列S1〜S4それぞれから先頭要
素{R(1),R(2),R(9),R(10)}を取
り出し、部分ソート列S1とS2間における先頭要素の
比較により、2つの部分ソート列S1とS2の間で値の
小さい方の先頭要素(ここでは、R(1))を第1出力
として選び、また、部分ソート列S3とS4間における
先頭要素の比較により、2つの部分ソート列S3とS4
の間で値の小さい方の先頭要素(ここでは、R(9))
を第2出力として選ぶ。次いで、エンジン制御プロセッ
サ(ECP)162は、第1出力と第2出力の要素を比
較し、小さい方の要素(ここでは、R(1))を部分ソ
ート列S1〜S4の4つの先頭要素{R(1),R
(2),R(9),R(10)}の中で最小の要素とし
てマージ結果出力列に移す。
First, the engine control processor (ECP)
162 extracts the head element {R (1), R (2), R (9), R (10)} from each of the partial sort sequences S1 to S4, and compares the head elements between the partial sort sequences S1 and S2. By selecting the first element (here, R (1)) having a smaller value between the two partial sort sequences S1 and S2 as the first output, and comparing the leading elements between the partial sort sequences S3 and S4. Two partial sort sequences S3 and S4
The first element with the smaller value (in this case, R (9))
Is selected as the second output. Next, the engine control processor (ECP) 162 compares the elements of the first output and the second output, and determines the smaller element (here, R (1)) as the four leading elements of the partial sort sequences S1 to S4. R (1), R
(2), R (9), R (10)} is moved to the merge result output sequence as the smallest element.

【0050】このようにして、部分ソート列S1の先頭
要素がマージ結果出力列に移されると、部分ソート列S
1の2番目の要素(ここでは、R(3))が部分ソート
列S1の新たな先頭要素となり、エンジン制御プロセッ
サ(ECP)162は、部分ソート列S1の新たな先頭
要素(R(3))と部分ソート列S2の先頭要素(R
(2))との比較によって、第1出力(ここでは、R
(2))を選定する。次いで、エンジン制御プロセッサ
(ECP)162は、第1出力(R(2))と第2出力
(R(9))の要素を比較し、小さい方の要素(ここで
は、R(2))を部分ソート列S1〜S4の4つの先頭
要素{R(3),R(2),R(9),R(10)}の
中で最小の要素としてマージ結果出力列に移す。
In this way, when the head element of the partial sort sequence S1 is moved to the merge result output sequence, the partial sort sequence S1.
The second element of 1 (here, R (3)) becomes a new top element of the partial sort sequence S1, and the engine control processor (ECP) 162 causes the new top element of the partial sort sequence S1 (R (3)). ) And the first element of the partial sort sequence S2 (R
By comparison with (2)), the first output (here, R
(2)) is selected. The engine control processor (ECP) 162 then compares the elements of the first output (R (2)) and the second output (R (9)) and determines the smaller element (here, R (2)). It is moved to the merge result output string as the smallest element among the four leading elements {R (3), R (2), R (9), R (10)} of the partial sort strings S1 to S4.

【0051】部分ソート列S2の先頭要素がマージ結果
出力列に移されると、部分ソート列S2の2番目の要素
(ここでは、R(4))を部分ソート列S2の新たな先
頭要素として、前回と同様の処理が行われる。
When the head element of the partial sort sequence S2 is moved to the merge result output string, the second element of the partial sort sequence S2 (here, R (4)) is set as a new head element of the partial sort sequence S2. The same processing as the previous time is performed.

【0052】このように、エンジン制御プロセッサ(E
CP)162は、マ−ジ対象の4つの部分ソート列S1
〜S4それぞれの先頭の要素のうちで例えば最小値の要
素を選んでは出力列に移すという処理を行い、そして先
頭要素が出力列に移された部分ソート列については次の
要素を先頭要素として処理を繰り返すことにより、部分
ソート列S1〜S4に対する4−ウェイマージを実行す
る。
Thus, the engine control processor (E
CP) 162 is four partial sort sequences S1 to be merged.
From among the first elements of each of S4 to S4, for example, the element having the smallest value is selected and moved to the output column. Then, for the partial sort sequence in which the first element is moved to the output column, the next element is treated as the first element. 4-way merge is executed for the partial sort sequences S1 to S4.

【0053】エンジン制御プロセッサ(ECP)162
によるマージ結果はエンジンインターフェースプロセッ
サ(EIP)161によって磁気ディスク装置17に出
力される。この場合、図5で説明したように、マージ結
果はレコード識別番号の並びのみによって構成されてい
るので、エンジンインターフェースプロセッサ(EI
P)161は、磁気ディスク装置17にデータを出力す
る際、出力ファイルの再構成処理を行う。
Engine Control Processor (ECP) 162
The result of merging is output to the magnetic disk device 17 by the engine interface processor (EIP) 161. In this case, as described with reference to FIG. 5, since the merged result is composed only of the arrangement of the record identification numbers, the engine interface processor (EI
The P) 161 performs an output file reconstruction process when outputting data to the magnetic disk device 17.

【0054】すなわち、エンジンインターフェースプロ
セッサ(EIP)161は、図3の演算対象データのレ
コードを図5のマージ結果の並びにしたがって再構成
し、それを磁気ディスク装置17に出力する。このエン
ジンインターフェースプロセッサ(EIP)161によ
る再構成および出力処理は、エンジン制御プロセッサ
(ECP)162によるn−ウェイマージ処理と並行し
て実行される。
That is, the engine interface processor (EIP) 161 reconstructs the record of the data to be operated in FIG. 3 according to the order of the merged result in FIG. 5, and outputs it to the magnetic disk device 17. The reconstruction and output processing by the engine interface processor (EIP) 161 is executed in parallel with the n-way merge processing by the engine control processor (ECP) 162.

【0055】図7には、この実施例における外部ソート
実行時のデータベース演算処理装置16内のタイミング
チャートが示されている。
FIG. 7 shows a timing chart in the database arithmetic processing unit 16 at the time of executing the external sort in this embodiment.

【0056】図7に示されているように、エンジンイン
ターフェースプロセッサ(EIP)161による入力処
理と、並列ソーティングモジュール(PSOM)165
および並列関係代数演算モジュール(PRAM)166
を用いたハードウェア制御プロセッサ(ECAM)16
4によるソート処理は並行して動作される。また、ソー
ト処理で生成された部分ソート列S1〜S4をまとめて
マージするためのエンジン制御プロセッサ(ECP)1
62によるnマージ処理と、エンジンインターフェース
プロセッサ(EIP)161による出力処理も並行して
動作される。
As shown in FIG. 7, the input processing by the engine interface processor (EIP) 161 and the parallel sorting module (PSOM) 165.
And parallel relational algebra operation module (PRAM) 166
Hardware Control Processor (ECAM) 16
The sorting process by 4 is operated in parallel. Further, an engine control processor (ECP) 1 for merging the partial sort sequences S1 to S4 generated by the sorting process together.
The n-merge processing by 62 and the output processing by the engine interface processor (EIP) 161 are also operated in parallel.

【0057】この図7のタイミングチャートから分かる
ように、この実施例の装置では、外部ソートに要する全
体の処理時間はほぼ入出力時間によって決定され、ソー
ト処理やマージ処理に要する処理時間はあまり問題とな
らない。したがって、ホストコンピュータ10にマージ
処理を実行させる場合に比し、十分な性能向上を実現で
きる。
As can be seen from the timing chart of FIG. 7, in the apparatus of this embodiment, the total processing time required for the external sort is almost determined by the input / output time, and the processing time required for the sort processing and the merge processing is not so problematic. Not Therefore, a sufficient performance improvement can be realized as compared with the case where the host computer 10 executes the merge process.

【0058】以上のように、この実施例においては、エ
ンジン制御プロセッサ162にnウェイマージの機能が
設けられており、2ウェイマージ処理を行うハードウェ
アソータ(164,165,166)で生成された部分
ソート列S1〜S4は、そのハードウェアソータではな
く、エンジン制御プロセッサ162によるnーウェイマ
ージ処理によって一度にマージされ、これによって1本
の整列化されたソート列が生成される。このため、デー
タベース演算処理装置16内で複数の部分ソート列を一
度にマージできるようになり、ホストコンピュータ10
の負荷を大幅に軽減でき、しかもハードウェアソータ
(164,165,166)を繰り返し用いる場合より
もデータ移動量等を減らすことが出切るのでその分だけ
高速のソート処理を実現できる。
As described above, in this embodiment, the engine control processor 162 is provided with the function of n-way merge, and is generated by the hardware sorter (164, 165, 166) which performs the 2-way merge processing. The partial sort sequences S1 to S4 are merged at once by the n-way merge process by the engine control processor 162, not by the hardware sorter thereof, thereby generating one sorted sort sequence. Therefore, a plurality of partial sort sequences can be merged at once in the database arithmetic processing unit 16, and the host computer 10
The load of can be significantly reduced, and the amount of data movement can be reduced as compared with the case where the hardware sorters (164, 165, 166) are repeatedly used, and accordingly, high speed sort processing can be realized.

【0059】さらに、この実施例では、データベース演
算処理装置16にマルチプロセッサ構成を採用し、磁気
ディスク装置17との間のデータ入出力をエンジンイン
ターフェースプロセッサ(EIP)161に、並列ソー
ティングモジュール(PSOM)165および並列関係
代数演算モジュール(PRAM)166のハードウェア
回路を用いたソート処理の制御をハードウェアソータ制
御プロセッサ(ECAM)164に、そして、全体の制
御とマージ処理をエンジン制御プロセッサ(ECP)1
62にそれぞれ機能分散しているので、外部ソートにお
ける入力処理とソート処理、およびマージ処理と出力処
理がそれぞれ並行して動作される。このため、外部ソー
ト処理に要する全体の時間を著しく低減することがで
き、高性能の装置を実現できる。
Further, in this embodiment, a multiprocessor configuration is adopted for the database arithmetic processing unit 16, and data input / output with the magnetic disk unit 17 is carried out by an engine interface processor (EIP) 161 and a parallel sorting module (PSOM). 165 and a parallel relational algebraic operation module (PRAM) 166 using a hardware circuit for control of sort processing by a hardware sorter control processor (ECAM) 164, and overall control and merge processing by an engine control processor (ECP) 1
Since the functions are respectively distributed to 62, the input process and the sort process, and the merge process and the output process in the external sort are operated in parallel. Therefore, the total time required for the external sort processing can be significantly reduced, and a high performance device can be realized.

【0060】[0060]

【発明の効果】以上のように、この発明によれば、ハー
ドウェアソータを用いずにデータベース演算処理装置内
で複数の部分ソート列をマージできるようになり、ホス
ト装置の負荷を大幅に軽減し、しかも十分に高速なソー
ト処理を実現することができる。
As described above, according to the present invention, a plurality of partial sort sequences can be merged in the database arithmetic processing device without using a hardware sorter, and the load on the host device is greatly reduced. Moreover, it is possible to realize a sufficiently high-speed sort process.

【図面の簡単な説明】[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のシステムにおけるデータベース演算処理
装置の動作を説明するためのフローチャート。
FIG. 2 is a flowchart for explaining the operation of the database arithmetic processing device in the system of FIG.

【図3】図1のシステムにおける演算対象入力データの
データ構造の一例を示す図。
FIG. 3 is a diagram showing an example of a data structure of calculation target input data in the system of FIG.

【図4】図1のシステムにおける部分ソート列のデータ
構造の一例を示す図。
4 is a diagram showing an example of a data structure of a partial sort sequence in the system of FIG.

【図5】図1のシステムにおけるマージ結果のデータ構
造の一例を示す図。
5 is a diagram showing an example of a data structure of a merge result in the system of FIG.

【図6】図1のシステムのデータベース演算処理装置内
で実行されるn−ウェイマージ処理の動作手順を示す
図。
6 is a diagram showing an operation procedure of an n-way merge process executed in the database arithmetic processing unit of the system of FIG.

【図7】図1のシステムにおける外部ソート実行時の動
作を説明するタイミングチャート。
FIG. 7 is a timing chart for explaining an operation when executing an external sort in the system of FIG.

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

10…ホストコンピュータ、16…データベース演算装
置、17…磁気ディスク装置、161,162,164
…プロセッサ、163…大容量メモリ、165…並列ソ
ーティングモジュール、166…並列関係代数演算モジ
ュール。
10 ... Host computer, 16 ... Database operation device, 17 ... Magnetic disk device, 161, 162, 164
... processor, 163 ... mass memory, 165 ... parallel sorting module, 166 ... parallel relational algebra operation module.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 山田 朝彦 東京都青梅市末広町2丁目9番地 株式会 社東芝青梅工場内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Asahiko Yamada 2-9 Suehiro-cho, Ome-shi, Tokyo Incorporated Toshiba Ome Plant

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 ホスト装置と、演算対象のファイルデー
タが格納される2次記憶装置と、前記2次記憶装置を直
接アクセスするためのパスを有し、前記ホスト装置から
の要求に応じて前記演算対象のファイルデータに対して
所定の演算処理を実行する演算処理装置とを備えたデー
タ処理装置において、 前記演算処理装置は、演算対象のファイルデータを前記
パスを介して前記2次記憶装置から入力する手段と、入
力された演算対象のファイルデータに対して所定の演算
処理を実行し、複数の部分ソート列を生成する演算回路
と、この演算回路による演算によって生成された複数の
部分ソート列をまとめてマージすることにより1本の整
列化されたソート列を生成する手段と、この生成された
ソート列を前記パスを介して前記2次記憶装置に出力す
る手段とを具備し、 前記演算処理装置内で前記複数の部分ソート列をまとめ
てマージすることを特徴とするデータ処理装置。
1. A host device, a secondary storage device for storing file data to be operated, and a path for directly accessing the secondary storage device, wherein the operation is performed in response to a request from the host device. A data processing device comprising: an arithmetic processing device that executes a predetermined arithmetic process on target file data, wherein the arithmetic processing device inputs the operation target file data from the secondary storage device via the path. Means, an arithmetic circuit that executes a predetermined arithmetic process on the input file data to be arithmetically operated to generate a plurality of partial sort sequences, and a plurality of partial sort sequences generated by the arithmetic operation by the arithmetic circuit. Means for generating one sorted sort sequence by merging together and outputting the generated sort sequence to the secondary storage device via the path. And means for data processing apparatus characterized by merging together the plurality of the partial sort columns within the processor.
【請求項2】 ホスト装置と、演算対象のファイルデー
タが格納される2次記憶装置と、前記2次記憶装置を直
接アクセスするためのパスを有し、前記ホスト装置から
の要求に応じて前記演算対象のファイルデータに対して
所定の演算処理を実行する演算処理装置とを備えたデー
タ処理装置において、 前記演算処理装置は、前記ホスト装置との間の通信、お
よび前記2次記憶装置との間のデータ入出力を実行する
第1のプロセッサと、ソートまたは関係代数演算を行う
演算回路と、この演算回路による演算を実行制御する第
2のプロセッサと、前記第1のプロセッサによって入力
される演算対象のファイルデータ、および前記演算回路
による演算結果が格納される内部メモリと、前記第1の
プロセッサを介して供給される前記ホスト装置からの指
示に基づき、前記第1および第2のプロセッサを動作制
御する第3のプロセッサとを具備し、 前記第3のプロセッサは、前記演算回路による演算によ
って生成された複数の部分ソート列をまとめてマージす
ることにより1本の整列化されたソート列を生成し、 前記第1のプロセッサによる演算対象データの入力処理
と前記第2のプロセッサによる演算処理が並行して実行
され、且つ前記第3のプロセッサによるマージ処理と前
記第1のプロセッサによる演算結果のデータ出力処理が
並行して実行されるように構成されていることを特徴と
するデータ処理装置。
2. A host device, a secondary storage device in which file data to be operated are stored, and a path for directly accessing the secondary storage device, and the operation is performed in response to a request from the host device. A data processing device comprising: an arithmetic processing device that executes a predetermined arithmetic process on target file data, wherein the arithmetic processing device communicates with the host device, and communicates with the secondary storage device. Processor for executing data input / output, an arithmetic circuit for performing sorting or relational algebraic operation, a second processor for executing and controlling the arithmetic operation by the arithmetic circuit, and an operation target input by the first processor From the host device supplied via the first processor and an internal memory for storing the file data of A third processor that controls the operations of the first and second processors based on an instruction, wherein the third processor collectively merges a plurality of partial sort sequences generated by the arithmetic operation by the arithmetic circuit. To generate a single sorted sequence, the input processing of the calculation target data by the first processor and the calculation processing by the second processor are executed in parallel, and the third processor The data processing apparatus is configured such that the merging process by the above and the data output process of the calculation result by the first processor are executed in parallel.
JP3268185A 1991-09-21 1991-09-21 Data processor Pending JPH0580977A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3268185A JPH0580977A (en) 1991-09-21 1991-09-21 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3268185A JPH0580977A (en) 1991-09-21 1991-09-21 Data processor

Publications (1)

Publication Number Publication Date
JPH0580977A true JPH0580977A (en) 1993-04-02

Family

ID=17455101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3268185A Pending JPH0580977A (en) 1991-09-21 1991-09-21 Data processor

Country Status (1)

Country Link
JP (1) JPH0580977A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041551A (en) * 2000-07-31 2002-02-08 Taabo Data Laboratory Kk Compile method for data and storage medium storing the same
JP2010230522A (en) * 2009-03-27 2010-10-14 Aisin Aw Co Ltd Navigation system and program
JP2016115092A (en) * 2014-12-12 2016-06-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Device, method, and program for sorting array consisting of large number of elements

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002041551A (en) * 2000-07-31 2002-02-08 Taabo Data Laboratory Kk Compile method for data and storage medium storing the same
JP4563558B2 (en) * 2000-07-31 2010-10-13 株式会社ターボデータラボラトリー Data compiling method and storage medium storing compiling method
JP2010230522A (en) * 2009-03-27 2010-10-14 Aisin Aw Co Ltd Navigation system and program
JP2016115092A (en) * 2014-12-12 2016-06-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Device, method, and program for sorting array consisting of large number of elements

Similar Documents

Publication Publication Date Title
US5307485A (en) Method and apparatus for merging sorted lists in a multiprocessor shared memory system
Kitsuregawa et al. Application of hash to data base machine and its architecture
US5239663A (en) Self-adapting and multifunctional process and structure for the automated evaluation of logical or arithmetic expressions, particularly for extended database consultation
JPH0580977A (en) Data processor
JPH05324430A (en) Data processor
JPH0581337A (en) Data processor
JPH0581342A (en) Data processor
JPH0581339A (en) Data processor
JP3004102B2 (en) Database processing unit
JP2983352B2 (en) Database arithmetic processing unit
JPH0581343A (en) Data processor
JPH06176075A (en) Data processor
JP2923952B2 (en) Merge processing method
JPH06348561A (en) Data processor
JPH0580976A (en) Data processor
JP3002041B2 (en) Database processing unit
JPH06176076A (en) Data processor
Kamibayashi et al. SPIRIT-III: an advanced relational database machine introducing a novel data-staging architecture with tuple stream filters to preprocess relational algebra
JP2003256193A (en) Parallel sort device, parallel sort method and program
JPH06348560A (en) Data processor
JPH0581338A (en) Data processor
JPH06110745A (en) Data processor
JPH05324580A (en) Data processor
JPH06176077A (en) Data processor
JPH06176074A (en) Data processor

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees