<<

Using Replication for Energy Conservation in RAID Systems

Jinoh Kim and Doron Rotem Lawrence Berkeley National Laboratory University of California Berkeley, CA 94720, USA {jinohkim,d_rotem}@lbl.gov

Abstract— Energy efficiency has become a major con- This percentage of power consumption by disk storage cern in data centers as several reports predict that systems will only continue to increase, as data intensive the anticipated energy costs over a three year period applications demand fast and reliable access to on-line will exceed hardware acquisition. In particular, several data resources. This in turn requires the deployment of reports indicate that storage devices (and cooling them power hungry faster (high RPM) and larger capacity off) may contribute over 25 percent of the total energy disks. Most of the larger data centers use some type consumed in a data center. In this paper, we present of RAID disk configuration to provide I/O parallelism. a novel approach for energy conservation, called iRGS While this parallelism benefits performance, it increases (inter-RAID Gear-Shift), which utilizes data replication the number of spinning disks and energy consumption. as a tool for extending the idleness period of a large There are many suggested techniques for power savings fraction of the disks. iRGS adapts to the workload in the research literature, including: observed by the system, thus allowing energy saving (a) Dynamic power management (DPM) algorithms [5]: subject to required service level. In particular, iRGS These make decisions in real time when disks can manage power in large data centers with mul- should be transitioned to a lower power dissipation tiple RAID groups unlike previous work which deals state while experiencing an idle period. The length with individual disks on one RAID group. To enable of the idle period before a spin down is triggered this, iRGS provides (1) a new replication algorithm is called idleness threshold. Analytical solutions to that allows gradual adaption to the workload by gear this online problem have been evaluated and it was shifting, (2) a mapping technique to service requests shown that the optimal idleness threshold period under power saving modes, and (3) a write consistency should be set to β where β is the energy penalty (in Pτ mechanism for new writes and existing file updates Joules) for having to serve a request while the disk under replicated environments. Simulation with real life is in standby mode, (i.e., spinning the disk down trace data (Cello99) and synthetic data shows that our and then spinning it up in order to serve a request) method saves up to 60% of energy, and outperforms and Pτ is the rate of energy consumption of the disk existing power management algorithms, while providing (in Watts) in the idle mode. However, it is difficult better response time. for this kind of fixed threshold-based techniques to adapt to workload characteristics, which may vary Keywords: Power Management, , Replication significantly over time. (b) Using Solid State Devices (SSDs) instead of 1. Introduction disks [6]: While SSD technology may help to allevi- Power optimization in data center environments has ate some of the energy problems, they are currently recently gained a lot of interest because of the costs an order of magnitude more expensive than HDDs involved in power delivery and system cooling. In a in terms of dollars per gigabyte [9]. recent report to congress [12], EPA stated that many (c) MAID (massive array of idle disks) technology [2]: data centers have already reached their power capacity In a MAID architecture, the number of drives that limit and more than 10% of data centers will be out can spin at any one time is limited. This allows of power capacity by the end of this year, while 68% extremely dense packaging, often impossible in expect to be at their limit within the next three years. conventional architectures. An example is a single Among the many components in the data center, it COPAN1 frame that can support up to 896 drives is currently estimated that disk storage systems con- sume about 25–35 percent of the total power [4]. 1http://www.sgi.com/products/storage/maid/ where at most 25% of the drives are spinning at data replication is an attractive practical option, since any given period. Disks are spun down whenever it is widely employed in server clusters for diverse they experience long idle periods. In case data is purposes, including data availability, durability, load needed from a non-spinning disk, severe response balancing, etc. Although replication requires additional time penalties may be incurred. This technology storage capacity, it usually comes at a very low cost, was successfully utilized for archival type data, but since it is well known that storage resources in data cen- in most typical data center environments, the disks ters are often considerably under-utilized at around 1/3 do not experience long enough idle periods, unless of total available capacity [4], [7], [8]. In addition, one some request redirection is available. critical problem of non-redundancy-based techniques is (d) Disks with dynamic RPM [16], [10], [14]: This the possibility of extremely long response times (greater technology may potentially allow to move disks to than tens of seconds) for any data accesses against a state that consumes less energy while still being powered-down disks as these disks need to be spun able to actively serve requests although at a slower up before they can serve any requests. Given that data transfer rate. This technology is unfortunately not access can be bursty, more than a single request may yet available on a large commercial scale. experience such unexpected, huge latencies, violating Our approach in this work is to use data replication system level agreements (SLAs). In this work, we focus as a tool for extending the idleness period of a large on techniques for taking advantage of data replication fraction of the disks, thus allowing them to be spun for energy conservation. down. Our algorithms adapt to the workload observed Diverted Accesses [11] and eRAID [8] utilize existing by the system (e.g., disk utilization, I/O request arrival replication for energy saving by using redirection of rate) thus allowing energy saving subject to required requests under light load. For example, eRAID relies service level. Our key contributions are as follows: on RAID-1 mirroring. By exploiting replication, it is • We present the design of a new replication algo- possible to spin down mirrored disks thus saving energy. rithm that allows gradual adaptation to the work- Since the spinning disks contain all data in the system, load by gear shifting for massive RAID systems. there would be no data access misses, and this could • We develop a mapping technique to service re- extend disk sleeping time, unless system load surges quests under power saving modes and a write up. consistency mechanism for new writes and existing While the above studies simply exploit replicated file updates in replicated environments. data, some studies [13], [7] provide replication strategies • We present experimental results with real life trace for energy management. Lang et al. [7] suggested a data (Cello99 [1]) and synthetic data. The results replication technique based on Chained Declustering. show that our method outperforms PARAID and The basic idea is to create a full replication to one DPM algorithms in energy saving, while providing of the adjacent nodes in a virtual ring topology. Thus, a better response time. up to half of the nodes can be spun down for energy The paper is organized as follows. First, we provide management. The authors also showed how they can related studies, particularly utilizing replications for achieve load balancing in such a ring-based replication energy conservation in section 2. Our novel replication setting. and mapping techniques for flexible gear shifting will PARAID [13] suggests replication in a RAID group. be presented in section 3. We provide our evaluation Instead of running all disks in a RAID group, PARAID results in section 4 with synthetic and Cello99 work- determines an appropriate gear level,i.e., how many loads. Finally, we provide conclusions and future work disks in a RAID group are spinning vs. disks in sleep directions in section 5. mode. This decision is based on the current system load (derived from disk utilization). Based on gear level, 2. Related Work disks in the RAID system are spun down (when the There has been a great deal of work on energy gear goes down) or spun up (when the gear goes up). conservation for large-scale storage systems, based on PARAID provides skewed data replication, so that it caching [15], [17], data placement [14], data migra- can continue service using only a subset of the disks tion [10], [16], and data replication [11], [8], [13], [7]. in each RAID group. Our work is inspired by PARAID These techniques try to prolong disk idle times, so as to in terms of shifting gear levels depending on current make it possible to place idle disks in low-power state, workload. One big difference is that our approach, called thus saving energy. Among these techniques, exploiting iRGS (Inter-RAID Gear-Shift), shifts gear levels be- tween RAID groups (or RDG) rather than within a single RAID group. Hence, there is no sacrifice in parallelism that PARAID may suffer in low-level gears. In addition, iRGS can be more suitable for large-scale settings, since data centers include multiple, possibly hundreds of, RAID groups. In this case, power management based on RAID groups (instead of individual disks) would be simpler and more efficient. In the next section, we Fig. 1: iRGS gear shift discuss details of our iRGS architecture and operations. Table 1: iRGS replication 3. Inter-RAID Gear-Shift Super-RDGs Ordinary-RDGs The basic idea of iRGS is to maintain replicated data RDG1 RDG2 RDG3 RDG4 RDG5 RDG6 between multiple RDGs. This redundancy allows the AB CDEF C 1 C 1 system to serve requests from a replica that resides on 2 2 D 1 D 1 D 1 a spinning disk allowing a large fraction of the disks to 2 2 3 E 1 E 1 E 1 E 1 remain in the sleep state resulting in significant energy 2 2 4 4 F 1 F 1 F 1 F 1 F 1 conservation. Based on system workload, iRGS shifts 2 2 5 5 5 A 1 A 1 A 1 A 1 the gear, which results in changes of power state of 4 4 4 4 B 1 B 1 B 1 B 1 RDGs. Again, our approach shifts power modes not 4 4 4 4 in a single RAID system, but between multiple RAID groups. Thus, any gear-shift makes entire disks in a RAID group either spun down or up. When the load gets the ordinary-RDGs data to super-RDGs, where each light below a certain boundary, iRGS attempts one-level super-RDG gets an equal fraction of the replicated data. gear-down shift sending an RDG to low-power state. Here, X a stands for a/b fraction of the data of X. Since In such a low-gear mode, replicated data is accessed b 2 there are 2 super-RDGs in this iRGS setting, they each instead of the original data. Conversely, iRGS shifts keep half of the ordinary-RDGs’ data. Ordinary-RDGs the gear up whenever necessary, e.g., when observing also maintain a part of other ordinary-RDGs replicas performance degradation. In this section, we discuss based on the gear-shift principle. By assigning a part iRGS core functions which enable gear-shifts as well of replicas to ordinary-RDGs, iRGS can distribute the as load balancing in a power-saving mode. request load in a low-gear mode. In order to maintain 3.1 Replication fault tolerance requirements, super-RDG blocks are also evenly replicated to ordinary-RDGs as shown in the ta- We first discuss the replication strategy in iRGS. ble, even though super-RDGs are always kept spinning. Figure 1 illustrates iRGS replication and gear shifts. In It is easy to prove that with this replication strategy, any the highest gear, all RDGs are spinning, whereas at the block of data is replicated at least 2 times and at most lowest gear only RDG1 is spinning. For each gear shift, 3 times. one RDG is either activated (spun up) or deactivated One question that arises is: Which blocks in an (spun down). As can be seen in the figure, RDGs ordinary-RDG are replicated on other ordinary-RDGs? have different sets of replicas to facilitate gear-shifts Let us consider an example with the above replication for power management. We denote by “super-RDGs”, in Table 1. The entire set of blocks in D is copied to RDGs that are kept spinning even in the lowest gear super-RDGs (RDG1 and RDG2). Additionally, 1/3 of level, while “ordinary-RDGs” can move to low-power the blocks in D is replicated to RDG3. A question is state to conserve energy. In the example in Figure 1, that which blocks of D will be assigned to RDG3? This RDG1 is the only super-RDG. is important in order to balance the load at gear level 2 iRGS employs replication not only for power manage- (notice that both RDG1 and RDG2 are running at gear ment but also for fault tolerance. Each data is maintained level 1). If the copied blocks of D are only a subset in at least 2 copies. Table 1 shows an example of of the blocks on RDG1’s, RDG2 should endure 1/2 replication in iRGS with 6 RDGs. iRGS replicates all of load for D at gear 2. Currently, we randomly assign replicas to ordinary RDGs. Our future work will include 2Here, “original data” means the original copy, while “replicated data” refers to the exact copy of the original data without any encoding explorations of other possible assignments. techniques. Now, let us discuss storage requirements for replicas for each RDG. Suppose N RDGs and M Super-RDGs simply throw away a part of the files unnecessary to (M < N). Let Vi be the volume of original data, and keep. The gear is then shifted down after reorganization Si be the size of replica storage for RDG-i. For ease completes. In the course of reorganization, any condition of exposition, we assume M RDGs with the lowest to gear-up interrupts this process, and the system devotes identifiers (i.e., RDG 1 to M) have the role of Super- all its power for user requests. RDGs. Thus, the rest of RDGs (i.e., RDG M+1 to N) As may be noticed, iRGS relies on no additional will work as ordinary-RDGs. In addition, we assume components such as extra caches for update consis- that power management spins down an RDG with tency. Nonetheless, adding disks or non- the greatest identifier among current working RDGs. for caching would be helpful for dealing with write Storage requirements for replication in this setting are requests, as considered by other studies [13], [8]. as follows: Our current work is focused on taking advantage of existing infrastructures, but we plan to employ large PN non-volatile caches in the future, as the price of SSD  k=M+1 Vk/M for Super-RDGs; PM rapidly decreases [6]. Si = k=1 Vk/(N − M) for RDG-N;  SN + Si+1 + Vi+1/i otherwise (for RDG-i). 3.3 Request Mapping iRGS shifts gear based on system load. In other words, RDGs (ordinary-RDGs) change their power state 3.2 Write Consistency over time. In the highest gear, load is balanced by Although our focus is more on read-dominant en- allowing access of “original data” rather than “repli- vironments, iRGS also provides functionality for write cated data”, unless original data is not stale (for read consistency. There can be two kinds of write requests: requests). When the gear shifts down, the rest of RDGs 1) New writes: New files are created. evenly share the load for low-powered RDGs. To enable 2) Updates: Existing files are updated. this, iRGS maintains a mapping table, as illustrated in The mechanism we use for write consistency is Figure 2. When a request arrives and the original data straightforward. The main principle is that we redirect block is located in a sleeping RDG, iRGS first refers to all writes to super-RDGs first and perform a reorga- the mapping table. For each data block, the associated nization phase later. For new writes (case 1), one of mapping table entry contains replica addresses in both flag the super-RDGs is selected to accommodate new files. ordinary-RDGs and super-RDGs, in addition to a For this, there may be some optimizations, such as indicating update history (stale or new creation). The null first-fit, best-fit, and worst-fit, based on the new file associated ordinary-RDG address can be , but super- null size. For updates (case 2), iRGS simply updates the RDG address should not be . corresponding super-RDG copy, and marks the original Algorithm 1 illustrates how the request is serviced copy as “stale”, so that it will not be accessed for in the system. If the request is for a new write, iRGS any subsequent requests. Regardless of gear level, after allocates a block from one of super-RDGs, and a new that, only the super-RDG copies are accessed for any entry is created in the mapping table. In the case of read, read and write requests, until a reorganization process the stale bit is checked first, based on which the request is executed. is either directed to the original address or redirected Whenever a gear goes up to the highest level, reorga- to mapped address. The request for update is handled nization is scheduled. Shifting to the highest level means almost similarly to read, but only super-RDG copies are that the current system load is too heavy to handle. updated and the stale bit is set to indicate not to access Thus, we do not want to impose additional overhead the other associated copies. at that time. After a while, if conditions allow iRGS We consider the stripe size for the block size in the to down gear-shift, reorganization is activated, deferring mapping table. If the system is configured with 146 GB gear-shifts during reorganization. In this phase, modified disks, 128 KB for stripe size, and 24 RDGs (which blocks in super-RDGs are flushed to RDGs storing is our experimental configuration with 120 disks in original blocks and stale information is reset (The details section 4), the required amount of storage is 230 MB 3 of this are explained in section 3.3.). New files are also for the mapping table. Since server clusters typically moved to one of ordinary RDGs (based on the prede- 3We compute this with 8-byte mapping entry size: ORA(31 bits), fined policies) and replication takes place as discussed SRA (31 bits), flag (2 bit), and RDG# (7 bits) and Block# (24 bits) in section 3.1. Since super-RDGs cache new files, they in the address format. Fig. 3: Disk power model Fig. 2: iRGS mapping table utilization. One main difference is that iRGS uses super- Input: Request r switch r.type do RDG disk utilizations for gear shifts, while PARAID case new writes: uses RAID disk utilization. More specifically, iRGS Get one of super-RDGs and block address; computes disk utilizations for each super-RDG at every Write the block to the address; Create a mapping entry with flag = CREAT E; time frame (32 seconds used in PARAID), and compares endsw the maximum utilization (U) and its associated standard case update: deviation (S) to threshold values for upshift (T ) and Entry e = MappingTable.get(r.address); u Write block to e.SRA; downshift (Td). If U +S > Tu, iRGS shifts the gear up; e.flag = ST ALE; otherwise, if U+S < Td, iRGS shifts the gear down. For endsw our evaluation, we used T = 0.9 and T = 0.5, but we case read: u d Entry e = MappingTable.get(r.address); plan to design more sophisticated gear-shift techniques if e.ORA is not null and e.flag != STALE then with prediction models to maximize energy benefits. Read block from e.ORA; end else 4. Evaluation Read block from e.SRA; In this section, we present our initial experimental end endsw results with synthetic and real workloads. endsw Algorithm 1: Request service 4.1 Experimental Setup For evaluation, we augmented Disksim [3], widely used for studying storage systems. We consider Seagate have very large memory (as large as tens of GBs), Cheetah 15K.5 enterprise disks.4 For this disk model, the mapping table can be accommodated in the main however, some power information, such as standby memory. power and spin up/down power, is missing in the associated documents. For this reason, we alternatively 3.4 Discussion chose power parameters from Seagate Barracuda spec- 5 is an essential component for large-scale ification. Since the main purpose of our experiments systems. If there are any large number of RDGs (e.g., here is to see applicability of iRGS in terms of both several tens of RDGs) in the system, some procedures, performance and power, comparing iRGS with existing such as replication, can be much more complicated. To techniques with the identical power parameters would handle this, we consider “partitioning” of the system: be acceptable. The power model we used in this paper each partition comprises of super-RDGs and ordinary- is shown in Figure 3. RDGs as discussed, and replication and redirection only In our experiments, we consider a large-scale data applies within a partition. center consisting of 120 disks. Although our model Exploring gear management is one of the big chal- has no dependency on RAID organization, we simply lenges in this project. Gear-shift can be reactive, as assume RAID-5 structure with 4 data disks and 1 parity PARAID does based on disk utilization [13], or proac- disk. Thus, there are 24 individual RAID groups in tive by incorporating load prediction models. In our 4http://www.seagate.com/www/en-us/products/enterprise-hard- initial evaluation presented in the next section, we use drives/cheetah-15k/ a reactive technique similar to PARAID’s based on disk 5http://www.seagate.com/support/disc/manuals/sata/100402371a.pdf Table 2: Workload traces

Synthetic Cello99 # Requests 1,000,000 17,783,038 R:W Ratio 9:1 3.5:6.5 Inter-arrival time 10 ms (exponential) 42 ms (R), 22 ms (W) Disk access pattern Zipf (α = 1.0) N/A

the system (i.e., 24 RDGs). We partitioned the system into four partitions each with 6 RDGs. Each partition consists of 2 super-RDGs and 4 ordinary ones. We employed two workloads, a synthetic workload close to the Internet data access model and a real trace Fig. 4: Power saving in synthetic workload from Cello99 [1]. Cello99 is a trace collection gathered by the HP Storage Research Lab in 1999 throughout the year (except for a couple of weeks in January). iRGS(6,2)=4.8 ms. 99% response times for all the We used 3-day traces between May 1st and May 3rd. techniques are located within 10 ms. Table 2 describes characteristics of the workloads in 4.3 Cello99 Workload our experiments. As seen in the table, the synthetic trace is read-dominant, while the Cello99 trace is write- We next report our simulation results with the 3- intensive. day Cello99 trace. Figure 5 shows power saving results We compared 4 different systems: NPS is a base with this real trace. Unlike the synthetic workload, system for comparison without any energy manage- FTH could save energy with this workload, suggest- ment functions; FTH is a system employing a fixed ing power management with a fixed threshold can be β highly sensitive to workload characteristics. In contrast, idleness threshold, Tτ = , mentioned in section 1; Pτ PARAID(n, m) is a PARAID configuration with n disks PARAID and iRGS consistently conserve energy in both with gear shifting down to m; iRGS(x, y) is an iRGS workloads. The saved powers by those systems in this configuration with x RDGs and y super-RDGs in a par- workload are almost equal to the ones in the synthetic tition. We set up two PARAID systems (PARAID(5,3) workload (37%–60%). and PARAID(5,2)) and one iRGS system (iRGS(6,2)). Unlike the synthetic workload, FTH dramatically By definition, PARAID systems can spin down or up saved energy over 70% than NPS. This is because FTH to 40% (PARAID(5,3)) and 60% (PARAID(5,2)) disks, could see many more chances to spin down disks with while iRGS(6,2) can spin down 67% disks at max. a lower degree of request arrival rate than the systhetic case. However, it needs to pay severe performance 4.2 Synthetic Workload penalties with respect to response time for power saving. We begin by presenting experimental results with Table 3 summarizes response times for each technique the synthetic workload. Figure 4 presents normalized on average and in percentile. The average response time power saving compared to NPS. As shown in the figure, of FTH is over 3 times of NPS’s, and the percentile PARAID systems saved 40%–54% power compared to numbers suggest a heavy tail in distribution. PARAID NPS. iRGS further saves energy up to 60%. Interest- systems show better performance than FTH, but still pay ingly, FTH yielded no power saving. This is due to considerable penalties: PARAID(5,2) shows almost a a fairly high rate of requests with 10 ms inter-arrival factor of 2 compared to NPS, while PARAID(5,3) shows time that can create 4–5 requests for each disk within around 1.5 times of NPS in terms of mean response the idleness threshold time. Even with the skewness for time. With the real trace, iRGS shows a relatively disk access pattern (α = 1.0), there is a high probability small performance loss (17%) with only 40% of energy that each disk can see at least a single request within consumption. the idleness time period. For this reason, in this setting, FTH cannot see many chances to spin down disks. 5. Conclusion We observed no significant performance differ- In this work, we developed a system called iRGS ences in terms of response time distribution. The (inter-RAID Gear-Shift), which utilizes data replication mean response times are NPS=3.9 ms, FTH=4.0 as a tool for extending the idleness period of a large ms, PARAID(5,3)=4.9 ms, PARAID(5,2)=4.4 ms, and fraction of the disks. iRGS adapts to the workload [8] D. Li and J. Wang. eraid: A queueing model based energy saving policy. In MASCOTS ’06: Proceedings of the 14th IEEE International Symposium on Modeling, Analysis, and Simulation, pages 77–86, Washington, DC, USA, 2006. IEEE Computer Society. [9] D. Narayanan, E. Thereska, A. Donnelly, S. Elnikety, and A. Row- stron. Migrating server storage to ssds: analysis of tradeoffs. In EuroSys ’09: Proceedings of the 4th ACM European conference on Computer systems, pages 145–158, New York, NY, USA, 2009. ACM. [10] E. Pinheiro and R. Bianchini. Energy conservation techniques for -based servers. In ICS ’04: Proceedings of the 18th annual international conference on Supercomputing, pages 68– 78, New York, NY, USA, 2004. ACM. [11] E. Pinheiro, R. Bianchini, and C. Dubnicki. Exploiting re- Fig. 5: Power saving in Cello99 workload dundancy to conserve energy in storage systems. In SIGMET- RICS ’06/Performance ’06: Proceedings of the joint international conference on Measurement and modeling of computer systems, Table 3: Response times in Cello99 trace (milliseconds) pages 15–26, New York, NY, USA, 2006. ACM. [12] http://www.federalnewsradio.com/pdfs/epadatacenterreporttocongress- august2007.pdf. Technique Mean Median 90% 95% 99% [13] C. Weddle, M. Oldham, J. Qian, A.-I. A. Wang, P. Reiher, and NPS 121 3 37 118 2593 G. Kuenning. Paraid: A gear-shifting power-aware . Trans. FTH 429 4 77 858 13689 Storage, 3(3):13, 2007. PARAID(5,3) 179 5 64 190 3988 [14] T. Xie. Sea: A striping-based energy-aware strategy for data PARAID(5,2) 239 7 105 294 5696 placement in raid-structured storage systems. IEEE Trans. Com- iRGS(6,2) 142 6 66 139 3286 put., 57(6):748–761, 2008. [15] X. Yao and J. Wang. Rimac: a novel redundancy-based hierar- chical cache architecture for energy efficient, high performance storage systems. In EuroSys ’06: Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems observed by the system, thus allowing energy saving 2006, pages 249–262, New York, NY, USA, 2006. ACM. subject to required service level. [16] Q. Zhu, Z. Chen, L. Tan, Y. Zhou, K. Keeton, and J. Wilkes. For evaluation, we used two workloads: read- Hibernator: helping disk arrays sleep through the winter. In SOSP ’05: Proceedings of the twentieth ACM symposium on Operating intensive synthetic workload and real life Cello99 work- systems principles, pages 177–190, New York, NY, USA, 2005. load that is write-intensive. The simulation results show ACM. that iRGS saves up to 60% of energy with a relatively [17] Q. Zhu and Y. Zhou. Power-aware storage cache management. small performance loss in terms of response time, while IEEE Trans. Comput., 54(5):587–602, 2005. existing power management techniques suffer from sig- nificantly increased latencies. Future work will include experimenting with a broad set of real life traces in order to study more sophisticated replication algorithms that may provide even better load balancing. References [1] Tools and traces, http://www.hpl.hp.com/research/ssp/software/. [2] D. Colarelli and D. Grunwald. Massive arrays of idle disks for storage archives. In Supercomputing ’02: Proceedings of the 2002 ACM/IEEE conference on Supercomputing, pages 1–11, Los Alamitos, CA, USA, 2002. IEEE Computer Society Press. [3] Disksim, http://www.pdl.cmu.edu/disksim/. [4] S. Gurumurthi, A. Sivasubramaniam, M. Kandemir, and H. Franke. Reducing disk power consumption in servers with drpm. Computer, 36(12):59–66, 2003. [5] S. Irani, G. Singh, S. K. Shukla, and R. K. Gupta. An overview of the competitive and adversarial approaches to designing dy- namic power management strategies. IEEE Trans. VLSI Syst., 13(12):1349–1361, 2005. [6] A. Kadav, M. Balakrishnan, V. Prabhakaran, and D. Malkhi. Differential raid: rethinking raid for ssd reliability. SIGOPS Oper. Syst. Rev., 44(1):55–59, 2010. [7] W. Lang, J. Patel, and J. Naughton. On energy management, load balancing and replication. Univ. of Winsonsin Technical Report 1670, 2010.