Adjusting execution of tasks in a dispersed storage network
First Claim
1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
- receiving, over time and by a set of execution units of the DSN, a plurality of sets of sub-task requests from a computing device of the DSN, wherein the computing device generates a plurality of task requests, wherein a task request of the plurality of task requests includes a set of sub-task requests and wherein the computing device sends corresponding sets of sub-task requests to the set of execution units when task requests of the plurality of task requests are generated;
storing, by the set of execution units, the corresponding sets of sub-task requests, wherein each of a first, a second, and a third execution unit of the set of execution unit stores, respectively, a first, a second, and a third sub-task request of each of the corresponding sets of sub-task requests to produce, respectively, a first, a second, and a third plurality of sub-task requests;
respectively generating first, second, and third sub-task estimation data for the first, the second, and the third plurality of sub-task requests by the first, the second, and the third execution units;
determining, for each execution unit, an execution ready status for a selected sub-task request of the set of sub-task requests when each the set of execution units has resources available to process the selected sub-task request; and
respectively adjusting timing, sequencing, or processing of the first, the second, and the third plurality of sub-task requests by the first, the second, and the third execution units based on the first, the second, and the third sub-task estimation data and a corresponding execution ready status, to produce a first, a second, and a third plurality of partial results, wherein, due to one or more difference factors from a list of difference factors, the first, the second, and the third execution units process the first, the second, and the third plurality of sub-task requests at difference paces, wherein the list of difference factors includes differences in amounts of data to be processed per sub-task request, processing capabilities, memory storage capabilities, and networking capabilities, and wherein at least one partial result of the first, second, and third plurality of partial results is based on dispersed error encoded data stored in the DSN.
4 Assignments
0 Petitions
Accused Products
Abstract
A method includes a set of execution units of a dispersed storage network (DSN) receiving sets of sub-task requests from a computing device and storing the sets of sub-task requests, where each execution unit stores a request of each of the sets of sub-task requests to produce a corresponding plurality of sub-task requests. The method continues with each execution unit generating sub-task estimation data and adjusting timing, sequencing, or processing of the corresponding plurality of sub-task requests based on the estimation data to produce a plurality of partial results, where, due to one or more difference factors from a list of difference factors, the execution units process pluralities of sub-task requests at difference paces, where the list of difference factors includes differences in amounts of data to be processed per sub-task request, processing capabilities, memory storage capabilities, and networking capabilities.
84 Citations
18 Claims
-
1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:
-
receiving, over time and by a set of execution units of the DSN, a plurality of sets of sub-task requests from a computing device of the DSN, wherein the computing device generates a plurality of task requests, wherein a task request of the plurality of task requests includes a set of sub-task requests and wherein the computing device sends corresponding sets of sub-task requests to the set of execution units when task requests of the plurality of task requests are generated; storing, by the set of execution units, the corresponding sets of sub-task requests, wherein each of a first, a second, and a third execution unit of the set of execution unit stores, respectively, a first, a second, and a third sub-task request of each of the corresponding sets of sub-task requests to produce, respectively, a first, a second, and a third plurality of sub-task requests; respectively generating first, second, and third sub-task estimation data for the first, the second, and the third plurality of sub-task requests by the first, the second, and the third execution units; determining, for each execution unit, an execution ready status for a selected sub-task request of the set of sub-task requests when each the set of execution units has resources available to process the selected sub-task request; and respectively adjusting timing, sequencing, or processing of the first, the second, and the third plurality of sub-task requests by the first, the second, and the third execution units based on the first, the second, and the third sub-task estimation data and a corresponding execution ready status, to produce a first, a second, and a third plurality of partial results, wherein, due to one or more difference factors from a list of difference factors, the first, the second, and the third execution units process the first, the second, and the third plurality of sub-task requests at difference paces, wherein the list of difference factors includes differences in amounts of data to be processed per sub-task request, processing capabilities, memory storage capabilities, and networking capabilities, and wherein at least one partial result of the first, second, and third plurality of partial results is based on dispersed error encoded data stored in the DSN. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A non-transitory computer-readable storage medium comprises:
-
at least one memory section that stores operational instructions that, when executed by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), causes the one or more computing devices to; receive, over time and by a set of execution units of the DSN, a plurality of sets of sub-task requests from a computing device of the DSN, wherein the computing device generates a plurality of task requests, wherein a task request of the plurality of task requests includes a set of sub-task requests and wherein the computing device sends corresponding sets of sub-task requests to the set of execution units when task requests of the plurality of task requests are generated; store, by the set of execution units, the corresponding sets of sub-task requests, wherein each of a first, a second, and a third execution unit of the set of execution unit stores, respectively, a first, a second, and a third sub-task request of each of the corresponding sets of sub-task requests to produce, respectively, a first, a second, and a third plurality of sub-task requests; respectively generate first, second, and third sub-task estimation data for the first, the second, and the third plurality of sub-task requests by the first, the second, and the third execution units; determine, for each execution unit, an execution ready status for a selected sub-task request of the set of sub-task requests when each the set of execution units has resources available to process the selected sub-task request; and respectively adjust timing, sequencing, or processing of the first, the second, and the third plurality of sub-task requests by the first, the second, and the third execution units based on the first, the second, and the third sub-task estimation data and a corresponding execution ready status, to produce a first, a second, and a third plurality of partial results, wherein, due to one or more difference factors from a list of difference factors, the first, the second, and the third execution units process the first, the second, and the third plurality of sub-task requests at difference paces, wherein the list of difference factors includes differences in amounts of data to be processed per sub-task request, processing capabilities, memory storage capabilities, and networking capabilities, and wherein at least one partial result of the first, second, and third plurality of partial results is based on dispersed error encoded data stored in the DSN. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. An execution unit of a dispersed storage network (DSN), the execution unit comprises:
-
an interface; a memory; and a processing module operably coupled to the interface and the memory, wherein the processing module functions to; receive, over time via the interface, a plurality of sub-task requests from a computing device of the DSN, wherein a plurality of sets of sub-task requests includes the plurality of sub-task requests, wherein the computing device generates a plurality of task requests, wherein a task request of the plurality of task requests includes a set of sub-task requests, wherein the computing device sends corresponding sets of sub-task requests to a set of execution units of the DSN when task requests of the plurality of task requests are generated and wherein the set of execution units includes the execution unit; store, in the memory, a corresponding sub-task request of each of the corresponding sets of sub-task requests to produce the plurality of sub-task requests; generate sub-task estimation data for the plurality of sub-task requests; determine, for each execution unit, an execution ready status for a selected sub-task request of the set of sub-task requests when each the set of execution units has resources available to process the selected sub-task request; and adjust timing, sequencing, or processing of the plurality of sub-task requests based on the sub-task estimation data and a corresponding execution ready status, to produce a plurality of partial results, wherein, due to one or more difference factors from a list of difference factors, the execution unit process the plurality of sub-task requests at difference paces, wherein the list of difference factors includes differences in amounts of data to be processed per sub-task request, processing capabilities, memory storage capabilities, and networking capabilities, and wherein at least one partial result of a first, second, and third plurality of the partial results is based on dispersed error encoded data stored in the DSN. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification