Abstract:
A system and method for creating an accurate black-box model of a live storage system and for predicting performance of the storage system under a given workload is disclosed. An analytics engine determines a subset of counters that are relevant to performance of the storage system with respect to a particular output (e.g., throughput or latency) from performance data in counters of the storage system. Using the subset of counters, the analytics engine creates a workload signature for the storage system by using a recursive partitioning technique, such as a classification and regression tree. The analytics engine then creates the black-box model of the storage system performance by applying uncertainty measurement techniques, such as a Gaussian process, to the workload signature.
Abstract:
Described herein is a system and method for dynamically managing service-level objectives (SLOs) for workloads of a cluster storage system. Proposed states/solutions of the cluster may be produced and evaluated to select one that achieves the SLOs for each workload. A planner engine may produce a state tree comprising nodes, each node representing a proposed state/solution. New nodes may be added to the state tree based on new solution types that are permitted, or nodes may be removed based on a received time constraint for executing a proposed solution or a client certification of a solution. The planner engine may call an evaluation engine to evaluate proposed states, the evaluation engine using an evaluation function that considers SLO, cost, and optimization goal characteristics to produce a single evaluation value for each proposed state. The planner engine may call a modeler engine that is trained using machine learning techniques.
Abstract:
Described herein is a flash remapping (FR) layer in a storage operating system for utilizing flash memory as a secondary permanent storage device in a storage system. The FR layer collects particular information (specified by collection parameters) of received access requests for data stored on primary storage devices of the storage system. Based on the collected information and a predetermined access pattern (specified by pattern parameters), the FR layer selects data sets on the primary storage devices to be transferred permanently to flash memory, whereby subsequent access requests to the selected data sets are redirected to flash memory. New parameters may be received by the FR layer (from a user or program) to dynamically reconfigure the functions of the FR layer. The FR layer may be implemented in the operating system without requiring other code of the storage operating system to be modified.
Abstract:
Goal-based availability and change management are handled over groups of heterogeneous storage controllers. Probabilistic and deterministic methods are employed to determine the allocation and placement of storage volumes to storage controllers, as well as the degree of data redundancy necessary to achieve data availability goals The probabilistic methods can take into account past observations of controller availability, and operator beliefs, as well as the state of storage controller configuration, in coming up with a probabilistic estimate of future availability.
Abstract:
Provided is a method for using host and storage controller port information to configure paths between a host and storage controller. Information is gathered on ports on at least one host, ports on at least one storage controller managing access to storage volumes, and at least one fabric over which the at least one host and storage controller ports connect. For at least one host port and storage controller port, information is gathered on a connection metric related to a number of paths in which the port is configured and a traffic metric indicating Input/Output (I/O) traffic at the port. A determination is made of available ports for one host and storage controller that are available to provide paths between one host and storage controller. The connection and traffic metrics for the available host ports are processed to select at least one host port. The connection and traffic metrics for the available storage controller ports are processed to select at least one storage controller port. The at least one selected host and storage controller port pair are configured to provide at least one path enabling the host to communicate with the selected storage controller port to access at least one storage volume managed by the selected storage controller.
Abstract:
Formulating an integrated disaster recovery (DR) plan based upon a plurality of DR requirements for an application by receiving a first set of inputs identifying one or more entity types for which the plan is to be formulated, such as an enterprise, one or more sites of the enterprise, the application, or a particular data type for the application. At least one data container representing a subset of data for an application is identified. A second set of inputs is received identifying at least one disaster type for which the plan is to be formulated. A third set of inputs is received identifying a DR requirement for the application as a category of DR Quality of Service (QoS) class to be applied to the disaster type. A composition model is generated specifying one or more respective DR QoS parameters as a function of a corresponding set of one or more QoS parameters representative of a replication technology solution. The replication technology solution encompasses a plurality of storage stack levels. A solution template library is generated for mapping the application to each of a plurality of candidate replication technology solutions. The template library is used to select a DR plan in the form of a replication technology solution for the application.
Abstract:
Example embodiments provide various techniques for modeling network storage environments. To model a particular storage environment, component models that are associated with the components of the storage environment are loaded. Each component model is programmed to mathematically simulate one or more components of the storage environment. A system model is then composed from the component models and this system model is configured to simulate the storage environment.
Abstract:
Formulating an integrated disaster recovery (DR) plan based upon a plurality of DR requirements for an application by receiving a first set of inputs identifying one or more entity types for which the plan is to be formulated, such as an enterprise, one or more sites of the enterprise, the application, or a particular data type for the application. At least one data container representing a subset of data for an application is identified. A second set of inputs is received identifying at least one disaster type for which the plan is to be formulated. A third set of inputs is received identifying a DR requirement for the application as a category of DR Quality of Service (QoS) class to be applied to the disaster type. A composition model is generated specifying one or more respective DR QoS parameters as a function of a corresponding set of one or more QoS parameters representative of a replication technology solution. The replication technology solution encompasses a plurality of storage stack levels. A solution template library is generated for mapping the application to each of a plurality of candidate replication technology solutions. The template library is used to select a DR plan in the form of a replication technology solution for the application.
Abstract:
Disclosed is a storage management framework that integrates corrective action plans output from multiple different types of planning tools, sorts the different corrective action plans based on utility and risk values and outputs a time-based schedule for implementing one or more of the corrective action plans to resolve identified current and anticipated workload service level objective (SLO) violations.
Abstract:
Disclosed is a system for performing an operation, such as a read or write operation, on a data block in a shared disk system. A first adaptor receives a request to perform an operation on a data block maintained in a data storage location. The first adaptor then determines whether the first adaptor controls access to the data block. The first adaptor performs the requested operation on the data block after determining that the first adaptor controls access to the data block. If the first adaptor does not control access to the data block, then the first adaptor transmits a first message to a second adaptor that controls access to the data block and requests control of access to the data block. After receiving the first message, the second adaptor transfers control of access to the data block to the first adaptor. The second adaptor then transmits a second message to the first adaptor that the first adaptor controls access to the data block. After receiving the second message, the first adaptor performs the requested operation on the data block.