Configurable partitioning of parallel data for parallel processing
First Claim
Patent Images
1. A method which may be used by a software developer to configure partitioning of parallel data for parallel processing, the method comprising the steps of:
- obtaining a data partitioning interface, namely, obtaining at least one procedure heading for invoking a procedure to create a data partitioning and obtaining at least one procedure heading for invoking a procedure to obtain a data element from a data partition, the data partitioning having an organizational structure which is unspecified in the data partitioning interface and in particular the data partitioning interface being free of an organizational structure which specifies data element partitions based on whether data elements are replicated and also being free of an organizational structure which specifies data element partitions based on where data elements are replicated; and
associating a data partitioning implementation with the data partitioning interface, namely, associating at least one procedure body which implements creation of a data partitioning and at least one procedure body which implements obtaining a data element from a data partition for parallel processing with at least one other parallel data element, the organizational structure of the data partitioning being specific in the data partitioning implementation.
2 Assignments
0 Petitions
Accused Products
Abstract
A data partitioning interface provides procedure headings to create data partitions for processing data elements in parallel, and for obtaining data elements to process, without specifying the organizational structure of a data partitioning. A data partitioning implementation associated with the data partitioning interface provides operations to implement the interface procedures, and may also provide dynamic partitioning to facilitate load balancing.
23 Citations
20 Claims
-
1. A method which may be used by a software developer to configure partitioning of parallel data for parallel processing, the method comprising the steps of:
-
obtaining a data partitioning interface, namely, obtaining at least one procedure heading for invoking a procedure to create a data partitioning and obtaining at least one procedure heading for invoking a procedure to obtain a data element from a data partition, the data partitioning having an organizational structure which is unspecified in the data partitioning interface and in particular the data partitioning interface being free of an organizational structure which specifies data element partitions based on whether data elements are replicated and also being free of an organizational structure which specifies data element partitions based on where data elements are replicated; and associating a data partitioning implementation with the data partitioning interface, namely, associating at least one procedure body which implements creation of a data partitioning and at least one procedure body which implements obtaining a data element from a data partition for parallel processing with at least one other parallel data element, the organizational structure of the data partitioning being specific in the data partitioning implementation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer system with parallel data for parallel processing in heterogeneous partitions defined by data partitioning algorithm implementations, the system comprising:
-
at least one memory configured with executable instructions;
at least one logical processor configured to execute at least a portion of the instructions for data partitioning;a data partitioning interface which configures the memory and is designed to invoke a procedure to create a data partitioning and to invoke a procedure to obtain a data element from a data partition, the data partitioning having an organizational structure which is unspecified in the data partitioning interface and in particular the data partitioning interface being free of an organizational structure which specifies data element partitions based on whether data elements are replicated and also being free of an organizational structure which specifies data element partitions based on where data elements are replicated; a first data partitioning implementation which configures the memory and is associated with the data partitioning interface, namely, instructions which implement creation of a first data partitioning and instructions which implement obtaining a data element from a data partition of the first data partitioning for parallel processing with at least one other parallel data element, the first data partitioning having a first organizational structure which is specific in the first data partitioning implementation; and a second data partitioning implementation which configures the memory and is associated with the data partitioning interface, namely, instructions which implement creation of a second data partitioning and instructions which implement obtaining a data element from a data partition of the second data partitioning for parallel processing with at least one other parallel data element, the second pluggable custom data partitioning having a second organizational structure which is specific in the second data partitioning implementation and different from the first organizational structure. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A storage medium configured with computer data and computer instructions for partitioning parallel data for parallel processing in partitions defined by a pluggable custom data partitioning algorithm implementation, the method comprising the steps of:
-
associating a pluggable custom data partitioning implementation with a data partitioning interface, the pluggable custom data partitioning implementation designed to implement creation of a pluggable custom data partitioning and to implement obtaining a data element from a pluggable custom data partition of the pluggable custom data partitioning for parallel processing, the pluggable custom data partitioning having an organizational structure that is specific in the pluggable custom data partitioning implementation and unspecified in the data partitioning interface and in particular the data partitioning interface being free of an organizational structure which specifies data element partitions based on whether data elements are replicated and also being free of an organizational structure which specifies data element partitions based on where data elements are replicated; and executing instructions of the pluggable custom data partitioning implementation for creating a pluggable custom data partitioning of parallel data for parallel processing. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification