JPH05324429A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH05324429A JPH05324429A JP4133472A JP13347292A JPH05324429A JP H05324429 A JPH05324429 A JP H05324429A JP 4133472 A JP4133472 A JP 4133472A JP 13347292 A JP13347292 A JP 13347292A JP H05324429 A JPH05324429 A JP H05324429A
- Authority
- JP
- Japan
- Prior art keywords
- data
- arithmetic processing
- processor
- sort
- arithmetic
- 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
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】演算処理装置の実際のハードウェア構成をホス
トCPUに通知できるようにし、無駄な作業ファイルの
割り当てを防止する。 【構成】ホストCPU11からのinformコマンド
を受信すると、エンジン制御プロセッサ(ECP)16
2は、作業ファイル171の必要性の判断に必要な演算
処理装置16の実際のハードウェア構成を示すパラメタ
を獲得し、それをinformコマンドに対するステー
タスとしてホストCPU11に通知する。このため、演
算処理装置16の実際のハードウェア構成を考慮した状
態で作業ファイル171の必要性を判断できるので、演
算処理装置16のハードウェア構成が追加・拡張された
場合においても、無駄な作業ファイルの割り当てを防止
でき、ホストCPU11による磁気ディスク装置17の
有効利用が可能となる。
トCPUに通知できるようにし、無駄な作業ファイルの
割り当てを防止する。 【構成】ホストCPU11からのinformコマンド
を受信すると、エンジン制御プロセッサ(ECP)16
2は、作業ファイル171の必要性の判断に必要な演算
処理装置16の実際のハードウェア構成を示すパラメタ
を獲得し、それをinformコマンドに対するステー
タスとしてホストCPU11に通知する。このため、演
算処理装置16の実際のハードウェア構成を考慮した状
態で作業ファイル171の必要性を判断できるので、演
算処理装置16のハードウェア構成が追加・拡張された
場合においても、無駄な作業ファイルの割り当てを防止
でき、ホストCPU11による磁気ディスク装置17の
有効利用が可能となる。
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ホスト装置からの要
求に応じて演算対象のファイルデータに対してソートま
たは関係代数演算等の演算処理を実行する演算処理装置
を備えたデータ処理装置に関する。
求に応じて演算対象のファイルデータに対してソートま
たは関係代数演算等の演算処理を実行する演算処理装置
を備えたデータ処理装置に関する。
【0002】
【従来の技術】一般に、コンピュータシステムにおいて
は、ソート処理や関係データベースの検索系処理等を高
速に実行するために専用のデータベース演算処理装置が
設けられている。このデータベース演算処理装置はハー
ドウェアソータと称される演算回路を備えており、この
演算回路を用いることによってホスト装置からの演算処
理要求に応じたソートや関係代数演算等を高速に実行す
る。
は、ソート処理や関係データベースの検索系処理等を高
速に実行するために専用のデータベース演算処理装置が
設けられている。このデータベース演算処理装置はハー
ドウェアソータと称される演算回路を備えており、この
演算回路を用いることによってホスト装置からの演算処
理要求に応じたソートや関係代数演算等を高速に実行す
る。
【0003】このような演算処理装置においては、ハー
ドウェア構成としてのバッファメモリとハードウェアソ
ータを追加・拡張することにより、更に大容量のデータ
の演算処理、あるいは更に高速な演算処理を行うことが
可能となる。また、これとは逆に演算処理の対象となる
データ量の減少に合わせて前記ハードウェア構成の縮小
も可能である。
ドウェア構成としてのバッファメモリとハードウェアソ
ータを追加・拡張することにより、更に大容量のデータ
の演算処理、あるいは更に高速な演算処理を行うことが
可能となる。また、これとは逆に演算処理の対象となる
データ量の減少に合わせて前記ハードウェア構成の縮小
も可能である。
【0004】ところが、このハードウェア構成の拡張・
縮小はホストCPUに知らされることなく演算処理装置
のボードの挿入・取り外しという方法によってなされる
ため、ホストCPUが演算処理装置内の最新のハードウ
ェア構成を知ることはできない。
縮小はホストCPUに知らされることなく演算処理装置
のボードの挿入・取り外しという方法によってなされる
ため、ホストCPUが演算処理装置内の最新のハードウ
ェア構成を知ることはできない。
【0005】ここで、演算処理装置内のバッファメモリ
に格納しきれないような大容量のデータを対象とする演
算処理では、作業ファイルが必要となる。しかし、この
作業ファイルの必要性の有無を判断するためには、演算
対象のデータ量だけでなく、バッファメモリの大きさと
ハードウェアソータのソートセル段数を認識する必要が
ある。この点を考えれば、ホストCPUが演算処理対象
のデータ量を知ることはできても、演算処理装置が実際
に作業ファイルを必要としているか否かを知ることはで
きないことは容易に分かる。
に格納しきれないような大容量のデータを対象とする演
算処理では、作業ファイルが必要となる。しかし、この
作業ファイルの必要性の有無を判断するためには、演算
対象のデータ量だけでなく、バッファメモリの大きさと
ハードウェアソータのソートセル段数を認識する必要が
ある。この点を考えれば、ホストCPUが演算処理対象
のデータ量を知ることはできても、演算処理装置が実際
に作業ファイルを必要としているか否かを知ることはで
きないことは容易に分かる。
【0006】かといって、ディスク上のファイルや空き
スペースはホストCPUにより一元管理されているの
で、演算処理装置が直接作業ファイル領域を割り当てる
ことはできない。そのため、ホストCPUにより割り付
けられることになるが、ホストCPUは演算処理装置の
構成を知らないことにより、演算処理装置が最小構成で
あることを前提に作業ファイル領域の計算を行うことに
なる。よって、演算処理装置が最小構成でないときは、
作業ファイルを利用することなく演算処理装置内で実行
できる演算処理の場合であっても、ディスク上に作業フ
ァイルが確保されてしまい、その作業ファイルは実際に
は使用されないといった事態が生じる。
スペースはホストCPUにより一元管理されているの
で、演算処理装置が直接作業ファイル領域を割り当てる
ことはできない。そのため、ホストCPUにより割り付
けられることになるが、ホストCPUは演算処理装置の
構成を知らないことにより、演算処理装置が最小構成で
あることを前提に作業ファイル領域の計算を行うことに
なる。よって、演算処理装置が最小構成でないときは、
作業ファイルを利用することなく演算処理装置内で実行
できる演算処理の場合であっても、ディスク上に作業フ
ァイルが確保されてしまい、その作業ファイルは実際に
は使用されないといった事態が生じる。
【0007】一般に大容量データの一括処理を得意とす
るこのような演算処理装置のための作業ファイルは非常
に大きなものになるので、この演算処理の間においては
使用可能なディスク容量がかなり圧迫される。そのため
演算処理装置の処理中におけるホストCPUのディスク
使用は大幅に制限されることになる。つまり、従来で
は、無駄な作業ファイルがディスクに割り当てられてし
まうことにより、ホストCPUによるディスク使用効率
が低下されるという欠点があった。
るこのような演算処理装置のための作業ファイルは非常
に大きなものになるので、この演算処理の間においては
使用可能なディスク容量がかなり圧迫される。そのため
演算処理装置の処理中におけるホストCPUのディスク
使用は大幅に制限されることになる。つまり、従来で
は、無駄な作業ファイルがディスクに割り当てられてし
まうことにより、ホストCPUによるディスク使用効率
が低下されるという欠点があった。
【0008】
【発明が解決しようとする課題】従来では、演算処理装
置の実際のハードウェア構成の内容に関係なく作業ファ
イルの必要性の有無が判別されてしまうため、使用され
ない無駄な作業ファイルが割り当てられてしまう欠点が
あった。
置の実際のハードウェア構成の内容に関係なく作業ファ
イルの必要性の有無が判別されてしまうため、使用され
ない無駄な作業ファイルが割り当てられてしまう欠点が
あった。
【0009】この発明はこのような点に鑑みてなされた
もので、ホストCPUからの通知要求に従って演算処理
装置の実際のハードウェア構成をホストCPUに通知で
きるようにし、無駄な作業ファイルの割り当てを防止し
て2次記憶装置の有効利用を実現することができるデー
タ処理装置を提供することを目的とする。
もので、ホストCPUからの通知要求に従って演算処理
装置の実際のハードウェア構成をホストCPUに通知で
きるようにし、無駄な作業ファイルの割り当てを防止し
て2次記憶装置の有効利用を実現することができるデー
タ処理装置を提供することを目的とする。
【0010】
【課題を解決するための手段および作用】この発明は、
ホスト装置と、演算対象のファイルデータが格納される
2次記憶装置と、前記2次記憶装置を直接アクセスする
ためのパスを有し、前記ホスト装置からの要求に応じて
前記演算対象のファイルデータに対して所定の演算処理
を実行する演算処理装置とを備えたデータ処理装置にお
いて、前記演算処理装置は、前記ホスト装置からの演算
要求に従って演算対象のファイルデータを前記パスを介
して前記2次記憶装置から入力する入力手段と、2ウェ
イマージソートをそれぞれ行なう複数のソートセルがカ
スケード接続されてなるパイプラインマージソータ回路
を有し、入力された演算対象のファイルデータに対して
ソートまたは関係代数演算を実行する演算処理手段と、
前記演算対象のファイルデータおよび前記演算処理手段
による演算結果データが格納される内部メモリと、前記
演算結果データを前記2次記憶装置に出力する出力手段
と、前記演算結果データを一時的に退避するための作業
ファイルを前記2次記憶装置に割り当てる必要の有無を
判別するために発行される前記ホスト装置からの通知要
求に従って、前記パイプラインマージソータ回路のソー
トセル段数および前記内部メモリの記憶容量を前記ホス
ト装置に通知する手段とを具備することを第1の特徴と
する。
ホスト装置と、演算対象のファイルデータが格納される
2次記憶装置と、前記2次記憶装置を直接アクセスする
ためのパスを有し、前記ホスト装置からの要求に応じて
前記演算対象のファイルデータに対して所定の演算処理
を実行する演算処理装置とを備えたデータ処理装置にお
いて、前記演算処理装置は、前記ホスト装置からの演算
要求に従って演算対象のファイルデータを前記パスを介
して前記2次記憶装置から入力する入力手段と、2ウェ
イマージソートをそれぞれ行なう複数のソートセルがカ
スケード接続されてなるパイプラインマージソータ回路
を有し、入力された演算対象のファイルデータに対して
ソートまたは関係代数演算を実行する演算処理手段と、
前記演算対象のファイルデータおよび前記演算処理手段
による演算結果データが格納される内部メモリと、前記
演算結果データを前記2次記憶装置に出力する出力手段
と、前記演算結果データを一時的に退避するための作業
ファイルを前記2次記憶装置に割り当てる必要の有無を
判別するために発行される前記ホスト装置からの通知要
求に従って、前記パイプラインマージソータ回路のソー
トセル段数および前記内部メモリの記憶容量を前記ホス
ト装置に通知する手段とを具備することを第1の特徴と
する。
【0011】このデータ処理装置においては、作業ファ
イルの必要性の判断に必要な演算処理装置の実際のハー
ドウェア構成がホスト装置に通知できるので、演算処理
装置の実際のハードウェア構成を考慮した状態で作業フ
ァイルの必要性を判断できる。このため、演算処理装置
のハードウェア構成が追加・拡張された場合において
も、無駄な作業ファイルの割り当てを防止でき、2次記
憶装置の有効利用が可能となる。
イルの必要性の判断に必要な演算処理装置の実際のハー
ドウェア構成がホスト装置に通知できるので、演算処理
装置の実際のハードウェア構成を考慮した状態で作業フ
ァイルの必要性を判断できる。このため、演算処理装置
のハードウェア構成が追加・拡張された場合において
も、無駄な作業ファイルの割り当てを防止でき、2次記
憶装置の有効利用が可能となる。
【0012】また、この発明は、データベース演算処理
装置に第1乃至第3のプロセッサから構成されるマルチ
プロセッサ構成を採用し、データベース演算処理装置と
2次記憶装置間のデータ入出力を第1のプロセッサに、
演算回路を用いた演算処理を第2のプロセッサに、そし
て、全体の制御を第3のプロセッサにそれぞれ機能分散
すると共に、第3のプロセッサによってソートセル段数
および内部メモリの記憶容量がホスト装置に通知される
ように構成されていることを第2の特徴とする。
装置に第1乃至第3のプロセッサから構成されるマルチ
プロセッサ構成を採用し、データベース演算処理装置と
2次記憶装置間のデータ入出力を第1のプロセッサに、
演算回路を用いた演算処理を第2のプロセッサに、そし
て、全体の制御を第3のプロセッサにそれぞれ機能分散
すると共に、第3のプロセッサによってソートセル段数
および内部メモリの記憶容量がホスト装置に通知される
ように構成されていることを第2の特徴とする。
【0013】この構成においては、第3のプロセッサに
よってソートセル段数および内部メモリの記憶容量がホ
スト装置に通知されるので無駄な作業ファイルの割り当
てを防止できると共に、第1乃至第3のプロセッサによ
って効率よく負荷分散が図れ、しかも第1のプロセッサ
によるデータ入出力と、第2のプロセッサによる演算処
理との並行動作が可能となるので、データベース演算処
理装置の動作性能を十分に向上させることができる。
よってソートセル段数および内部メモリの記憶容量がホ
スト装置に通知されるので無駄な作業ファイルの割り当
てを防止できると共に、第1乃至第3のプロセッサによ
って効率よく負荷分散が図れ、しかも第1のプロセッサ
によるデータ入出力と、第2のプロセッサによる演算処
理との並行動作が可能となるので、データベース演算処
理装置の動作性能を十分に向上させることができる。
【0014】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。
明する。
【0015】図1にはこの発明の一実施例に係わるデー
タ処理装置の全体のシステム構成が示されている。この
データ処理装置は、ホストコンピュータ10と、データ
ベース演算処理装置(データベースエンジン;DBE)
16と、磁気ディスク装置17とによって構成されてい
る。ホストコンピュータ10は、CPU11、主記憶装
置12、第1および第2のチャネル装置14,15によ
って構成されており、これらCPU11、主記憶装置1
2、およびチャネル装置14,15はシステムバス13
を介して相互接続されている。
タ処理装置の全体のシステム構成が示されている。この
データ処理装置は、ホストコンピュータ10と、データ
ベース演算処理装置(データベースエンジン;DBE)
16と、磁気ディスク装置17とによって構成されてい
る。ホストコンピュータ10は、CPU11、主記憶装
置12、第1および第2のチャネル装置14,15によ
って構成されており、これらCPU11、主記憶装置1
2、およびチャネル装置14,15はシステムバス13
を介して相互接続されている。
【0016】ホストコンピュータ10とデータベース演
算処理装置16はチャネル装置14によって接続され、
またホストコンピュータ10と磁気ディスク装置17は
チャネル装置15によって接続されている。さらに、デ
ータベース演算処理装置16と磁気ディスク17は専用
のアクセスパス18を介して接続されている。
算処理装置16はチャネル装置14によって接続され、
またホストコンピュータ10と磁気ディスク装置17は
チャネル装置15によって接続されている。さらに、デ
ータベース演算処理装置16と磁気ディスク17は専用
のアクセスパス18を介して接続されている。
【0017】CPU11は、ホストコンピュータ10全
体の制御を司るものであり、データベース演算処理装置
16に対してソート処理や関係代数演算等の各種演算処
理の実行を依頼する。主記憶装置12には、データベー
ス演算処理装置16に演算対象ファイルや演算内容を指
示するためのコマンドが格納される。
体の制御を司るものであり、データベース演算処理装置
16に対してソート処理や関係代数演算等の各種演算処
理の実行を依頼する。主記憶装置12には、データベー
ス演算処理装置16に演算対象ファイルや演算内容を指
示するためのコマンドが格納される。
【0018】データベース演算処理装置(DBE)16
は、CPU11からのコマンドに基づいて演算対象ファ
イルのデータに対して演算処理を実行するものであり、
演算対象ファイルの入力および演算結果の出力のため
に、パス18を介して磁気ディスク装置17を直接的に
アクセスする。
は、CPU11からのコマンドに基づいて演算対象ファ
イルのデータに対して演算処理を実行するものであり、
演算対象ファイルの入力および演算結果の出力のため
に、パス18を介して磁気ディスク装置17を直接的に
アクセスする。
【0019】このデータベース演算処理装置(DBE)
16は、エンジンインタフェースプロセッサ(EIP)
161、エンジン制御プロセッサ(ECP)162、大
容量メモリ(EBDM)163、ハードウェアソータ制
御プロセッサ(ECAM)164、並列ソーティングモ
ジュール(PSOM)165、および並列関係代数演算
モジュール(PRAM)166によって構成されてい
る。
16は、エンジンインタフェースプロセッサ(EIP)
161、エンジン制御プロセッサ(ECP)162、大
容量メモリ(EBDM)163、ハードウェアソータ制
御プロセッサ(ECAM)164、並列ソーティングモ
ジュール(PSOM)165、および並列関係代数演算
モジュール(PRAM)166によって構成されてい
る。
【0020】エンジンインタフェースプロセッサ(EI
P)161、エンジン制御プロセッサ(ECP)16
2、およびハードウェアソータ制御プロセッサ(ECA
M)164の3台のプロセッサは内部バス167によっ
て相互接続されており、大容量メモリ(EBDM)16
3を共有メモリとする密結合のマルチプロセッサを構成
している。大容量メモリ(EBDM)163は、3台の
各プロセッサの共通のアドレス空間上に配置されてい
る。また、これら3台のプロセッサ、つまりエンジンイ
ンタフェースプロセッサ(EIP)161、エンジン制
御プロセッサ(ECP)162、およびハードウェアソ
ータ制御プロセッサ(ECAM)164には機能分散が
なされている。この場合、それぞれの固有の役割を効率
よく実行するために、これら各プロセッサは、密結合な
がらそれぞれに適した独立のモニタによって動作制御さ
れるように構成されている。
P)161、エンジン制御プロセッサ(ECP)16
2、およびハードウェアソータ制御プロセッサ(ECA
M)164の3台のプロセッサは内部バス167によっ
て相互接続されており、大容量メモリ(EBDM)16
3を共有メモリとする密結合のマルチプロセッサを構成
している。大容量メモリ(EBDM)163は、3台の
各プロセッサの共通のアドレス空間上に配置されてい
る。また、これら3台のプロセッサ、つまりエンジンイ
ンタフェースプロセッサ(EIP)161、エンジン制
御プロセッサ(ECP)162、およびハードウェアソ
ータ制御プロセッサ(ECAM)164には機能分散が
なされている。この場合、それぞれの固有の役割を効率
よく実行するために、これら各プロセッサは、密結合な
がらそれぞれに適した独立のモニタによって動作制御さ
れるように構成されている。
【0021】エンジンインタフェースプロセッサ(EI
P)161、エンジン制御プロセッサ(ECP)16
2、およびハードウェアソータ制御プロセッサ(ECA
M)164の機能分散は、次のようになされている。
P)161、エンジン制御プロセッサ(ECP)16
2、およびハードウェアソータ制御プロセッサ(ECA
M)164の機能分散は、次のようになされている。
【0022】すなわち、エンジンインタフェースプロセ
ッサ(EIP)161は、ホストコンピュータ10とデ
ータベース演算処理装置16間の通信を行うと共に、磁
気ディスク装置17のディスクコントローラにもパス1
8を介して接続されており、磁気ディスク装置17との
間でのデータ入出力を制御する。また、エンジンインタ
フェースプロセッサ(EIP)161は、磁気ディスク
装置17にデータを出力する際、出力ファイルの再構成
処理も行う。
ッサ(EIP)161は、ホストコンピュータ10とデ
ータベース演算処理装置16間の通信を行うと共に、磁
気ディスク装置17のディスクコントローラにもパス1
8を介して接続されており、磁気ディスク装置17との
間でのデータ入出力を制御する。また、エンジンインタ
フェースプロセッサ(EIP)161は、磁気ディスク
装置17にデータを出力する際、出力ファイルの再構成
処理も行う。
【0023】ホストコンピュータ10との通信において
は、エンジンインタフェースプロセッサ(EIP)16
1は、第1のチャネル装置14を介してCPU11から
送られてくるコマンドを受信し、それをエンジン制御プ
ロセッサ(ECP)162に送信する。また、エンジン
インタフェースプロセッサ(EIP)161は、エンジ
ン制御プロセッサ(ECP)162から送られてくるコ
マンド結果としてステータスを受信し、それを第1のチ
ャネル装置14を介してCPU11に返信する。
は、エンジンインタフェースプロセッサ(EIP)16
1は、第1のチャネル装置14を介してCPU11から
送られてくるコマンドを受信し、それをエンジン制御プ
ロセッサ(ECP)162に送信する。また、エンジン
インタフェースプロセッサ(EIP)161は、エンジ
ン制御プロセッサ(ECP)162から送られてくるコ
マンド結果としてステータスを受信し、それを第1のチ
ャネル装置14を介してCPU11に返信する。
【0024】磁気ディスク装置17との間のデータ入出
力においては、エンジンインタフェースプロセッサ(E
IP)161は、エンジン制御プロセッサ(ECP)1
62からの入出力要求を受け付け、大容量メモリ(EB
DM)163と磁気ディスク装置17との間でデータ転
送を行う。その際、エンジン制御プロセッサ(ECP)
162からの要求に従い出力ファイルデータの再構成処
理も行う。
力においては、エンジンインタフェースプロセッサ(E
IP)161は、エンジン制御プロセッサ(ECP)1
62からの入出力要求を受け付け、大容量メモリ(EB
DM)163と磁気ディスク装置17との間でデータ転
送を行う。その際、エンジン制御プロセッサ(ECP)
162からの要求に従い出力ファイルデータの再構成処
理も行う。
【0025】エンジン制御プロセッサ(ECP)162
は、エンジンインタフェースプロセッサ(EIP)16
1、大容量メモリ(EBDM)163、およびハードウ
ェアソータ制御プロセッサ(ECAM)164を内部バ
ス167を介して制御するものであり、CPU11から
のコマンドが、ソートや関係代数演算などの演算処理コ
マンドであった場合には、それに対応する各種コマンド
処理プロセスを生成・実行する。またハードウェア構成
情報獲得コマンド(informコマンド)であった場
合には、構成情報を獲得するためのプロセスを生成・実
行し、大容量メモリ(EBDM)163内のデータ処理
専用に利用可能なバッファメモリの大きさとハードウェ
アソータのソートセル段数をホストCPUに通知する。
このinformコマンドは、磁気ティスク装置17上
に作業ファイル171を割り当てる必要があるかか否か
を判別するためにホストCPU11から発行されるもの
であり、演算要求に先だってホストCPU11からデー
タベース演算処理装置16に供給される。
は、エンジンインタフェースプロセッサ(EIP)16
1、大容量メモリ(EBDM)163、およびハードウ
ェアソータ制御プロセッサ(ECAM)164を内部バ
ス167を介して制御するものであり、CPU11から
のコマンドが、ソートや関係代数演算などの演算処理コ
マンドであった場合には、それに対応する各種コマンド
処理プロセスを生成・実行する。またハードウェア構成
情報獲得コマンド(informコマンド)であった場
合には、構成情報を獲得するためのプロセスを生成・実
行し、大容量メモリ(EBDM)163内のデータ処理
専用に利用可能なバッファメモリの大きさとハードウェ
アソータのソートセル段数をホストCPUに通知する。
このinformコマンドは、磁気ティスク装置17上
に作業ファイル171を割り当てる必要があるかか否か
を判別するためにホストCPU11から発行されるもの
であり、演算要求に先だってホストCPU11からデー
タベース演算処理装置16に供給される。
【0026】大容量メモリ(EBDM)163は、磁気
ディスク装置17から読み出された演算対象のファイル
データ、CPU11から送られてくる各種演算処理コマ
ンド及び構成情報獲得(inform)コマンド、ハー
ドウェアソータ制御プロセッサ(ECAM)164、並
列ソーティングモジュール(PSOM)165、および
並列関係代数演算モジュール(PRAM)166による
演算処理結果、さらには、エンジン制御プロセッサ(E
CP)162による演算結果の統合結果等を格納する共
有メモリである。演算対象のファイルデータは大容量メ
モリ(EBDM)163内の入力バッファ部に格納さ
れ、演算処理結果は大容量メモリ(EBDM)163内
の出力バッファ部に格納される。
ディスク装置17から読み出された演算対象のファイル
データ、CPU11から送られてくる各種演算処理コマ
ンド及び構成情報獲得(inform)コマンド、ハー
ドウェアソータ制御プロセッサ(ECAM)164、並
列ソーティングモジュール(PSOM)165、および
並列関係代数演算モジュール(PRAM)166による
演算処理結果、さらには、エンジン制御プロセッサ(E
CP)162による演算結果の統合結果等を格納する共
有メモリである。演算対象のファイルデータは大容量メ
モリ(EBDM)163内の入力バッファ部に格納さ
れ、演算処理結果は大容量メモリ(EBDM)163内
の出力バッファ部に格納される。
【0027】ハードウェアソータ制御プロセッサ(EC
AM)164は、エンジン制御プロセッサ(ECP)1
62からの指令に基づいて、並列ソーティングモジュー
ル(PSOM)165および並列関係代数演算モジュー
ル(PRAM)166による演算を制御する。
AM)164は、エンジン制御プロセッサ(ECP)1
62からの指令に基づいて、並列ソーティングモジュー
ル(PSOM)165および並列関係代数演算モジュー
ル(PRAM)166による演算を制御する。
【0028】この場合、ハードウェアソータ制御プロセ
ッサ(ECAM)164は、大容量メモリ(EBDM)
163上のデータを並列ソーティングモジュール(PS
OM)165に入力し、並列関係代数演算モジュール
(PRAM)166から出力された演算結果を大容量メ
モリ(EBDM)163上に格納するが、並列ソーティ
ングモジュール(PSOM)165へのデータ入力に際
しては、まず、キー切り出し処理を実行する。このキー
切り出し処理においては、ハードウェアソータ制御プロ
セッサ(ECAM)164は、演算対象の各レコードか
ら演算に必要な演算対象キーフィールドのみを切り出
し、それにレコード識別番号(大容量メモリ(EBD
M)163上におけるレコードの先頭アドレス)を付加
して並列ソーティングモジュール(PSOM)165へ
送出する。
ッサ(ECAM)164は、大容量メモリ(EBDM)
163上のデータを並列ソーティングモジュール(PS
OM)165に入力し、並列関係代数演算モジュール
(PRAM)166から出力された演算結果を大容量メ
モリ(EBDM)163上に格納するが、並列ソーティ
ングモジュール(PSOM)165へのデータ入力に際
しては、まず、キー切り出し処理を実行する。このキー
切り出し処理においては、ハードウェアソータ制御プロ
セッサ(ECAM)164は、演算対象の各レコードか
ら演算に必要な演算対象キーフィールドのみを切り出
し、それにレコード識別番号(大容量メモリ(EBD
M)163上におけるレコードの先頭アドレス)を付加
して並列ソーティングモジュール(PSOM)165へ
送出する。
【0029】並列ソーティングモジュール(PSOM)
165は、大容量メモリ(EBDM)163によって駆
動され、ソートを並列に実行する専用のハードウェア回
路であり、並列関係代数演算モジュール(PRAM)1
66に接続されている。この並列ソーティングモジュー
ル(PSOM)165は、パイプラインマージソータと
称されるものであり、2−ウェイマージソートを行う複
数のソートセルをカスケード接続してなる。
165は、大容量メモリ(EBDM)163によって駆
動され、ソートを並列に実行する専用のハードウェア回
路であり、並列関係代数演算モジュール(PRAM)1
66に接続されている。この並列ソーティングモジュー
ル(PSOM)165は、パイプラインマージソータと
称されるものであり、2−ウェイマージソートを行う複
数のソートセルをカスケード接続してなる。
【0030】並列関係代数演算モジュール(PRAM)
166は、関係データベースにおけるJOIN(結合)
やRESTRICT(制約)といった関係代数演算を並
列に実行する専用のハードウェア回路であり、並列ソー
ティングモジュール(PSOM)165からソートされ
たデータを入力し、演算結果をハードウェアソータ制御
プロセッサ(ECAM)164に出力する。ソート処理
だけを実行する場合には、並列関係代数演算モジュール
(PRAM)166は、最終段のソートセルとして機能
する。
166は、関係データベースにおけるJOIN(結合)
やRESTRICT(制約)といった関係代数演算を並
列に実行する専用のハードウェア回路であり、並列ソー
ティングモジュール(PSOM)165からソートされ
たデータを入力し、演算結果をハードウェアソータ制御
プロセッサ(ECAM)164に出力する。ソート処理
だけを実行する場合には、並列関係代数演算モジュール
(PRAM)166は、最終段のソートセルとして機能
する。
【0031】このように、エンジンインタフェースプロ
セッサ(EIP)161、エンジン制御プロセッサ(E
CP)162、およびハードウェアソータ制御プロセッ
サ(ECAM)164にはそれぞれ各種演算処理、例え
ばソート処理やセレクト処理を実行するための機能が分
散されている。この場合、これらプロセッサは、大容量
メモリ(EBDM)163上のバッファのやりとりを除
けば非同期に動作し、並行して各機能を実行する。すな
わち、ソートやセレクト等の処理は、通常、入力処理、
演算処理、および出力処理から構成されるが、ハードウ
ェアソータ制御プロセッサ(ECAM)164の制御に
よる演算処理は、エンジンインタフェースプロセッサ
(EIP)161による演算対象データの入力処理と並
行して実行される。また、ハードウェアソータ制御プロ
セッサ(ECAM)164からの演算結果をエンジン制
御プロセッサ(ECP)162によって統合処理する必
要がある場合には、その統合処理とエンジンインタフェ
ースプロセッサ(EIP)161による出力処理も並行
して実行される。次に、図2および図3を参照して、作
業ファイル171の必要性を判断するための手法につい
て説明する。
セッサ(EIP)161、エンジン制御プロセッサ(E
CP)162、およびハードウェアソータ制御プロセッ
サ(ECAM)164にはそれぞれ各種演算処理、例え
ばソート処理やセレクト処理を実行するための機能が分
散されている。この場合、これらプロセッサは、大容量
メモリ(EBDM)163上のバッファのやりとりを除
けば非同期に動作し、並行して各機能を実行する。すな
わち、ソートやセレクト等の処理は、通常、入力処理、
演算処理、および出力処理から構成されるが、ハードウ
ェアソータ制御プロセッサ(ECAM)164の制御に
よる演算処理は、エンジンインタフェースプロセッサ
(EIP)161による演算対象データの入力処理と並
行して実行される。また、ハードウェアソータ制御プロ
セッサ(ECAM)164からの演算結果をエンジン制
御プロセッサ(ECP)162によって統合処理する必
要がある場合には、その統合処理とエンジンインタフェ
ースプロセッサ(EIP)161による出力処理も並行
して実行される。次に、図2および図3を参照して、作
業ファイル171の必要性を判断するための手法につい
て説明する。
【0032】大容量メモリ(EBDM)163に格納す
べきデータ量は、演算対象のデータ全てを並列ソーティ
ングモジュール(PSOM)165で一度にソートでき
る場合と、2回以上のソートが必要な場合とで異なる。
一度にソートできる場合は、大容量メモリ(EBDM)
163に格納されるのは、図2に示されているように、
演算対象の入力レコード列と、レコード識別番号の並び
からなるソート演算結果である。一方、2回以上のソー
トが必要な場合については、ソート結果間のマージ処理
が必要になるので、大容量メモリ(EBDM)163に
格納されるのは、図3に示されているように、演算対象
の入力レコード列と、レコード識別番号にキーフィール
ドが付加された演算の中間結果列である。このため、演
算対象のデータ全てを並列ソーティングモジュール(P
SOM)165で一度にソートできる場合に必要なメモ
リサイスM1は、 M1=(レコード長+RID長)×レコード数 となる。また、2回以上のソートが必要な場合に必要な
メモリサイスM2は、 M2=(レコード長+RID長+キー長)×レコード数 となる。
べきデータ量は、演算対象のデータ全てを並列ソーティ
ングモジュール(PSOM)165で一度にソートでき
る場合と、2回以上のソートが必要な場合とで異なる。
一度にソートできる場合は、大容量メモリ(EBDM)
163に格納されるのは、図2に示されているように、
演算対象の入力レコード列と、レコード識別番号の並び
からなるソート演算結果である。一方、2回以上のソー
トが必要な場合については、ソート結果間のマージ処理
が必要になるので、大容量メモリ(EBDM)163に
格納されるのは、図3に示されているように、演算対象
の入力レコード列と、レコード識別番号にキーフィール
ドが付加された演算の中間結果列である。このため、演
算対象のデータ全てを並列ソーティングモジュール(P
SOM)165で一度にソートできる場合に必要なメモ
リサイスM1は、 M1=(レコード長+RID長)×レコード数 となる。また、2回以上のソートが必要な場合に必要な
メモリサイスM2は、 M2=(レコード長+RID長+キー長)×レコード数 となる。
【0033】演算対象のデータ全てを並列ソーティング
モジュール(PSOM)165で一度にソートできるか
否かは、並列ソーティングモジュール(PSOM)16
5のソートセル段数によって決定される。レコード数が
nの演算対象のデータを一度にソートすめたるに必要な
理想ソートセル段数aは、 a=log2 (n)
モジュール(PSOM)165で一度にソートできるか
否かは、並列ソーティングモジュール(PSOM)16
5のソートセル段数によって決定される。レコード数が
nの演算対象のデータを一度にソートすめたるに必要な
理想ソートセル段数aは、 a=log2 (n)
【0034】で与えられる。このため、並列ソーティン
グモジュール(PSOM)165の実際のソートセル段
数sと理想ソートセル段数aを比較することにより、必
要なメモリサイズが分かる。つまり、
グモジュール(PSOM)165の実際のソートセル段
数sと理想ソートセル段数aを比較することにより、必
要なメモリサイズが分かる。つまり、
【0035】(1)s≧aの場合には、一度にソート可
能となり、この時にはメモリサイズはM1が必要とな
る。この場合には、大容量メモリ(EBDM)163の
実際の容量Eが
能となり、この時にはメモリサイズはM1が必要とな
る。この場合には、大容量メモリ(EBDM)163の
実際の容量Eが
【0036】E≧M1の条件を満たすか否かによって、
作業ファイル171の必要性の有無を判別できる。すな
わち、E≧M1の条件が満足される場合には作業ファイ
ル171は不要となり、E<M1の場合には作業ファイ
ル171が必要とされる。この場合の作業ファイル17
1の大きさは、M2となる。これは、作業ファイル17
1を用いた拡張処理では、一度にソート可能なデータ量
であっても2回以上のソートに分割して、それらソート
の中間結果をマージすることが必要なためである。
作業ファイル171の必要性の有無を判別できる。すな
わち、E≧M1の条件が満足される場合には作業ファイ
ル171は不要となり、E<M1の場合には作業ファイ
ル171が必要とされる。この場合の作業ファイル17
1の大きさは、M2となる。これは、作業ファイル17
1を用いた拡張処理では、一度にソート可能なデータ量
であっても2回以上のソートに分割して、それらソート
の中間結果をマージすることが必要なためである。
【0037】(2)s<aの場合には、2回以上のソー
トが必要となり、この時にはメモリサイズはM2が必要
となる。この場合には、大容量メモリ(EBDM)16
3の実際の容量Eが
トが必要となり、この時にはメモリサイズはM2が必要
となる。この場合には、大容量メモリ(EBDM)16
3の実際の容量Eが
【0038】E≧M2の条件を満たすか否かによって、
作業ファイル171の必要性の有無を判別できる。すな
わち、E≧M2の条件が満足される場合には作業ファイ
ル171は不要となり、E<M2の場合には作業ファイ
ル171が必要とされる。この場合の作業ファイル17
1の大きさは、M2となる。次に、図4のフローチャー
トを参照して、データベース演算処理装置16によるハ
ードウェア構成情報の通知処理について説明する。
作業ファイル171の必要性の有無を判別できる。すな
わち、E≧M2の条件が満足される場合には作業ファイ
ル171は不要となり、E<M2の場合には作業ファイ
ル171が必要とされる。この場合の作業ファイル17
1の大きさは、M2となる。次に、図4のフローチャー
トを参照して、データベース演算処理装置16によるハ
ードウェア構成情報の通知処理について説明する。
【0039】まず、ホストCPU11によって発行され
たコマンドを受信すると(ステップS1)、エンジン制
御プロセッサ(ECP)162は、そのコマンドの解析
を行い(ステップS2)、そのコマンドがinform
コマンドか否かを調べる(ステップS3)。そのコマン
ドがinformコマンドであった場合には、エンジン
制御プロセッサ(ECP)162は、データベース演算
処理装置16内の検査を行い、大容量メモリ(EBD
M)163内のデータ処理専用に利用可能なバッファメ
モリの大きさと、ハードウェアソータ(PSOM)16
5のソートセル段数を獲得する(ステップS4)。そし
て、エンジン制御プロセッサ(ECP)162は、その
獲得したパラメタ群をinformコマンドに対するス
テータスに付加し、それをエンジンインターフェースプ
ロセッサ(EIP)161を利用してホストCPU11
に通知する(ステップS5)。この時のステータスは、
図5に示されているように、完了コード101、利用可
能なバッファメモリの大きさを示す情報102、および
ハードウェアソータのソートセル段数を示す情報103
からなる。
たコマンドを受信すると(ステップS1)、エンジン制
御プロセッサ(ECP)162は、そのコマンドの解析
を行い(ステップS2)、そのコマンドがinform
コマンドか否かを調べる(ステップS3)。そのコマン
ドがinformコマンドであった場合には、エンジン
制御プロセッサ(ECP)162は、データベース演算
処理装置16内の検査を行い、大容量メモリ(EBD
M)163内のデータ処理専用に利用可能なバッファメ
モリの大きさと、ハードウェアソータ(PSOM)16
5のソートセル段数を獲得する(ステップS4)。そし
て、エンジン制御プロセッサ(ECP)162は、その
獲得したパラメタ群をinformコマンドに対するス
テータスに付加し、それをエンジンインターフェースプ
ロセッサ(EIP)161を利用してホストCPU11
に通知する(ステップS5)。この時のステータスは、
図5に示されているように、完了コード101、利用可
能なバッファメモリの大きさを示す情報102、および
ハードウェアソータのソートセル段数を示す情報103
からなる。
【0040】一方、受信コマンドがinformコマン
ドでなく、他の演算処理コマンドであった場合には、エ
ンジン制御プロセッサ(ECP)162は、その演算処
理コマンドで指定される演算処理を実行制御するため
に、対応する制御プロセスを生成して実行する(ステッ
プS6)。
ドでなく、他の演算処理コマンドであった場合には、エ
ンジン制御プロセッサ(ECP)162は、その演算処
理コマンドで指定される演算処理を実行制御するため
に、対応する制御プロセスを生成して実行する(ステッ
プS6)。
【0041】informコマンドに対するステータス
を受け取ったホストCPU11は、ステータス内のパラ
メタである利用可能なバッファメモリの大きさ、ハード
ウェアソータのソートセル段数、および演算処理対象の
データ量に基づいて、作業ファイル171を磁気ディス
ク装置17に割り当てるか否かを決定する。そして、作
業ファイル171が必要であれば、計算した大きさの作
業ファイル171を磁気ディスク装置17上に作成した
後、データベース演算処理装置16に対して演算処理要
求を発行する。次に、図6乃至図11を参照して、作業
ファイル171を用いたデータベース演算処理装置16
の演算処理動作を説明する。
を受け取ったホストCPU11は、ステータス内のパラ
メタである利用可能なバッファメモリの大きさ、ハード
ウェアソータのソートセル段数、および演算処理対象の
データ量に基づいて、作業ファイル171を磁気ディス
ク装置17に割り当てるか否かを決定する。そして、作
業ファイル171が必要であれば、計算した大きさの作
業ファイル171を磁気ディスク装置17上に作成した
後、データベース演算処理装置16に対して演算処理要
求を発行する。次に、図6乃至図11を参照して、作業
ファイル171を用いたデータベース演算処理装置16
の演算処理動作を説明する。
【0042】前述したように、大容量メモリ(EBD
M)163にはエンジンインターフェースプロセッサ
(EIP)161による入力処理によって演算処理対象
のデータが格納され、この入力処理と並行してハードウ
ェアソータ制御プロセッサ(ECAM)164による演
算制御が実行される。すなわち、エンジンインターフェ
ースプロセッサ(EIP)161は、磁気ディスク装置
17に対象となるデータが存在するかぎり大容量メモリ
(EBDM)163に一定のデータ量単位で演算対象デ
ータを順次入力し、それをハードウェアソータ制御プロ
セッサ(ECAM)164に渡す。
M)163にはエンジンインターフェースプロセッサ
(EIP)161による入力処理によって演算処理対象
のデータが格納され、この入力処理と並行してハードウ
ェアソータ制御プロセッサ(ECAM)164による演
算制御が実行される。すなわち、エンジンインターフェ
ースプロセッサ(EIP)161は、磁気ディスク装置
17に対象となるデータが存在するかぎり大容量メモリ
(EBDM)163に一定のデータ量単位で演算対象デ
ータを順次入力し、それをハードウェアソータ制御プロ
セッサ(ECAM)164に渡す。
【0043】大量のデータを処理する場合には大容量メ
モリ(EBDM)163の容量が不足してしまうので、
ハードウェアソータ制御プロセッサ(ECAM)164
は、ある一定の範囲毎に中間結果を求める必要がある。
このため、ハードウェアソータ制御プロセッサ(ECA
M)164は、一定量のデータ単位で大容量メモリ(E
BDM)163から並列ソーティングモジュール(PS
OM)165および並列関係代数演算モジュール(PR
AM)166にデータを渡し、その一定データ範囲毎に
演算処理を実行させる(ステップS12)。
モリ(EBDM)163の容量が不足してしまうので、
ハードウェアソータ制御プロセッサ(ECAM)164
は、ある一定の範囲毎に中間結果を求める必要がある。
このため、ハードウェアソータ制御プロセッサ(ECA
M)164は、一定量のデータ単位で大容量メモリ(E
BDM)163から並列ソーティングモジュール(PS
OM)165および並列関係代数演算モジュール(PR
AM)166にデータを渡し、その一定データ範囲毎に
演算処理を実行させる(ステップS12)。
【0044】並列ソーティングモジュール(PSOM)
165および並列関係代数演算モジュール(PRAM)
166は、一定サイズの演算済みデータ列を中間結果と
して順次生成し、ハードウェアソータ制御プロセッサ
(ECAM)164はその中間結果を大容量メモリ(E
BDM)163に入力する。ハードウェアソータ制御プ
ロセッサ(ECAM)164で得られた処理結果を保持
したままでは、大容量メモリ(EBDM)163の容量
の関係上、処理を継続することができない。そこで、エ
ンジンインターフェースプロセッサ(EIP)161
は、ハードウェアソータ制御プロセッサ(ECAM)1
64で得られた一定データ範囲毎の中間結果を作業ファ
イル171に順次出力する(ステップS13)。このよ
うなデータの入力、演算処理、中間結果の出力処理は、
未処理データがなくなるまで繰り返される(ステップS
11〜S13)。
165および並列関係代数演算モジュール(PRAM)
166は、一定サイズの演算済みデータ列を中間結果と
して順次生成し、ハードウェアソータ制御プロセッサ
(ECAM)164はその中間結果を大容量メモリ(E
BDM)163に入力する。ハードウェアソータ制御プ
ロセッサ(ECAM)164で得られた処理結果を保持
したままでは、大容量メモリ(EBDM)163の容量
の関係上、処理を継続することができない。そこで、エ
ンジンインターフェースプロセッサ(EIP)161
は、ハードウェアソータ制御プロセッサ(ECAM)1
64で得られた一定データ範囲毎の中間結果を作業ファ
イル171に順次出力する(ステップS13)。このよ
うなデータの入力、演算処理、中間結果の出力処理は、
未処理データがなくなるまで繰り返される(ステップS
11〜S13)。
【0045】図7には、ステップS11〜S13におけ
るデータの流れが示されている。図示のように、一定量
のデータD1,D2…が順次ハードウェアソータ制御プ
ロセッサ(ECAM)164に渡され、そこでデータD
1,D2にそれぞれ対応する第1、第2の中間結果が得
られ、それら中間結果は順次作業ファイル171に書き
出される。
るデータの流れが示されている。図示のように、一定量
のデータD1,D2…が順次ハードウェアソータ制御プ
ロセッサ(ECAM)164に渡され、そこでデータD
1,D2にそれぞれ対応する第1、第2の中間結果が得
られ、それら中間結果は順次作業ファイル171に書き
出される。
【0046】前述のステップS11〜S13の処理が全
て終了すると、エンジンインターフェースプロセッサ
(EIP)161は、作業ファイル171上の複数の中
間結果から必要な箇所をその都度取り出し、大容量メモ
リ(EBDM)163に入力する(ステップS15)。
エンジン制御プロセッサ(ECP)162は、これら入
力されたデータの結合やマージによってそれらを統合
し、最終結果を求める(ステップS16)。求められた
最終結果は、エンジンインターフェースプロセッサ(E
IP)161によって磁気ディスク装置17に出力され
る。この処理も、作業ファイル17の全ての中間結果が
処理されるまで繰り返される(ステップS14〜S1
6)。
て終了すると、エンジンインターフェースプロセッサ
(EIP)161は、作業ファイル171上の複数の中
間結果から必要な箇所をその都度取り出し、大容量メモ
リ(EBDM)163に入力する(ステップS15)。
エンジン制御プロセッサ(ECP)162は、これら入
力されたデータの結合やマージによってそれらを統合
し、最終結果を求める(ステップS16)。求められた
最終結果は、エンジンインターフェースプロセッサ(E
IP)161によって磁気ディスク装置17に出力され
る。この処理も、作業ファイル17の全ての中間結果が
処理されるまで繰り返される(ステップS14〜S1
6)。
【0047】図8には、ステップS14〜S16におけ
るデータの流れが示されている。図示のように、複数の
中間結果それぞれから必要な箇所のデータE1〜E4が
取り出されて大容量メモリ(EBDM)163に入力さ
れ、それがエンジン制御プロセッサ(ECP)162に
よって統合される。このデータE1〜E4の統合結果
は、第1の出力結果として磁気ディスク装置17の出力
結果ファイルに書き出される。
るデータの流れが示されている。図示のように、複数の
中間結果それぞれから必要な箇所のデータE1〜E4が
取り出されて大容量メモリ(EBDM)163に入力さ
れ、それがエンジン制御プロセッサ(ECP)162に
よって統合される。このデータE1〜E4の統合結果
は、第1の出力結果として磁気ディスク装置17の出力
結果ファイルに書き出される。
【0048】次に、図9および図10を参照し、演算対
象データ、およびハードウェアソータ制御プロセッサ
(ECAM)164で得られる中間結果の具体例を、デ
ータベース演算処理装置16がソート処理を行う場合を
例とって説明する。
象データ、およびハードウェアソータ制御プロセッサ
(ECAM)164で得られる中間結果の具体例を、デ
ータベース演算処理装置16がソート処理を行う場合を
例とって説明する。
【0049】例えば、図9に示されているように、演算
対象データは、n×4個のレコードR1,R2,…から
構成されており、各レコードは例えば5個のフィールド
F1〜F5を含んでいる。並列ソーティングモジュール
(PSOM)165で一度にソートできるレコード件数
がn個である場合、つまり並列ソーティングモジュール
(PSOM)165のソートセル段数がlog2 (n)
の場合には、図示のように、演算対象データはそれぞれ
n個のレコードからなる4つのストリングに分割され
る。この場合、磁気ディスク装置17からはストリング
単位でデータ入力が行われ、大容量メモリ(EBDM)
163に格納される。
対象データは、n×4個のレコードR1,R2,…から
構成されており、各レコードは例えば5個のフィールド
F1〜F5を含んでいる。並列ソーティングモジュール
(PSOM)165で一度にソートできるレコード件数
がn個である場合、つまり並列ソーティングモジュール
(PSOM)165のソートセル段数がlog2 (n)
の場合には、図示のように、演算対象データはそれぞれ
n個のレコードからなる4つのストリングに分割され
る。この場合、磁気ディスク装置17からはストリング
単位でデータ入力が行われ、大容量メモリ(EBDM)
163に格納される。
【0050】このような演算対象データに対して、例え
ば、第3のフィールドF3をキーフィールドとするソー
トを行う場合には、ハードウェアソータ制御プロセッサ
(ECAM)164は、第1ストリングにおける演算対
象の各レコードR1,R2…から演算に必要な第3のフ
ィールドF3(K1,K2,…)のみを切り出し、それ
にレコード識別番号RID(メモリ163上のレコード
の先頭アドレスAD1,AD2,…)を付加して、それ
を並列ソーティングモジュール(PSOM)165,並
列関係代数演算モジュール(PRAM)166に渡す。
並列ソーティングモジュール(PSOM)165は、そ
の第1ストリングについてソートを行って昇順または降
順に整列化された部分ソート列を生成する。
ば、第3のフィールドF3をキーフィールドとするソー
トを行う場合には、ハードウェアソータ制御プロセッサ
(ECAM)164は、第1ストリングにおける演算対
象の各レコードR1,R2…から演算に必要な第3のフ
ィールドF3(K1,K2,…)のみを切り出し、それ
にレコード識別番号RID(メモリ163上のレコード
の先頭アドレスAD1,AD2,…)を付加して、それ
を並列ソーティングモジュール(PSOM)165,並
列関係代数演算モジュール(PRAM)166に渡す。
並列ソーティングモジュール(PSOM)165は、そ
の第1ストリングについてソートを行って昇順または降
順に整列化された部分ソート列を生成する。
【0051】図10においては、昇順に整列化した場合
の部分ソート列S1〜S4が示されている。これら部分
ソート列S1〜S4は、演算対象データの第1乃至第4
のストリングにそれぞれ対応する中間結果である。各部
分ソート列S1〜S4の要素は、図示のように、レコー
ド識別番号とキー部から構成されている。このような部
分ソート列S1〜S4はハードウェアソータ制御プロセ
ッサ(ECAM)164から順番に得られ、大容量メモ
リ(EBDM)163を経由して作業ファイル171に
順次格納されていく。
の部分ソート列S1〜S4が示されている。これら部分
ソート列S1〜S4は、演算対象データの第1乃至第4
のストリングにそれぞれ対応する中間結果である。各部
分ソート列S1〜S4の要素は、図示のように、レコー
ド識別番号とキー部から構成されている。このような部
分ソート列S1〜S4はハードウェアソータ制御プロセ
ッサ(ECAM)164から順番に得られ、大容量メモ
リ(EBDM)163を経由して作業ファイル171に
順次格納されていく。
【0052】図11には、マージ処理による部分ソート
列S1〜S4の統合結果が示されている。図11に示さ
れているように、エンジン制御プロセッサ(ECP)1
62のマージで生成されたストリングの各要素は、レコ
ード識別番号だけから成り、レコード識別番号はキー部
の値が小さいものから順に配置されている。このような
マージ結果は、大容量メモリ(EBDM)163上に格
納される。
列S1〜S4の統合結果が示されている。図11に示さ
れているように、エンジン制御プロセッサ(ECP)1
62のマージで生成されたストリングの各要素は、レコ
ード識別番号だけから成り、レコード識別番号はキー部
の値が小さいものから順に配置されている。このような
マージ結果は、大容量メモリ(EBDM)163上に格
納される。
【0053】エンジン制御プロセッサ(ECP)162
によるこのようなマージ結果はエンジンインターフェー
スプロセッサ(EIP)161によって磁気ディスク装
置17に出力されるが、この場合、図11で説明したよ
うに、マージ結果はレコード識別番号の並びのみによっ
て構成されているので、エンジンインターフェースプロ
セッサ(EIP)161は、磁気ディスク装置17にデ
ータを出力する際、出力ファイルの再構成処理を行う。
すなわち、エンジンインターフェースプロセッサ(EI
P)161は、図9の演算対象データのレコードを図1
1のマージ結果の並びにしたがって図12のように再構
成し、それを磁気ディスク装置17に出力する。
によるこのようなマージ結果はエンジンインターフェー
スプロセッサ(EIP)161によって磁気ディスク装
置17に出力されるが、この場合、図11で説明したよ
うに、マージ結果はレコード識別番号の並びのみによっ
て構成されているので、エンジンインターフェースプロ
セッサ(EIP)161は、磁気ディスク装置17にデ
ータを出力する際、出力ファイルの再構成処理を行う。
すなわち、エンジンインターフェースプロセッサ(EI
P)161は、図9の演算対象データのレコードを図1
1のマージ結果の並びにしたがって図12のように再構
成し、それを磁気ディスク装置17に出力する。
【0054】以上のように、この実施例においては、作
業ファイル171の必要性の判断に必要な演算処理装置
16の実際のハードウェア構成をホストCPU11に通
知できるので、演算処理装置16の実際のハードウェア
構成を考慮した状態で作業ファイル171の必要性を判
断できる。このため、演算処理装置16のハードウェア
構成が追加・拡張された場合においても、無駄な作業フ
ァイルの割り当てを防止でき、磁気ディスク装置17の
有効利用が可能となる。
業ファイル171の必要性の判断に必要な演算処理装置
16の実際のハードウェア構成をホストCPU11に通
知できるので、演算処理装置16の実際のハードウェア
構成を考慮した状態で作業ファイル171の必要性を判
断できる。このため、演算処理装置16のハードウェア
構成が追加・拡張された場合においても、無駄な作業フ
ァイルの割り当てを防止でき、磁気ディスク装置17の
有効利用が可能となる。
【0055】また、データベース演算処理装置16にマ
ルチプロセッサ構成を採用し、データベース演算処理装
置16と磁気ディスク装置17間のデータ入出力をエン
ジンインタフェースプロセッサ(EIP)161に、並
列ソーティングモジュール(PSOM)165および並
列関係代数演算モジュール(PRAM)166を用いた
演算処理をハードウェアソータ制御プロセッサ(ECA
M)164に、そして、全体の制御をエンジン制御プロ
セッサ(ECP)162にそれぞれ機能分散すると共
に、エンジン制御プロセッサ(ECP)162によって
ソートセル段数および内部メモリの記憶容量がホストC
PU11に通知されるように構成されているで、無駄な
作業ファイル171の割り当てを防止できると共に、3
つのプロセッサによって効率よく負荷分散が図れ、しか
もエンジンインタフェースプロセッサ(EIP)161
によるデータ入出力と、ハードウェアソータ制御プロセ
ッサ(ECAM)164による演算処理との並行動作が
可能となるので、データベース演算処理装置の動作性能
を十分に向上させることができる。
ルチプロセッサ構成を採用し、データベース演算処理装
置16と磁気ディスク装置17間のデータ入出力をエン
ジンインタフェースプロセッサ(EIP)161に、並
列ソーティングモジュール(PSOM)165および並
列関係代数演算モジュール(PRAM)166を用いた
演算処理をハードウェアソータ制御プロセッサ(ECA
M)164に、そして、全体の制御をエンジン制御プロ
セッサ(ECP)162にそれぞれ機能分散すると共
に、エンジン制御プロセッサ(ECP)162によって
ソートセル段数および内部メモリの記憶容量がホストC
PU11に通知されるように構成されているで、無駄な
作業ファイル171の割り当てを防止できると共に、3
つのプロセッサによって効率よく負荷分散が図れ、しか
もエンジンインタフェースプロセッサ(EIP)161
によるデータ入出力と、ハードウェアソータ制御プロセ
ッサ(ECAM)164による演算処理との並行動作が
可能となるので、データベース演算処理装置の動作性能
を十分に向上させることができる。
【0056】尚、この実施例では、ホストCPU11が
作業ファイル11の必要の有無の判断と作業ファイル1
1の大きさの算出を行なったが、それらをデータベース
演算処理装置16内で行わせることも可能である。これ
は、informコマンドに演算処理対象のデータ量と
キー属性を含め、必要な作業ファイル171の大きさを
データベース演算処理装置16のエンジン制御プロセッ
サ(ECP)162がCPU11に代わって算出し、算
出された必要な作業ファイルの大きさをinformコ
マンドのステータスに含めてCPU11に返却すること
によって実現できる。
作業ファイル11の必要の有無の判断と作業ファイル1
1の大きさの算出を行なったが、それらをデータベース
演算処理装置16内で行わせることも可能である。これ
は、informコマンドに演算処理対象のデータ量と
キー属性を含め、必要な作業ファイル171の大きさを
データベース演算処理装置16のエンジン制御プロセッ
サ(ECP)162がCPU11に代わって算出し、算
出された必要な作業ファイルの大きさをinformコ
マンドのステータスに含めてCPU11に返却すること
によって実現できる。
【0057】また、作業ファイル171を利用した拡張
処理を行なうか否かについても、大容量メモリ(EBD
M)163の大きさと必要なメモリサイズとの関係から
判断できる。このため、演算処理対象のデータ量をCP
U11から受けとることによって、その判断はデータベ
ース演算処理装置16内で行なうことができる。もちろ
ん、CPU11が、作業ファイル171を利用した拡張
処理を行なうか否かをデータベース演算処理装置16に
対して指示することも可能である。
処理を行なうか否かについても、大容量メモリ(EBD
M)163の大きさと必要なメモリサイズとの関係から
判断できる。このため、演算処理対象のデータ量をCP
U11から受けとることによって、その判断はデータベ
ース演算処理装置16内で行なうことができる。もちろ
ん、CPU11が、作業ファイル171を利用した拡張
処理を行なうか否かをデータベース演算処理装置16に
対して指示することも可能である。
【0058】
【発明の効果】以上のように、この発明によれば、ホス
ト装置がデータベース演算処理装置のハードウェア構成
情報を獲得することができるようになり、無駄な作業フ
ァイルの割り当てを防止して2次記憶装置の有効利用を
実現することが可能となる。
ト装置がデータベース演算処理装置のハードウェア構成
情報を獲得することができるようになり、無駄な作業フ
ァイルの割り当てを防止して2次記憶装置の有効利用を
実現することが可能となる。
【図1】この発明の一実施例に係わる全体のシステム構
成を示すブロック図。
成を示すブロック図。
【図2】図1のシステムの大容量メモリに格納されるデ
ータの一例を示す図。
ータの一例を示す図。
【図3】図1のシステムの大容量メモリに格納されるデ
ータの他の例を示す図。
ータの他の例を示す図。
【図4】図1のシステムにおけるハードウェア構成情報
の通知処理動作を説明するフローチャート。
の通知処理動作を説明するフローチャート。
【図5】図1のシステムにおいてハードウェア構成情報
の通知に利用されるステータスのデータ形式を示す図。
の通知に利用されるステータスのデータ形式を示す図。
【図6】図1のシステムが作業ファイルを利用した拡張
処理を実行する場合の動作を説明するフローチャート。
処理を実行する場合の動作を説明するフローチャート。
【図7】図1のシステムの拡張ソートにおけるソートフ
ェーズ時のデータの流れを示す図。
ェーズ時のデータの流れを示す図。
【図8】図1のシステムの拡張ソートにおけるマージフ
ェーズ時のデータの流れを示す図。
ェーズ時のデータの流れを示す図。
【図9】図1のシステムにおける演算対象入力データの
データ構造の一例を示す図。
データ構造の一例を示す図。
【図10】図1のシステムにおける部分ソート列のデー
タ構造の一例を示す図。
タ構造の一例を示す図。
【図11】図1のシステムにおけるマージ結果のデータ
構造の一例を示す図。
構造の一例を示す図。
【図12】図1のシステムにおける出力結果ファイルの
データ構造の一例を示す図。
データ構造の一例を示す図。
10…ホストコンピュータ、11…ホストCPU、13
…システムバス、14…チャネル、16…データベース
演算処理装置、17…磁気ディスク装置、161,16
2,164…プロセッサ、163…大容量メモリ、16
5…並列ソーティングモジュール、166…並列関係代
数演算モジュール、171…作業ファイル。
…システムバス、14…チャネル、16…データベース
演算処理装置、17…磁気ディスク装置、161,16
2,164…プロセッサ、163…大容量メモリ、16
5…並列ソーティングモジュール、166…並列関係代
数演算モジュール、171…作業ファイル。
Claims (2)
- 【請求項1】 ホスト装置と、演算対象のファイルデー
タが格納される2次記憶装置と、前記2次記憶装置を直
接アクセスするためのパスを有し、前記ホスト装置から
の要求に応じて前記演算対象のファイルデータに対して
所定の演算処理を実行する演算処理装置とを備えたデー
タ処理装置において、 前記演算処理装置は、前記ホスト装置からの演算要求に
従って演算対象のファイルデータを前記パスを介して前
記2次記憶装置から入力する入力手段と、2ウェイマー
ジソートをそれぞれ行なう複数のソートセルがカスケー
ド接続されてなるパイプラインマージソータ回路を有
し、入力された演算対象のファイルデータに対してソー
トまたは関係代数演算を実行する演算処理手段と、前記
演算対象のファイルデータおよび前記演算処理手段によ
る演算結果データが格納される内部メモリと、前記演算
結果データを前記2次記憶装置に出力する出力手段と、
前記演算結果データを一時的に退避するための作業ファ
イルを前記2次記憶装置に割り当てる必要の有無を判別
するために発行される前記ホスト装置からの通知要求に
従って、前記パイプラインマージソータ回路のソートセ
ル段数および前記内部メモリの記憶容量を前記ホスト装
置に通知する手段とを具備することを特徴とするデータ
処理装置。 - 【請求項2】 ホスト装置と、演算対象のファイルデー
タが格納される2次記憶装置と、前記2次記憶装置を直
接アクセスするためのパスを有し、前記ホスト装置から
の要求に応じて前記演算対象のファイルデータに対して
所定の演算処理を実行する演算処理装置とを備えたデー
タ処理装置において、 前記演算処理装置は、前記ホスト装置との間の通信、お
よび前記2次記憶装置との間のデータ入出力を実行する
第1のプロセッサと、2ウェイマージソートをそれぞれ
行なう複数のソートセルがカスケード接続されてなるパ
イプラインマージソータ回路を有し、ソートまたは関係
代数演算を行う演算回路と、この演算回路による演算を
実行制御する第2のプロセッサと、前記第1のプロセッ
サによって入力される演算対象のファイルデータおよび
前記演算回路による演算結果が格納される内部メモリ
と、前記第1のプロセッサを介して供給される前記ホス
ト装置からの指示に基づき、前記第1および第2のプロ
セッサを動作制御する第3のプロセッサとを具備し、 前記第3のプロセッサは、前記演算結果データを一時的
に退避するための作業ファイルを前記2次記憶装置に割
り当てる必要の有無を判別するために発行される前記ホ
スト装置からの通知要求に従って、前記パイプラインマ
ージソータ回路のソートセル段数および前記内部メモリ
の記憶容量を前記ホスト装置に通知するように構成され
ていることを特徴とするデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4133472A JPH05324429A (ja) | 1992-05-26 | 1992-05-26 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4133472A JPH05324429A (ja) | 1992-05-26 | 1992-05-26 | データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05324429A true JPH05324429A (ja) | 1993-12-07 |
Family
ID=15105579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4133472A Pending JPH05324429A (ja) | 1992-05-26 | 1992-05-26 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05324429A (ja) |
-
1992
- 1992-05-26 JP JP4133472A patent/JPH05324429A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5307485A (en) | Method and apparatus for merging sorted lists in a multiprocessor shared memory system | |
US5881283A (en) | Job scheduling analysis method and system using historical job execution data | |
US9477512B2 (en) | Task-based modeling for parallel data integration | |
US20080256025A1 (en) | Database Query Optimization Utilizing Remote Statistics Collection | |
JP3510042B2 (ja) | データベース管理方法及びシステム | |
US6889243B1 (en) | Job scheduling analysis method and system using historical job execution data | |
CN112286917B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN116302574A (zh) | 一种基于MapReduce的并发处理方法 | |
JPH05324430A (ja) | データ処理装置 | |
JPH05324429A (ja) | データ処理装置 | |
JP3004102B2 (ja) | データベース演算処理装置 | |
JPH0581342A (ja) | データ処理装置 | |
Su et al. | Parallel Algorithms and Their Implementation in MICRONET. | |
JPH0580977A (ja) | データ処理装置 | |
JPH06348554A (ja) | データ処理装置 | |
JPH05324431A (ja) | データ処理装置 | |
JP2983352B2 (ja) | データベース演算処理装置 | |
JPH0581339A (ja) | データ処理装置 | |
JPH06348561A (ja) | データ処理装置 | |
JPH06176074A (ja) | データ処理装置 | |
JPH05324580A (ja) | データ処理装置 | |
JP2003203061A (ja) | 並列計算機システムおよび並列計算機システムにおける計算ノードの選択用プログラム | |
JP2003256193A (ja) | 並列ソート装置及び並列ソート方法並びにプログラム | |
JPH06176077A (ja) | データ処理装置 | |
JPH06176076A (ja) | データ処理装置 |