Transferring task execution in a distributed storage and task network
First Claim
1. A method for execution by a computer to manage distributed computing of a task on data, the method comprises:
- ascertaining processing speeds of distributed storage and task (DST) execution units of a set of DST execution units performing tasks similar to the task on other data that is similar to the data, the ascertaining processing speeds including at least a determination that one or more of the distributed storage and task (DST) execution units of the set of DST execution units can execute at least one or more of the tasks at a threshold speed greater than another of the distributed storage and task (DST) execution units of a set of DST execution units;
receiving, by the set of DST execution units, a set of encoded data slices that includes a sub-set of data-based data slices and a sub-set of redundancy-based data slices, wherein a data segment of the data is dispersed storage error encoded to produce the set of encoded data slices;
allocating performance of the task on the sub-set of data-based data slices to a sub-set of the set of DST execution units, wherein a first DST execution unit of the sub-set of DST execution units is allocated to perform a first partial task of the task on a first data-based data slice of the sub-set of data-based data slices on an encoded block by encoded block basis; and
when, based on the ascertained processing speeds, a second DST execution unit of the set of DST execution units has a processing speed that is the threshold speed greater than a processing speed of the first DST execution unit;
identifying at least one encoded block of the first data-based data slice for transferring processing responsibilities from the first DST execution unit to the second DST execution unit;
obtaining the at least one encoded block by the second DST execution unit; and
performing, by the second DST execution unit, a second partial task of the task on the at least one encoded block; and
wherein the second DST execution unit having the processing speed that is the threshold speed greater than the processing speed of the first DST execution unit is based on;
determining that the second DST execution unit can complete performance of the second partial task on the second partial task on encoded blocks of a second data-based data slice of the sub-set of data-based data slices and on the at least one encoded block before the first DST execution can commence performing the first partial task on the at least one encoded block.
4 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a dispersed storage (DS) processing module ascertaining processing speeds of distributed storage and task (DST) execution units where the DST execution units receive a set of encoded data slices that includes a sub-set of data-based data slices. The method continues with the DS processing module allocating task performance on the sub-set of data-based data slices to a sub-set of DST execution units, where a first DST execution unit is allocated to perform a first partial task on a first data-based data slice of the sub-set of data-based data slices. When a second DST execution unit has a processing speed that is a threshold speed greater than a processing speed of the first DST execution unit, the method continues with the DS processing module identifying at least one encoded block of the first data-based data slice for transferring processing responsibilities to the second DST execution unit.
100 Citations
15 Claims
-
1. A method for execution by a computer to manage distributed computing of a task on data, the method comprises:
-
ascertaining processing speeds of distributed storage and task (DST) execution units of a set of DST execution units performing tasks similar to the task on other data that is similar to the data, the ascertaining processing speeds including at least a determination that one or more of the distributed storage and task (DST) execution units of the set of DST execution units can execute at least one or more of the tasks at a threshold speed greater than another of the distributed storage and task (DST) execution units of a set of DST execution units; receiving, by the set of DST execution units, a set of encoded data slices that includes a sub-set of data-based data slices and a sub-set of redundancy-based data slices, wherein a data segment of the data is dispersed storage error encoded to produce the set of encoded data slices; allocating performance of the task on the sub-set of data-based data slices to a sub-set of the set of DST execution units, wherein a first DST execution unit of the sub-set of DST execution units is allocated to perform a first partial task of the task on a first data-based data slice of the sub-set of data-based data slices on an encoded block by encoded block basis; and when, based on the ascertained processing speeds, a second DST execution unit of the set of DST execution units has a processing speed that is the threshold speed greater than a processing speed of the first DST execution unit; identifying at least one encoded block of the first data-based data slice for transferring processing responsibilities from the first DST execution unit to the second DST execution unit; obtaining the at least one encoded block by the second DST execution unit; and performing, by the second DST execution unit, a second partial task of the task on the at least one encoded block; and wherein the second DST execution unit having the processing speed that is the threshold speed greater than the processing speed of the first DST execution unit is based on; determining that the second DST execution unit can complete performance of the second partial task on the second partial task on encoded blocks of a second data-based data slice of the sub-set of data-based data slices and on the at least one encoded block before the first DST execution can commence performing the first partial task on the at least one encoded block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for execution by a computer to manage distributed computing of a task on data, the method comprises:
-
ascertaining processing speeds of distributed storage and task (DST) execution units of a set of DST execution units performing tasks similar to the task on other data that is similar to the data; receiving, by the set of DST execution units, a set of encoded data slices that includes a sub-set of data-based data slices and a sub-set of redundancy-based data slices, wherein a data segment of the data is dispersed storage error encoded to produce the set of encoded data slices; allocating performance of the task on the sub-set of data-based data slices to a sub-set of the set of DST execution units, wherein a first DST execution unit of the sub-set of DST execution units is allocated to perform a first partial task of the task on a first data-based data slice of the sub-set of data-based data slices on an encoded block by encoded block basis; and when, based on the ascertained processing speeds, a second DST execution unit of the set of DST execution units has a processing speed that is a threshold speed greater than a processing speed of the first DST execution unit; identifying at least one encoded block of the first data-based data slice for transferring processing responsibilities from the first DST execution unit to the second DST execution unit; obtaining the at least one encoded block by the second DST execution unit; and performing, by the second DST execution unit, a second partial task of the task on the at least one encoded block; wherein the second DST execution unit having the processing speed that is the threshold speed greater than the processing speed of the first DST execution unit is based on; determining that the second DST execution unit can complete performance of the second partial task on the second partial task on encoded blocks of a second data-based data slice of the sub-set of data-based data slices and on the at least one encoded block before the first DST execution can commence performing the first partial task on the at least one encoded block; and when, based on the ascertained processing speeds, a third DST execution unit of the set of DST execution units has a processing speed that is the threshold speed greater than the processing speed of the first DST execution unit; identifying at least two encoded blocks of the first data-based data slice for transferring the processing responsibilities from the first DST execution unit to the second DST execution unit and to the third DST execution unit; obtaining a first one of the at least two encoded blocks by the second DST execution unit obtaining a second one of the at least two encoded blocks by the third DST execution unit performing, by the second DST execution unit, the second partial task on the first one of the at least two encoded blocks; and performing, by the third DST execution unit, a third partial task of the task on the second one of the at least two encoded blocks. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
Specification