by Doron Chen, Ronen I. Kat and Kalman Meth
Evaluating the energy consumption of enterprise applications is a fundamental step towards energy efficiency. The total energy cost of an application is the sum of its compute, storage and network energy consumption. We outline a method for estimating the storage part of the application energy cost.
Energy-efficient storage relies on tools and frameworks that allow us to measure the storage energy consumption. Although such tools are becoming more prevalent for enterprise storage, they only measure the energy consumption of storage servers, not the energy consumed by application data.
In most cases, the enterprise data of different applications is stored on different logical entities (logical volumes) of the same storage server (Figure 1). Different applications have different storage usage patterns (ie workloads) and utilizations. The energy consumption of the storage server depends on the aggregation of various application workloads. This makes it difficult to proportionally divide the energy cost of the storage server between the different applications.
Figure 1: Typical layout of application data.
Researchers at the IBM Lab in Haifa, Israel have addressed this challenge by devising a modelling framework that estimates the energy consumption of storage servers based on the underlying storage configuration and the application I/O workload. Our framework estimates the energy consumption of disk arrays and utilizes heuristics to fairly distribute the energy cost between the logical volumes, based on the application workloads. The storage server energy consumption is composed of fixed and dynamic portions. The fixed portion is independent of the workload, while the dynamic portion is directly affected by the application workload.
The framework uses a small dataset of energy consumption tables, one for each storage component, to compute the dynamic portion. The dataset describes the energy consumption relative to the number of operations performed by the components. Building the dataset is a one-time process for each type of storage server.
The framework is composed of three steps:
1. A translation methodology estimates the number of activities performed by the storage components in order to execute the application workload. An activity is a storage operation that can be directly associated with energy consumption; for example, disk head movement or data transfer.
2. An interpolation step estimates the energy consumption of the physical storage components based on the level of activity computed in Step 1 and the energy consumption dataset.
3. The energy consumption of the logical volumes is estimated based on capacity and application workloads.
The application workload is translated to values representing the quantities of primitive storage activities, such as the number of disk seeks. This is done using performance statistics provided by the storage server. Most storage servers provide, for each array and logical volume, statistics on the caching and workload type. The energy consumption of each physical component is computed using interpolation and the energy consumption dataset.
Our logical volume estimation framework deals separately with fixed and dynamic energy consumption. Our heuristic computes the fixed portion in a straightforward manner; each volume is charged proportionally to its capacity. The heuristic for the dynamic portion charges each logical volume based on its workload, relative to the workload of the storage server. The complexity of the heuristic stems from the fact that multiple logical volumes share the same physical resources. As a result, the dynamic energy consumption of one volume is affected by the workloads of all logical volumes.
The storage energy estimation framework is now freely available for early adopters from IBM’s Open Process Automation Library (OPAL). The framework is implemented as an add-on module for IBM Tivoli Monitoring (ITM) and Tivoli Storage Productivity Center (TPC) customers.
Our module estimates the energy consumption for DS8000 and DS6000 storage servers, arrays, and logical volumes, and graphically shows the energy consumption as it changes over time.
Our framework for evaluating the energy consumption of logical volumes is an important step towards understanding the total cost of running enterprise applications. The total energy cost of an application is the sum of its compute, storage and network energy consumption.
This work began in 2007 and is being carried out primarily in the IBM Haifa Research Lab. Future activities will incorporate energy management functions for storage arrays and logical volumes.
Tel: +972 3768 9401
Ronen I. Kat
Tel: +972 3768 9493
Tel: +972 4829 6341