JPH06348558A - Data processor - Google Patents
Data processorInfo
- Publication number
- JPH06348558A JPH06348558A JP5135620A JP13562093A JPH06348558A JP H06348558 A JPH06348558 A JP H06348558A JP 5135620 A JP5135620 A JP 5135620A JP 13562093 A JP13562093 A JP 13562093A JP H06348558 A JPH06348558 A JP H06348558A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- processing
- data
- request
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】
【目的】本発明は、プロセッサ間通信に於ける伝達内容
にスレッドの識別子を含め、異なるプロセッサ間のスレ
ッドを対応づけ連動させることによって、システム全体
として効率の良い処理を実現できるデータ処理装置を構
築する。
【構成】第1のプロセッサ161は、ホスト装置10か
ら発行される処理要求に対応してスレッドを生成し、こ
のスレッドの識別子と共に第3のプロセッサ162に対
し処理要求を発行し、これを受信した第3のプロセッサ
は上記処理要求に対応したスレッドを生成して処理要求
の内容を解析し、その内容に入出力を含んでいた場合、
第1のプロセッサに対してデータの入出力要求を発行
し、先に第1のプロセッサから獲得したスレッドの識別
子を要求内容に付与することで処理を行なうプロセッサ
内のスレッドを特定する。
(57) [Summary] [Object] The present invention realizes efficient processing as a whole system by including threads identifiers in transmission contents in inter-processor communication and associating and linking threads between different processors. Build a data processing device that can. [Structure] A first processor 161 generates a thread in response to a processing request issued from a host device 10, issues a processing request to a third processor 162 together with an identifier of this thread, and receives this. The third processor generates a thread corresponding to the above processing request, analyzes the content of the processing request, and if the content includes input / output,
A data input / output request is issued to the first processor, and a thread in the processor to be processed is specified by adding the thread identifier acquired from the first processor to the request content.
Description
【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 or relational algebraic arithmetic on file data to be arithmetically operated in response to a request from a host device.
【0002】[0002]
【従来の技術】一般に、コンピュータシステムにおいて
は、ソート処理や関係データベースの検索系処理等を高
速に実行するために専用のデータベース演算処理装置が
設けられている。2. Description of the Related Art Generally, a computer system is provided with a dedicated database arithmetic processing unit for performing sort processing, search processing of a relational database and the like at high speed.
【0003】このデータベース演算処理装置はハードウ
ェアソータと称される演算回路を備えており、この演算
回路を用いることによって、ホスト装置からの演算処理
要求に応じたソートや関係代数演算等を高速に実行す
る。This database arithmetic processing device is provided with an arithmetic circuit called a hardware sorter, and by using this arithmetic circuit, sorting and relational algebraic arithmetic etc. in response to arithmetic processing requests from the host device can be performed at high speed. Run.
【0004】この装置は、複数のプロセッサによって構
成され、機能分散させるのが普通である。各プロセッサ
は内部バスにより共通接続され、メモリを共有する密結
合のマルチプロセッサシステムを構成する。This device is usually composed of a plurality of processors and functions are distributed. The processors are connected in common by an internal bus to form a tightly coupled multiprocessor system that shares a memory.
【0005】メモリは複数のプロセッサの共通のアドレ
ス空間上に配置されており、それぞれ固有の役割を効率
よく実行するため、各プロセッサは密結合ながらそれぞ
れに適した独立したモニタによって動作制御されるよう
に構成されている。例えば3個のプロセッサによって構
成され、全体を第3のプロセッサが管理し、入出力部分
を第1のプロセッサに、ソートまたは関係代数演算を第
2のプロセッサに、それぞれコマンドを発することによ
り処理を依頼し、各プロセッサが非同期に動作を行な
う。但し、第1、第2のプロセッサが処理を終える毎
に、第3のプロセッサに対して処理完了の報告を行なう
ことが必要とされる。The memory is arranged on a common address space of a plurality of processors, and in order to efficiently perform its unique role, each processor is tightly coupled, and its operation is controlled by an independent monitor suitable for each. Is configured. For example, it is composed of three processors, and the third processor manages the whole, and requests processing by issuing commands to the first processor for input / output parts and to the second processor for sorting or relational algebraic operations. Then, each processor operates asynchronously. However, it is necessary to report the completion of processing to the third processor every time the first and second processors finish processing.
【0006】ところが、この第3のプロセッサでは、マ
ルチスレッド環境が実現されているため、どのスレッド
がその処理を依頼したのかが分からなくなる。また、大
きなファイルでは、分割して入出力することが必要にな
るが、第1のプロセッサでは複数回に分けられた入出力
要求を関連づけることはできないため、その都度、入出
力元、あるいは入出力先の情報も必要とし、その度に、
オープン、クローズに相当する処理を伴うという欠点も
あった。However, since the third processor realizes a multi-thread environment, it is impossible to know which thread has requested the processing. Also, for a large file, it is necessary to divide the input / output, but the first processor cannot associate the input / output requests divided into a plurality of times. We also need the previous information, and each time,
There was also a drawback that it involved processing equivalent to opening and closing.
【0007】[0007]
【発明が解決しようとする課題】上述したように従来で
は、データベース処理装置を密結合のマルチプロセッサ
で構成した場合、ホスト装置から発行される処理要求に
対応する他のプロセッサの内部処理を特定することがで
きないため、その都度、処理に必要とする情報を全て伝
達し直す必要があった。As described above, in the conventional case, when the database processing device is composed of a tightly coupled multiprocessor, the internal processing of another processor corresponding to the processing request issued from the host device is specified. Since it was not possible, it was necessary to retransmit all the information necessary for processing each time.
【0008】本発明は、上記事情に鑑みてなされたもの
であり、プロセッサ間通信における伝達内容にスレッド
の識別子を含め、異なるプロセッサ間のスレッドを対応
付け連動させることによって、装置を構成する各プロセ
ッサに一貫した処理を実現させ、これによりシステム全
体として効率の良い処理を実現できるデータ処理装置を
提供することを目的とする。The present invention has been made in view of the above circumstances, and each processor constituting an apparatus is configured such that a transmission content in inter-processor communication includes a thread identifier and the threads between different processors are associated and linked. It is an object of the present invention to provide a data processing device that can realize efficient processing in the entire system and thereby realize efficient processing as a whole system.
【0009】[0009]
【課題を解決するための手段】本発明は、ホスト装置
と、演算対象のファイルデータが格納される二次記憶装
置と、この二次記憶装置を直接アクセスするためのパス
を有し前記ホスト装置からの要求に応じて演算対象とな
るファイルデータに対して所定の演算処理を実行する演
算処理装置とを備えたデータ処理装置において、上記演
算処理装置に、ホスト装置から発行される演算要求に従
って演算対象となるファイルデータを前記パスを介して
前記二次記憶装置から得る入力手段と、入力された演算
対象となるファイルデータに対して所定の算術論理演算
操作を実行する演算処理手段と、演算対象となるファイ
ルデータおよび前記演算処理手段による演算結果データ
が格納される内部メモリと、前記演算結果データを二次
記憶装置に出力する出力手段と、前記ホスト装置から発
行される要求に従って前記入出力手段並びに演算処理手
段との間の通信を行ない、それぞれの処理手段を並行に
動作させる監視手段とを具備することを第1の特徴とす
る。According to the present invention, there is provided a host device, a secondary storage device in which file data to be operated is stored, and a path for directly accessing the secondary storage device. A data processing device that executes a predetermined calculation process on file data to be processed in accordance with the above request, the calculation target according to the calculation request issued from the host device to the calculation processing device. Input means for obtaining file data from the secondary storage device via the path, operation processing means for executing a predetermined arithmetic logic operation on the input file data to be operated, and operation object. And an internal memory in which the calculation result data by the calculation processing means is stored, and the calculation result data are output to a secondary storage device. A first feature is that it is provided with an inputting means and a monitoring means for performing communication between the input / output means and the arithmetic processing means according to a request issued from the host device and operating the respective processing means in parallel. And
【0010】また、上記演算処理装置は少なくとも3個
のプロセッサで構成されるマルチプロセッサシステムを
成し、ホスト装置との間の通信ならびに二次記憶装置と
の間のデータ入出力をマルチスレッド環境下で実行する
第1のプロセッサと、ソートまたは関係代数演算等所定
の算術論理演算操作を行なう演算回路と、この演算回路
による演算を実行制御する第2のプロセッサと、上記第
1のプロセッサによって入力される演算対象となるファ
イルデータおよび上記演算回路による演算結果が格納さ
れる内部メモリと、上記第1のプロセッサを介して供給
されるホスト装置からの指示に基づき、第1および第2
のプロセッサをマルチスレッドにより動作制御する第3
のプロセッサとを備え、上記第1乃至第3のプロセッサ
間通信において、その伝達内容にプロセッサ内のスレッ
ドの識別子を含め、異なるプロセッサ間におけるスレッ
ドの対応づけを行なうことによって処理を連動させ実行
することを第2の特徴とする。このとき、第1のプロセ
ッサは、ホスト装置から発行される処理要求に対応して
スレッドを生成し、このスレッドの識別子と共に第3の
プロセッサに対し処理要求を発行し、これを受信した第
3のプロセッサは上記処理要求に対応したスレッドを生
成して処理要求の内容を解析し、その内容に入出力を含
んでいた場合、上記第1のプロセッサに対してデータの
入出力要求を発行し、先に第1のプロセッサから獲得し
たスレッドの識別子を要求内容に付与することで処理を
行なうプロセッサ内のスレッドを特定することを特徴と
する。Further, the arithmetic processing unit constitutes a multiprocessor system composed of at least three processors, and performs communication with the host device and data input / output with the secondary storage device in a multithread environment. Input by the first processor, a second processor for performing execution control of arithmetic operations by this arithmetic circuit, a second arithmetic processor for performing predetermined arithmetic logic operation such as sorting or relational algebraic arithmetic, Based on an instruction from the host device supplied via the first processor and the internal memory in which the file data to be operated and the operation result by the operation circuit are stored.
To control the operation of multiple processors by multithreading
In the first to third inter-processor communications, the transmission contents include an identifier of a thread in the processor, and the threads are associated with each other to perform processing in association with each other. Is the second feature. At this time, the first processor generates a thread in response to the processing request issued from the host device, issues a processing request to the third processor together with the thread identifier, and receives the third processing request. The processor generates a thread corresponding to the processing request, analyzes the content of the processing request, and if the content includes input / output, issues a data input / output request to the first processor, In addition, the thread in the processor to be processed is specified by adding the identifier of the thread acquired from the first processor to the request content.
【0011】[0011]
【作用】本発明は上述したように、演算処理装置に少な
くとも第1乃至第3のプロセッサから成るマルチプロセ
ッサ構成を採用し、データベース演算処理装置と2次記
憶装置間のデータ入出力を第1のプロセッサに、演算回
路を用いた演算処理を第2のプロセッサに、そして、全
体の制御を第3のプロセッサに、それぞれ機能分散させ
るとともに、ホスト装置からの演算処理を第3のプロセ
ッサによって実行させ、プロセッサ間通信において、そ
の伝達内容にプロセッサ内におけるスレッドの識別子を
含め、効率よく処理を連動して行なうように構成したも
のである。具体的には、第1のプロセッサは、ホスト装
置から発行される処理要求に対応してスレッドを生成
し、このスレッドの識別子とともに、第3のプロセッサ
に対し処理要求を発行し、これを受信した第3のプロセ
ッサが上記処理要求に対応したスレッドを生成して処理
要求の内容を解析し、その内容に入出力を含んでいた場
合、上記第1のプロセッサに対してデータの入出力要求
を発行し、先に第1のプロセッサから獲得したスレッド
の識別子を要求内容に付与することで処理を行なうプロ
セッサ内のスレッドを特定する。これによって、CPU
の処理要求に対して第1のプロセッサ内のスレッドに1
対1に対応させることができる。According to the present invention, as described above, the multiprocessor configuration including at least the first to third processors is adopted for the arithmetic processing unit, and the data input / output between the database arithmetic processing unit and the secondary storage unit is the first. In the processor, the arithmetic processing using the arithmetic circuit is distributed to the second processor, and the overall control is distributed to the third processor, and the arithmetic processing from the host device is executed by the third processor. In the inter-processor communication, the content of the transmission includes the thread identifier in the processor, and the processing is efficiently performed in conjunction with each other. Specifically, the first processor creates a thread in response to a processing request issued from the host device, issues a processing request to the third processor together with the thread identifier, and receives this. The third processor generates a thread corresponding to the processing request, analyzes the content of the processing request, and when the content includes input / output, issues a data input / output request to the first processor. Then, the thread in the processor to be processed is specified by adding the identifier of the thread acquired from the first processor to the request content. This allows the CPU
1 to the thread in the first processor for the processing request of
It can correspond to one-to-one.
【0012】これにより、第1乃至第3のプロセッサに
よって効率よく負荷分散が図れ、しかも第1のプロセッ
サによる入出力と、第2のプロセッサによる演算処理と
の並行動作を第3のプロセッサが実行制御し、第1乃至
第3のプロセッサにおけるスレッドを対応付けて連動さ
せることにより、データベース演算処理装置の動作性能
を向上させることができる。Thus, the load can be efficiently distributed by the first to third processors, and the third processor controls the parallel operation of the input / output by the first processor and the arithmetic processing by the second processor. However, the operation performance of the database arithmetic processing apparatus can be improved by associating and interlocking the threads in the first to third processors.
【0013】[0013]
【実施例】以下、図面を参照して本発明の実施例につい
て説明する。図1は本発明の実施例に於けるデータ処理
装置の構成を示すブロック図である。Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a data processing device according to an embodiment of the present invention.
【0014】図1に示されるデータ処理装置は、ホスト
コンピュータ10と、データベース演算処理装置(デー
タベースエンジン;DBE)16と、磁気ディスク装置
17とにより構成される。The data processing apparatus shown in FIG. 1 comprises a host computer 10, a database operation processing apparatus (database engine; DBE) 16 and a magnetic disk device 17.
【0015】ホストコンピュータ10は、CPU11、
主記憶装置12、および第1,第2のチャネル装置1
4,15等によって構成される。これら、CPU11、
主記憶装置12、およびチャネル装置14,15は、そ
れぞれシステムバス13を介して相互接続される。The host computer 10 includes a CPU 11,
Main memory device 12 and first and second channel devices 1
4, 15, etc. These CPU11,
The main memory device 12 and the channel devices 14 and 15 are interconnected via a system bus 13.
【0016】ホストコンピュータ10とデータベース演
算処理装置16は、チャネル装置14によって接続さ
れ、また、ホストコンピュータ10と磁気ディスク装置
17はチャネル装置15によって接続されている。The host computer 10 and the database arithmetic processing unit 16 are connected by a channel unit 14, and the host computer 10 and the magnetic disk unit 17 are connected by a channel unit 15.
【0017】更に、データベース演算処理装置16と磁
気ディスク17は、専用のアクセスパス18を介して接
続されている。CPU11は、ホストコンピュータ10
全体の制御を司るものであり、データベース演算処理装
置16に対してソート処理や関係代数演算等の各種演算
処理の実行を依頼する。Further, the database arithmetic processing unit 16 and the magnetic disk 17 are connected via a dedicated access path 18. The CPU 11 is the host computer 10
It controls the entire system, and requests the database arithmetic processing unit 16 to execute various arithmetic processes such as sorting and relational algebraic arithmetic.
【0018】主記憶装置12には、データベース演算処
理装置16に演算対象ファイルや演算内容を指示するた
めのコマンドが格納される。データベース演算処理装置
16は、CPU11からのコマンドに基づいて演算対象
ファイルのデータに対して演算処理を実行するものであ
り、演算対象ファイルの入力および演算結果の出力のた
めに、パス18を介して磁気ディスク装置17を直接的
にアクセスする。The main storage device 12 stores a command for instructing the database operation processing device 16 about an operation target file and operation contents. The database arithmetic processing unit 16 executes arithmetic processing on the data of the calculation target file based on the command from the CPU 11, and through the path 18 for input of the calculation target file and output of the calculation result. The magnetic disk device 17 is directly accessed.
【0019】データベース演算処理装置16は、エンジ
ンインタフェースプロセッサ(EIP)161、エンジ
ン制御プロセッサ(ECP)162、大容量メモリ(E
BDM)163、ハードウェアソータ制御プロセッサ
(ECAM)164、並列ソーティングモジュール(P
SOM)165、および並列関係代数演算モジュール
(PRAM)166等によって構成される。The database processing unit 16 includes an engine interface processor (EIP) 161, an engine control processor (ECP) 162, and a large capacity memory (E).
BDM) 163, hardware sorter control processor (ECAM) 164, parallel sorting module (P
SOM) 165, a parallel relational algebra calculation module (PRAM) 166, and the like.
【0020】エンジンインタフェースプロセッサ16
1、エンジン制御プロセッサ162、およびハードウェ
アソータ制御プロセッサ164の3台のプロセッサは、
それぞれ内部バス167によって相互接続されており、
大容量メモリ163を共有メモリとする密結合のマルチ
プロセッサを構成している。Engine interface processor 16
1, the engine control processor 162, and the hardware sorter control processor 164,
They are interconnected by internal buses 167,
A tightly coupled multiprocessor using the large capacity memory 163 as a shared memory is configured.
【0021】大容量メモリ163は、3台の各プロセッ
サの共通のアドレス空間上に配置されている。また、こ
れら3台のプロセッサ、つまり、エンジンインタフェー
スプロセッサ161、エンジン制御プロセッサ162、
およびハードウェアソータ制御プロセッサ164には機
能分散がなされている。この場合、それぞれの固有の役
割を効率よく実行するために、これら各プロセッサは、
密結合ながらそれぞれに適した独立のモニタによって動
作制御されるように構成されている。The large capacity memory 163 is arranged in a common address space of each of the three processors. In addition, these three processors, that is, the engine interface processor 161, the engine control processor 162,
The functions are distributed to the hardware sorter control processor 164. In this case, in order to efficiently perform their specific roles, each of these processors
While tightly coupled, the operation is controlled by an independent monitor suitable for each.
【0022】エンジンインタフェースプロセッサ16
1、エンジン制御プロセッサ162、およびハードウェ
アソータ制御プロセッサ164の機能分散は、次のよう
になされている。Engine interface processor 16
The functions of the engine control processor 162, the engine control processor 162, and the hardware sorter control processor 164 are distributed as follows.
【0023】即ち、エンジンインタフェースプロセッサ
161は、ホストコンピュータ10とデータベース演算
処理装置16間の通信を行なうとともに、磁気ディスク
装置17のディスクコントローラにもパス18を介して
接続されており、磁気ディスク装置17との間でのデー
タ入出力を制御する。That is, the engine interface processor 161 communicates between the host computer 10 and the database arithmetic processing unit 16, and is also connected to the disk controller of the magnetic disk unit 17 via the path 18. Control data input and output to and from.
【0024】また、エンジンインタフェースプロセッサ
161は、磁気ディスク装置17にデータを出力する
際、出力ファイルの再構成処理も行なう。ホストコンピ
ュータ10との通信おいて、エンジンインタフェースプ
ロセッサ161は、第1のチャネル装置14を介してC
PU11から送られてくるコマンドを受信し、それをエ
ンジン制御プロセッサ162に送信する。Further, the engine interface processor 161 also carries out an output file reconstruction process when outputting data to the magnetic disk device 17. In communicating with the host computer 10, the engine interface processor 161 uses the C via the first channel device 14.
It receives the command sent from the PU 11 and sends it to the engine control processor 162.
【0025】また、エンジンインタフェースプロセッサ
161は、エンジン制御プロセッサ162から送られて
くるコマンドの結果としてステータスを受信し、それを
第1のチャネル装置14を介してCPU11に返信す
る。The engine interface processor 161 also receives the status as a result of the command sent from the engine control processor 162 and sends it back to the CPU 11 via the first channel device 14.
【0026】磁気ディスク装置17との間のデータ入出
力において、エンジンインタフェースプロセッサ161
は、エンジン制御プロセッサ162からの入出力要求を
受け付け、大容量メモリ163と磁気ディスク装置17
との間でデータ転送を行なう。その際、エンジン制御プ
ロセッサ162からの要求に従い出力ファイルデータの
再構成処理も行なう。In the data input / output with the magnetic disk device 17, the engine interface processor 161
Receives an input / output request from the engine control processor 162, and receives the large-capacity memory 163 and the magnetic disk device 17.
Data transfer between and. At that time, output file data reconstruction processing is also performed according to a request from the engine control processor 162.
【0027】エンジン制御プロセッサ162は、エンジ
ンインタフェースプロセッサ161、大容量メモリ16
3、およびハードウェアソータ制御プロセッサ164を
内部バス167を介して制御するものであり、CPU1
1からのコマンドが、ソートや関係代数演算などの演算
処理コマンドであった場合には、それに対応する各種コ
マンド処理プロセスを生成し実行する。The engine control processor 162 includes an engine interface processor 161, a large capacity memory 16
3 and the hardware sorter control processor 164 via an internal bus 167.
When the command from 1 is an operation processing command such as sorting or relational algebraic operation, various command processing processes corresponding to it are generated and executed.
【0028】大容量メモリ163は、磁気ディスク装置
17から読み出された演算対象のファイルデータ、CP
U11から送られてくる各種演算処理コマンド、ハード
ウェアソータ制御プロセッサ164、並列ソーティング
モジュール165、および並列関係代数演算モジュール
166による演算処理結果、更には、エンジン制御プロ
セッサ162による演算結果の統合結果等を格納する共
有メモリである。The large-capacity memory 163 stores the file data to be calculated, CP, read from the magnetic disk device 17.
Various calculation processing commands sent from U11, calculation processing results by the hardware sorter control processor 164, parallel sorting module 165, and parallel relation algebra calculation module 166, and further integration results of calculation results by the engine control processor 162, etc. It is a shared memory for storing.
【0029】演算対象のファイルデータは大容量メモリ
163内の入力バッファ部に格納され、演算処理結果は
大容量メモリ163内の出力バッファ部に格納される。
ハードウェアソータ制御プロセッサ164は、エンジン
制御プロセッサ162からの指令に基づいて、並列ソー
ティングモジュール165、および並列関係代数演算モ
ジュール166による演算を制御する。The file data to be calculated is stored in the input buffer section in the large capacity memory 163, and the calculation processing result is stored in the output buffer section in the large capacity memory 163.
The hardware sorter control processor 164 controls the calculation by the parallel sorting module 165 and the parallel relational algebra calculation module 166 based on the instruction from the engine control processor 162.
【0030】この場合、ハードウェアソータ制御プロセ
ッサ164は、大容量メモリ163上のデータを並列ソ
ーティングモジュール165に入力し、並列関係代数演
算モジュール166から出力された演算結果を大容量メ
モリ163上に格納するが、並列ソーティングモジュー
ル165へのデータ入力に際しては、まず、キー切り出
し処理を実行する。In this case, the hardware sorter control processor 164 inputs the data on the large capacity memory 163 to the parallel sorting module 165 and stores the calculation result output from the parallel relation algebraic calculation module 166 on the large capacity memory 163. However, when inputting data to the parallel sorting module 165, first, a key cutout process is executed.
【0031】このキー切り出し処理においては、ハード
ウェアソータ制御プロセッサ164が、演算対象の各レ
コードから演算に必要な演算対象キーフィールドのみを
切り出し、それにレコード識別番号(大容量メモリ16
3上におけるレコードの先頭アドレス)を付加して並列
ソーティングモジュール165へ送出する。In this key cut-out process, the hardware sorter control processor 164 cuts out only the key field of the operation target required for the operation from each record of the operation target, and the record identification number (the large capacity memory 16
3), and sends it to the parallel sorting module 165.
【0032】並列ソーティングモジュール165は、ハ
ードウェアソータ制御プロセッサ164の制御の下に駆
動されてソートを並列に実行する専用のハードウェア回
路であり、並列関係代数演算モジュール166に接続さ
れている。この並列ソーティングモジュール165は、
パイプラインマージソータと称されるものであり、2ウ
ェイマージを行なう複数のソートセルをカスケード接続
してなる。The parallel sorting module 165 is a dedicated hardware circuit that is driven under the control of the hardware sorter control processor 164 to execute sorting in parallel, and is connected to the parallel relation algebra operation module 166. This parallel sorting module 165
This is called a pipeline merge sorter, and is formed by cascade-connecting a plurality of sort cells that perform 2-way merge.
【0033】並列関係代数演算モジュール166は、関
係データベースにおけるJOIN(結合)やRESTI
CT(制約)といった関係代数演算を並行に実行する専
用のハードウェア回路であり、並列ソーティングモジュ
ール165からソートされたデータを入力し、演算結果
をハードウェアソータ制御プロセッサ164に出力す
る。ソート処理だけを実行する場合には、並列関係代数
演算モジュール166は、最終段のソートセルとして機
能する。The parallel relational algebra operation module 166 uses JOIN and RESTI in the relational database.
It is a dedicated hardware circuit that executes relational algebraic operations such as CT (constraints) in parallel, inputs sorted data from the parallel sorting module 165, and outputs the operation results to the hardware sorter control processor 164. When only the sorting process is executed, the parallel relational algebra operation module 166 functions as the final sort cell.
【0034】上述したように、エンジンインタフェース
プロセッサ161、エンジン制御プロセッサ162、お
よびハードウェアソータ制御プロセッサ164には、そ
れぞれ各種演算処理、例えばソート処理やセレクト処理
を実行するための機能が分散されている。As described above, the engine interface processor 161, the engine control processor 162, and the hardware sorter control processor 164 have functions for executing various arithmetic processes, such as sort process and select process, distributed therein. .
【0035】この場合、これらプロセッサは、大容量メ
モリ163上のバッファのやりとりを除けば非同期に動
作し、並行して各機能を実行する。即ち、ソートやセレ
クト等の処理は、通常、入力処理、演算処理、および出
力処理から構成されるが、ハードウェアソータ制御プロ
セッサ164の制御による演算処理は、エンジンインタ
フェースプロセッサ161による演算対象データの入力
処理と並行して実行される。In this case, these processors operate asynchronously except for the exchange of buffers on the large capacity memory 163, and execute the respective functions in parallel. That is, processing such as sorting and selecting is usually composed of input processing, arithmetic processing, and output processing, but arithmetic processing under the control of the hardware sorter control processor 164 is input of arithmetic target data by the engine interface processor 161. It is executed in parallel with processing.
【0036】また、ハードウェアソータ制御プロセッサ
164からの演算結果をエンジン制御プロセッサ162
によって結合処理する必要がある場合には、その統合処
理とエンジンインタフェースプロセッサ161による出
力処理も並行して実行される。The calculation result from the hardware sorter control processor 164 is used as the engine control processor 162.
When it is necessary to perform the combining process by the combining process, the integration process and the output process by the engine interface processor 161 are also executed in parallel.
【0037】また、これらの処理においてバッファのや
りとりで同期のためにプロセッサ間通信が生じることが
ある。このような場合に処理を行なっているスレッドの
識別子を相手に通知し、複数プロセッサにまたがってス
レッドを連動させる。In these processes, interprocessor communication may occur due to synchronization in buffer exchange. In such a case, the identifier of the thread that is performing the processing is notified to the other party, and the threads are interlocked across a plurality of processors.
【0038】図2は本発明の実施例に於ける動作を示す
フローチャートである。具体的には、エンジン制御プロ
セッサ162とエンジンインタフェースプロセッサ16
1との間の通信の流れが示されている。FIG. 2 is a flow chart showing the operation in the embodiment of the present invention. Specifically, the engine control processor 162 and the engine interface processor 16
The flow of communication with 1 is shown.
【0039】以下、図2を参照しながら図1に示す本発
明の実施例に於ける装置の動作について説明する。図2
に示すフローチャートは、データベース演算処理装置1
6がCPU11から処理要求を受け、処理完了の報告を
行なうまでの流れを示したものである。The operation of the apparatus according to the embodiment of the present invention shown in FIG. 1 will be described below with reference to FIG. Figure 2
The flowchart shown in FIG.
6 shows the flow from receiving a processing request from the CPU 11 to reporting the completion of processing.
【0040】まず、データベース演算処理装置16に対
して発行された処理要求は、装置内部にあるエンジンイ
ンタフェースプロセッサ161が受信する(図2ステッ
プ201)。First, the processing request issued to the database operation processing device 16 is received by the engine interface processor 161 inside the device (step 201 in FIG. 2).
【0041】エンジンインタフェースプロセッサ161
はこの処理要求に対応して、プロセッサ内にスレッドを
発生させ、このスレッドの識別子とともにエンジン制御
プロセッサ162に対して処理要求を送信する(図2ス
テップ202)。Engine interface processor 161
Responds to this processing request, a thread is generated in the processor, and the processing request is sent to the engine control processor 162 together with the thread identifier (step 202 in FIG. 2).
【0042】エンジン制御プロセッサ162に於いても
この処理要求に対応してスレッドを生成し、このスレッ
ドにおいて処理要求の内容解析を行なう(図2ステップ
203)。The engine control processor 162 also creates a thread corresponding to this processing request, and analyzes the content of the processing request in this thread (step 203 in FIG. 2).
【0043】その内容に入出力を含んでいればエンジン
インタフェースプロセッサ161に対してデータの入出
力要求を行なう(図2ステップ206)ことになるが、
このとき、エンジンインタフェースプロセッサ161か
ら獲得していたスレッドの識別子を要求内容に付与する
ことで、処理を行なうプロセッサ内のスレッドを特定す
る。If the contents include input / output, a data input / output request is issued to the engine interface processor 161 (step 206 in FIG. 2).
At this time, the thread identifier obtained from the engine interface processor 161 is added to the request content to identify the thread in the processor that performs the process.
【0044】これによって、CPU11の処理要求に対
してエンジンインタフェースプロセッサ161内のスレ
ッドを1対1に対応させることができる。また、エンジ
ン制御ブロセッサ162からエンジンインタフェースプ
ロセッサ161への入出力要求には、その要求を行なっ
たスレッドの識別子も付加されている。As a result, the threads in the engine interface processor 161 can be made to correspond one-to-one with the processing request of the CPU 11. Further, to the input / output request from the engine control processor 162 to the engine interface processor 161, the identifier of the thread making the request is added.
【0045】従って、データの入出力処理が終わったと
きにはエンジンインタフェースプロセッサ161は、エ
ンジン制御プロセッサ162に対してその報告を行なう
スレッドを指定して、入出力完了の報告を行なう(図2
ステップ207)。Therefore, when the data input / output processing is completed, the engine interface processor 161 designates the thread for reporting to the engine control processor 162 and reports the completion of input / output (FIG. 2).
Step 207).
【0046】このような処理を繰り返し、全ての処理が
終了したならば(図2ステップ204)、エンジン制御
プロセッサ162はエンジンインタフェースプロセッサ
161に対して、上記同様にスレッドを特定して処理完
了の報告を行なう(図2ステップ209)。When all the processing is completed by repeating the above processing (step 204 in FIG. 2), the engine control processor 162 specifies a thread to the engine interface processor 161 in the same manner as above and reports the completion of processing. Is performed (step 209 in FIG. 2).
【0047】このような本発明の実施例による処理機能
をもつことにより、ホスト装置がデータベース演算処理
装置で複数プロセッサにまたがってスレッドを連動させ
ることができるようになり、ホスト装置の負荷、及びデ
ータベース演算処理装置の負荷が軽減され、装置内蔵の
各プロセッサ内において一貫した処理が可能になり、シ
ステム全体として効率のよいデータ処理が実現できる。By having the processing function according to the embodiment of the present invention, it becomes possible for the host device to interlock threads across a plurality of processors in the database arithmetic processing device, load of the host device, and database. The load on the arithmetic processing unit is reduced, and consistent processing can be performed in each processor incorporated in the processing unit, and efficient data processing can be realized as the entire system.
【0048】[0048]
【発明の効果】以上説明のように本発明によれば、ホス
ト装置がデータベース演算処理装置で複数プロセッサに
またがってスレッドを連動させることができるようにな
り、ホスト装置の負荷、並びにデータベース演算処理装
置の負荷が軽減され、装置内蔵の各プロセッサ内におい
て一貫した処理が可能になり、システム全体として効率
のよいデータ処理を実現できる。As described above, according to the present invention, it becomes possible for the host device to link threads across a plurality of processors in the database operation processing device, the load of the host device and the database operation processing device. The load on the system is reduced, consistent processing can be performed in each processor incorporated in the device, and efficient data processing can be realized as the entire system.
【図1】本発明の実施例による装置の構成を示すブロッ
ク図。FIG. 1 is a block diagram showing a configuration of an apparatus according to an embodiment of the present invention.
【図2】上記実施例の動作処理手順を示すフローチャー
ト。FIG. 2 is a flowchart showing an operation processing procedure of the above embodiment.
【符号の説明】 10…ホストコンピュータ、13…システムバス、14
…チャネル、16…ロデータベース演算処理装置(DB
E)、17…磁気ディスク装置、161,162,16
4…プロセッサ、163…大容量メモリ、165…並列
ソーティングモジュール、166…並列関係代数演算モ
ジュール。[Explanation of Codes] 10 ... Host computer, 13 ... System bus, 14
... Channel, 16 ... B Database processing device (DB
E), 17 ... Magnetic disk device, 161, 162, 16
4 ... Processor, 163 ... Large-capacity memory, 165 ... Parallel sorting module, 166 ... Parallel relational algebra operation module.
Claims (3)
タが格納される二次記憶装置と、この二次記憶装置を直
接アクセスするためのパスを有し、前記ホスト装置から
の要求に応じて演算対象となるファイルデータに対して
所定の演算処理を実行する演算処理装置とを備えたデー
タ処理装置において、 上記演算処理装置は、ホスト装置から発行される演算要
求に従って演算対象となるファイルデータを前記パスを
介して二次記憶装置から得る入力手段と、入力された演
算対象となるファイルデータに対して所定の算術論理演
算操作を実行する演算処理手段と、演算対象となるファ
イルデータおよび前記演算処理手段による演算結果デー
タが格納される内部メモリと、前記演算結果データを前
記二次記憶装置に出力する出力手段と、前記ホスト装置
から発行される要求に従って前記入出力手段並びに演算
処理手段との間の通信を行ない、それぞれの処理手段を
並行に動作させる監視手段とを具備することを特徴とす
るデータ処理装置。1. A host device, a secondary storage device for storing file data of an operation target, and a path for directly accessing the secondary storage device, the operation target according to a request from the host device. In the data processing device, the data processing device includes a processing device that executes a predetermined calculation process on the file data to be processed, and the processing device passes the file data to be processed according to a processing request issued from the host device. Input means obtained from the secondary storage device via the above, arithmetic processing means for executing a predetermined arithmetic logic operation on the inputted file data to be operated, file data to be operated and said arithmetic processing means An internal memory for storing the operation result data according to, an output means for outputting the operation result data to the secondary storage device, and the host The data processing apparatus characterized by according placed al Issued required performs communication between said input means and processing means, including a monitoring means for operating the respective processing unit in parallel.
タが格納される二次記憶装置と、この二次記憶装置を直
接アクセスするためのパスを有し前記ホスト装置からの
要求に応じて演算対象となるファイルデータに対して所
定の演算処理を実行する演算処理装置とを備えたデータ
処理装置において、 上記演算処理装置は、ホスト装置との間の通信ならびに
二次記憶装置との間のデータ入出力をマルチスレッド環
境下で実行する第1のプロセッサと、ソートまたは関係
代数演算等所定の算術論理演算操作を行なう演算回路
と、この演算回路による演算を実行制御する第2のプロ
セッサと、上記第1のプロセッサによって入力される演
算対象となるファイルデータおよび上記演算回路による
演算結果が格納される内部メモリと、上記第1のプロセ
ッサを介して供給されるホスト装置からの指示に基づ
き、第1および第2のプロセッサをマルチスレッドによ
り動作制御する第3のプロセッサとを備え、 上記第1乃至第3のプロセッサ間通信において、その伝
達内容にプロセッサ内のスレッドの識別子を含め、異な
るプロセッサ間におけるスレッドの対応付を行なうこと
によって処理を連動させ実行することを特徴とするデー
タ処理装置。2. A host device, a secondary storage device in which file data to be operated is stored, and a path for directly accessing the secondary storage device, and an operation target in response to a request from the host device. A data processing device for performing a predetermined data processing on the file data, the data processing device is configured to perform communication with a host device and data input / output with a secondary storage device. In a multi-thread environment, an arithmetic circuit for performing a predetermined arithmetic logic operation such as sorting or relational algebraic operation, a second processor for executing and controlling the arithmetic operation by the arithmetic circuit, and the first processor. Internal memory for storing the file data to be operated by the processor and the operation result by the operation circuit, and the first processor. A third processor that controls the operation of the first and second processors by multi-threads based on an instruction from the host device supplied via the server. A data processing device characterized in that a transmission content includes an identifier of a thread in a processor, and by associating threads between different processors, processing is interlocked and executed.
行される処理要求に対応してスレッドを生成し、このス
レッドの識別子とともに第3のプロセッサに対し処理要
求を発行し、これを受信した第3のプロセッサは上記処
理要求に対応したスレッドを生成して処理要求の内容を
解析し、その内容に入出力を含んでいた場合に上記第1
のプロセッサに対してデータの入出力要求を発行し、先
に第1のプロセッサから獲得したスレッドの識別子を要
求内容に付与することで処理を行なうプロセッサ内のス
レッドを特定することを特徴とする請求項2記載のデー
タ処理装置。3. The first processor creates a thread in response to a processing request issued from the host device, issues a processing request to the third processor together with the thread identifier, and receives the processing request. The third processor generates a thread corresponding to the processing request, analyzes the content of the processing request, and when the content includes input / output, the first processor
Issuing a data input / output request to the processor and assigning the identifier of the thread previously acquired from the first processor to the request content to specify the thread in the processor to be processed. Item 2. The data processing device according to item 2.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5135620A JPH06348558A (en) | 1993-06-07 | 1993-06-07 | Data processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5135620A JPH06348558A (en) | 1993-06-07 | 1993-06-07 | Data processor |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06348558A true JPH06348558A (en) | 1994-12-22 |
Family
ID=15156069
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5135620A Pending JPH06348558A (en) | 1993-06-07 | 1993-06-07 | Data processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06348558A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9098683B2 (en) | 2006-03-14 | 2015-08-04 | Global File Systems Holdings, Llc | Filter for a distributed network |
-
1993
- 1993-06-07 JP JP5135620A patent/JPH06348558A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9098683B2 (en) | 2006-03-14 | 2015-08-04 | Global File Systems Holdings, Llc | Filter for a distributed network |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1111500B1 (en) | Sorting using multitasking | |
| JPS6258341A (en) | Input and output interruption processing system | |
| CN110109898B (en) | Hash connection acceleration method and system based on BRAM in FPGA chip | |
| CA2012420C (en) | Extended memory address control system | |
| EP3396542B1 (en) | Database operating method and device | |
| JPH06348558A (en) | Data processor | |
| JPH05324430A (en) | Data processor | |
| JP3004102B2 (en) | Database processing unit | |
| JPH06348561A (en) | Data processing device | |
| JPH05324580A (en) | Data processing device | |
| JPH0580977A (en) | Data processor | |
| JP2983352B2 (en) | Database arithmetic processing unit | |
| JPH06176075A (en) | Data processing device | |
| JPH06110745A (en) | Data processing device | |
| JPH0581336A (en) | Database processing unit | |
| JPH0581342A (en) | Data processor | |
| JPH06348560A (en) | Data processing device | |
| CN113296966B (en) | Data processing method and device | |
| JPH05324431A (en) | Data processor | |
| JPH06176076A (en) | Data processing device | |
| JPH06110936A (en) | Data processing device | |
| JPH05324432A (en) | Data processing device | |
| JPS635780B2 (en) | ||
| JPH06348529A (en) | Data processing device | |
| JPH06176074A (en) | Data processor |