JPS62186328A - ソ−ト処理方式 - Google Patents

ソ−ト処理方式

Info

Publication number
JPS62186328A
JPS62186328A JP2843486A JP2843486A JPS62186328A JP S62186328 A JPS62186328 A JP S62186328A JP 2843486 A JP2843486 A JP 2843486A JP 2843486 A JP2843486 A JP 2843486A JP S62186328 A JPS62186328 A JP S62186328A
Authority
JP
Japan
Prior art keywords
cpu
memory
sort
sorted
sorting
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
Application number
JP2843486A
Other languages
English (en)
Other versions
JPH0782427B2 (ja
Inventor
Shunichiro Nakamura
俊一郎 中村
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2843486A priority Critical patent/JPH0782427B2/ja
Publication of JPS62186328A publication Critical patent/JPS62186328A/ja
Publication of JPH0782427B2 publication Critical patent/JPH0782427B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、情報処理の分野におけるソート処理方式、
すなわち、大量のデータを特定フイルードの値に基づい
て一定の順序に配列させる処理方式ニ関するものである
〔従来の技術〕
第6図は従来のソート処理方式を示すブロック構成図で
ある。図において、27はCPU(中央処理装置)、2
8はメモリ、29.30はメモリ28上のデータを示す
ものであり、29は未ソート部分レコード群を、30は
ソート済部分レコード群をそれぞれ表わしている。
第7図は、第6図のソート処理方式においてソートすべ
きレコードの形式を示す図である。図において、31は
mバイトのKEY部とnバイトの非KEY部とから成る
形式のレコードである。ここで、mは自然数、nは0な
いし自然数である。
上記第6図に示す従来のソート処理方式においては、1
個のCPU27とメモリ28から成る普通の計算機によ
って、ノート処理は以下のように実行される。すなわち
、図示されないディスク装置等の入出力機器から未ソー
ト部分レコード群29がメモリ28上に読み込まれた後
に、整形されて未ソート部分レコード群29のデータが
メモリ28上に作られる。未ソート部分レコード群29
は、第7図に示すような形式のレコード31が並べられ
たものである。未ソート部分レコード群29に対して、
メモリ28上に存在する図示されないソートプログラム
が実行されて、ソート済部分しコード群30がメモリ2
8上に作り出される。ソートプログラムのアルゴリズム
としては、例えばCQ出版社発行のr My Comp
uter J、1985.418の第84〜85頁に掲
載されているクイックソートアルゴリズムがある。
〔発明が解決しようとする問題点〕
上記のような従来のソート処理方式では、ソート処理が
1個のCPU27とメモリ28から成る普通の計算機上
でソフトウェアにより行われていた。そして、未ソート
部分レコード群29のレコード数をNとした時、ソフト
ウェアでソートした場合のクイックソートのような最も
速いアルゴリズムを使っても、θ(N logs N 
)回の比較操作が必要であることが仰られている。その
ために、レコード数Nが大きくなると、ノート処理の所
要時間が大変に長くなるという問題点があった。
この発明は、かかる問題点を解決するためになされたも
ので、より迅速にソート処理ができるソート処理方式を
得ることを目的とする。
〔問題点を解決するための手段〕
この発明に係るソート処理方式は、それぞれローカルメ
モリを持つ複数個のCPUを1個の共通バスに接続し、
さらに、この共通バスに共dメモリを接続し、各CPU
が分担してソート処理を行うようにしたものである。
〔作用〕
この発明のソート処理方式においては、ツートスへきレ
コードを複数個のCPUのローカルメモリに均等に分散
させ、各CPUはそれぞれのローカルメモリに入ってい
る部分レコード群に対してソフトウェアによりソート処
理を実行し、これらの部分ソート結果を共通メモリを使
ってマージソートを行うようにしてソート処理を実行す
るようにし、複数間のCPUが並列に動作することによ
って、高速度にソート処理を実行することができる。
〔実施例〕
第1図はこの発明の一実施例であるソート処理方式を示
すブロック構成図である。図において、1は共通メモリ
、2は共通バス、3,4,5.64−!、ソtLツレc
 PU(I) 、 CPU(II) 、 CPU(ff
I) 。
CP U (IV)である。7,8,9.ioはそれぞ
れローカルメモIJ(I)、ローカルメモIJ(II)
、ローカルメモリ(III) 、ローカルメモリ(IV
)であり、これらは各CPU(I)3〜(■)6のロー
カルメモリである。各CPU(I)3〜(■)6が自己
のローカルメモリにアクセスするか、共通メモリlにア
クセスするかはメモリアドレスの範囲で切り分けられる
。各CPU(I)3〜(■)6が実行するプログラムは
、通常ローカルメモリに入っている。11゜12.13
.14は割り込みを通知する割り込みインタフェース信
号、15は割り込み制御装置であり、あるCPUが他の
CPUに対して割り込みを発生させるために使われる。
!2図、第3図、第4図、及び′85図は、それぞれ第
1IAのソート処理方式におけるソート処理の内容を説
明するための図である。第2図〜第5図において、16
.17.18.19はそれぞれ未ソート部分レコード群
、20,21.22.23゜24.25.26はそれぞ
れソート済部分しコード群である。
次に、上記第1図に示すこの発明の一実施例であるソー
ト処理方式のソート処理について、第2図〜第5図を参
照して説明する。第2図において、図示されない外部入
出力装置から各未ソート部分レコード群16〜19がそ
れぞれローカルメモリ(■)7〜CN) 10にロード
されている。各未ソート部分レコード群16〜19は、
ソートすべき全レコードをほぼ等しいレコード数になる
ように4つの部分レコード群に前もって分割されている
ものである。未ソート部分レコード群16がローカルメ
モJ (Il T上に生成されると、CPU(I)3は
これに対しソートプログラムを実行することによりソー
ト処理を行い、ソート済部分しコード群2゜を生成する
。ソートプログラムにおけるアルゴリズムは前出のクイ
ックソートアルゴリズムが使われる。CPU(I)3と
同様に各CPU(II)4.CPU([[)5 、CP
U(IV)6においても、同様の操作が同時に並行して
行われる。レコード数をNとした時、クイックソートア
ルゴリズムは平均1639N log2N回の比較操作
が行われる。全体のレコーの奴のレコードをソートする
ので、平均1.39以上のような部分ソートを終了する
と、奇数番目のCP U (I) 3とCP U (I
II) 5は、43図に示すように各ソート済部分レコ
ード群20.22をそれぞれ共通メモリ1に転送する。
すなわち、各CPU(I)3 、 (III)5は、そ
れぞれローカルメモリ(I) 7 、 ([II) 9
からソート済データをフェッチしてこれを共通メモリI
Eこストアする。このことは、2個のCPUが、データ
アクセスだけに限ってもそれぞれ2回のメモリアクセス
のうちの1回を共通メモリ1にアクセスするという割合
なので、ここで、命令読み出し等を入れると共通メモリ
1へのアクセス比率はさらに下がり、このため、2個の
CPUの間で共通メモリ1に対するメモリ競合/バス競
合が起きにくいという特長がある。
もしここで、4個のCPUが同時にソート済データを共
通メモリ1に転送したとすると、共通メモリ1に対する
メモリ競合/バス競合が起きやすくなり転送速度はより
遅くなる。以上のデータ転送処理に要する時間は、クイ
ックソートの時と同じ単位(1回の比較操作に要する時
間)を使うとうな操作を終了すると1割り込みインタフ
ェース信号119割り込み制御装置ll 15 、割り
込みインタフェース信号12を介してCP U (II
) 4にその旨を伝える。CP U (II) 4はこ
れを受けて、第4図に示される内容の処理を開始する。
すなわち、共通メそり1に入っているC P U (I
) 3のソート済部分レコード群20の部分ソート結果
と、ローカルメモリ(■)8に入っている自己のソート
済部分レコード群21の部分ソート結果を順次に1み出
し、2WAYマージソート処理を実行して、ソート済部
分レコード群24の部分ソート結果として共通メモリ1
上にストアする。2WAYマージソート処理については
、例えばCQ出版社発行のr M7Computer 
J、1985 、 A 18の第91頁に記載されてい
る。また、CP U (IV) 6についても、第4図
に示すようにCPU(■)4と同様の処理が同時に並行
して実行される。この場合、データアクセスだけを考え
た時、CP U (II) 4とCPU(■)6がそれ
ぞれ3回に2回の割合で共通メモリ1にアクセスするた
め、メモリ競合は、第3図に示す場合よりも多い。この
処理に要する時間は、おおよこのように、CPU(■)
4とCP U (IV) 6は以上の処理を終了すると
、それぞれ割り込み制御装置15を介してCP U (
I) 3にその旨を知らせる。
CP U (I) 3は各CP U (II) 4とC
P U (IV) 6が共に上記処理を終了したことを
知ると、第5図に示す内容の処理を開始する。すなわち
、共通メモリ1上にCP U (II) 4により生成
されたソート済部分レコード群24のマージソート結果
と、CPU (IV) 6により生成されたソート済部
分レコード群25のマージソート結果を順次に読み出し
、2WAYマ′−ジソート処理を実行して、ソート済部
分しコード詳26の最終のマージソート結果を作り出す
。このための処理時間は、おおよそレコード数Nと見積
もられる。そして、以上のすべての処理時間を合計する
と、 1、39 ’ log2 N−+’+’+ N = 1
.39 ’ lolgRN−+’Nとなる。
一方、従来のソート処理方式によってソート処理を行っ
た場合には、1.39 N logt Nの処理時間が
必要になる。例えば、N= 12”−16384レコー
ドとすると、log2N= 14 、 flag、N−
= 12となつ、それぞれの処理時間は次のようになる
1.39’lOgtN−+−7N=5.92N、  1
.39N6ogtN=19.46N すなわち、この発明のソート処理方式によってソート処
理を行った場合には、従来のソート処理方式によってソ
ート処理を行った場合に対して、19.46N 5.9゜N#3.3倍だけ高速度にソート処理を実行で
きることが分かる。
なお、上記実施例では、4個のCPUを使用した場合に
ついて説明したが1例えば8個のCPUを使用した場合
にも容易に適用できることは明らかである。
また、上記実施例では、第5図に示す最終のソート処理
をCP U (I) 3が行うようになっているが、そ
の他のCP U (II) 4〜(■)6がこれを行う
ようにしても良く、あるいは、これらとは別個のCPU
を共通バス2にさらに接続して、そのCPU IC実行
させるようにしても良い。
また、上記実施例では、第2図に示すようなソート処理
はクイックソートアルゴリズムヲ用いて行っているが、
その他のソートアルゴリズムを用いて行っても良い。
また、上記実施例では、第3図に示すようにCP U 
(I) 3とc P U (DI) 5がノート済デー
タを共通メモリ1に転送するようになっているが、各C
P U (I) 3〜(■)6の4個のCPUすべてが
ソート済データを共通メモリ1に転送し、第4図に示す
ようなソート処理を共通メモリ1上で行うようにしても
良い。
〔発明の効果〕
この発明は以上説明したとおり、ソート処理方式におい
て、それぞれローカルメモリを持つ複数個のCPUを1
個の共通バスに接続し、さらに、この共通バスに共通メ
モリを接続し、各CPUが分担してソート処理を行うよ
うに構成したので、この種の従来のソート処理方式と比
べて、ソート処理の速度を大幅に向上することができる
という優れた効果を奏するものである。
【図面の簡単な説明】
第1図はこの発明の一実施例であるソート処理方式を示
すブロック構成囚、第2図、第3図、第4図、及び第5
図は、それぞれ第1図のソート処理方式におけるソート
処理の内容を説明するための図、第6図は従来のソート
処理方式を示すブロック構成図、第7図は、第6図のノ
ート処理方式においてソートすべきレコードの形式を示
す図である。 因において、1・・・共通メモリ、2・・・共通バス、
3〜6・・・CP U (I)〜CP U (IV)、
7〜10・・・ローカルメモリtIl〜ローカルメモリ
([V)、12〜14・・・割り込みインタフェース信
号、15・・・割り込み制御装置、16〜19.29・
・・未ソート部分レコード群、20〜26.30・・・
ソート済部分レコード群、27・CPU、28・・・メ
モリ、30・・・レコードである。 なお、各図中、同一符号は同一、又は相当部分を示す。

Claims (1)

    【特許請求の範囲】
  1. 各々ローカルメモリを持つ複数個のCPUと、共通メモ
    リと、この共通メモリと各CPUを接続するバスとを有
    する装置において、ソートすべき全レコードを前記複数
    個のCPUのローカルメモリ上に分散して配置し、前記
    各CPUは自己のローカルメモリに入つている部分レコ
    ード群に対してソフトウェアによりソートを行い、前記
    複数個のCPUの各部分ソート結果に対して前記共通メ
    モリを使用してマージソートを行うようにしたことを特
    徴とするソート処理方式。
JP2843486A 1986-02-12 1986-02-12 ソ−ト処理方式 Expired - Lifetime JPH0782427B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2843486A JPH0782427B2 (ja) 1986-02-12 1986-02-12 ソ−ト処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2843486A JPH0782427B2 (ja) 1986-02-12 1986-02-12 ソ−ト処理方式

Publications (2)

Publication Number Publication Date
JPS62186328A true JPS62186328A (ja) 1987-08-14
JPH0782427B2 JPH0782427B2 (ja) 1995-09-06

Family

ID=12248557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2843486A Expired - Lifetime JPH0782427B2 (ja) 1986-02-12 1986-02-12 ソ−ト処理方式

Country Status (1)

Country Link
JP (1) JPH0782427B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02259828A (ja) * 1989-03-31 1990-10-22 Mitsubishi Electric Corp ファイル併合処理方式
US5771309A (en) * 1993-03-26 1998-06-23 Honda Giken Kogyo Kabushiki Kaisha Method for measuring position of hole

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02259828A (ja) * 1989-03-31 1990-10-22 Mitsubishi Electric Corp ファイル併合処理方式
US5771309A (en) * 1993-03-26 1998-06-23 Honda Giken Kogyo Kabushiki Kaisha Method for measuring position of hole

Also Published As

Publication number Publication date
JPH0782427B2 (ja) 1995-09-06

Similar Documents

Publication Publication Date Title
JP2776132B2 (ja) オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム
US20040215852A1 (en) Active memory data compression system and method
US5210828A (en) Multiprocessing system with interprocessor communications facility
CN111258935B (zh) 数据传输装置和方法
JPH0248931B2 (ja)
JPH07120312B2 (ja) バッファメモリ制御装置
CA1279407C (en) Buffer storage control system
JPS62186328A (ja) ソ−ト処理方式
CN111258769A (zh) 数据传输装置和方法
JPH0731619B2 (ja) 変数を含まない関数型言語コードを用いる2進有向グラフとしてストアされたプログラムを評価する縮小プロセッサのためのシステムアロケータ
JPS61224051A (ja) バッファメモリ制御方法
EP0376003A2 (en) Multiprocessing system with interprocessor communications facility
JPH0330175B2 (ja)
JPS592058B2 (ja) 記憶装置
JP2006515446A (ja) 関連アプリケーションを相互参照するカルテシアンコントローラを有するデータ処理システム
JP2588932B2 (ja) ソート処理装置
JPH083801B2 (ja) 度数を含まない関数型言語コ−ドを用いる2進有向グラフとしてストアされたプログラムを評価する縮小プロセッサのためのシステムアロケ−タ
JP2895892B2 (ja) データ処理装置
JPH0521262B2 (ja)
JPH0690711B2 (ja) メモリアクセス制御方式
JPS635432A (ja) マイクロプロセツサ
JPS6243746A (ja) タグ付デ−タ制御方式
JPH08227378A (ja) 大容量メモリの高速データ処理方法
JPS61123951A (ja) メモリ・システム
JPS62269244A (ja) フアイルアクセス方式