JPH05274117A - ソート処理方式 - Google Patents
ソート処理方式Info
- Publication number
- JPH05274117A JPH05274117A JP6712292A JP6712292A JPH05274117A JP H05274117 A JPH05274117 A JP H05274117A JP 6712292 A JP6712292 A JP 6712292A JP 6712292 A JP6712292 A JP 6712292A JP H05274117 A JPH05274117 A JP H05274117A
- Authority
- JP
- Japan
- Prior art keywords
- data
- sort
- comparison
- sort processing
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
く高速にソート処理が行える。 【構成】 比較装置(SE)1−1〜1−nと記憶装置
2−1〜2−nからなるソート処理基本装置3−1〜3
−nを複数台接続して構成されたソート処理装置5にお
いて、比較装置内部に高速の内部記憶装置4−1〜4−
nを設け、内部記憶装置4−1〜4−nと記憶装置2−
1〜2−n間で必要なソートデータを一括して移動させ
る。比較装置(SE)1−1〜1−nでの大小の比較処
理の際には、所要のデータを高速内部記憶装置4−1〜
4−nから参照して行う。 【効果】 DRAMのように安価大容量の記憶素子を用
いて、安価で大容量のソート処理装置が構成できる。一
方、このような記憶素子の速度による性能低下を回避
し、同時に高速なソート処理装置が得られる。
Description
した順序に並べ替えるソート処理を行うソート処理方式
に関するものである。
of 5th International Wor
kshop on Database Machine
s,pl45の文献に示された従来のソート処理方式に
よるソート処理装置の全体を示すブロック図である。図
3において、1−1〜1−nは比較装置(SE)、2−
1〜2−nは比較装置毎に接続された記憶装置、3−1
〜3−nは比較装置(SE)1−1〜1−nと記憶装置
2−1〜2−nからなるソート処理基本装置、5はこれ
らソート処理基本装置を複数台接続することにより構成
されたソート処理装置である。
説明する。ソートすべきデータAは図3のソート処理装
置5に対し、左端のソート処理基本装置3−1に順次入
力され、左端のソート処理基本装置3‐1から右端のソ
ート処理基本装置3−nへと部分的に順序を変えながら
送られ、右端のソート処理基本装置3−nから出力され
る際に、最終的に所要の順序にデータWがソートされ
る。上記の文献のp146に示された図を図4として引
用して説明する。図4では、データが14、9、10、
7、3、2、6、11、1、13、4、9、12、5、
15、8の順で左端のソート処理基本装置3−1に入力
されると仮定している。このことが図4の比較装置(S
E)1−1の部分に示されている。説明のため、ここで
は降順のソートが指定され、また、比較装置(SE)1
−1〜1−nはそれぞれ二つのデータの比較が行えると
仮定する。
すようなデータ(14、9、10、7、3、2、6、1
1、1、13、4、9、12、5、15、8)が入力れ
ると、以下のように動作してデータを二つ毎に降順にソ
ートして出力する。すなわち、比較装置(SE)1−1
は最初に入力されたデータ「14」を記憶装置2−1に
格納し、このデータ「14」と次に入力されたデータ
「9」とを比較する。この結果、比較装置(SE)1−
1はデータ「14」を先に出力し、データ「9」を後に
出力する。これを次々と繰り返すと、左端のソート処理
基本装置3−1からは(14、9)、(10、7)、
(3、2)、(11、6)、(13、1)、(9、
4)、(12、5)、(15、8)の順で二つずつ降順
にソートされたデータ(ここでは降順2個組と呼ぶ。)
が次段のソート処理基本装置3−2に対して出力され
る。この様子は図4の比較装置(SE)1−2の部分に
示されている。ここで、比較装置(SE)1−1によ
り、例えば、データ「14」とデータ「9」の比較をし
てデータ「14」が先に出力される期間には、比較装置
(SE)1−1には同時に次の入力データ「10」が入
力されてくる。この入力データは次の比較のために、左
端のソート処理基本装置3−1の記憶装置2−1にデー
タ「14」の出力期間中に格納される。同様に、比較装
置(SE)1−1からデータ「14」に続いてデータ
「9」が出力される期間には比較装置(SE)1−1で
は次の入力データ「7」が入力され、先に格納しておい
た「10」との比較が同時に行われることになる。
ら入力されてくる降順2個組のデータを更に部分的にソ
ートし、降順4個組のデータにして次段のソート処理基
本装置3−3に送り出す。このために、まずこのソート
処理基本装置3−2は最初に入力されてくる降順2個組
(14、9)のデータを自身の記憶装置1‐2に格納す
る。この格納した降順2個組の先頭のデータ「14」
と、次に入力されてくる降順2個組の先頭データ「1
0」を比較する。降順が指定されているため、データ
「14」がまず出力される。続いて、最初の降順2個組
の残りのデータ「9」と後の降順2個組の先頭データ
「10」が再び比較され、データ「10」が出力され
る。次に最初の降順2個組の残りのデータ「9」と後の
降順2個組の残りのデータ「7」が比較され、データ
「9」、「7」の順に出力される。この動作を第2番目
のソート処理基本装置3‐2が繰り返すことにより、第
3番目のソート基本処理装置3−3に対しては(14、
10、9、7)、(11、6、3、2)、(13、9、
4、1)、(15、12、8、5)の降順4個組が出力
される。この様子は図4の比較装置(SE)1−3の部
分に示されている。ここで、例えばデータ「14」と
「10」の比較によりデータ「14」が先に出力される
期間には同時に次の入力データ「3」が入力されてく
る。このデータは次の比較のために記憶装置2−3にデ
ータ「14」の出力と同時に格納される。更に、データ
「14」に続いてデータ「10」が出力される期間に
は、次の入力データ「2」が入力され、記憶装置2−3
に格納される。最後にデータ「9」と「7」の比較の際
には、これらデータは共に記憶装置内に存在するため、
比較の際には記憶装置を2回アクセスし、これらを読出
すと共に、その後、読出したデータ「9」と「7」との
比較、また、出力の際に入力されてくるデータ「11」
を記憶装置2−3に格納することが行われる。
本装置においても同様に実行され、第i番目のソート処
理基本装置が降順2i個組のデータを出力することによ
り、2n個のデータはn番目のソート処理基本装置出力
時に降順2n個組のデータとなって出力され、所定の降
順ソートが実現されることになる。ここで、各データの
長さをLとすると、少なくとも第i番目のソート処理基
本装置の記憶装置は2i-1xLの容量を有する必要があ
り、ソート処理基本装置には左端から順に容量が2倍ず
つ必要となる。この様子は図3に記憶装置2−1〜2−
nが順に2倍の大きさとなることで示されている。
4」、「9」等の簡単な整数のみからなるとして説明し
たが、実際にはソート対象となる個々のデータは、例え
ば人事データの場合は、姓名、住所、年齢、その他の内
容を有し、数百バイトから数Kバイトとなる場合もあ
る。このように、データ長が長く、比較装置による一度
の比較では順序を決定できない場合には、順序が決定す
るまで各データの比較の度に上記比較操作を繰り返す必
要がある。この際、先の第2番目のソート処理基本装置
におけるデータ「9」と「7」との比較の際に説明した
ように、各ソート処理基本装置内部の比較装置は、一般
的には、自身の記憶装置から二つの比較対象データを読
出し、これらを比較すると同時に、入力されてくるデー
タを自身の記憶装置に書込むことを繰り返すことにより
動作する。この様子を図5に示す。図5において、比較
装置(SE)1−iは比較される二つのデータを各々1
番目のデータ、2番目のデータとし、また同時に入力さ
れるデータを3番目のデータとして、i番目のデータの
j回目の読出しをRij、i番目のデータのj回目の書
込みと読出したデータの比較をWijと示し、データ全
体の比較と入力データ全体の格納には各々3回のアクセ
スが必要な状態を示している。すなわち、まず第1のデ
ータ(R11)の最初の断片をアクセスし、次に、第2
のデータ(R21)の最初の断片をアクセスし、これら
を比較すると同時に、入力データ(W31)の最初の断
片を記憶装置に格納する。次に、第1のデータ(R1
1)の2番目のデータ(R12)の断片をアクセスし、
次に、第2のデータ(R21)の二番目のデータ(R2
2)の断片をアクセスし、これらを比較すると同時に、
入力データ(W31)の二番目のデータ(W32)の断
片を記憶装置に格納する。最後に、同様なことを各々3
番目のデータ(R13,R23,W33)の断片につい
て実行することにより、二つのデータの比較と一つの入
力データの、記憶装置への格納が終了する。
較処理やデータの一時保持、比較結果の出力等、単純な
処理で構成されるため、高速化が容易であるのに対し、
記憶装置は記憶装置を構成する記憶素子の性能に制約さ
れる。特に、現実的なソート処理装置の利用状況では、
企業の人事データや銀行の口座データ等、比較的大量の
データのソートが要求される。このために、一般には記
憶装置としては比較的低速でも大容量で安価なDRAM
(Dynamic RAM)が使用されることが多い。
また、DRAMを用いて構成された記憶装置のアクセス
速度は、比較装置の動作速度に比較すると低速である。
従って、従来のソート処理装置は、以上のように構成さ
れているため、各ソート処理基本装置内部での記憶装置
に対する2回の読出しと1回の書込みに要する時間より
処理性能が決定されてしまい、比較装置やソート処理基
本装置間のデータ移動時間を高速化しても、記憶装置へ
のアクセス時間が隘路となり、全体としての性能が向上
しない、あるいは記憶装置を構成する素子としての高速
の記憶素子を使用せざるを得ず、そのためソート処理装
置が高価となる問題があった。
るためになされたもので、DRAMのような安価で低速
な記憶素子を用いて記憶装置を構成する一方、この記憶
装置のアクセス性能に制約されることがなく高速にソー
ト処理が行える、安価で高性能なソート処理方式を得る
ことを目的とする。
理方式は、図1で示すように、比較する対象のソートデ
ータを一時的に記憶する第1の記憶手段(記憶装置3−
1〜3−n)と、この第1の記憶手段から少なくとも二
つ以上の上記ソートデータを読出して大小を比較する比
較手段(比較装置(SE)1−1〜1−n)とからなる
ソート処理手段(ソート処理基本装置3−1〜3−n)
を複数段設け、それぞれの上記ソート処理手段で上記ソ
ートデータを部分的に並べ替えて、全体として指定した
順序に並べ替えるソート処理方式において、それぞれの
上記処理手段に、上記第1の記憶手段よりデータの読み
書き速度の速い第2の記憶手段(内部記憶装置4−1〜
4−n)を設け、比較する対象のソートデータを上記第
1の記憶手段から上記第2の記憶手段に一括して読出し
て移動し、上記比較手段でソートデータの比較処理を行
う場合は、上記第2の記憶手段に記憶されたソートデー
タを参照して行うようにした。
(比較装置(SE)1−1〜1−n)によって、比較対
象となるソートデータを小さな単位で第1の記憶手段
(記憶装置3−1〜3−n)から読出すことを繰り返す
のではなく、第1の記憶装置よりも読み書き速度の速い
一定量のデータを記憶できる第2の記憶手段(内部の記
憶装置4−1〜4−n)を設け、この第2の記憶手段に
比較されるソートデータ全体を第2の記憶手段の性質を
利用した高速なアクセス方法により一括して転送し、比
較の際にはこの第1の記憶手段ではなく、第2の記憶手
段のデータを読出すことにより、記憶装置による性能制
約を大きく緩和する。このようにして、比較対象のソー
トデータが第1の記憶手段の性質を利用した高速アクセ
スにより、第2の記憶手段に転送され、更に比較の際
に、第2の記憶手段を高速にアクセスして処理を行うこ
とにより比較処理の高速化を実現する。
る。図1はこの発明の実施例に係るソート処理装置を示
したブロック図である。図1において、1−1〜1−n
は比較手段としての比較装置(SE)、2−1〜2−n
は第1の記憶手段としての記憶装置、3−1〜3−nは
ソート処理基本装置、5はソート処理装置、4−1〜4
−nは比較装置(SE)1−1〜1−n内部に設けられ
た第2の記憶手段としての高速の内部記憶装置である。
また、図2はこの発明に係るソート処理装置によるソー
ト処理の際の比較処理の詳細を示した図である。なお、
従来例(図3)と同じ機能の部分には、同符号を付して
おり、以下の説明は省略する。内部記憶装置4−1〜4
−nは、比較装置(SE)1−1〜1−nにそれぞれ設
けられている。この内部記憶装置4−1〜4−nは、記
憶装置1−1〜1−nよりも読出し書込み速度が速く、
ある程度の量のソートデータを一括して読出せるだけの
容量を持っており、比較する対象のソートデータは記憶
装置2−1〜2−nからそれぞれ一括して読出して移動
する。そして、比較装置(SE)1−1〜1−nが指定
した順序にそのソートデータを並び変える場合には、内
部記憶装置4−1〜4−nに対して行う。
は、一定以上の量のデータを連続的にアクセスする場合
には同一の量のソートをランダムにアクセスする場合よ
りも高速化することが可能である。この方法の一つはメ
モリインタリーブと呼ばれる方法であり、記憶装置をN
個の部分記憶装置に分割し、連続したデータのアクセス
の際には、これらの部分記憶装置を並列に動作させるこ
とにより、記憶装置が分割されない場合に比較してアク
セスをN倍高速化するものである。また、更に一つの方
法は、ソート処理装置の記憶装置に広く用いられるDR
AMの性質を応用したもので、ページモードアクセスと
呼ばれる方法である。これは、一般に、DRAMで構成
された記憶装置へのアクセスには二つのアドレスを指定
するが、アクセスするデータの量が比較的大きく、また
アドレスが連続的であればこれら二つのアドレスの内、
一方を固定したまま、もう一方のアドレスのみを連続的
に変化させることにより、このようなデータを二つのア
ドレスを両方変化させる場合よりも高速にアクセスする
方法である。以上のように、比較装置(SE)1−1〜
1−nの内部記憶装置4−1〜4−nに、ソートデータ
を記憶装置2−1〜2−nから一括して読出す場合、上
記の方法を使用することにより、記憶装置へのアクセス
(読出し書込み)の速度を速くできる。
る。ソート処理全体の動作は従来の技術(図3)と同様
であり、この発明では、二つのソートデータを比較し、
また同時に入力されてくるソートデータを記憶装置に格
納する際の詳細動作が異なる。従来の技術では、図5に
示されるように、比較装置(SE)1−1〜1−nで比
較できる長さによって記憶装置内部のソートデータを複
数回にわけてアクセスし、比較を繰り返す。一方、この
発明に係るソート処理装置では、図2に示すように、ま
ず、記憶装置2−1〜2−nの連続したソートデータに
対する高速アクセスの方法により第1のデータ全体R1
1,R12,R13を比較装置(SE)4−〜4−n内
部の内部記憶装置4−1〜4−nに読み込む。この読み
込みの時間は上記の高速アクセスにより、図5に示され
た、例えば、R11、R12、R13の読み込みの時間
を加えたものよりも小さい時間でのアクセスが実現され
る。次に、同様にして、第2のデータ全体も比較装置
(SE)1−1〜1−n内部の内部記憶装置4−1〜4
−nに読み込む。最後に、これら内部記憶装置4−1〜
4−nに読み込まれたソートデータを比較しつつ、同様
に高速アクセスの方法を用いて、入力されてくるソート
データを記憶装置に格納する。
の記憶手段をそれぞれのソート処理基本装置に設け、デ
ータの大小を比較装置1−1〜1−nで比較する場合
は、第2の記憶手段に第1の記憶手段から一括して読み
込んだソートデータに対して行うような構成とし、ま
た、安価で大容量な記憶素子を用いることができる一
方、比較手段と第1,第2の記憶手段間のアクセスを一
定以上の連続したデータを対象とし、このアクセスにメ
モリインタリーブ、DRAMのページモードアクセス等
の方法を適用したので、安価で大容量で、かつ記憶装置
の通常のアクセス速度が隘路とならない高速なソート処
理が実現できる効果がある。
すブロック図である。
示す図である。
ある。
念を示す図である。
較処理の詳細を示す図である。
Claims (1)
- 【請求項1】 比較する対象のソートデータを一時的に
記憶する第1の記憶手段と、この第1の記憶手段から少
なくとも二つ以上の上記ソートデータを読出して大小を
比較する比較手段とからなるソート処理手段を複数段設
け、それぞれのソート処理手段で上記ソートデータを部
分的に並べ替えて、全体として指定した順序に並べ替え
るソート処理方式において、それぞれの上記処理手段
に、上記第1の記憶手段よりデータの読み書き速度の速
い第2の記憶手段を設け、比較する対象のソートデータ
を上記第1の記憶手段から上記第2の記憶手段に一括し
て読出して移動し、上記比較手段でソートデータの比較
処理を行う場合は、上記第2の記憶手段に記憶されたソ
ートデータを参照して行うことを特徴とするソート処理
方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06712292A JP3238939B2 (ja) | 1992-03-25 | 1992-03-25 | ソート処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06712292A JP3238939B2 (ja) | 1992-03-25 | 1992-03-25 | ソート処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05274117A true JPH05274117A (ja) | 1993-10-22 |
JP3238939B2 JP3238939B2 (ja) | 2001-12-17 |
Family
ID=13335785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06712292A Expired - Lifetime JP3238939B2 (ja) | 1992-03-25 | 1992-03-25 | ソート処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3238939B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61275935A (ja) * | 1985-05-31 | 1986-12-06 | Toshiba Corp | マ−ジシステム |
JPS62113234A (ja) * | 1985-11-07 | 1987-05-25 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | レコ−ドセツト分類方法 |
JPS62179026A (ja) * | 1986-01-31 | 1987-08-06 | Nec Corp | ソ−トブロツク先読み方式 |
JPH01189723A (ja) * | 1988-01-25 | 1989-07-28 | Agency Of Ind Science & Technol | マージ・ソータ |
JPH02254536A (ja) * | 1989-03-29 | 1990-10-15 | Mitsubishi Electric Corp | マージデータ送信制御方式 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4954951A (en) | 1970-12-28 | 1990-09-04 | Hyatt Gilbert P | System and method for increasing memory performance |
-
1992
- 1992-03-25 JP JP06712292A patent/JP3238939B2/ja not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61275935A (ja) * | 1985-05-31 | 1986-12-06 | Toshiba Corp | マ−ジシステム |
JPS62113234A (ja) * | 1985-11-07 | 1987-05-25 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | レコ−ドセツト分類方法 |
JPS62179026A (ja) * | 1986-01-31 | 1987-08-06 | Nec Corp | ソ−トブロツク先読み方式 |
JPH01189723A (ja) * | 1988-01-25 | 1989-07-28 | Agency Of Ind Science & Technol | マージ・ソータ |
JPH02254536A (ja) * | 1989-03-29 | 1990-10-15 | Mitsubishi Electric Corp | マージデータ送信制御方式 |
Also Published As
Publication number | Publication date |
---|---|
JP3238939B2 (ja) | 2001-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5423015A (en) | Memory structure and method for shuffling a stack of data utilizing buffer memory locations | |
EP0066061A2 (en) | Relational algebra engine | |
US20170024466A1 (en) | System and method for natural language processing using synthetic text | |
WO2022007266A1 (zh) | 一种卷积神经网络的加速方法及装置 | |
US20030037209A1 (en) | Memory engine for the inspection and manipulation of data | |
US20220179849A1 (en) | Accelerated filtering, grouping and aggregation in a database system | |
US6898661B2 (en) | Search memory, memory search controller, and memory search method | |
WO2022179023A1 (zh) | 一种排序装置及方法 | |
JP2017532658A (ja) | 効率的な1対1結合のための方法 | |
KR20210024751A (ko) | 이종 메모리 장치를 포함하는 그래프 처리 시스템 및 그래프 처리 시스템의 동작방법 | |
JPH01297723A (ja) | ソート処理装置 | |
JPH05274117A (ja) | ソート処理方式 | |
CN109684185A (zh) | 基于启发式遍历的超级计算机大数据处理能力测试方法 | |
US7069386B2 (en) | Associative memory device | |
WO2021223098A1 (en) | Hierarchical methods and systems for storing data | |
JPS6143338A (ja) | 連想技術を使用して稀薄なデータベースをサーチする方法 | |
EP3718023B1 (en) | Accelerated filtering, grouping and aggregation in a database system | |
JP3265993B2 (ja) | ソート処理装置 | |
JP2003256193A (ja) | 並列ソート装置及び並列ソート方法並びにプログラム | |
US20140351276A1 (en) | Sorting with key modification | |
JPH05298069A (ja) | ソート処理装置 | |
JPS6266326A (ja) | 日本語デ−タ整列処理方式 | |
JPH0797311B2 (ja) | データソート装置 | |
JPS58146935A (ja) | ソ−ト処理装置 | |
JP2012247866A (ja) | ソート時のキー削減方法及び装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071005 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081005 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091005 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091005 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101005 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111005 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121005 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121005 Year of fee payment: 11 |