TRANSFERRING A PARTIAL TASK IN A DISTRIBUTED COMPUTING SYSTEM
First Claim
1. A method for execution by a first distributed storage and task (DST) execution unit of a distributed computing system, the method comprises:
- determining that partial task processing resources of the first DST execution unit are projected to be available based on a first local task queue, a first expected partial task performance factor, and a first expected partial task allocation factor, wherein the first DST execution unit is one of a set of DST execution units, wherein the set of DST execution units is assigned to perform tasks on large amounts of data, wherein each of the large amounts of data is partitioned into data partitions, wherein each of the data partitions is further divided into data groups, wherein each of the tasks is divided into a set of partial tasks, and wherein various DST execution units of the set of DST execution units are assigned various partial tasks of various ones of the sets of partial tasks to perform on various ones of the data groups of various ones of the data partitions of various ones of the large amounts of data;
ascertaining that partial task processing resources of a second DST execution unit of the set of DST execution units are projected to be overburdened based on a second local task queue, a second expected partial task performance factor, and a second expected partial task allocation factor;
receiving, from the second DST execution unit, a partial task assigned to the second DST execution unit in accordance with a partial task allocation transfer policy to produce an allocated partial task; and
executing the allocated partial task.
5 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a dispersed storage (DS) processing module determining that partial task processing resources of a first DST execution unit are projected to be available. The method continues with the DS processing module ascertaining that partial task processing resources of a second DST execution unit are projected to be overburdened. The method continues with the DS processing module receiving, from the second DST execution unit, a partial task assigned to the second DST execution unit in accordance with a partial task allocation transfer policy to produce an allocated partial task and executing the allocated partial task.
26 Citations
20 Claims
-
1. A method for execution by a first distributed storage and task (DST) execution unit of a distributed computing system, the method comprises:
-
determining that partial task processing resources of the first DST execution unit are projected to be available based on a first local task queue, a first expected partial task performance factor, and a first expected partial task allocation factor, wherein the first DST execution unit is one of a set of DST execution units, wherein the set of DST execution units is assigned to perform tasks on large amounts of data, wherein each of the large amounts of data is partitioned into data partitions, wherein each of the data partitions is further divided into data groups, wherein each of the tasks is divided into a set of partial tasks, and wherein various DST execution units of the set of DST execution units are assigned various partial tasks of various ones of the sets of partial tasks to perform on various ones of the data groups of various ones of the data partitions of various ones of the large amounts of data; ascertaining that partial task processing resources of a second DST execution unit of the set of DST execution units are projected to be overburdened based on a second local task queue, a second expected partial task performance factor, and a second expected partial task allocation factor; receiving, from the second DST execution unit, a partial task assigned to the second DST execution unit in accordance with a partial task allocation transfer policy to produce an allocated partial task; and executing the allocated partial task. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for execution by a first distributed storage and task (DST) execution unit of a distributed computing system, the method comprises:
-
receiving assignment of executing first partial tasks on first contiguous data slice groups of a first partition of a plurality of data partitions, wherein the first DST execution unit is one of a set of DST execution units, wherein a large amount of data is divided into the plurality of data partitions, wherein each data partition is dispersed storage error encoded to produce a set of data slice groups, wherein a first sub-set of the set of data slice groups includes contiguous data slice groups and a second sub-set of the set of data slice groups includes error coded data slice groups; determining a first expected partial task performance factor based on a comparison of the first partition of the plurality of data partitions to the plurality of data partitions; determining that partial task processing resources of the first DST execution unit are projected to be available based on the assignment of the first contiguous data slice groups, the first expected partial task performance factor, and a first expected partial task allocation factor; ascertaining that partial task processing resources of a second DST execution unit of the set of DST execution units are projected to be overburdened based on assignment of second contiguous data slice groups assigned to the second DST unit, a second expected partial task performance factor, and a second expected partial task allocation factor; receiving, from the second DST execution unit, a partial task and a corresponding one of the second contiguous data slice groups in accordance with a partial task allocation transfer policy; and executing the partial task on the corresponding one of the second contiguous data slice groups. - View Dependent Claims (9, 10)
-
-
11. A dispersed storage (DS) module of first distributed storage and task (DST) execution unit of a distributed computing system comprises:
-
a first module, when operable within a computing device, causes the computing device to; determine that partial task processing resources of the first DST execution unit are projected to be available based on a first local task queue, a first expected partial task performance factor, and a first expected partial task allocation factor, wherein the first DST execution unit is one of a set of DST execution units, wherein the set of DST execution units is assigned to perform tasks on large amounts of data, wherein each of the large amounts of data is partitioned into data partitions, wherein each of the data partitions is further divided into data groups, wherein each of the tasks is divided into a set of partial tasks, and wherein various DST execution units of the set of DST execution units are assigned various partial tasks of various ones of the sets of partial tasks to perform on various ones of the data groups of various ones of the data partitions of various ones of the large amounts of data; a second module, when operable within the computing device, causes the computing device to; ascertain that partial task processing resources of a second DST execution unit of the set of DST execution units are projected to be overburdened based on a second local task queue, a second expected partial task performance factor, and a second expected partial task allocation factor; a third module, when operable within the computing device, causes the computing device to; receive, from the second DST execution unit, a partial task assigned to the second DST execution unit in accordance with a partial task allocation transfer policy to produce an allocated partial task; and a fourth module, when operable within the computing device, causes the computing device to; execute the allocated partial task. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A dispersed storage (DS) module of a first distributed storage and task (DST) execution unit of a distributed computing system comprises:
-
a first module, when operable within a computing device, causes the computing device to; receive assignment of executing first partial tasks on first contiguous data slice groups of a first partition of a plurality of data partitions, wherein the first DST execution unit is one of a set of DST execution units, wherein a large amount of data is divided into the plurality of data partitions, wherein each data partition is dispersed storage error encoded to produce a set of data slice groups, wherein a first sub-set of the set of data slice groups includes contiguous data slice groups and a second sub-set of the set of data slice groups includes error coded data slice groups; a second module, when operable within the computing device, causes the computing device to; determine a first expected partial task performance factor based on a comparison of the first partition of the plurality of data partitions to the plurality of data partitions; and determine that partial task processing resources of the first DST execution unit are projected to be available based on the assignment of the first contiguous data slice groups, the first expected partial task performance factor, and a first expected partial task allocation factor; a third module, when operable within the computing device, causes the computing device to; ascertain that partial task processing resources of a second DST execution unit of the set of DST execution units are projected to be overburdened based on assignment of second contiguous data slice groups assigned to the second DST unit, a second expected partial task performance factor, and a second expected partial task allocation factor; and a fourth module, when operable within the computing device, causes the computing device to; receive, from the second DST execution unit, a partial task and a corresponding one of the second contiguous data slice groups in accordance with a partial task allocation transfer policy; and execute the partial task on the corresponding one of the second contiguous data slice groups. - View Dependent Claims (19, 20)
-
Specification