Abstract:
A system includes a number of hard disk drives and a controller. Each hard disk drive is selected from a number of different hard disk drive types. Each hard disk drive type has a different speed at which the hard disk drives of the hard disk drive type rotate to read and write data. At least one of the hard disk drives is of a different hard disk drive type than at least one other of the hard disk drives. The controller, responsive to a request to write particular data to the hard disk drives, is to select a given hard disk drive of the hard disk drives based on a type of the particular data, and is to write the particular data to the given hard disk drive.
Abstract:
Systems, methods, and computer-readable and executable instructions are provided for selecting executing requests to preempt. Selecting executing requests to preempt can include determining whether an application is in an overload condition. Selecting executing requests can also include in response to determining the application is in an overload condition, identifying each request that is being executed by the application. Selecting executing requests can also include determining a value for each request that is executing. Furthermore, selecting executing requests can also include selecting executing requests to preempt based on the values for the requests.
Abstract:
A system includes a number of hard disk drives and a controller. Each hard disk drive is selected from a number of different hard disk drive types. Each hard disk drive type has a different speed at which the hard disk drives of the hard disk drive type rotate to read and write data. At least one of the hard disk drives is of a different hard disk drive type than at least one other of the hard disk drives. The controller, responsive to a request to write particular data to the hard disk drives, is to select a given hard disk drive of the hard disk drives based on a type of the particular data, and is to write the particular data to the given hard disk drive.
Abstract:
A system includes disk storage to provide differentiated storage QoS for a plurality of IO classes. Each IO class has a plurality of applications to it. A QoS controller collects IO statistics for each application and each class. The QoS controller adaptively determines an IO class assignment for each application based at least in part on the collected IO statistics.
Abstract:
Requests that are executing when an application is determined to be in an overload condition are preempted. To select the executing requests to preempt, a value for each executing request is determined. Then, executing requests are selected for preemption based on the values.
Abstract:
A transactional memory system uses a volatile memory as primary storage for transactions. Data is selectively stored in a non-volatile memory to impart durability to the transactional memory system to allow the transactional memory system to be restored to a consistent state in the event of data loss to the volatile memory.
Abstract:
A hard disk drive includes a storage surface, a motor, a read/write had, and a number of regions into which the storage surface is divisible. Data is writable to and data is readable from the storage surface. The motor is to rotate the storage surface at a variable speed. The read/write head is to write data to and read data from the storage surface while the storage surface is rotated by the motor. Each region corresponds to a different speed at which the storage surface is rotated for the read/write head to write data to and read data from the region.
Abstract:
There is provided a computer-implemented method for selecting from a plurality of full configurations of a storage system an operational configuration for executing an application. An exemplary method comprises obtaining application performance data for the application on each of a plurality of test configurations. The exemplary method also comprises obtaining benchmark performance data with respect to execution of a benchmark on the plurality of full configurations, one or more degraded configurations of the full configurations and the plurality of test configurations. The exemplary method additionally comprises estimating a metric for executing the application on each of the plurality of full configurations based on the application performance data and the benchmark performance data. The operational configuration may be selected from among the plurality full configurations based on the metric.
Abstract:
A system and method for allocating resources on a shared storage system are disclosed. The system 10 can include a shared storage device 12 and a plurality of port schedulers 14 associated with a plurality of I/O ports 16 that are in communication with the shared storage device 12. Each port scheduler 14 is configured to enforce a concurrency level and a proportional share of storage resources of the shared storage device 12 for each application 18 utilizing the associated port. The system 10 can also include a resource controller 17 that is configured to both monitor performance characteristics of the applications 18 utilizing at least one of the I/O ports 16, and to adjust the concurrency level and the proportional share of storage resources parameters of the port schedulers 14 for at least a portion of the applications 18 in order to vary allocation of the resources of the shared storage device 12.
Abstract:
A model is constructed to determine performance of each computing application based on allocation of resources (including at least one hardware resource) to the computing applications. How the allocation of the resources to the computing applications affects the performance is unknown beforehand. The resources are allocated to the computing applications based at least on the model. Where the resources are overloaded as allocated to the computing applications, performance degradation of each computing application is performed based at least on priorities of the computing applications relative to one another and on the model. Performance degradation reduces usage of the resources by the computing applications so that the resources are no longer overloaded. How the priorities of the computing applications affect the performance degradation in a relative manner to one another is known and predictable beforehand.