JPS63229522A - Parallel sorting process method - Google Patents

Parallel sorting process method

Info

Publication number
JPS63229522A
JPS63229522A JP6472587A JP6472587A JPS63229522A JP S63229522 A JPS63229522 A JP S63229522A JP 6472587 A JP6472587 A JP 6472587A JP 6472587 A JP6472587 A JP 6472587A JP S63229522 A JPS63229522 A JP S63229522A
Authority
JP
Japan
Prior art keywords
data
processing
elements
range
value
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
JP6472587A
Other languages
Japanese (ja)
Other versions
JP2509929B2 (en
Inventor
Yasuo Yamane
康男 山根
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)

Abstract

PURPOSE:To extremely decrease the data transfer frequency between processors and to improve the processing efficiency by sending the elements of data allocated evenly and previously by each processor to other corresponding processors with each other excluding the allocation amount of its own when a partial charge range is designated. CONSTITUTION:The processors 1-1-1-m receive information from a control processor 4 to divide the range of the data value into (m) partial ranges in the number equal to the number of processors. Then a partial range to which each allocated element belongs is discriminated and sent to the processor to which said partial range is allocated with only the element allocated to its own left as it is. At the same time, the element sent to its own processor via the similar processes carried out by other processors in parallel with each other is received. When the mutual allocation is ended among elements, each processor sorts its own allocated data. Thus a sorting process of whole data is completed. In such a way, the data sorting process is completed just with a single time of transfer of data at most for each element.

Description

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

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

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

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

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

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

〔従来の技術〕[Conventional technology]

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

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

制御処理装置4は、ネットワーク3によって処理装置1
−1〜1−m等と通信することにより、システム全般に
関わる所要の制御を行う。
The control processing device 4 is connected to the processing device 1 via the network 3.
-1 to 1-m, etc., performs necessary control related to the overall system.

大量のデータのソートを、このような計算機システムの
各処理装置1−1〜1−mにデータを分配して並列に処
理すれば、処理を高速化できる可能性があり、そのよう
な並列処理の代表的な方法として、公知のパイトニック
マージ法がある。
If a large amount of data is sorted by distributing the data to each processing unit 1-1 to 1-m of such a computer system and processing it in parallel, it is possible to speed up the processing, and such parallel processing A typical method is the known pitonic merge method.

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

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

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

以上の処理を、他のすべての処理装置の組でもそれぞれ
の持つデータについて並列に実行していて、次に処理装
置A、Bの結果と、別の処理装置C,Dで別のデータに
ついて処理した結果との、各2倍の長さのデータ (図
の■)について前記と同様の要素間の比較と移動処理を
行い(図の■)、その結果を各2処理装置の組で前記の
ようにソートすることにより、処理装置A−Dにわたる
ソートができる。
The above processing is executed in parallel on all the other sets of processing devices for their own data, and then the results of processing devices A and B are processed, and the other processing devices C and D process other data. Compare and move the data (■ in the figure) between elements in the same way as above (■ in the figure), and use the results as described above in each pair of two processing devices. By sorting in this way, it is possible to sort across processing devices A to D.

このようにして、次は4処理装置×2、その次は8処理
装置×2というように逐次データ長を延ばして同様の処
理を進めることにより、全データにわたるソートを完了
する。
In this manner, the data length is sequentially extended and the same processing is carried out, such as 4 processing units x 2, then 8 processing units x 2, and so on, thereby completing the sorting over all data.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

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

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

第1図は、本発明の構成を示す処理の流れ図である。 FIG. 1 is a process flowchart 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.

〔作 用〕[For production]

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

処理ステップ31において、各処理装置に分配されてい
るデータの各要素の属する分担範囲を識別して、その分
担範囲を割り当てられている処理装置へその要素を送り
、自身へ割り当てられている要素のみを残す。又、他の
処理装置で並行して行われる同様の処理によって、自身
宛に送られてくる要素を受は取る。
In processing step 31, the allocation range to which each element of data distributed to each processing device belongs is identified, and the element is sent to the processing device to which that allocation range is allocated, and only the elements allocated to itself are identified. leave. It also receives elements sent to itself through similar processing performed in parallel by other processing devices.

要素の相互分配を終わると、処理ステップ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, thereby completing the sorting of the entire data.

この処理方法により、データの転送は各要素について高
々1回行われるのみでソートを完了することができる。
This processing method allows data transfer to be performed at most once for each element to complete the sorting.

〔実施例〕〔Example〕

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

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

こ\で、例えばCP4が、分担範囲の境界を示す情報と
して、値の小さい方からm−1個の各分担範囲の各上限
値(at、a2、〜a+*−1)を全処理装置PE、〜
PE、へ通知する。
Here, for example, CP4 transmits each upper limit value (at, a2, ~a++-1) of m-1 assignment ranges from the smallest value to all processing units PE as information indicating the boundaries of assignment ranges. ,~
Notify PE.

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

PR,の分担範囲  X≦a。PR, sharing range X≦a.

PIE、の分担範囲  a、<x≦a2PE、 、の分
担範囲 aM−z<X≦a+++−1P[!fi  の
分担範囲 a、−、<xこのようにして決定する分担範
囲は、各範囲にほぼ同じ個数の要素が属するように定め
ることが並列処理の効率上から望ましい。
PIE, sharing range a,<x≦a2PE, , sharing range aM-z<X≦a+++-1P[! Fi's allocation range a, -, <x It is desirable from the viewpoint of parallel processing efficiency that the allocation ranges determined in this manner be determined so that approximately the same number of elements belong to each range.

従って、例えば各要素のとる値がほぼ均等に分布してい
ることが分かっているような場合には、最初にPEl−
PE、からCP4へ、冬毛持ちのデータの要素の最大値
と最小値とを通知し、CP4はその中から最大値と最小
値とをとることにより、現に処理するデータの値の範囲
を知り、この範囲をほぼm等分するように前記の上限値
を算出して、それらの値をPR,〜PH,へ通知すれば
よい。
Therefore, for example, if it is known that the values of each element are almost evenly distributed, first PEl-
PE notifies CP4 of the maximum and minimum values of the elements of the winter hair retention data, and CP4 knows the value range of the data currently being processed by taking the maximum and minimum values from among them. , the upper limit value may be calculated so as to divide this range into approximately m equal parts, and these values may be notified to PR, ~PH,.

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

即ちPE、 〜PE、は、記憶装置2−1〜2−mから
入力したソート対象のデータについて、以下に述べるよ
うにしてCP4と情報を授受することにより、CP4で
各上限値を順次決定して通知する。
That is, the PEs, ~PE, sequentially determine each upper limit value at the CP4 by exchanging information with the CP4 as described below for the data to be sorted inputted from the storage devices 2-1 to 2-m. We will notify you.

第4図は上限値決定処理の流れであり、左側にCP4の
処理、右側にPEI−PR,で並行して実行される処理
を示す。
FIG. 4 shows the flow of the upper limit value determination process, and the left side shows the process of CP4, and the right side shows the process executed in parallel in PEI-PR.

CP4は、処理ステップ10で変数jを1に初期設定し
、変数kをr n / m 1に設定して、PE、〜P
E、の処理を開始させる。
CP4 initializes variable j to 1 in processing step 10, sets variable k to r n / m 1, and performs PE, ~P
Start processing E.

PE、〜PE、の各処理装置PE、は、処理ステップ2
0で変数jを1に初期設定し、記憶装置2−iからそれ
ぞれ入力したデータをソートして、現処理のStとする
Each processing device PE of PE, ~PE, performs processing step 2.
The variable j is initialized to 1 with 0, and the data inputted from the storage device 2-i are sorted and set as St for the current process.

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

CP4は処理ステップ11で、PE、〜PE、から通知
されたm個のMiから、その中間値Mを求めて、P E
 l” P R、へ通知する。
In processing step 11, CP4 calculates the intermediate value M from m Mi notified from PE, ~PE, and calculates the intermediate value M.
l” P R, to be notified.

各PEi は処理ステップ22で、MによってSiの要
素を分類して、 Mより小さい要素の集合を 511 Mに等しい要素の集合を  Siz Mより大きい要素の集合を Si3 とし、Si+ 、Sizの要素の各個数bL、bitを
CP4に通知する。
In processing step 22, each PEi classifies the elements of Si according to M, and the set of elements smaller than M is 511, the set of elements equal to M is Siz, the set of elements larger than M is Si3, and Si+, the elements of Siz are Each number bL and bit are notified to CP4.

CP4は処理ステップ12で、全処理装置から通知され
たbi、 、 bigを集計して合計b1、b2を求め
る。
In processing step 12, CP4 totals bi, , big notified from all processing devices to obtain totals b1 and b2.

処理ステップ13において、bl、b2とkを比較し、
例えばに≦b1であれば1、b、<k≦bl+b2であ
れば2 、’ b、 十す、< kであれば3を全処理
装置に通知する。なお、2の場合には、次の上限値の処
理があれば、変数jを+1し、又、新しいjの値による
rnj/m1− k −bz+ 1を新しいkの値とし
て設定する。又、3の場合には、変数にの値からbI+
b2を減じる。
In processing step 13, compare bl, b2 and k,
For example, if ≦b1, 1, b; if <k≦bl+b2, 2, 'b, 10s; if <k, 3 is notified to all processing devices. In the case of 2, if there is a next upper limit value process, the variable j is incremented by 1, and rnj/m1-k-bz+1 based on the new value of j is set as the new value of k. In addition, in the case of 3, bI + from the value of the variable
Decrease b2.

各PEi は処理ステップ23において、1〜3の通知
に従って、1ならSi+ 、3ならSI3を新しいSi
に設定して、処理ステップ21に戻り、このSiにより
中間値を求める処理からやり直す。
In processing step 23, each PEi follows the notifications 1 to 3, and if it is 1, then Si+, if it is 3, then SI3 is the new Si
is set, the process returns to step 21, and the process is restarted from the process of calculating the intermediate value using this Si.

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

j<m−1であれば、次の上限値決定のために処理ステ
ップ24に進んで、元のデータのソート結果のうち現に
j番目の上限値としたMの値より大きな要素のみを以後
の処理対象として、それらを最初のSiに設定し、jを
+1して処理ステップ21に戻り、新たなj番目の上限
値、即ち全データ要素について下からrnj/m]番目
で、今回の処理対象についてはCF2の処理ステップ1
3で新しいに値に設定したように、下からrnj/l1
ll −k−bz+1番目になる値の探索処理に入る。
If j<m-1, the process proceeds to step 24 to determine the next upper limit value, and only the elements larger than the value of M, which is currently set as the jth upper limit value, out of the sorted results of the original data are used for subsequent processing. Set them as the first Si as processing targets, add 1 to j, return to processing step 21, and set the new jth upper limit value, that is, rnj/m]th from the bottom for all data elements, as the current processing target. CF2 processing step 1 for
As you set the new value in step 3, rnj/l1 from the bottom.
ll-k-bz+1 search processing begins.

このようにしてm−1個の上限値a、〜a□、が決定す
ると、各PEiが前記のようにして各分担範囲を認識し
て、1番目の分担範囲を自身の分担範囲とし、データ中
の自身の分担範囲の要素のみ残し、他の要素はそれぞれ
の属する分担範囲の他の処理装置PE、〜PE、へ、ネ
ットワーク3によって転送し、又他の処理装置から自身
へ転送される要素を受は取る。
When m-1 upper limit values a, ~a□, are determined in this way, each PEi recognizes each assignment range as described above, sets the first assignment range as its own assignment range, and data Only the elements within its own sharing range are left, and the other elements are transferred via the network 3 to other processing devices PE, ~PE, in their respective sharing ranges, and elements transferred from other processing devices to itself. I will take it.

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

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

図は、PE、、PE、、 PE3と示子欄に各処理装置
のデータの状況等を示し、左側の欄にCF2の処理を示
しである。
In the figure, the data status of each processing device is shown in the indicator columns PE, PE, PE3, and the processing of CF2 is shown in the left column.

第5図Ta)は上限値の決定処理であり、ステップ■で
CF2はkをr15X 1/31 = 5にする。各P
Eiにはステップ■に示すD1〜D、のようにデータが
入力されるものとする。
Fig. 5 Ta) shows the upper limit value determination process, and in step (2), CF2 sets k to r15X 1/31 = 5. Each P
It is assumed that data such as D1 to D shown in step (2) are input to Ei.

ステップ■で各PEiのソート結果がSI NS3に示
すようになり、ステップ■に示す各中間値台、〜−1が
CF2へ送られるので、ステップ■のように、それらの
中間値M=8が決定して各PEiへ通知される。
In step ■, the sorting result of each PEi becomes as shown in SI NS3, and each intermediate value range, ~-1, shown in step ■ is sent to CF2, so as in step ■, their intermediate value M=8 is It is determined and notified to each PEi.

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

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

従って、ステップ■のように、各PEiではSi1を新
たなSiとし、ステップ[相]のようにその中間値をC
F2へ通知する。こ\で、要素数が偶数の場合には、取
り決めによって例えば小さい値を中間値とする。
Therefore, as in step ■, in each PEi, Si1 is set as new Si, and as in step [phase], the intermediate value
Notify F2. Here, if the number of elements is even, a small value is set as the intermediate value by agreement.

ステップ■で、CF2においてM=3が決定し、その中
間値による処理が、ステップ@〜0で前と同様に行われ
て、b、+b2<kになるので、kの値が5−b、−b
、= 2に更新され、全PEiに3が通知される。
In step ■, M=3 is determined in CF2, and the process using the intermediate value is performed in the same way as before in step @~0, so that b,+b2<k, so the value of k is 5-b, -b
, = 2, and 3 is notified to all PEi.

従ってステップ[相]のように、各PEiではSt、を
新たなSiとし、ステップ[相]のようにその中間値を
CF2へ通知する。          、。
Therefore, as in step [phase], in each PEi, St is set as a new Si, and as in step [phase], the intermediate value is notified to CF2. ,.

ステップ0で、CF2においてM・5が決定し、その中
間値による処理が、ステップ[相]〜[相]で前と同様
に行われて、b、+b、=kになるので、2が全PEi
に通知されて、現在のM=5が5番目の大きさの要素と
決定し、第1の上限値になる。
In step 0, M・5 is determined in CF2, and the process using its intermediate value is performed in the same way as before in steps [phase] to [phase], resulting in b, +b, = k, so 2 is the total PEi
The current M=5 is determined to be the fifth largest element and becomes the first upper limit.

次にはに工r15X 2 / 31 =10にして、図
示しない前記と同様の処理を行うことにより、第2の上
限値として10が決定する。
Next, by setting r15X 2 / 31 =10 and performing the same process as described above (not shown), 10 is determined as the second upper limit value.

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

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

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

〔発明の効果〕〔Effect of the invention〕

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

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

第1図は本発明の構成を示す処理の流れ図、第2図は計
算機システムの構成例ブロック図、第3図はパイトニッ
クマージ法の説明図、第4図は上限値決定処理の流れ図
、 第5図は本発明のソート処理例の説明図である。 図において、 1−1〜1−mは処理装置、2−1〜2−mは記憶装置
、3はネットワーク、  4は制御処理装置、10〜1
3.20〜24.30〜32は処理ステップを示す。
Fig. 1 is a flowchart of processing showing the configuration of the present invention, Fig. 2 is a block diagram of an example configuration of a computer system, Fig. 3 is an explanatory diagram of the pitonic merge method, Fig. 4 is a flowchart of upper limit determination processing, 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, and 10 to 1
3.20-24.30-32 indicate processing steps.

Claims (2)

【特許請求の範囲】[Claims] (1)m個の処理装置を通信路で結合した計算機システ
ムの、該各処理装置に分配した複数の要素からなるデー
タのソートを、該処理装置が並列に実行するようにした
該各処理装置において、 該データの要素の値の範囲をm個に分割した分担範囲を
示す所定の通知を受信し(30)、該処理装置が保持す
る前記データの要素を、該m個の分担範囲に属する該要
素をそれぞれ分担するように割り当てた該各処理装置に
宛てて相互に分配し(31)、 該分配された該要素についてソート処理を実行する(3
2)ことを特徴とする並列ソート処理方法。
(1) In a computer system in which m processing devices are connected via a communication path, each processing device executes in parallel the sorting of data consisting of a plurality of elements distributed to each processing device. At , a predetermined notification indicating a sharing range obtained by dividing the value range of the data element into m pieces is received (30), and the data element held by the processing device is divided into m pieces of sharing range. The elements are mutually distributed to the respective processing devices assigned to handle the respective tasks (31), and a sorting process is performed on the distributed elements (3
2) A parallel sort processing method characterized by the following.
(2)前記分担範囲を示す所定の通知は、前記データの
要素の個数をnとし、iを1からm−1までの値をとる
整数として、ni/mと所定の大小関係を有し、ni/
mに最も近い整数をj_iとして、該データの要素の小
さい方から各第j_i番目の大きさの要素の値であり、
該値をm個の前記分担範囲間の所定の境界を示す値とし
て該分担範囲を識別する特許請求の範囲第1項記載の並
列ソート処理方法。
(2) The predetermined notification indicating the allocation range has a predetermined magnitude relationship with ni/m, where the number of elements of the data is n and i is an integer taking a value from 1 to m-1, ni/
The value of each j_i-th size element from the smallest of the data elements, where j_i is the integer closest to m,
2. The parallel sort processing method according to claim 1, wherein said value is used as a value indicating a predetermined boundary between said m assignment ranges to identify said assignment range.
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 true JPS63229522A (en) 1988-09-26
JP2509929B2 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)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02227725A (en) * 1989-01-13 1990-09-10 Internatl Business Mach Corp <Ibm> Zoning of list sorted
JPH02228730A (en) * 1989-01-13 1990-09-11 Internatl Business Mach Corp <Ibm> Sorting for dispersion system
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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02227725A (en) * 1989-01-13 1990-09-10 Internatl Business Mach Corp <Ibm> Zoning of list sorted
JPH02228730A (en) * 1989-01-13 1990-09-11 Internatl Business Mach Corp <Ibm> Sorting for dispersion system
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
JP2509929B2 (en) 1996-06-26

Similar Documents

Publication Publication Date Title
Patel Performance of processor-memory interconnections for multiprocessors
EP0942377A1 (en) Method for performing all-to-all communication in parallel computers
US5715471A (en) Parallel computer
CN104035751A (en) Graphics processing unit based parallel data processing method and device
CN104145281A (en) Neural network computing apparatus and system, and method therefor
JPH06131156A (en) Parallel sorting system
CN109426484A (en) A kind of data sorting device, method and chip
CN115880132B (en) Graphics processor, matrix multiplication task processing method, device and storage medium
JP2002527827A (en) Digital processing equipment
CN110059797B (en) Computing device and related product
Abali et al. Balanced parallel sort on hypercube multiprocessors
CN109408450A (en) A kind of method of data processing, system, association&#39;s processing unit and primary processing unit
CN111045827A (en) Time-validity task scheduling method based on resource sharing in cloud and fog environment
CN108874297A (en) Merge method, storage device, storage equipment and the storage medium of file
JPS63229522A (en) Parallel sorting process method
CN106681795B (en) Virtual network mapping method for node local topology and available resource capacity
CN104765820B (en) A kind of service dependence of non-intrusion type finds method
CN113222099A (en) Convolution operation method and chip
CN105718990A (en) Cell array calculation system and communication method between cells
CN112099850A (en) Multi-core Hourglass network acceleration method
CN110399354A (en) The subregion of database exchanges method and device
US6085316A (en) Layered counterflow pipeline processor with anticipatory control
CN105718993A (en) Cell array calculation system and communication method therein
JPH0192830A (en) Processing method for retrieving divided value
CN110705588A (en) Lightweight target detection model based on channel rearrangement and target detection method