Dynamic Sort-Based Parallelism
AssigneeSybase, Inc.
InventorsSteven A. KIRK, Kurt Deschler, David E. Walrath
Life of this patent
Estimating the term…
Abstract
A system, method, and computer program product are provided for sorting a set of records in a sort run. As the records are sorted, metadata regarding the sort run is gathered, and subsequently used to determine bounds of two or more disjoint subsets of the sort run. This enables the parallelization of several tasks over the sort run data using efficient, dynamic bounds determination, such as the outputting of sorted data from the disjoint subsets in parallel.
Claims24
A method comprising:
- sorting a set of records in a sort run based on key values of the set of records;
- gathering metadata regarding content of the sort run;
- determining boundary values defining key value bounds of two or more disjoint subsets of the sort run based on the metadata;
- and
- outputting sorted data from the two or more disjoint subsets of the sort run in parallel.
A computer-readable medium having computer-executable instructions stored thereon that, if executed by a computing device, cause the computing device to perform a method comprising:
- sorting a set of records in a sort run based on key values of the set of records;
- gathering metadata regarding content of the sort run;
- determining boundary values defining key value bounds of two or more disjoint subsets of the sort run based on the metadata;
- and
- outputting sorted data from the two or more disjoint subsets of the sort run in parallel.
A system comprising:
- a memory configured to store modules comprising:
- a sorting module configured to sort a set of records in a sort run based on key values of the set of records,
- a gathering module configured to gather metadata regarding content of the sort run,
- a determining module configured to determine boundary values defining key value bounds of two or more disjoint subsets of the sort run based on the metadata, and
- an outputting module configured to output sorted data from the two or more disjoint subsets of the sort run in parallel;
- and
- one or more processors configured to process the modules.
A method comprising:
- sorting a set of records in a sort run based on key values of the set of records;
- gathering metadata regarding content of the sort run, the metadata comprising information regarding correspondence of a key value to a page of the sort run, the page comprising a record in the set of records associated with the key value;
- determining boundary values defining key value bounds of two or more disjoint subsets of the sort run;
- and
- outputting sorted data from the two or more disjoint subsets of the sort run in parallel, the sorted data retrieved from the two or more disjoint subsets based on correspondence of records from the two or more disjoint subsets to pages of the sort run.
A computer-readable medium having computer-executable instructions stored thereon that, if executed by a computing device, cause the computing device to perform a method comprising:
- sorting a set of records in a sort run based on key values of the set of records;
- gathering metadata regarding content of the sort run, the metadata comprising information regarding correspondence of a key value to a page of the sort run, the page comprising a record in the set of records associated with the key value;
- determining boundary values defining key value bounds of two or more disjoint subsets of the sort run;
- and
- outputting sorted data from the two or more disjoint subsets of the sort run in parallel, the sorted data retrieved from the two or more disjoint subsets based on correspondence of records from the two or more disjoint subsets to pages of the sort run.
A system comprising:
- a memory configured to store modules comprising:
- a sorting module configured to sort a set of records in a sort run based on key values of the set of records,
- a gathering module configured to gather metadata regarding content of the sort run, the metadata comprising information regarding correspondence of a key value to a page of the sort run, the page comprising a record in the set of records associated with the key value,
- a determining module configured to determine boundary values defining key value bounds of two or more disjoint subsets of the sort run, and
- an outputting module configured to output sorted data from the two or more disjoint subsets of the sort run in parallel, the sorted data retrieved from the two or more disjoint subsets based on correspondence of records from the two or more disjoint subsets to pages of the sort run;
- and
- one or more processors configured to process the modules.
Dependencies are inferred from the claim text.