Abstract:
At a first client-side component of a storage service, a metric of a storage workload directed from the first client-side component towards server components of the storage service is determined. The metric is transmitted to a particular server component, which is configured to propagate the metric to a different client-side component of the storage service. The first client-side component receives, from a server component, a different metric of a storage workload of a second client-side component. The first client-side component reschedules at least one storage request based at least in part on the different metric.
Abstract:
The estimated rate of work requests expected during a time period at a first block storage device, implemented at a particular server of a storage service, exceeds a provisioned rate of the first device. At a client-side component of the storage service, a different storage server is identified, at which the rate of work requests directed during the time period to a second block storage device is anticipated to be less than the provisioned rate of the second device. At least one admission control parameter of the first device is modified to enable the first storage server to accept work requests at a rate that exceeds the provisioned rate of the first device.
Abstract:
Systems and methods are described providing detailed input/output (I/O) metric information that is collected and gathered by an agent of the storage volume. An I/O request is received by a storage volume, and the agent associates primary and secondary identifiers with that I/O request. For example, a trace may be associated with that I/O request. The agent may store this I/O metric information in a ring buffer. Further, after collection and aggregation, statistics may be published by an I/O metric service that further processes the data provided by the agent. Advantageously, interdependent relationships associated with the I/O request or I/O operations of that request may be included in those statistics. This may allow an operator to evaluate the performance of I/O requests for a network.
Abstract:
A storage system may implement dynamic configuration of data volumes. Client utilization of a data volume in a storage system may be tracked or monitored. Based on the utilization of the data volume, configuration recommendations to reconfigure the data volume according to data volume offerings may be determined. The data volume may be configured according to an authorized configuration recommendation. In some embodiments, these recommendations may be provided to a client and selection of the configuration recommendation to perform may be received. In some embodiments, a configuration recommendation may be automatically performed based on previously provided authorization to configure the data volume.
Abstract:
Live migration may be performed for virtual computing resources utilizing network-based storage. A virtual compute instance operating at a source host may be moved to a destination host. The virtual compute instance may be a client of a network-based storage resource that stores data for the virtual compute instance. Access to the data stored for the virtual compute instance may be limited to the source host. When migration is performed, the destination host may be prepared to assume operation of the virtual compute instance. Operation of the virtual compute instance at the source host may be paused and the access to the data at the network-based storage resource may be modified to limit access to the destination host. Operation of the virtual compute instance may then resume at the destination host.
Abstract:
Techniques for preserving the state of virtual machine instances during a migration from a source location to a target location are described herein. A set of credentials configured to provide access to a storage device by a virtual machine instance at the source location is provided to the virtual machine instance. When the migration from the source location to the target location starts, a second set of credentials configured to provide access to a storage device by a virtual machine instance at the source location is provided to the virtual machine instance. During the migration, state information associated with the block storage device is copied from the source location to the target location based on the migration phase.
Abstract:
Various aspects of the performance of computing resources, such as storage volumes, are measured and used to train a probability model. The probability model is used in a query engine that is able to respond receive queries about a computing resource's state. The queries may specify a state of the computing resource and provide a set of measurements of the computing resource's performance. The query engine may use the probability model, which may be in the form of a contingency table, to provide information that indicates one or more most likely causes of the state.
Abstract:
Systems and methods are provided for providing a consistent experience for users of cloud-based block storage volumes. While cloud storage aims to remove hardware considerations for an end user's experience, block storage performance can nevertheless vary according to the underlying hardware used to support a volume or the specific network location of that hardware. Embodiments of the present disclosure address that inconsistent performance by associating a volume with a performance profile that sets a target latency for the volume. A storage client can then monitor observed latency for the volume and inject synthetic latency into input/output operations for the volume as calculated via a proportional-integral-derivative algorithm, such that the observed latency matches the target within the performance profile. This enables the cloud provider to vary physical hardware or network configurations without effect on block storage performance from the point of view of an end user.
Abstract:
A data storage manager may manage storage locations for blocks of a storage volume. The blocks of the storage volume may be assigned to a logical volume exposed to a computing instance supported by a host. Furthermore, the data storage manager may also generate and maintain a set of rules that specify the locations of blocks of the storage volume, and provides the set of rules to the host. The set of rules may be included in a data structure enabling the host to access the blocks based at least in part on the information included in the set of rules.
Abstract:
Systems and methods are provided for providing a consistent experience for users of cloud-based block storage volumes. While cloud storage aims to remove hardware considerations for an end user's experience, block storage performance can nevertheless vary according to hardware configuration, such as the specific model of underlying hardware used to support a volume or the specific network location of that hardware. Embodiments of the present disclosure address that inconsistent performance by associating a volume with a performance profile, which can represent a desired distribution of performance for the volume. Each read or write can be compared to the profile, and may be selectively delayed to match the desired performance. This enables the cloud provider to vary physical hardware or network configurations without effect on block storage performance from the point of view of an end user.