Adjusting optimistic writes in a dispersed storage network
First Claim
1. A method comprises:
- dispersed storage error encoding, by a computing device of a dispersed storage network (DSN), a data object to produce a plurality of sets of encoded data slices;
executing, by the computing device, a plurality of three-phase write operations for writing the plurality of sets of encoded data slices to a set of storage units of the DSN, wherein, a phase of a three-phase write operation of the plurality of three-phase write operations includes a set of write requests regarding a set of encoded data slices of the plurality of sets of encoded data slices, wherein a write threshold number of favorable responses is required from the set of storage units to complete the a phase of the three-phase write operation and to begin a subsequent phase of the three-phase write operation or a first phase of another three-phase write operation of the plurality of three-phase write operations;
during execution of the three-phase write operation of the plurality of three-phase write operations;
determining, by the computing device, a write speed of a storage unit of the set of storage units, in processing a write request of the set of write requests, is outside a write speed range, wherein the write speed range includes one or more of a user defined write speed range, one storage unit'"'"'s write speed being a standard deviation difference than another storage unit'"'"'s write speed, and a specified level of a quality of service;
determining, by the computing device, whether the write speed of the storage unit being outside the write speed range is decreasing performance of the execution of the plurality of three-phase write operations; and
when the write speed is decreasing the performance;
adjusting, by the computing device, for one or more subsequent phases of the plurality of three-phase write operations, the execution of one or more subsequent write requests for the storage unit, wherein the adjustment causes write speeds, for the set of storage units, in executing the one or more subsequent phases, to be within the write speed range, and wherein the adjustment includes one or more of;
throttling back the one or more subsequent write requests to the storage unit; and
dropping the one or more subsequent write requests to the storage unit.
3 Assignments
0 Petitions
Accused Products
Abstract
A method includes encoding a data object into a plurality of sets of encoded data slices. The method further includes commencing execution of a plurality of three-phase write operations for writing the plurality of sets of encoded data slices to a set of storage units. The method further includes, during execution of the three-phase write operations, determining write speed differences between storage units of the set of storage units. The method further includes determining whether the write speed differences are having an adverse effect of the execution of the three-phase write operations. The method further includes, when the write speed differences are having the adverse effect, adjusting subsequent three-phase write operations by one or more of: throttling back write operations to a faster storage unit of the set of storage units and dropping write operations to a slower storage unit of the set of storage units.
78 Citations
16 Claims
-
1. A method comprises:
-
dispersed storage error encoding, by a computing device of a dispersed storage network (DSN), a data object to produce a plurality of sets of encoded data slices; executing, by the computing device, a plurality of three-phase write operations for writing the plurality of sets of encoded data slices to a set of storage units of the DSN, wherein, a phase of a three-phase write operation of the plurality of three-phase write operations includes a set of write requests regarding a set of encoded data slices of the plurality of sets of encoded data slices, wherein a write threshold number of favorable responses is required from the set of storage units to complete the a phase of the three-phase write operation and to begin a subsequent phase of the three-phase write operation or a first phase of another three-phase write operation of the plurality of three-phase write operations; during execution of the three-phase write operation of the plurality of three-phase write operations;
determining, by the computing device, a write speed of a storage unit of the set of storage units, in processing a write request of the set of write requests, is outside a write speed range, wherein the write speed range includes one or more of a user defined write speed range, one storage unit'"'"'s write speed being a standard deviation difference than another storage unit'"'"'s write speed, and a specified level of a quality of service;determining, by the computing device, whether the write speed of the storage unit being outside the write speed range is decreasing performance of the execution of the plurality of three-phase write operations; and when the write speed is decreasing the performance; adjusting, by the computing device, for one or more subsequent phases of the plurality of three-phase write operations, the execution of one or more subsequent write requests for the storage unit, wherein the adjustment causes write speeds, for the set of storage units, in executing the one or more subsequent phases, to be within the write speed range, and wherein the adjustment includes one or more of; throttling back the one or more subsequent write requests to the storage unit; and
dropping the one or more subsequent write requests to the storage unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computing device of a dispersed storage network (DSN), wherein the computing device comprises:
-
an interface; memory; and a processing module operably coupled to the interface and the memory, wherein the processing module is operable to; dispersed storage error encode, a data object to produce a plurality of sets of encoded data slices; executing a plurality of three-phase write operations for writing the plurality of sets of encoded data slices to a set of storage units of the DSN, wherein, a phase of a three-phase write operation of the plurality of three-phase write operations includes a set of write requests regarding a set of encoded data slices of the plurality of sets of encoded data slices, wherein a write threshold number of favorable responses is required from the set of storage units to complete a phase of the three-phase write operation and to begin a subsequent phase of the three-phase write operation or a first phase of another three-phase write operation of the plurality of three-phase write operations; during execution of the three-phase write operation of the plurality of three-phase write operations; determine a write speed of a storage unit of the set of storage units, in processing a write request of the set of write requests, is outside a write speed range, wherein the write speed range includes one or more of a user defined write speed range, one storage unit'"'"'s write speed being a standard deviation difference than another storage unit'"'"'s write speed, and a specified level of a quality of service; determine whether the write speed of the storage unit being outside the write speed range is decreasing performance of the execution of the plurality of three-phase write operations; and when the write speed is decreasing the performance; adjust for one or more subsequent phases of the plurality of three-phase write operations, the execution of one or more subsequent write requests for the storage unit, wherein the adjustment causes write speeds, for the set of storage units, in executing the one or more subsequent phases, to be within the write speed range, and wherein the adjustment includes one or more of throttling back the one or more subsequent write requests to the storage unit; and
dropping the one or more subsequent write requests to the storage unit. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification