JPH02130629A - 外部ソート算法 - Google Patents

外部ソート算法

Info

Publication number
JPH02130629A
JPH02130629A JP28359388A JP28359388A JPH02130629A JP H02130629 A JPH02130629 A JP H02130629A JP 28359388 A JP28359388 A JP 28359388A JP 28359388 A JP28359388 A JP 28359388A JP H02130629 A JPH02130629 A JP H02130629A
Authority
JP
Japan
Prior art keywords
data
external
sorting
internal
classified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP28359388A
Other languages
English (en)
Inventor
Meiji Sakata
坂田 明治
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP28359388A priority Critical patent/JPH02130629A/ja
Publication of JPH02130629A publication Critical patent/JPH02130629A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は外部ソート算法に係り、特にユーザがデータの
分布等の統計量を知っている場合に好適な外部ソート算
法に関する。
〔従来の技術〕
従来、多量のデータのソーティングに用いられる外部ソ
ート算法については、ソーティング・アンド・サーチン
グ(SORTING AND 5EARCHING)V
OL3  クヌース(Knuth)著第5章247−2
50項において論じられている様に、外部記憶内のデー
タを、内部記憶にて内部ソート可能な単位に切り出し内
部ソートを行ない、この結果をマージするという方法が
とられていた。
〔発明が解決しようとする課題〕
上記、外部ソートに関する従来技術は、ユーザが、デー
タの分布等の統計量を知っている場合について何等配慮
されておらず、ユーザがデータについての統計量を知ら
ない場合と同様、一般的なアルゴリズムによって処理を
行なっていた。
本発明の目的は、データの分布等の統計量によってデー
タを分類し、マージ処理を行なう事なく外部ソートを実
行し、外部ソート処理を高速化することにある。
〔課題を解決するための手段〕
上記目的を達成するために、外部記憶内にあるデータの
キーとユーザが内部記憶に入る分ずつに分れるように与
えたパラメータ間で大小比較を行ない、その比較結果に
基づいてデータを分類し、その分類済データの内部ソー
トを行なう。
〔作用〕
外部記憶上のデータのキーは、ユーザの与えたパラメー
タと比較され分類される。それによって分類後のデータ
は、分gBhの全データが分類Bの全データより小か、
または大かのどちらか一方のみの関係が成立する。従っ
て、分類された結果はどの分類に属するデータが、最終
結果の何番目から何番目に置かれるか決定し、よって、
各分類内を内部ソートするのみで全データの外部ソート
が完了する。
〔実施例〕
以下1本発明の1実施例を図に従って詳細に説明する。
第1図は入力データを3個に分類する場合の1実施例の
、入力用外部記憶と、出力用外部記憶と、中間結実用外
部記憶と、内部記憶間のデータの移動を示した図である
6図中1は入力データが格納されている外部記憶であり
、2〜4ば中間結果を格納するための作業用外部記憶で
あり、5は出力結果を格納するための出力用外部記憶で
あり、6〜9は内部記憶であり、6〜9は同一の内部記
憶であっても、異なる内部記憶であってもよい。
10は入力データであり、本実施例においては6個であ
るとする。1]は内部記憶において処理可能なデータ領
域であり、本実施例においては11には3個のデータが
入るとする。12はユーザからのパラメータによって分
類された入力データの数(中間結果)であり、12は2
個のデータより成るとする。13はユーザからのパラメ
ータによって分類された入力データの類(中間結果)で
あり、13は1個のデータより成るとする。14はユー
ザからのパラメータによって分類された入力データの類
(中間結果)であり、14は3個のデータより成るとす
る。15は内部記憶7へ格納されたデータ12であり、
16は内部記憶8へ格納されたデータ13であり、17
は内部記憶9へ格納されたデータ14である。18は出
力用外部記憶5へ格納された出力結果である。
次に第1図のデータの流れについて説明する。
入力用外部記憶1内の入力データ10は、内部記憶6の
データ領域11へ格納される。このデータ領域11内の
データはユーザの指定したパラメータと比較され、作業
用外部記憶2,3.4のいずれかへ格納される。また、
データ領域内のデータが尽きた場合は再び入力データ1
0よりデータ領域11ヘデータが読み出される。このデ
ータ領域11内のデータはユーザの指定したパラメータ
と比較され、作業用データ領域2,3.4のいずれかへ
格納される。以上の振作は、入力データ10が全て作業
用外部記憶2,3.4へ分類されるまで繰り返される。
作業用外部記憶2へ格納されたデータ12は、内部記憶
7へ読み出され、ここで内部ソートが行なわれ、ソート
結果が出力用外部記憶5へ格納され机 作業用外部記憶3へ格納されたデータ13は、内部記憶
8へ読み出され、ここで内部ソートが行なわれ、ソート
結果が出力用外部記憶5へ格納される。
作業用外部記憶4へ格納されたデータ14は、内部記憶
9へ読み出され、ここで内部ソートが行なわれ、ソート
結果が出力用外部記憶5へ格納される。
第2図、第3図を用いて本実施例の処理を詳細に説明す
る。
第2図は第1図の実施例の処理フローチャートである。
図中、20はユーザからのパラメータの入力であり、本
実施例では2個のパラメータKz< K 2を入力する
。21は入カフアイルIN内のデータのキーをパラメー
タに1.Kzと比較してデータを分類することを示す。
キーかに1以下の場合は、22の処理、即ち、第1図2
の作業用外部記憶WORKIヘデータを出力する。キー
かに1より太きくKz以下である場合は、23の処理、
即ち、第1図3の作業用外部記憶WORK 2へデータ
を出力する。キーかに2より大の場合は、24の処理、
即ち、第1図4の作業用外部記憶WORK3OR−タを
出力する。25は3つの作業用外部記憶WORK1.W
ORK2.WORK3内のデータについて26.27を
実行することを示す。26はi = 1のときは、WO
RKI内のデータをソートすることを示し、i = 2
のときはWORKZ内のデータをソートすることを示し
i=3のときは、WORKa内のデータをソートするこ
とを示す627は26でソートした結果を出力ファイル
OUTへ出力することを示す。出カフアイルOUT上で
のデータの格納位置は、各作業用外部記憶内のデータの
個数によって決まる。
WORKIのデータの格納位置は、出力ファイルの先頭
1個目からWORKIのデータ個数2個の位置までであ
り、WORK2のデータの格納位置はWORKIのデー
タ数+1個である3個目から。
それにWORK2のデータ数−1を加えた位置である3
個目までであり、WORK3のデータの格納位置は、W
ORKIとWORK2のデータ数+1個である4個目か
ら、それにWORK3のデータ数−1を加えた6個目ま
での位置である。
第3図は第1図内のデータ移動を示した図である。図中
、ユーザからのパラメータはに1=2゜KZ=4であり
、10は第1図の10内の6個のデータであり、12は
キーが2以下になり、第1図2へ格納された2個のデー
タであり、13はキーが2より大きく4以下になり、第
1図3へ格納された1個のデータであり、14はキーが
4より大きく、第1図4へ格納された3個のデータであ
り、15は第1図の内部記憶7内においてソートされた
12のデータであり、16は第1図の内部)憶8内にお
いてソートされた13のデータであり、17は第1図の
内部記憶9内においてソートされたデータであり、18
は第1図5の出力ファイル5内に格納された出力結果で
ある。
・第2図の処理を第3図のデータの流れに従って説明す
る。第2図20によって、2つのパラメータ“2”4″
が入力される。第2図21によって第3図10のデータ
の分類が行なわれ、分類はパラメータ“271   I
t 4”とデータのキーとの大小比較による。キーが“
2″以下のデータは第2図の22、即ち、第3図の12
へ出力され、キーが2より大きく4以下のデータは第2
図の23、即ち、第3図の13へ出力され、キーが4よ
り大なるデータは第2図の24、即ち、第3図の14へ
出力される。第2図の26はデータの各類をソートする
ことであり、第3図の12を内部記憶内においてソート
し、15とすることであり、また、第3図の13を内部
記憶内においてソート、第3図の14を内部記憶内にお
いてソートすることである。第2図の27によって出力
結果が最終的に鴎カフアイルOUTへ出力され、これは
第3図の15.16.17を出力し、最終結果を得るこ
とである。
本実施例において、第2図の処理21は互いに他のデー
タに関係なく処理が実行出来る。従って、N台のプロセ
ッサがあればN台並列に動作させ。
N倍の高速化が図れる。
また、第2図のソート地理26は互いに他のデータ類に
関係なく処理が実行出来る。従って、N台のプロセッサ
があればN台並列に動作させ、N倍化が図れる。ただし
、この並列化効果があるのは類の数をプロセッサ台数が
越えない範囲である。
もちろん、N台のプロセッサによって第2図の21と2
6の類のソート処理の両方を並列化させ全体の処理をN
倍高速化させることも出来る。
第4図は、本実施で用いられる内部ソート処理のフロー
チャートである。Nはデータの個数であり、aJ、t 
a*+1はとなり合うデータであり、K。
はaJのキーであり、KJ+1はa1+1のキーである
101はデータのスキャンに対するループであり、iを
Nから始めて、1ずつ減算し、i=2になるまで102
以下の処理を繰り返すことを示す。
102はデータに対するループであり、jを1から始め
て1ずつ加算し、j=i−1になるまで繰り返すことを
示す、103はに1とK a + 1の比較、即ち、a
−とa a+1のキーの比較であり、KJ>K J +
 tのときは104のaa、aJ+1の交換を行ない、
Ka≦KJ+1のときは何も行なわれない。
第4図のアルゴリズムによれば、103と104により
、キーの小さいデータは先頭の方に動き、キーの大きい
データは後ろの方に動く。これによって内部ソートが実
行できる。
本発明では、ユーザ指定のパラメータによってデータを
大小関係によって分類し、それらをソートすることによ
って外部ソートを実行することが出来る。従って、マー
ジ処理を適用せず実行出来るのでその分高速化が図れ、
また、データの分類処理と、各類のソートはそれぞれ並
列に実行出来るので、複数台のプロセッサによる高速化
も可能である。
〔発明の効果〕
本発明によれば、マージ処理を行なう事なく外部ソート
処理を実行できるので、マージ処理を省略した分の高速
化が図れる。
また、最初のユーザが与えたパラメータによる分類では
、データは互いに独立であるため、並列に実行出来、N
台のプロセッサがあればN倍高速に分類出来る。さらに
1分類されたデータは類毎に独立しているため、各類の
内部ソートを並列に実行することが出来、やはりN台の
プロセッサがあればN倍高速に処理が行なえる。
【図面の簡単な説明】
第1図は本発明の1実施例の概念図、第2図は1実施例
の処理のフローチャート、第3図は1実施例のデータフ
ロー、第4図は内部ソート処理のフローチャートである
。 1・・・外部記憶、6・・・内部記憶、10・・・入力
データ、12・・・中間結果、18・・・出力結果。 第 2 回

Claims (1)

  1. 【特許請求の範囲】 1、外部記憶上にあるデータを外部ソートするのに際し
    、ユーザより与えられたパラメータによつて前記外部記
    憶内にあるデータを内部ソート可能な単位に分類する手
    段を持ち、前記分類する手段により分類された類に対し
    内部ソートを実行する手段を持ち、前記内部ソート実行
    後、外部記憶上に前記分類された類を格納する位置を算
    定する手段を持つことにより外部ソートを実行すること
    を特徴とする外部ソート算法。 2、複数台のプロセッサを持ち、1のユーザより与えら
    れたパラメータによつて前記外部記憶内にあるデータを
    内部ソート可能な単位に分類することを並列に実行する
    ことを特徴とする特許請求の範囲第1項記載の外部ソー
    ト算法。 3、複数台のプロセッサを持ち、1の分類された類を内
    部ソートすることを前記類単位に並列に実行することを
    特徴とする特許請求の範囲第1項記載の外部ソート算法
JP28359388A 1988-11-11 1988-11-11 外部ソート算法 Pending JPH02130629A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28359388A JPH02130629A (ja) 1988-11-11 1988-11-11 外部ソート算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28359388A JPH02130629A (ja) 1988-11-11 1988-11-11 外部ソート算法

Publications (1)

Publication Number Publication Date
JPH02130629A true JPH02130629A (ja) 1990-05-18

Family

ID=17667515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28359388A Pending JPH02130629A (ja) 1988-11-11 1988-11-11 外部ソート算法

Country Status (1)

Country Link
JP (1) JPH02130629A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007133576A (ja) * 2005-11-09 2007-05-31 Hitachi Information & Communication Engineering Ltd ソート処理方法及びプログラム
JP2009199439A (ja) * 2008-02-22 2009-09-03 Nec Corp マージソート処理方法、マージソート処理装置、及びマージソート処理プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007133576A (ja) * 2005-11-09 2007-05-31 Hitachi Information & Communication Engineering Ltd ソート処理方法及びプログラム
JP2009199439A (ja) * 2008-02-22 2009-09-03 Nec Corp マージソート処理方法、マージソート処理装置、及びマージソート処理プログラム

Similar Documents

Publication Publication Date Title
Murtha Highly parallel information processing systems
JPH02130629A (ja) 外部ソート算法
JPH01297723A (ja) ソート処理装置
Jeng et al. Petri net dynamics-based scheduling of flexible manufacturing systems with assembly
Merigot et al. A pyramidal system for image processing
JPH04256130A (ja) ファジィ制御用演算回路
JP3151820B2 (ja) 相対キーを利用したカウント分類法によるソート方式
Monien et al. Bounding the bandwidth of NP-complete problems
JP2509929B2 (ja) 並列ソ−ト処理方法
JPS58129650A (ja) デ−タ処理装置
JPH06309349A (ja) プログラム制御のプロセッサ
Shuangyan et al. Lighter and Faster Face Mask Detection Method Based on YOLOv5
JP2626087B2 (ja) 並列尤度演算装置
EP0413831B1 (en) Method of optimising logic circuit
JP2633918B2 (ja) メソド検索方法及びメソド検索手続き生成方法
Lucchetti et al. Lambda-transfer and Harsanyi NTU-values: Individual rationality, stability and degenerate solutions
JPH0580977A (ja) データ処理装置
Schneider et al. Hardware support for simulated annealing and tabu search
JP3270486B2 (ja) ファジィ推論装置
JPS61101026A (ja) 図形演算処理装置
CN117057304A (zh) 对超导快速单磁通量子电路进行布线的方法和相关产品
JPH02195436A (ja) ファジィ推論方法
JPS6031663A (ja) メモリ切換装置
JPH06274617A (ja) メディアンフィルタ処理方法
JPH04102918A (ja) ソート処理方式