Wear leveling and management in an electronic environment
First Claim
1. A computer-implemented method of distributing workloads, comprising:
- receiving a request to process a workload using at least one of a plurality of host machines operating in a multi-tenant environment;
analyzing at least one of information for the request or information for a source of the request to determine an expected amount of wear resulting from processing the workload, wherein the wear corresponds to a reduction of available read-write cycles in a memory device;
analyzing each of at least a portion of the plurality of host machines to determine an average wear level of one or more memory devices installed in the host machine, the average wear level for the one or more memory devices determined by analyzing information provided by the one or more memory devices installed in the host machine, each of the one or more memory devices having a finite number of read-write cycles;
balancing the average wear levels of the one or more memory devices across at least the analyzed host machines based at least in part upon the average wear level of each of one or more memory devices installed in the analyzed host machines and the expected amount of wear resulting from processing the workload;
selecting a host machine based at least in part on the balancing and factors associated with the workload of the one or more memory devices;
sending information to process the workload in the request to the selected host machine of the analyzed host machines;
analyzing the processing of the workload;
determining that the actual wear resulting from the processing of the workload exceeds the expected amount of wear by at least a determined threshold amount; and
moving at least a portion of the workload to a second host machine of the analyzed host machines based at least in part upon the determination that the actual wear resulting from the processing of the workload exceeds the expected amount of wear by at least the determined threshold amount, wherein the second host machine is selected based at least in part on the balancing and factors associated with the portion of the workload.
0 Assignments
0 Petitions
Accused Products
Abstract
Workloads can be intelligently placed across a group of resources in order to attempt to balance or otherwise manage the level of wear among various components of those resources. Devices such as solid state drives or other NAND-type devices can have a limited number of operations that can be performed before those devices become unreliable, such that it can be desirable to monitor the wear level of each of these devices. As it can be easier to manage resources with similar wear levels for large groups of resources, it can be desirable to attempt to level the relative amount of wear among at least groups of these resources. Attempts can be made to level across a fleet or resources, within pools of resources, and/or within the resources themselves, such as where a server includes multiple devices with potentially different wear levels, such as multiple NAND-type devices.
47 Citations
25 Claims
-
1. A computer-implemented method of distributing workloads, comprising:
-
receiving a request to process a workload using at least one of a plurality of host machines operating in a multi-tenant environment; analyzing at least one of information for the request or information for a source of the request to determine an expected amount of wear resulting from processing the workload, wherein the wear corresponds to a reduction of available read-write cycles in a memory device; analyzing each of at least a portion of the plurality of host machines to determine an average wear level of one or more memory devices installed in the host machine, the average wear level for the one or more memory devices determined by analyzing information provided by the one or more memory devices installed in the host machine, each of the one or more memory devices having a finite number of read-write cycles; balancing the average wear levels of the one or more memory devices across at least the analyzed host machines based at least in part upon the average wear level of each of one or more memory devices installed in the analyzed host machines and the expected amount of wear resulting from processing the workload; selecting a host machine based at least in part on the balancing and factors associated with the workload of the one or more memory devices; sending information to process the workload in the request to the selected host machine of the analyzed host machines; analyzing the processing of the workload; determining that the actual wear resulting from the processing of the workload exceeds the expected amount of wear by at least a determined threshold amount; and moving at least a portion of the workload to a second host machine of the analyzed host machines based at least in part upon the determination that the actual wear resulting from the processing of the workload exceeds the expected amount of wear by at least the determined threshold amount, wherein the second host machine is selected based at least in part on the balancing and factors associated with the portion of the workload. - View Dependent Claims (2, 3, 4)
-
-
5. A system, comprising:
-
at least one processor; and memory including instructions that, when executed by the at least one processor, causes the system to; obtain a workload to be processed using a selected resource of a set of resources; determine an expected amount of wear resulting from processing the workload based at least in part upon information for one or more similar workloads previously processed using the set of resources, wherein the wear corresponds to a reduction of available read-write cycles in at least a portion of the set of resources; determine a wear level of each of the at least a portion of the set of resources; balance the wear levels of each of the at least a portion of the set of resources, the balancing based at least in part upon the relative wear of the selected resource and the expected amount of wear associated with processing the workload; select a resource from the set of resources based at least in part on the balance of the wear levels and resource data received from the set of resources; transmit information to process the workload in a request to the selected resource; analyze the processing of the workload; determine that the actual wear resulting from the processing of the workload exceeds the expected amount of wear by at least a determined threshold amount; and move at least a portion of the workload to a second resource of the set of resources based at least in part upon the determination that the actual wear resulting from the processing of the workload exceeds the expected amount of wear by at least the determined threshold amount, wherein the second resource is selected based at least in part on the balancing and factors associated with the portion of the workload. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computer system, cause the computer system to:
-
determine historical information for a user associated with a workload to be processed; determine an expected amount of wear associated with processing the workload based at least in part upon the historical information for the user, wherein the wear is associated with a reduction of available read-write cycles in a memory resource; determine a wear level of each of at least a portion of a set of memory resources; balance an average wear level across at least the portion of the set of memory resources based at least in part upon the wear level of each of at least the portion of the set of memory resources and the expected amount of wear associated with processing the workload; determine a selected memory resource from the set of memory resources based at least in part on the balance of the wear level and one or more factors associated with the set of memory resources; transmit information to process the workload in a request to the selected memory resource; analyze the processing of the workload; determine that the actual wear resulting from the processing of the workload exceeds the expected amount of wear by at least a determined threshold amount; and move at least a portion of the workload to a second memory resource of the set of memory resources based at least in part upon the determination that the actual wear resulting from the processing of the workload exceeds the expected amount of wear by at least the determined threshold amount, wherein the second memory resource is selected based at least in part on the balancing and factors associated with the portion of the workload. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
Specification