JP2509929B2 - Parallel sort processing method - Google Patents

Parallel sort processing method

Info

Publication number
JP2509929B2
JP2509929B2 JP6472587A JP6472587A JP2509929B2 JP 2509929 B2 JP2509929 B2 JP 2509929B2 JP 6472587 A JP6472587 A JP 6472587A JP 6472587 A JP6472587 A JP 6472587A JP 2509929 B2 JP2509929 B2 JP 2509929B2
Authority
JP
Japan
Prior art keywords
processing
data
elements
value
range
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 - Lifetime
Application number
JP6472587A
Other languages
Japanese (ja)
Other versions
JPS63229522A (en
Inventor
康男 山根
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP6472587A priority Critical patent/JP2509929B2/en
Publication of JPS63229522A publication Critical patent/JPS63229522A/en
Application granted granted Critical
Publication of JP2509929B2 publication Critical patent/JP2509929B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔概 要〕 複数の処理装置からなる計算機システムにおける、並
列ソートの処理効率を改善する処理方法である。
DETAILED DESCRIPTION [Outline] A processing method for improving the processing efficiency of parallel sorting in a computer system including a plurality of processing devices.

m個の処理装置に、データの値の範囲をm個に分割し
た分担範囲を割り当てて、各処理装置が手持ちのソート
するデータの要素を、分担範囲に従って相互に分配し、
分配後のデータについて、各個別にソートを実行するこ
とにより、全データのソートを完了する。
To each of the m processing devices, a sharing range obtained by dividing the data value range into m is assigned, and each processing device distributes the elements of the data to be sorted according to the sharing range.
The sorting of all the data is completed by individually sorting the distributed data.

この方法により、ソートのための処理装置間のデータ
の授受が少なくなり、効率良く処理を実行することがで
きる。
By this method, the exchange of data between the processing devices for sorting is reduced, and the processing can be executed efficiently.

〔産業上の利用分野〕[Industrial applications]

本発明は、複数の処理装置からなる計算機システムに
おける並列ソートの処理方法に関する。
The present invention relates to a parallel sorting processing method in a computer system including a plurality of processing devices.

データをその大きさの順に配列するソートは、公知の
ように情報処理の各分野で多用される。
Sorting, in which data is arranged in the order of size, is widely used in each field of information processing as is well known.

〔従来の技術〕[Conventional technology]

第2図は計算機システムの構成例を示すブロック図で
ある。
FIG. 2 is a block diagram showing a configuration example of a computer system.

処理装置1−1〜1〜mは、それぞれ記憶装置2−1
〜2−mに保持されるデータを読み出して、独立にソー
ト処理等を実行することのできる装置であり、又ネット
ワーク3で構成される通信路によって相互に情報を交換
することができる。
The processing devices 1-1 to 1 to m are respectively storage devices 2-1.
It is a device that can read out the data held in 2 to 2-m and independently execute sort processing, and can exchange information with each other through a communication path formed by the network 3.

制御処理装置4は、ネットワーク3によって処理装置
1−1〜1−m等と通信することにより、システム全般
に関わる所要の制御を行う。
The control processing device 4 communicates with the processing devices 1-1 to 1-m and the like via the network 3 to perform required control relating to the entire system.

大量のデータのソートを、このような計算機システム
の各処理装置1−1〜1−mにデータを分配して並列に
処理すれば、処理を高速化できる可能性があり、そのよ
うな並列処理の代表的な方法として、公知のバイトニッ
クマージ法がある。
If sort of a large amount of data is processed in parallel by distributing the data to the respective processing devices 1-1 to 1-m of such a computer system, there is a possibility that the processing can be speeded up. There is a well-known bitonic merge method as a typical method.

この方法によれば複数の処理装置に分配されているソ
ート対象のデータについて、先ず各2個の処理装置の組
ごとに次のような処理をする。
According to this method, the sort target data distributed to a plurality of processing devices are first subjected to the following processing for each set of two processing devices.

即ち第3図に示すように、2個の処理装置A、Bの組
で各処理装置に分配されているデータ(図は各4要素が
分配されている例を示す)を並列に個別処理して、例え
ばAは昇順、Bは降順にソートした後(図の)、両処
理装置のデータの対応する要素を比較して、例えば小さ
い方の要素がA、大きい方がBになるように移動する
(図の)。
That is, as shown in FIG. 3, the data distributed to each processing device by the set of two processing devices A and B (the figure shows an example in which each four elements are distributed) is individually processed in parallel. Then, for example, A is sorted in ascending order and B is sorted in descending order (in the figure), and the corresponding elements of the data of both processing devices are compared, and for example, the smaller element is moved to A and the larger element is moved to B. Yes (in the figure).

そのデータについて、各処理装置で例えば昇順にソー
トを行うことにより、処理装置A、Bにわたるソートが
できる(図の)。
By sorting the data in each processing device in ascending order, for example, the processing devices A and B can be sorted (in the figure).

以上の処理を、他のすべての処理装置の組でもそれぞ
れの持つデータについて並列に実行していて、次に処理
装置A、Bの結果と、別の処理装置C、Dで別のデータ
について処理した結果との、各2倍の長さのデータ(図
の)について前記と同様の要素間の比較と移動処理を
行い(図の)、その結果を各2処理装置の組で前記の
ようにソートすることにより、処理装置A〜Dにわたる
ソートができる。
The above processing is executed in parallel for the data that each of the other processing devices has, and then the results of the processing devices A and B and the processing of the different data by the different processing devices C and D are performed. The same comparison and movement processing between the elements as described above is performed for each double length data (in the figure) with the result (in the figure), and the result is set as described above in each set of two processing devices. By sorting, the processing devices A to D can be sorted.

このようにして、次は4処理装置×2、その次は8処
理装置×2というように逐次データ長を延ばして同様の
処理を進めることにより、全データにわたるソートを完
了する。
In this way, by sequentially increasing the data length of 4 processing devices × 2, then 8 processing devices × 2, and performing similar processing, the sorting over all data is completed.

〔発明が解決しようとする問題点〕[Problems to be solved by the invention]

前記の方式によってソートの並列処理ができるが、前
記の説明から容易に考えられるように、処理装置間でデ
ータを比較するための全データ要素の1/2の移動と、比
較結果により必要な場合のデータ移動とが各部分のソー
ト処理ごとに繰り返して必要である。そのために処理装
置間で授受しなければならないデータ量が比較的多くな
り、処理速度を上げられないという問題がある。
Although the sorting method can be performed in parallel by the above method, as easily thought from the above description, if it is necessary depending on the movement of 1/2 of all data elements for comparing data between processing devices and the comparison result. It is necessary to repeatedly move the data for each sort processing of each part. Therefore, there is a problem that the amount of data that needs to be transferred between the processing devices is relatively large, and the processing speed cannot be increased.

〔問題点を解決するための手段〕[Means for solving problems]

第1図は、本発明の構成を示す処理の流れ図である。 FIG. 1 is a flow chart of processing showing the configuration of the present invention.

図は各処理装置の処理の流れを示し、30〜32は処理ス
テップである。
The figure shows the processing flow of each processing device, and 30 to 32 are processing steps.

〔作 用〕[Work]

各処理装置は、処理ステップ30においてデータの値の
範囲を処理装置数に等しいm個の分担範囲に分割するた
めの情報を受け取る。
Each processing device receives information for dividing the range of data values into m sharing ranges equal to the number of processing devices in processing step 30.

処理ステップ31において、各処理装置に分配されてい
るデータの各要素の属する分担範囲を識別して、その分
担範囲を割り当てられている処理装置へその要素を送
り、自身へ割り当てられている要素のみを残す。又、他
の処理装置で並行して行われる同様の処理によって、自
身宛に送られてくる要素を受け取る。
In the processing step 31, the sharing range to which each element of the data distributed to each processing device belongs is identified, and the element is sent to the processing device to which the sharing range is assigned, and only the element assigned to itself is identified. Leave. Also, the element sent to itself is received by the same processing performed in parallel by another processing device.

要素の相互分配を終わると、処理ステップ32におい
て、各処理装置が処理ステップ31において割り当てられ
たデータをそれぞれソート処理することにより、データ
全体のソートを完了する。
After the mutual distribution of the elements is completed, in processing step 32, each processing device sorts the data allocated in processing step 31, respectively, thereby completing the sorting of the entire data.

この処理方法により、データの転送は各要素について
高々1回行われるのみでソートを完了することができ
る。
By this processing method, the data can be transferred only once for each element, and the sorting can be completed.

〔実施例〕〔Example〕

第2図の計算機システムにおいて、ソート対象のデー
タはほぼ均等な要素個数に分割してm個の記憶装置2−
1〜2−mに予め分配されているものとする。
In the computer system shown in FIG. 2, the data to be sorted is divided into substantially equal numbers of elements, and m storage devices 2
It is assumed that the items are previously distributed to 1 to 2-m.

m個の処理装置1−1〜1−m(以下においてPE1〜P
Emという)は、例えば制御処理装置(以下においてCPと
いう)4からネットワーク3によって全処理装置に送ら
れる指示により、それぞれに接続する記憶装置2−1〜
2−mからデータを入力してソート処理を開始する。
m number of processing devices 1-1 to 1-m (hereinafter PE 1 to P
E m ) is, for example, a storage device 2-1 to each of which is connected to each processing device according to an instruction sent from a control processing device (hereinafter referred to as CP) 4 to all processing devices by the network 3.
Input data from 2-m and start sort processing.

こゝで、例えばCP4が、分担範囲の境界を示す情報と
して、値の小さい方からm−1個の各分担範囲の各上限
値(a1、a2、〜am-1)を全処理装置PE1〜PEmへ通知す
る。
Thisゝa, for example CP4 is, as the information indicating the boundary of the division ranges, the upper limit of the m-1 pieces of each share ranging from the smallest value (a 1, a 2, ~a m-1) the entire process Notify the devices PE 1 to PE m .

PE1〜PEmの各々には1〜mの番号を付しておいて、値
の小さい分担範囲から番号順に各処理装置に割り当てる
ものとし、各処理装置は上記の上限値から、m個の分担
範囲を、xをデータ要素の値として、次のように認識す
る。
Each of PE 1 to PE m is assigned a number of 1 to m , and is assigned to each processing device in the order of numbers starting from the allocation range with the smallest value. The sharing range is recognized as follows, where x is the value of the data element.

PE1の分担範囲 x≦a1 PE2の分担範囲 a1<x≦a2 ・・・・・・・ PEm-1の分担範囲 am-2<x≦am-1 PEm の分担範囲 am-1<x このようにして決定する分担範囲は、各範囲にほぼ同
じ個数の要素が属するように定めることが並列処理の効
率上から望ましい。
PE 1 sharing range x ≤ a 1 PE 2 sharing range a 1 <x ≤ a 2 .... PE m-1 sharing range a m-2 <x ≤ a m-1 PE m sharing range Range a m-1 <x It is desirable from the standpoint of efficiency of parallel processing that the sharing range to be determined in this way is determined so that approximately the same number of elements belong to each range.

従って、例えば各要素のとる値がほぼ均等に分布して
いることが分かっているような場合には、最初にPE1〜P
EmからCP4へ、各手持ちのデータの要素の最大値と最小
値とを通知し、CP4はその中から最大値と最小値とをと
ることにより、現に処理するデータの値の範囲を知り、
この範囲をほぼm等分するように前記の上限値を算出し
て、それらの値をPE1〜PEmへ通知すればよい。
Therefore, for example, when it is known that the values taken by each element are almost evenly distributed, first PE 1 to P
From E m to CP4, notify the maximum value and the minimum value of the element of each data in hand, CP4 knows the range of the value of the data to be processed by taking the maximum value and the minimum value from among them,
The upper limits may be calculated so as to divide this range into approximately m parts, and those values may be notified to PE 1 to PE m .

しかし要素の値の分布に偏りがある場合を含めて、常
に各分担範囲にほぼ均等に要素が属するようにするため
に、例えば以下に述べるようにして、データ中の小さい
値の要素から「ni/m」番目の各要素を、iを1からm−
1まで変化して、m−1個求め、それらを分担範囲の上
限値とすることが望ましい。こゝで、「x」はxより大
きい最小の整数(xの小数部の切り上げた整数)を示
し、nはデータの要素の総個数である。
However, in order to make sure that the elements belong to each sharing range almost evenly, including the case where the distribution of the element values is biased, for example, as described below, For each of the "/ m" th elements, set i from 1 to m-
It is desirable to change to 1 to obtain m-1 pieces and set them as the upper limit value of the sharing range. Here, "x" indicates the smallest integer larger than x (an integer obtained by rounding up the fractional part of x), and n is the total number of data elements.

即ちPE1〜PEmは、記憶装置2−1〜2−mから入力し
たソート対象のデータについて、以下に述べるようにし
てCP4と情報を授受することにより、CP4で各上限値を順
次決定して通知する。
That is, the PE 1 to PE m exchange the information with the CP 4 as to the sort target data input from the storage devices 2-1 to 2-m as described below, and the CP 4 sequentially determines the respective upper limit values. To notify you.

第4図は上限値決定処理の流れであり、左側にCP4の
処理、右側にPE1〜PEmで並行して実行される処理を示
す。
FIG. 4 is a flow chart of the upper limit value determination processing, in which the left side shows the processing of CP4 and the right side shows the processing executed in parallel by PE 1 to PE m .

CP4は、処理ステップ10で変数jを1に初期設定し、
変数kを「n/m」に設定して、PE1〜PEmの処理を開始さ
せる。
CP4 initializes variable j to 1 in process step 10,
The variable k is set to “n / m” and the processing of PE 1 to PE m is started.

PE1〜PEmの各処理装置PEiは、処理ステップ20で変数
jを1に初期設定し、記憶装置2−iからそれぞれ入力
したデータをソートして、現処理のSiとする。
Each processing device PE i of PE 1 to PE m initializes a variable j to 1 in processing step 20, sorts the data respectively input from the storage device 2-i, and sets it as Si of the current process.

処理ステップ21でその中間値Miを求めて、CP4に通知
する。
In processing step 21, the intermediate value Mi is calculated and notified to CP4.

CP4は処理ステップ11で、PE1〜PEmから通知されたm
個のMiから、その中間値Mを求めて、PE1〜PEmへ通知す
る。
CP4 receives m from PE 1 to PE m in processing step 11.
The intermediate value M is calculated from each Mi and notified to PE 1 to PE m .

各PEiは処理ステップ22で、MによってSiの要素を分
類して、 Mより小さい要素の集合を Si1 Mに等しい要素の集合を Si2 Mより大きい要素の集合を Si3 とし、Si1、Si2の要素の各個数bi1、bi2をCP4に通知す
る。
In processing step 22, each PEi classifies the elements of Si by M, the set of elements smaller than M as Si 1 M the set of elements larger than Si 2 M as Si 3, and Si 1 , Notify CP 4 of each number of elements bi 1 and bi 2 of Si 2 .

CP4は処理ステップ12で、全処理装置から通知されたb
i1、bi2を集計して合計b1、b2を求める。
CP4 is notified from all processing devices in processing step 12 b
i 1 and bi 2 are aggregated to obtain total b 1 and b 2 .

処理ステップ13において、b1、b2とkを比較し、例え
ばk≦b1であれば1、b1<k≦b1+b2であれば2、b1
b2<kであれば3を全処理装置に通知する。なお、2の
場合には、次の上限値の処理があれば、変数jを+1
し、又、新しいjの値による「ni/m」−k−b2+1を新
しいkの値として設定する。又、3の場合には、変数k
の値からb1+b2を減じる。
In process step 13, b 1, b 2 and k are compared, and for example, k ≦ b if 1 1, b 1 <k ≦ b 1 + 2 if b 2, b 1 +
If b 2 <k, all processing devices are notified of 3. In the case of 2, the variable j is incremented by +1 if the next upper limit value is processed.
And, also, to set up a "ni / m" -k-b 2 +1 by the value of the new j as the value of the new k. In the case of 3, the variable k
Subtract b 1 + b 2 from the value of.

各PEiは処理ステップ23において、1〜3の通知に従
って、1ならSi1、3ならSi3を新しいSiに設定して、処
理ステップ21に戻り、このSiにより中間値を求める処理
からやり直す。
In the processing step 23, each PEi sets Si 1 for 1 and Si 3 for 3 according to the notification of 1 to 3 as a new Si according to the notifications of 1 to 3, returns to processing step 21, and repeats the processing for obtaining the intermediate value by this Si.

2を通知された場合には、そのときのMの値をj番目
の上限値ajとして記憶し、j=m−1であれば、上限値
決定の処理終了とする。
When 2 is notified, the value of M at that time is stored as the jth upper limit value a j , and if j = m−1, the upper limit value determination processing ends.

j<m−1であれば、次の上限値決定のために処理ス
テップ24に進んで、元のデータのソート結果のうち現に
j番目の上限値としたMの値より大きな要素のみを以後
の処理対象として、それらを最初のSiに設定し、jを+
1して処理ステップ21に戻り、新たなj番目の上限値、
即ち全データ要素について下から「ni/m」番目で、今回
の処理対象についてはCP4の処理ステップ13で新しいk
値に設定したように、下から「nj/m」−k−b2+1番目
になる値の探索処理に入る。
If j <m−1, the process proceeds to the processing step 24 for determining the next upper limit value, and only the elements larger than the value of M, which is the current j-th upper limit value in the sorting result of the original data, Set them as the first Si for processing, and set j to +
1 and returns to the processing step 21, the new j-th upper limit value,
That is, it is the “ni / m” th from the bottom for all data elements, and the new k in processing step 13 of CP4 for this processing target.
As set to the value, the process of searching for the value to be “nj / m” −k−b 2 + 1th from the bottom is started.

このようにしてm−1個の上限値a1〜am-1が決定する
と、各PEiが前記のようにして各分担範囲を認識して、
i番目の分担範囲を自身の分担範囲とし、データ中の自
身の分担範囲の要素のみ残し、他の要素はそれぞれの属
する分担範囲の他の処理装置PE1〜PEmへ、ネットワーク
3によって転送し、又他の処理装置から自身へ転送され
る要素を受け取る。
When m-1 upper limit values a 1 to a m-1 are determined in this way, each PEi recognizes each sharing range as described above,
The i-th sharing range is set as its own sharing range, only elements of its own sharing range in the data are left, and other elements are transferred by the network 3 to the other processing devices PE 1 to PE m of the respective sharing range. , Also receives elements that are forwarded to it from other processing units.

その結果各PEiに集まったデータを個別に並列ソート
すれば、PE1からPEmまでにわたって全データのソートが
完成する。
As a result, if the data collected in each PE i are individually sorted in parallel, the sorting of all data from PE 1 to PE m is completed.

第5図は、3個の処理装置PE1、PE2、PE3によって、
1〜15の内容の15要素のデータを、前記説明の処理方法
によって並列ソートする例である。
FIG. 5 shows three processing units PE 1 , PE 2 and PE 3
This is an example in which data of 15 elements having the contents of 1 to 15 are sorted in parallel by the processing method described above.

図は、PE1、PE2、PE3と示す欄に各処理装置のデータ
の状況等を示し、左側の欄にCP4の処理を示してある。
In the figure, the data status of each processing device is shown in the columns labeled PE 1 , PE 2 and PE 3, and the processing of CP 4 is shown in the left column.

第5図(a)は上限値の決定処理であり、ステップ
でCP4はkを「15×1/3」=5にする。各PEiにはステッ
プに示すD1〜D3のようにデータが入力されるものとす
る。
FIG. 5 (a) is the upper limit value determination processing, and CP4 sets k to "15 × 1/3" = 5 in step. It is assumed that data is input to each PEi like D 1 to D 3 shown in the step.

ステップが各PEiのソート結果がS1〜S3に示すよう
になり、ステップに示す各中間値M1〜M3がCP4へ送ら
れるので、ステップのように、それらの中間値M=8
が決定して各PEiへ通知される。
Since the step results in sorting results of each PEi as shown in S 1 to S 3 and each of the intermediate values M 1 to M 3 shown in the step is sent to CP 4, as in the step, those intermediate values M = 8.
Will be decided and each PEi will be notified.

ステップのように、各PEiでは中間値M=8による
分類が行われ、ステップに示す各集合の要素数がCP4
へ通知される。
As in step, each PEi is classified by the intermediate value M = 8, and the number of elements in each set shown in step is CP4.
Will be notified to.

CP4では、ステップのように要素数の集計を得、k
=5と比較して、k<b1が得られるので、全PEiに1が
通知される。
In CP4, the number of elements is calculated as in step, and k
Since k <b 1 is obtained as compared with = 5, 1 is notified to all PEi.

従って、ステップのように、各PEiではSi1を新たな
Siとし、ステップのようにその中間値をCP4へ通知す
る。こゝで、要素数が偶数の場合には、取り決めによっ
て例えば小さい値を中間値とする。
Therefore, as in step, the new Si 1 In the PEi
Set to Si and notify CP4 of the intermediate value as in the step. Here, when the number of elements is an even number, a small value is set as an intermediate value by agreement.

ステップで、CP4においてM=3が決定し、その中
間値による処理が、ステップ〜で前と同様に行われ
て、b1+b2<kになるので、kの値が5−b1−b2=2に
更新され、全PEiに3が通知される。
In step, M = 3 is determined in CP4, treatment with an intermediate value, is carried out as before in step ~, b 1 + b 2 <since the k, the value of k is 5-b 1 -b Updated to 2 = 2 and all PEi are notified of 3.

従ってステップのように、各PEiではSi3を新たなSi
とし、ステップのようにその中間値をCP4へ通知す
る。
Therefore, in each PEi, Si 3
Then, as in the step, the intermediate value is notified to CP4.

ステップで、CP4においてM=5が決定し、その中
間値による処理が、ステップ〜で前と同様に行われ
て、b1+b2=kになるので、2が全PEiに通知されて、
現在のM=5が5番目の大きさの要素と決定し、第1の
上限値になる。
In step, M = 5 is determined in CP4, treatment with an intermediate value, is carried out as before in step ~, since the b 1 + b 2 = k, 2 is notified to all PEi,
The current M = 5 is determined to be the fifth-largest element, which is the first upper limit value.

次にはk=「15×2/3」=10にして、図示しない前記
と同様の処理を行うことにより、第2の上限値として10
が決定する。
Next, by setting k = “15 × 2/3” = 10 and performing the same processing as the above not shown, the second upper limit is set to 10
Will be decided.

第5図(b)は、以上で決定した上限値5及び10によ
って、各PEiが相互にデータを分配し、その結果のデー
タを並列にソートする状況を示す。
FIG. 5 (b) shows a situation in which each PEi distributes data to each other and sorts the resulting data in parallel by the upper limit values 5 and 10 determined above.

上限値が5と10であるので、5以下が第1の処理装置
PE1、6から10までがPE2、10より大きいものがPE3の分
担範囲となり、ステップに示す手持ちデータから各他
の処理装置の分担範囲の要素を、ステップのように転
送する。
Since the upper limit values are 5 and 10, 5 or less is the first processing device
PE 1 , 6 to 10 are PE 2 , and those larger than 10 are PE 3 's assigned range, and the elements of the assigned range of each other processing device are transferred from the handheld data shown in the step as in the step.

その結果各処理装置には、ステップのようにデータ
が集まり、それらを各処理装置で並列にソートして、ス
テップに示すように、3処理装置にわたって昇順に配
列されたソート結果を得ることができる。
As a result, data is collected in each processing device like a step, and the data is sorted in parallel in each processing device to obtain a sorting result arranged in ascending order over the three processing devices as shown in the step. .

〔発明の効果〕〔The invention's effect〕

以上の説明から明らかなように、本発明によれば、複
数の処理装置を有する計算機システムの並列ソート処理
において、処理装置間のデータ転送回数を著しく減少す
ることにより、処理効率を向上するという著しい工業的
効果がある。
As is clear from the above description, according to the present invention, in parallel sort processing of a computer system having a plurality of processing devices, it is possible to significantly reduce the number of times of data transfer between the processing devices, thereby significantly improving the processing efficiency. It has an industrial effect.

【図面の簡単な説明】[Brief description of drawings]

第1図は本発明の構成を示す処理の流れ図、 第2図は計算機システムの構成例ブロック図、 第3図はバイトニックマージ法の説明図、 第4図は上限値決定処理の流れ図、 第5図は本発明のソート処理例の説明図 である。 図において、 1−1〜1−mは処理装置、2−1〜2−mは記憶装
置、 3はネットワーク、4は制御処理装置、 10〜13、20〜24、30〜32は処理ステップ を示す。
FIG. 1 is a flow chart of a process showing the configuration of the present invention, FIG. 2 is a block diagram of a configuration example of a computer system, FIG. 3 is an explanatory diagram of the bytenick merge method, FIG. 4 is a flow diagram of an upper limit value determination process, and FIG. FIG. 5 is an explanatory diagram of an example of sorting processing according to the present invention. In the figure, 1-1 to 1-m are processing devices, 2-1 to 2-m are storage devices, 3 is a network, 4 is a control processing device, 10 to 13, 20 to 24, and 30 to 32 are processing steps. Show.

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】m個の処理装置を通信路で結合した計算機
システムの、該各処理装置に分配した複数の要素からな
るデータのソートを、該処理装置が並列に実行するよう
にした該各処理装置において、 該データの要素の値の範囲をm個に分割した分担範囲を
示す所定の通知を受信し(30)、 該処理装置が保持する前記データの要素を、該m個の分
担範囲に属する該要素をそれぞれ分担するように割り当
てた該各処理装置に宛てて相互に分配し(31)、 該分配された該要素についてソート処理を実行する(3
2)ことを特徴とする並列ソート処理方法。
1. A computer system in which m processing devices are connected by a communication path, wherein each processing device executes sorting of data consisting of a plurality of elements distributed to each processing device in parallel. The processing device receives a predetermined notification indicating a sharing range obtained by dividing the range of the value of the data element into m (30), and the data element held by the processing device is assigned to the m sharing range. The respective elements belonging to the above are distributed to the respective processing devices allocated so as to be shared respectively (31), and the sorting processing is executed for the distributed elements (3).
2) A parallel sorting method characterized by the following.
【請求項2】前記分担範囲を示す所定の通知は、前記デ
ータの要素の個数をnとし、iを1からm−1までの値
をとる整数として、ni/mと所定の大小関係を有し、ni/m
に最も近い整数をjiとして、該データの要素の小さい方
から各第ji番目の大きさの要素の値であり、該値をm個
の前記分担範囲間の所定の境界を示す値として該分担範
囲を識別する特許請求の範囲第1項記載の並列ソート処
理方法。
2. The predetermined notification indicating the sharing range has a predetermined magnitude relationship with ni / m, where n is the number of elements of the data and i is an integer having a value from 1 to m-1. And ni / m
To the nearest integer as j i, the value of the elements of each of the j i th size from the smaller elements of the data, as a value indicating the predetermined boundary between the m of the shares range said value The parallel sort processing method according to claim 1, wherein the sharing range is identified.
JP6472587A 1987-03-19 1987-03-19 Parallel sort processing method Expired - Lifetime JP2509929B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6472587A JP2509929B2 (en) 1987-03-19 1987-03-19 Parallel sort processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6472587A JP2509929B2 (en) 1987-03-19 1987-03-19 Parallel sort processing method

Publications (2)

Publication Number Publication Date
JPS63229522A JPS63229522A (en) 1988-09-26
JP2509929B2 true JP2509929B2 (en) 1996-06-26

Family

ID=13266412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6472587A Expired - Lifetime JP2509929B2 (en) 1987-03-19 1987-03-19 Parallel sort processing method

Country Status (1)

Country Link
JP (1) JP2509929B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179699A (en) * 1989-01-13 1993-01-12 International Business Machines Corporation Partitioning of sorted lists for multiprocessors sort and merge
EP0377993A3 (en) * 1989-01-13 1991-12-18 International Business Machines Corporation Sorting distributed data
JPH02259828A (en) * 1989-03-31 1990-10-22 Mitsubishi Electric Corp File mergence processing system
US5794240A (en) * 1992-05-26 1998-08-11 Fujitsu Limited Multi-threaded sorting system for a data processing system

Also Published As

Publication number Publication date
JPS63229522A (en) 1988-09-26

Similar Documents

Publication Publication Date Title
Nassimi et al. Bitonic sort on a mesh-connected parallel computer
US5179699A (en) Partitioning of sorted lists for multiprocessors sort and merge
JPH06131156A (en) Parallel sorting system
US20160337442A1 (en) Scheduled network communication for efficient re-partitioning of data
JP2509929B2 (en) Parallel sort processing method
JPH05242049A (en) Method for sorting distributed data base and method for making access to the same
CN112199407B (en) Data packet ordering method, device, equipment and storage medium
CN114968547A (en) Sorting device and method
EP1524599A1 (en) A method of reassigning objects to processing units
JP2007233554A (en) Search method of high-speed pattern matching device
US5341306A (en) Blank layout method for plate-glass cutters
Wang et al. Scalable Data-Parallel Implementations of Object Recognition Using Geometric Hashing
EP0559100B1 (en) Method and apparatus for data distribution
JP2560347B2 (en) Divided value search processing method
US5603028A (en) Method and apparatus for data distribution
JP3617672B2 (en) Parallel processor system
Tryputen et al. Minimization of the description of images in the problem of adaptive control of static technological objects
MacKenzie et al. Asymptotically efficient hypercube algorithms for computational geometry
KR940005348B1 (en) Method and apparatus for data distribution
EP4345638A1 (en) Systolic array, systolic array system, computiation method, device, and storage medium
Prasanna et al. Scalable data parallel object recognition using geometric hashing on CM-5
JPH0321948B2 (en)
JPH05158895A (en) System for improving loop calculation efficiency in parallel computer system
CN118244716A (en) Production scheduling method and system for two-stage mixed flow shop
Hsu et al. k-winners-take-all neural net with/spl Theta/(1) time complexity