Parallel merge and sort process method and system thereof
First Claim
1. A merge and sort process method for dividing a data sequence to be sorted into a plurality of sorted data sequences and merging the sorted data sequences, comprising the steps of:
- (1) dividing the data sequence to be sorted into L sorted data sequences, each of which is formed of a plurality of blocks where L is any natural number larger than or equal to 2;
(2) generating a block information record for each block in the sorted data sequences, the block information record having identification information of the block and representative data thereof and arranging the block information records so as to generate a first auxiliary information record group;
(3) arranging the block information records of the first auxiliary information record group in a predetermined order corresponding to values of the representative data so as to generate a second auxiliary record group;
(4) dividing the second auxiliary record group into P sub-auxiliary information record groups, each of which has nearly the same number of the block information records where P is any natural number larger than or equal to 2; and
(5) allocating the P sub-auxiliary information record groups to a plurality of process units adapted for merging blocks corresponding to the block information records of the sub-auxiliary information record groups of the L sorted data sequences allocated to the process units in parallel and for merging the P sorted data sequences so as to sort the data sequence to be merged in a predetermined order.
2 Assignments
0 Petitions
Accused Products
Abstract
When a list to be sorted is divided into L sorted merge objective lists, each of the merge objective lists is formed of a plurality of blocks (where L is any natural number larger than or equal to 2). For each block, a block information record having a block identifier and a key value of a representative record of the block is generated. With the block information records, a first auxiliary information list is generated. The first auxiliary information list is sorted in a predetermined order of key values so as to generate a second auxiliary information list. The second auxiliary information list is almost equally divided into P portions (where P is any natural number larger than or equal to 2). For each of the P sub-auxiliary information lists, a forward boundary value and a backward boundary value are set corresponding to a predetermined rule. The P sub-auxiliary information lists are allocated to P process units. Each of the P process units retrieves a portion (segment) corresponding to the sub-auxiliary information list from the L sorted merge objective lists and merges blocks of the segment.
64 Citations
28 Claims
-
1. A merge and sort process method for dividing a data sequence to be sorted into a plurality of sorted data sequences and merging the sorted data sequences, comprising the steps of:
-
(1) dividing the data sequence to be sorted into L sorted data sequences, each of which is formed of a plurality of blocks where L is any natural number larger than or equal to 2; (2) generating a block information record for each block in the sorted data sequences, the block information record having identification information of the block and representative data thereof and arranging the block information records so as to generate a first auxiliary information record group; (3) arranging the block information records of the first auxiliary information record group in a predetermined order corresponding to values of the representative data so as to generate a second auxiliary record group; (4) dividing the second auxiliary record group into P sub-auxiliary information record groups, each of which has nearly the same number of the block information records where P is any natural number larger than or equal to 2; and (5) allocating the P sub-auxiliary information record groups to a plurality of process units adapted for merging blocks corresponding to the block information records of the sub-auxiliary information record groups of the L sorted data sequences allocated to the process units in parallel and for merging the P sorted data sequences so as to sort the data sequence to be merged in a predetermined order. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A merge and sort process system for dividing a data sequence to be sorted into a plurality of sorted data sequences and merging the sorted data sequences, comprising:
-
a plurality of process units; first dividing means for dividing the data sequence to be sorted into L sorted data sequences, each of which is formed of a plurality of blocks where L is any natural number larger than or equal to 2; first generating means for generating a block information record for each block in the sorted data sequences, the block information record having identification information of the block and representative data thereof and arranging the block information records so as to generate a first auxiliary information record group; second generating means for arranging the block information records of the first auxiliary information record group in a predetermined order corresponding to values of the representative data so as to generate a second auxiliary record group; second dividing means for dividing the second auxiliary record group in P sub-auxiliary information record groups, each of which has nearly the same number of the block information records where P is any natural number larger than or equal to 2; allocating means for allocating the P sub-auxiliary information record groups to said process units; and sorting means for causing said process units to merge blocks corresponding to the block information records of the sub-auxiliary information record groups of the L sorted data sequences allocated to said process units in parallel and for merging the P sorted data sequences so as to sort the merged data sequence in a predetermined order. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
Specification