JP3005466B2 - 並列ソート装置 - Google Patents

並列ソート装置

Info

Publication number
JP3005466B2
JP3005466B2 JP8039799A JP3979996A JP3005466B2 JP 3005466 B2 JP3005466 B2 JP 3005466B2 JP 8039799 A JP8039799 A JP 8039799A JP 3979996 A JP3979996 A JP 3979996A JP 3005466 B2 JP3005466 B2 JP 3005466B2
Authority
JP
Japan
Prior art keywords
string
sort
merge
storage area
main storage
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.)
Expired - Fee Related
Application number
JP8039799A
Other languages
English (en)
Other versions
JPH09231053A (ja
Inventor
敦 北沢
Original Assignee
日本電気ソフトウェア株式会社
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 日本電気ソフトウェア株式会社 filed Critical 日本電気ソフトウェア株式会社
Priority to JP8039799A priority Critical patent/JP3005466B2/ja
Publication of JPH09231053A publication Critical patent/JPH09231053A/ja
Application granted granted Critical
Publication of JP3005466B2 publication Critical patent/JP3005466B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ソート/マージ
処理の並列実行に関し、特に、ソート対象データが主記
憶の共有領域と複数の二次記憶に分離格納されている場
合のソーティングに関する。
【0002】関係データベースシステム内部でソーティ
ングが利用される場合、関係データを格納する二次記憶
が分離格納されている場合や、導出された関係データを
格納する、中間的に利用される主記憶と二次記憶が分離
されている場合がある。
【0003】近年実用化されている並列システムでは、
主記憶を処理モジュールが共有するshared ev
erything型のアーキテクチャで、この発明は利
用できる。さらに、主記憶を共有しないshared
nothing型でも、分散共有メモリアーキテクチャ
を採用したシステムは、この発明を適用できる。
【0004】
【従来の技術】この発明の関連分野の文献を挙げると、 [1]特開平03−071227 [2]Bitton D.,et al:“Paral
lel Algorithms for the Ex
ecution of RelationalData
base ACM Transactions on
Data−base Systems,Vol8,No
3,September 1983,pages324
−353. [3]樋川英治、渡部栄一:“NonStop SQL
のアーキテクチャ”,情報処理,Vol33,No1
2,pages1436−1440がある。これらの文
献を引用して、従来技術を説明する。
【0005】文献[1]によれば、主記憶(容量m)に
ソート対象となるデータ(容量n)がすべて収まらない
様な大容量のソート処理を外部的ソートと呼び、1回の
ソートフェーズとLog(n/m)回のマージフェーズ
をもって構成される[文献1の4頁]。各フェーズで
は、その中で完全にソートされた結果をもつ、いくつか
のグループが生成する。このグループをストリングと呼
ぶこととする。たとえば、ソートフェーズ完了時のスト
リングの個数は、最大n/mである。外部ソートの性能
は、ソートフェーズとマージフェーズあるいは各々のマ
ージフェーズ間でデータ受け渡しをする作業領域に対す
るデータ転送時間が全体性能を制限する傾向にある(つ
まり、作業領域にたいするI/Oboundである)
[文献1の8ページ]。[文献1]では、ソートフェー
ズとマージフェーズの受け渡しを、仮想記憶にマッピン
グすることで、仮想記憶をサポートするメモリ量が十分
にある場合、30%から80%この時間を縮小する方法
を開示している。この方法によれば、ソート処理に使用
するメモリをソート/マージ処理用と作業領域支援用に
等しく分割し、作業領域支援用のメモリは一つのストリ
ングが処理された時点で(すなわちソート/マージ処理
領域の全てのデータが処理された時点)、その都度、二
次記憶に書き出し、次のマージフェーズでは主記憶に残
っているストリングから処理することで作業領域からの
読み出し時に発生する二次記憶へのI/O回数を削減す
るものである。なお二次記憶への書きだしは入力データ
の読み込みとオーバラップさせている。
【0006】一方、外部ソートを複数プロセッサの並列
マシンに適用した例が、文献[2]に示されている。図
5は[文献2の頁334]から引用した並列2ウェイマ
ージソートを説明する図で、SUB OPTIAML
STAGEとOPTIMALSTAGEが一つのデータ
源に対する外部ソートに対応する。すなわち外部データ
91乃至94をプロセッサ95乃至98でソートし、そ
の結果を最終的に各プロセッサ95乃至98毎に1本の
ストリング99にマージしている。並列2ウェイマージ
ソートでは、個々の外部ソートの結果をさらに多段階に
構成された複数プロセッサでマージすることで(POS
TOPTIMAL STAGE)、1本のソートされた
結果を得ることができる。
【0007】関係データベースシステムにおける関係代
数演算処理を並列処理する場合、文献[3]によれば、
関係を複数の二次記憶装置に分離して格納しておき、各
々の分離した関係(パーティションと呼ぶ)に対して関
係代数演算を施し、その結果をまとめる場合がある。こ
の場合の一般的な考慮として、データの片寄りの問題が
ある。関係代数演算処理では、ソート処理の入力が通常
選択処理等の別の関係代数演算の結果生じるので、デー
タの片寄りは、単に各パーティションのデータ量が各々
異なるだけでなく、パーティション毎の選択率が異なる
ことによる片寄りもある。この様に並列処理する対象の
データ量に片寄りがある場合、並列ソートのOPTIM
AL STAGEとPOSTOPTIMAL STAG
E間で最もデータ処理量の多いプロセッサの処理終了を
待ち合わせる必要が発生することになり、全体性能を低
下させる。
【0008】
【発明が解決しようとする課題】メモリ共有型、あるい
はクラスタ型のアーキテクチャを持つ並列マシン上で並
列ソート処理を実行する場合の問題は、SUBOPTI
MAL STAGE,OPTIMAL STAGEを個
々の外部ソートとみなし、単純に文献[1]の方法を適
用した場合、各外部ソートで発生する作業領域の二次記
憶へのI/O回数が異なり、最も多くのI/Oを必要と
する外部ソートの性能で、並列ソート全体の性能が抑制
されることである。これはメモリ共有型のアーキテクチ
ャの特徴を生かしていない。他の外部ソートのメモリを
融通することで、I/O回数のバランスをとることが可
能なはずだからである。
【0009】外部ソートの場合、各フェーズで同一デー
タに関する二次記憶へのI/O回数は高々2度である。
1度は入力データの読み出し、あるいは前フェーズの作
業領域からの読み出しであり、1度は作業領域へのデー
タの書き込みである。したがって、I/O回数を削減す
る方法は、フェーズ数を削減するか、あるいは各フェー
ズの作業領域へのデータの読み書きを主記憶でバックア
ップするかのいずれかである。フェーズ数を削減するた
めには、ソート/マージ用に割り当てる主記憶量を調整
する必要がある。ソート/マージ用に割り当てられた主
記憶はランダムにアクセスする傾向にあり、作業領域用
に割り当てられた主記憶は順次アクセスとなる。
【0010】この発明では、並列ソートのSUBOPT
IMAL STAGE,OPTIMAL STAGEを
外部ソートとみなし、作業領域用に割り当てるメモリを
並列ソートの間で融通しあうことで、マージフェーズの
ストリングで2次記憶から読み出すブロック数を各スト
リングで均等にし、並列動作する外部ソートの終了時刻
をなるべく同じにする。
【0011】
【課題を解決するための手段】この発明の目的は、関係
データベースの問合せ処理の並列化処理で、ソート処理
を並列実行する際、二次記憶に対する入出力回数のバラ
ツキで生じる処理時間の片寄りを均等に調整することに
よって、全体性能を向上させることにある。
【0012】そのため、この発明の、ソート対象の入力
データを格納する第一の二次記憶と、前記第一の二次記
憶から読み出す入力データの所定数ブロックからなるス
トリングあるいはソート/マージ処理の中間段階で生成
されるストリングを保持するソート/マージ用主記憶領
域と、ソート/マージ処理の中間段階で生成されるスト
リングの格納領域をオーバフローするブロックを退避さ
せる作業領域を有する第二の二次記憶と、を各プロセス
それぞれで具備し、前記ソート/マージ用主記憶領域の
ストリングをソート/マージ処理して生成する新たなス
トリングを格納する前記格納領域からなるソート済スト
リング主記憶領域と、前記第一の二次記憶から入力デー
タの所定数ブロックからなるストリングを読み出して前
記ソート/マージ用主記憶領域に格納する入出力手段
と、前記ソート/マージ用主記憶領域のストリングをソ
ート/マージ処理して生成した新たなストリングを前記
ソート済ストリング主記憶領域に格納し、あるいは前記
ソート済ストリング主記憶領域のストリングをソート/
マージ処理して新たなストリングを前記ソート/マージ
用主記憶領域に移送するソート/マージ手段と、を全プ
ロセスで共有してなる並列ソート装置にあって、前記ソ
ート/マージ手段が前記ソート/マージ用主記憶領域の
ストリングをソート/マージ処理して生成する新たなス
トリングのブロックを前記ソート済ストリング主記憶領
域のストリングに追加して生じるオーバフローブロック
を前記作業領域に置き換えるとき、前記ストリングそれ
ぞれの置き換えられるブロック数を等しくするように制
御する作業領域管理手段と、前記ソート済ストリング主
記憶領域のオーバフローブロックを前記作業領域に前記
置き換えのため書き出し、あるいは前記ソート済ストリ
ング主記憶領域のストリングをソート/マージ処理する
とき、前記置き換えによる空きブロックを、前記作業領
域から読み出してストリングを復元するストリング書き
出し/読み込み手段と、を備えることを特徴とする。
【0013】ソートの対象となるデータは、二次記憶の
入力データからソート/マージ用主記憶領域に入り切る
所定数のブロックをストリングとして取り出され、その
中で内部ソートされる。この処理は、別々のプロセス
(あるいはプロセッサ)によって並列に実施される。い
ったん内部ソートが完了して生成される新たなストリン
グは個々のプロセスでソート済ストリング用主記憶領域
に転送される。ソート済ストリング用主記憶のストリン
グのブロックは、二次記憶の作業領域に転送されて対応
付けられる。ソート/マージ用主記憶領域に各々のプロ
セスで新たな入力データが読み出されるが、この際の待
ち時間には、ストリング書きだし/読み出し手段がソー
ト/マージ用主記憶領域のストリング中のブロックを書
き出せるだけソート済ストリング主記憶領域と二次記憶
の作業領域に書き出す。前記動作中に、転送すべきソー
ト済ストリング用主記憶に空きがなくなった場合、作業
領域管理手段が、各ストリングで置き換えブロック数が
等しくなる様に置き換えるべきブロックを決定する。こ
の決定方法については、実施例で説明する。
【0014】マージフェーズでは、ソート済ストリング
用主記憶領域の順次ソート済のストリングを順に取り出
し、マージ用主記憶領域に転送してマージ処理を行う。
これは、複数のプロセスで並列に実施される。この動作
を各プロセスが作成した全てのストリングに対して実施
する。マージ処理が完了したものは、従来技術で説明し
たPOSTOPTIMAL STAGEの処理に渡され
る。これは、同一マシン内で実施してもよいし、別マシ
ンに転送して実施してもよい。
【0015】上記動作中に、ソート済ストリング用主記
憶のブロックに空きができた場合、ストリング書き出し
/読み込み手段は二次記憶の作業領域から空きになった
ブロックと同じストリングで次に利用するブロックの読
み出し要求を出す。どのブロックを読み出すかについて
の方法を実施例で説明する。二次記憶の作業領域からブ
ロックの読み出しは、マージ処理実行中に行われる。マ
ージ処理は、ソート済ストリング主記憶領域中のストリ
ングがなくなった場合、ストリング書き出し/読み出し
手段が要求した読み出し要求の終了を待ち合わせる。こ
の動作によって、各プロセスが二次記憶の作業領域から
読み出すブロック数を均等にして、プロセス間で外部ソ
ートに必要な処理時間を合わせることができる。
【0016】
【発明の実施の形態】次に、この発明について、図面を
参照して説明する。
【0017】この発明の一実施例の構成を示す図1を参
照すると、並列ソート装置1が2つのプロセスで動作す
る構成を例示し、ソートの入力となる入力データ21,
22と、入力データをプロセス対応のソートマージ用主
記憶領域31,32に読み込むための入出力手段3と、
読み込んだ入力データをソート/マージ用主記憶領域3
1,32上でソートあるいはマージして新しいストリン
グを生成するソート/マージ手段4と、ソート/マージ
手段4によってソートされた結果であるストリング51
乃至54を蓄えるソート済ストリング用主記憶領域5
と、入力データの量が多く、ソート済ストリング領域5
がオーバフローして、該主記憶領域5が不足した場合に
備えて、ストリング51乃至54でどのブロックを新た
なブロックの置き換え用として選択するかを決定する作
業領域管理手段6と、作業領域管理手段6が決定したブ
ロックをプロセス対応の作業領域81,82に書き出す
ストリング書き出し/読み込み手段7と、を備える。
【0018】この実施例では、各並列処理のプロセスが
ソート結果を1本のストリングとしている。これは、従
来技術で述べた並列ソートのSUBOPTIMAL S
TAGE,OPTIMAL STAGEに相当する。最
終的に各プロセスで処理したソート済ストリングから1
本のソート結果を得るには、さらにその結果をマージす
る必要がある。入力データ21,22とソート/マージ
用主記憶領域31,32と、作業領域81,82は並列
処理単位のプロセス毎に存在し、ソート済ストリング用
主記憶領域5のみが、並列処理のプロセスに共通した領
域であるものとしている。作業領域81,82や、ソー
ト/マージ用主記憶領域31,32を並列処理単位に共
通にする変更を加えることは可能である。
【0019】次に、この実施例のソートマージ用主記憶
領域31,32と、ソート済ストリング用主記憶領域5
のサイズの決定方法を説明する。更に作業領域管理手段
6がソート済ストリング用主記憶領域5上のストリング
51乃至54のどのブロックを置き換えるかの決定方法
を説明し、更にソート済ストリング用主記憶領域5に空
きブロックが発生した場合、ストリング書き出し/読み
出し手段7がどのブロックを二次記憶の作業領域81,
82から復元するかの決定方法を説明する。
【0020】先ず主記憶領域のサイズの決定方法を説明
する。ソート/マージ用主記憶はプロセス固有の領域で
あり、サイズは各プロセスで同じにする。各プロセスが
処理する入力データサイズをnとし、ソート用主記憶の
サイズをmとすると、一つのプロセスが生成するソート
済ストリングの数は最大でn/mとなる。一方、マージ
処理が必要とするメモリ量は、処理対象のストリング数
に依存して増加する。簡単のために、マージ対象のスト
リングは、そのプロセスが生成したストリングであると
する。マージ処理で必要な主記憶量をf(n/m)で表
わすと、 m=f(n/m) なるメモリ量mを決定することが望ましい。たとえば、
f(n/m)=n/mのケースを考えると、上式はm=
n/mとなり、m=root(n)となる。上述のよう
に、ソート/マージ用主記憶領域サイズは、マージアル
ゴリズムで使用するメモリ量と処理の入力データとから
決定することができる。入力データのデータ量の半分の
桁数のメモリ量を割り当てることになる。利用可能な主
記憶のうち、残りの主記憶をソート済ストリング用主記
憶領域に割り当てる。
【0021】次に、作業領域管理手段6のブロック置き
換えの動作の流れ図3を参照し、ブロック置き換えの動
作を説明する図2(a),図2(b),図2(c),図
2(d)を援用して、作業領域管理手段6による置き換
えアルゴリズムを説明する。図2(a)乃至図2(d)
では、ソート処理結果としてストリング51乃至54の
4本が生成され、ソート済ストリング用主記憶領域5に
渡されるものとしている。ソート済ストリング用主記憶
領域5に存在するブロックは全部で12ブロック分であ
るものとしている。また12ブロックがオーバフローし
て、ブロックの置き換えが発生し、ソート済ストリング
用主記憶領域5から作業領域81,82に置き換えで追
い出されたブロックは黒の塗り潰しで示すことにする。
図2(c),図2(d)で、置き換え数とは、この黒塗
りのブロック数である。また、残りとは、図2(a),
(b)で網点で示されているソート済ストリング主記憶
領域5の12ブロック内に残っている数である。空白の
ブロックは、今後処理で生成される予定のストリングの
ブロックである。ストリング51とストリング52はプ
ロセス15がソート処理したストリングであり、後のマ
ージ処理でもプロセス15が使用する。ストリング53
とストリング54はプロセス16がソート処理したスト
リングであり、後のマージ処理ではプロセス16が使用
する。
【0022】先ず図2(a)は、ストリング53の生成
時に領域がオーバフローし、初めて置き換えが必要にな
った時点でソート済ストリング主記憶領域5の12ブロ
ック内にストリングが納められた状況を示している。こ
の時点で、ストリング51,52,53の全ての置き換
え数は0であるが、生成したブロックを該領域5に格納
するとき、図3によれば、自分以外(つまり処理対象と
なっているストリング53以外)を優先的に選択するの
で、置き換え対象としてストリング51が選ばれる(ス
テップ61)。ストリング51の1ブロックを置き換え
た場合にソート済ストリング用主記憶に残るブロックが
存在する(1以上である)ので、このストリングの最後
に転送された部分(図2の513)が置き換えの対象と
なったことを示している(ステップ62のno)。な
お、ブロック1個を残すのは、全てのソートストリング
が生成された後のストリングのマージ処理を実行するた
めには、全てのストリングの最も小さい値を含むブロッ
クがソート済ストリング用主記憶領域5に存在する必要
があるからである。図3のアルゴリズムにしたがって、
4本全てのストリングの処理が終わった時点の状態を図
2(b)に示す。ストリング54のブロックは、自身の
ストリング書き出し中に発生した黒の塗潰し部分51
2,513,522,523,536,537,54
2,546の置き換えによって、12ブロック内の網点
511,521,531乃至535,541,543乃
至545,547に納められている。この様な置き換え
は、図3のステップ62の条件から、図2のブロック5
41では発生しない。図2(b)によれば最終的に全て
のストリングで置き換え数が2となり、読み出すべきブ
ロック数が同じになる様に調整されていることがわか
る。このことは、マージ処理時にプロセス15およびプ
ロセス16で必要な作業領域81,82からの読みだし
回数が等しくなり、各プロセスでのマージ処理終了時間
が均等になることを意味する。ソート済ストリング主記
憶領域5にストリングが生成されて、ブロックを置き換
えるためには、ソート済ストリング用主記憶5の置き換
え対象となるブロックをストリング書き出し/読みだし
手段7で作業領域81,82に書き出す必要がある。書
き出すタイミングを、置き換えが発生するタイミングと
したが、事前に書き出しておくこともできる。たとえ
ば、最初に置き換えが発生する一つ前(つまり、ソート
済ストリング用主記憶領域に1ブロックの空きがある時
点で)に、図3のアルゴリズムを適用し、次に置き換え
が発生した場合に置き換えるブロックの書き出し要求を
出しておくことで、入力データからの読み出しおよびソ
ート処理と作業領域81,82へのブロックの書き出し
処理をオーバラップさせて、処理時間を短縮することが
できる。マージフェーズでソート済ストリング領域5の
或るブロックの処理が完了し、そのブロックが再利用可
能となった場合、ストリング書き出し/読み込み手段7
がどのブロックを作業領域81,82から読み出すかを
説明する。
【0023】先ず図2(b)がマージ処理の開始時点で
ある。ストリング書き出し/読み込み手段7のブロック
選択基準を示すフローチャートである図4によれば図2
(b)で、プロセス16のマージ処理が進行し、ブロッ
ク531が空になったとする。ここで、図4の1のフロ
ーチャートに従うと、プロセス56自身のマージ処理
で、空きのブロック531に読み出す作業領域のブロッ
クは、図2(b)の536,542から置き換えられた
ブロックで、このうち542は距離1であり、536は
距離5であることから(ステップ71,72)、ストリ
ング書き出し/読み込み手段7はブロック542を読み
出す(ステップ73)。この間、マージ処理は、図2
(b)のブロック541,532の間で継続する。一
方、プロセス15のマージ処理が進行しブロック511
が空になったとすると、次に読み出すべきブロックは図
2(b)の512,522で置き換えられたブロックで
あり、各々距離は1なので、自分のストリングの次のブ
ロックである512が読み出しの対象となる。
【0024】なお、この実施例では、ダブルバッファに
よる先読みを考慮していないが、図3のステップ2で、
残すバッファ数を調整することで、ダブルバッファによ
る先読みを実施することもできる。たとえば、図3のス
テップ2の判定条件を、「残りが1以下または、そのプ
ロセスの先読み用バッファが1以下」あるいは、「残り
が2以下」などと変更すればよい。この場合、図4のア
ルゴリズムはまったく変わりない。またこの実施例にお
いて、プロセスを共有メモリ型マルチプロセッサの各プ
ロセッサに割り当てる変更ができることは明きらかであ
る。
【0025】
【発明の効果】以上説明した様に、この発明によれば、
並列に実行する外部ソートのマージフェーズで読み出す
べきブロック数を均等になるように調整することによっ
て、マージフェーズの終了時刻を各プロセスで同じにし
て、ソート/マージ処理全体の処理時間を短縮できる。
たとえば、図2(b)の例では、プロセス毎に別々の作
業領域用の二次記憶を持つとすると、二次記憶へのI/
O回数は各プロセスで4回ずつである。これに対して、
各プロセスで均等にソート済ストリング用主記憶を割り
当てたとすると、プロセス15は全てメモリに収まるた
めに、I/O回数は0であり、プロセス16では8回の
I/Oが必要となり、この発明の装置の2倍のI/O回
数のプロセスが全体の処理時間を低下させる。
【0026】また、この発明によれば、空きブロックに
読み出すブロックを決定する際に、現在使用しているブ
ロックからの距離を利用することで、最も必要度の高い
データを読み出しの対象とすることができ、I/O中に
マージ処理を並列して行うことができる。たとえば、図
2(b)の例では、ブロック531が空となった場合に
ブロック536を読み出すと、次にブロック542が必
要になった場合に、ブロック542の読み出し完了まで
マージ処理を待つ必要がある。これは、ブロック542
がブロック536よりも前に必要となる可能性が高いか
ら各ストリングが均等なソートキーの分布を持つ場合に
は有効になる。
【図面の簡単な説明】
【図1】この発明の一実施例の構成を示す図である。
【図2】分図(a)は、ストリングに新たなブロックを
つなぐとき、置き換えるブロックを決定する説明図、分
図(b)は、ソート済ストリングをマージするとき、読
み出すブロックを決定する説明図、分図(c)は、分図
(a)の時点でのストリングの状況を説明する図、分図
(d)は分図(b)の時点でのストリングの状況を説明
する図である。
【図3】ソート済ストリングを主記憶領域で置き換える
際のフローチャートである。
【図4】ソート済ストリング用主記憶領域に空ができた
場合の二次記憶の作業領域からの読み出しのフローチャ
ートである。
【図5】従来の並列ソートを示す図である。
【符号の説明】
1 並列ソート装置 3 入出力手段 4 ソート/マージ手段 5 ソート済ストリング主記憶領域 6 作業領域管理手段 7 ストリング書き出し/読み込み手段 21,22 入力データ 31,32 ソート/マージ用主記憶領域 81,82 作業領域
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−111029(JP,A) 特開 平5−80977(JP,A) 特開 平2−259828(JP,A) 特開 昭62−285130(JP,A) 特開 昭62−251923(JP,A) 特開 平3−71227(JP,A) 特公 平7−104871(JP,B2) 特公 平7−82427(JP,B2) (58)調査した分野(Int.Cl.7,DB名) G06F 7/24 - 7/36 G06F 12/00 G06F 12/08 - 12/12 G06F 15/177

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 ソート対象の入力データを格納する第一
    の二次記憶と、 前記第一の二次記憶から読み出す入力データの所定数ブ
    ロックからなるストリングあるいはソート/マージ処理
    の中間段階で生成されるストリングを保持するソート/
    マージ用主記憶領域と、 ソート/マージ処理の中間段階で生成されるストリング
    の格納領域をオーバフローするブロックを退避させる作
    業領域を有する第二の二次記憶と、 を各プロセスそれぞれで具備し、 前記ソート/マージ用主記憶領域のストリングをソート
    /マージ処理して生成する新たなストリングを格納する
    前記格納領域からなるソート済ストリング主記憶領域
    と、 前記第一の二次記憶から入力データの所定数ブロックか
    らなるストリングを読み出して前記ソート/マージ用主
    記憶領域に格納する入出力手段と、 前記ソート/マージ用主記憶領域のストリングをソート
    /マージ処理して生成した新たなストリングを前記ソー
    ト済ストリング主記憶領域に格納し、あるいは前記ソー
    ト済ストリング主記憶領域のストリングをソート/マー
    ジ処理して新たなストリングを前記ソート/マージ用主
    記憶領域に移送するソート/マージ手段と、を全プロセ
    スで共有してなる並列ソート装置にあって、 前記ソート/マージ手段が前記ソート/マージ用主記憶
    領域のストリングをソート/マージ処理して生成する新
    たなストリングのブロックを前記ソート済ストリング主
    記憶領域のストリングに追加して生じるオーバフローブ
    ロックを前記作業領域に置き換えるとき、前記ストリン
    グそれぞれの置き換えられるブロック数を等しくするよ
    うに制御する作業領域管理手段と、 前記ソート済ストリング主記憶領域のオーバフローブロ
    ックを前記作業領域に前記置き換えのため書き出し、あ
    るいは前記ソート済ストリング主記憶領域のストリング
    をソート/マージ処理するとき、前記置き換えによる空
    きブロックを、前記作業領域から読み出してストリング
    を復元するストリング書き出し/読み込み手段と、を備
    えることを特徴とする並列ソート装置。
  2. 【請求項2】 前記プロセスそれぞれをメモリ共有型マ
    ルチプロセッサの各プロセッサに割り当てることを特徴
    とする請求項1記載の並列ソート装置。
JP8039799A 1996-02-27 1996-02-27 並列ソート装置 Expired - Fee Related JP3005466B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8039799A JP3005466B2 (ja) 1996-02-27 1996-02-27 並列ソート装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8039799A JP3005466B2 (ja) 1996-02-27 1996-02-27 並列ソート装置

Publications (2)

Publication Number Publication Date
JPH09231053A JPH09231053A (ja) 1997-09-05
JP3005466B2 true JP3005466B2 (ja) 2000-01-31

Family

ID=12563012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8039799A Expired - Fee Related JP3005466B2 (ja) 1996-02-27 1996-02-27 並列ソート装置

Country Status (1)

Country Link
JP (1) JP3005466B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601223B1 (en) 2006-09-19 2013-12-03 Nvidia Corporation Techniques for servicing fetch requests utilizing coalesing page table entries

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101014727B1 (ko) * 2004-06-23 2011-02-16 엘지전자 주식회사 1회 기록 가능한 광디스크의 중첩 기록 방법 및 장치
CN114546943B (zh) * 2022-02-21 2024-06-21 重庆科创职业学院 基于多进程调用的数据库文件排序优化方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601223B1 (en) 2006-09-19 2013-12-03 Nvidia Corporation Techniques for servicing fetch requests utilizing coalesing page table entries

Also Published As

Publication number Publication date
JPH09231053A (ja) 1997-09-05

Similar Documents

Publication Publication Date Title
US7805427B1 (en) Integrated search engine devices that support multi-way search trees having multi-column nodes
US7139783B2 (en) Materialized view system and method
US6954759B2 (en) Data processing method using record division storing scheme and apparatus therefor
US5307485A (en) Method and apparatus for merging sorted lists in a multiprocessor shared memory system
US7603346B1 (en) Integrated search engine devices having pipelined search and b-tree maintenance sub-engines therein
JP3453757B2 (ja) バッファ管理方法
US6088705A (en) Method and apparatus for loading data into a database in a multiprocessor environment
US8086641B1 (en) Integrated search engine devices that utilize SPM-linked bit maps to reduce handle memory duplication and methods of operating same
JP2002510079A (ja) メモリ・インタフェース間で読み書きの順序付けられた実行を強制する方法と装置
JP2708657B2 (ja) スプリット制御方法
JP2781092B2 (ja) システム間排他制御方式
CN1226023A (zh) 加载/加载检测和重定序方法
US7987205B1 (en) Integrated search engine devices having pipelined node maintenance sub-engines therein that support database flush operations
JP2960297B2 (ja) データベースシステム及び負荷分散制御方法
CN101339527B (zh) 影子内存的备份方法及装置
JPWO2004036432A1 (ja) データベースのアクセラレーター
US7953721B1 (en) Integrated search engine devices that support database key dumping and methods of operating same
JP3005466B2 (ja) 並列ソート装置
JPH0277858A (ja) 複数のプロセッサを有する計算機システムの記憶制御装置
AU2017422723B2 (en) Data loading program, data loading method, and data loading apparatus
JPH0789334B2 (ja) データベース管理処理方式
JPH0581337A (ja) データ処理装置
JPS6141024B2 (ja)
JP2615046B2 (ja) レコード追加処理方法
JP3668243B2 (ja) データベース管理システム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19991102

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071119

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121119

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees