Data processing system and method for iteratively re-distributing objects across all or a minimum number of processing units
First Claim
Patent Images
1. A data processing system for assigning a set of objects to processing units of a cluster of processing units, the data processing system comprising:
- first determining means that determines a re-distribution of the objects over the processing units, the re-distribution specifying which objects to assign to a set of required processors among the processing units, wherein the objects include database tables, wherein each processing unit includes a memory unit;
calculating means that calculates an expected duration required for applying the re-distribution, wherein the calculation is based on at least a time parameter and the aggregated size of the objects to be redistributed, the time parameter providing an estimate of an amount of down time for the processing units;
a user interface that shows the expected duration to a user; and
a processor for performing operations including;
prompting the user, by the user interface, to select whether to distribute the objects according to one of a first and second modes;
whereinin the first mode, the set of required processors includes all the processing units in the cluster; and
in the second mode, the set of required processors consists of a minimum number of processing units determined using a two-dimensional minimization procedure comprising calculating a sorting index for each of the objects based on the normalised object size and load of each of the objects;
creating an object sequence for re-distribution by sorting the objects by size;
iteratively redistributing the objects in the object sequence across the required processing units by, for each required processing unit;
determining a gap in the associated memory unit, wherein the gap represents free space on the memory unit;
identifying the largest remaining object in the object sequence that will fit into the gap;
adding the identified object to the memory unit; and
removing the identified object from the object sequence; and
after the object sequence has no more objects to redistribute, outputting the assignment of objects.
2 Assignments
0 Petitions
Accused Products
Abstract
A data processing system has a program module for determining a re-distribution of objects, such as database tables, over processing units of a cluster of processing units, such as in a blade computing environment. An estimate of the required duration for applying the re-distribution is calculated in order to facilitate an administrator'"'"'s decision when to initiate the re-distribution procedure.
-
Citations
12 Claims
-
1. A data processing system for assigning a set of objects to processing units of a cluster of processing units, the data processing system comprising:
-
first determining means that determines a re-distribution of the objects over the processing units, the re-distribution specifying which objects to assign to a set of required processors among the processing units, wherein the objects include database tables, wherein each processing unit includes a memory unit; calculating means that calculates an expected duration required for applying the re-distribution, wherein the calculation is based on at least a time parameter and the aggregated size of the objects to be redistributed, the time parameter providing an estimate of an amount of down time for the processing units; a user interface that shows the expected duration to a user; and a processor for performing operations including; prompting the user, by the user interface, to select whether to distribute the objects according to one of a first and second modes;
whereinin the first mode, the set of required processors includes all the processing units in the cluster; and in the second mode, the set of required processors consists of a minimum number of processing units determined using a two-dimensional minimization procedure comprising calculating a sorting index for each of the objects based on the normalised object size and load of each of the objects; creating an object sequence for re-distribution by sorting the objects by size; iteratively redistributing the objects in the object sequence across the required processing units by, for each required processing unit; determining a gap in the associated memory unit, wherein the gap represents free space on the memory unit; identifying the largest remaining object in the object sequence that will fit into the gap; adding the identified object to the memory unit; and removing the identified object from the object sequence; and after the object sequence has no more objects to redistribute, outputting the assignment of objects. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of assigning a set of objects to processing units of a cluster of processing units, the method comprising:
-
determining, via a processor, a re-distribution of the objects over the processing units, the re-distribution specifying which objects will be assigned to a set of required processors among the processing units, wherein the objects include database tables, wherein each processing unit includes a memory unit; calculating, via the processor, an expected duration required for applying the re-distribution of the objects, wherein the calculating is based on at least a time parameter and the aggregated size of the objects to be redistributed, the time parameter providing an estimate of an amount of down time for the processing units; showing, via a display device, the expected duration to a user; prompting the user, on the display device, to select whether to distribute the objects according to one of a first and second modes;
whereinin the first mode, the set of required processors includes all the processing units in the cluster; and in the second mode, the set of required processors consists of a minimum number of processing units determined using a two-dimensional minimization procedure comprising calculating a sorting index for each of the objects based on the normalised object size and load of each of the objects; creating, via the processor, an object sequence for re-distribution by sorting the objects by size; iteratively redistributing, via the processor, the objects in the object sequence across the required processing units by, for each processing unit; determining a gap in the associated memory unit, wherein the gap represents free space on the memory unit; identifying the largest remaining object in the object sequence that will fit into the gap; adding the identified object to the memory unit; and removing the identified object from the object sequence; and after the object sequence has no more objects to redistribute, outputting, via the display device, the assignment of objects. - View Dependent Claims (9, 10, 11)
-
-
12. A non-transitory computer-readable storage medium comprising computer executable instructions, which instructions when executed perform stages, comprising:
-
determining a re-distribution of objects over a cluster of processing units, the re-distribution specifying which objects to assign a set of required processors among the processing units; calculating an expected duration required for applying the re-distribution of the objects, wherein the calculating is based on at least a time parameter and the aggregated size of the objects to be redistributed, the time parameter providing an estimate of an amount of down time for the processing units; showing the expected duration to a user; prompting the user to select whether to distribute the objects according to one of a first and second modes;
whereinin the first mode, the set of required processors includes all the processing units in the cluster; and in the second mode, the set of required processors consists of a minimum number of processing units determined using a two-dimensional minimization procedure comprising calculating a sorting index for each of the objects based on the normalised object size and load of each of the objects; creating an object sequence for re-distribution by sorting the objects by size; iteratively redistributing the objects in the object sequence across the effected processing units by, for each processing unit; determining a gap in the associated memory unit, wherein the gap represents free space on the memory unit; identifying the largest remaining object in the object sequence that will fit into the gap; adding the identified object to the memory unit; and removing the identified object from the object sequence; and after the object sequence has no more objects to redistribute, outputting the assignment of objects
-
Specification