Power-Saving in Large-Scale Storage Systems with Data Migration Koji Hasebe, Tatsuya Niwa, Akiyoshi Sugiki, and Kazuhiko Kato University of Tsukuba, Japan
Background Power-saving in storage systems is a central issue. IT systems consume 1-2% of the total energy in the world. Green IT: A New Industry Shock Wave, Gartner Symp/ITxpo, 2007 In large data centers, storage systems consume <40% of the total power . StorageIO, Greg Sculz
Previous Studies Commonly-observed technique: Workload Low-power mode Peak time Off-peak time In the literature… MAID [Colarelli-Grunwald, '02] , PDC [Pinheiro-Bianchini, '04] DIV [Pinheiro et al., '06] , Pergamum [Storer et al., '08] RIMAC [Yao-Wang, '06] , eRAID [Wang-Zhu-Li, '08] Hibernator [Zhu et al., '05] , PARAID [Waddle et al. '07] , etc.
Previous Studies Limitations: • Central controller to manage data accesses • Relatively small number of disks (up to several dozen) Harnik et al. [IPDPS'09] Propose the efficient allocation of replicated data d1 d2 d3
Previous Studies Limitations: • Central controller to manage data accesses • Relatively small number of disks (up to several dozen) Harnik et al. [IPDPS'09] Propose the efficient allocation of replicated data d1 d2 d3
Previous Studies Limitations: • Central controller to manage data accesses • Relatively small number of disks (up to several dozen) Harnik et al. [IPDPS'09] Propose the efficient allocation of replicated data d1 d2 d3 Low-power mode
Motivation and Objective Apply the skewing technique to large storage systems Explore an efficient technique based on the data migration, instead of the replication approach
Motivation and Objective Apply the skewing technique to large storage systems Explore an efficient technique based on the data migration, instead of the replication approach data data data data data
Motivation and Objective Apply the skewing technique to large storage systems Explore an efficient technique based on the data migration, instead of the replication approach Low-power mode data data data data data
Central Idea (1) Underlying System Assume that 3 physical nodes are required at off-peak time May increase up to four-fold Parent Child Parent Children Block 1 Block 2 Block 3 Block 4 P5 P2 P4 P6 P10 P11 P12 P8 P9 P1 P3 P7
Central Idea (1) Underlying System Block 1 Block 2 Block 3 Block 4 P5 P6 P10 P11 P12 P2 P4 P1 P3 P8 P9 P7 V7 V4 V1 Managed by distributed hash table (DHT) V8 V5 V2 V3 V4 V2 V5 V1 V6 V9 V9 V6 V3 V8 V7 Cf. Chord [Stoica et al. '01]
Central Idea (1) Underlying System Block 1 Block 2 Block 3 Block 4 P5 P6 P10 P11 P12 P2 P4 P1 P3 P8 P9 P7 V7 V4 V1 1 2 3 4 1 7 1 2 3 V8 V5 V2 4 5 6 5 2 8 4 5 6 V9 V6 V3 7 8 9 3 6 9 7 8 9
Central Idea (2) Migration of Virtual Nodes Block 1 Block 2 P5 P6 P2 P4 P1 P3 V7 V4 V1 1 2 3 V8 V5 V2 4 5 6 V9 V6 V3 7 8 9 Overloaded
Central Idea (2) Migration of Virtual Nodes Block 1 Block 2 P5 P6 P2 P4 P1 P3 V1 2/2 V1 1/2 V7 V4 1 2 3 Divide V1 into two V8 V5 V2 V1 1/2 4 5 6 V9 V9 V6 V1 2/2 V3 7 8 9 Overloaded
Central Idea (2) Migration of Virtual Nodes Block 1 Block 2 P5 P6 P2 P4 P1 P3 V1 2/2 V1 1/2 V7 V4 2 3 V8 V5 V2 4 5 6 V9 V6 V3 7 8 9 Overloaded
Central Idea (2) Migration of Virtual Nodes Block 1 Block 2 P5 P6 P2 P4 P1 P3 V1 2/2 V7 V1 1/2 V4 2 3 V8 V5 V2 4 5 6 V9 V6 V3 7 8 9 Overloaded
Central Idea (2) Migration of Virtual Nodes Block 1 Block 2 P5 P6 P2 P4 P1 P3 V4 1/2 V4 2/2 V1 2/2 V7 V1 1/2 2 3 V8 V5 V2 4 5 6 V9 V6 V3 7 8 9 Overloaded
Central Idea (2) Migration of Virtual Nodes Block 1 Block 2 P5 P6 P2 P4 P1 P3 V7 1/2 V7 2/2 V4 2/2 V1 2/2 V1 1/2 2 3 V4 1/2 V8 V5 V2 5 6 V9 V6 V3 7 8 9 Overloaded
Central Idea (2) Migration of Virtual Nodes Block 1 Block 2 P5 P6 P2 P4 P1 P3 V7 2/2 V4 2/2 V1 2/2 V3 1/2 V1 1/2 V2 1/2 V6 1/2 V4 1/2 V5 1/2 V2 2/2 V5 2/2 V8 2/2 V9 1/2 V3 2/2 V6 2/2 V9 2/2 V7 1/2 V8 1/2
Central Idea (2) Migration of Virtual Nodes Parent Child Parent Children Block 1 Block 2 Block 3 Block 4 P5 P2 P4 P6 P10 P11 P12 P8 P9 P1 P3 P7 d d d d d d d d d d d d
Power-Saving Algorithms Short-term optimization Extension Reduction Long-term optimization
Power-Saving Algorithm 1 Short-term Optimization (Extension) Procedure 1. Each physical node checks its own workload. 2. If the workload exceeds its capacity, then one of the virtual nodes is split and migrated to its child block. Parent Child V7 2/2 V1 2/2 V1 1/2 V4 2/2 (2) (3) V4 1/2 V2 V8 V5 (5) (6) V9 V7 1/2 V3 (9) V6 (8) P1 P2 P3 P4 P5 P6
Power-Saving Algorithm 1 Short-term Optimization (Extension) Notes: Reusing the stored data in the previous day enables the migration by copying the difference. The mapping of virtual nodes effectively skews the workload. Parent Child V7 2/2 V1 2/2 V1 1/2 V4 2/2 (2) (3) V4 1/2 V2 V8 V5 (5) (6) V9 V7 1/2 V3 (9) V6 (8) P1 P2 P3 P4 P5 P6
Power-Saving Algorithm 2 Short-term Optimization (Reduction) Problem Parent Child V7 2/2 V3 1/2 V4 2/2 V2 1/2 V1 V2 2/2 V8 2/2 V4 1/2 V6 2/2 V5 V3 2/2 V6 2/2 V9 V7 1/2 V8 2/2 P1 P2 P3 P4 P5 P6 (2) (1) (1) The remaining capacity of physical nodes The workload of each virtual node = 1
Power-Saving Algorithm 2 Short-term Optimization (Reduction) Wrong migration Parent Child V7 2/2 V3 1/2 V4 2/2 V2 1/2 V1 V2 2/2 V8 2/2 V4 1/2 V6 2/2 V5 V3 2/2 V6 2/2 V8 2/2 V9 V7 1/2 P1 P2 P3 P4 P5 P6 (2) (1) (1)
Power-Saving Algorithm 2 Short-term Optimization (Reduction) Wrong migration Parent Child V7 2/2 V4 2/2 V2 1/2 V1 V2 2/2 V8 2/2 V4 1/2 V5 V8 2/2 V9 V7 1/2 V3 V6 P1 P2 P3 P4 P5 P6 (2) (1) (1) (0) (0)
Power-Saving Algorithm 2 Short-term Optimization (Reduction) The solution Parent Child V7 2/2 V3 1/2 V4 2/2 V2 1/2 V1 V2 2/2 V8 2/2 V4 1/2 V6 2/2 V5 V3 2/2 V6 2/2 V8 2/2 V9 V7 1/2 P1 P2 P3 P4 P5 P6 (2) (1) (1) (0) (0) (0)
Power-Saving Algorithm 2 Short-term Optimization (Reduction) The solution Parent Child V3 1/2 V7 V1 V4 V6 2/2 V5 V2 V8 V3 2/2 V6 2/2 V9 P1 P2 P3 P4 P5 P6 (2) (1) (1) (0) (0) (0)
Power-Saving Algorithm 2 Short-term Optimization (Reduction) Procedure 1. C → P: the information about the workloads for every virtual node 2. P lists all possible combinations of a subset of physical nodes s.t. P can absorb their virtual nodes
Power-Saving Algorithm 2 Short-term Optimization (Reduction) Procedure 1. C → P: the information about the workloads for every virtual node 2. P lists all possible combinations of a subset of physical nodes s.t. P can absorb their virtual nodes P1 {P4, P5} V3 2/2 V7 V1 V4 P2 {P4, P5}, {P5, P6} V2 V5 V8 P3 {P4, P5} V3 2/2 V9 V6 Candidates P1 P2 P3 P4 P5 P6 ( ∞) (1) ( ∞)
Power-Saving Algorithm 2 Short-term Optimization (Reduction) Procedure 1. C → P: the information about the workloads for every virtual node 2. P lists all possible combinations of a subset of physical nodes s.t. P can absorb their virtual nodes P1 {P4, P5}, {P4, P6} V7 V2 2/2 V1 V4 P2 {P4, P5}, {P5, P6} V2 2/2 V5 V8 P3 {P4, P5} V3 V9 V6 Candidates P1 P2 P3 P4 P5 P6 ( ∞) (1) ( ∞)
Power-Saving Algorithm 2 Short-term Optimization (Reduction) Procedure 1. C → P: the information about the workloads for every virtual node 2. P lists all possible combinations of a subset of physical nodes s.t. P can absorb their virtual nodes 3. P → C: the result of Step 2 4. C calculates the intersection for all possible combinations of the results. P1 {P4, P5}, {P4, P6} V3 2/2 V7 V1 V4 P2 {P4, P5}, {P5, P6} V6 2/2 V2 V5 V8 P3 {P4, P5} V6 2/2 V3 2/2 V9 Candidates {P4, P5} P1 P2 P3 P4 P5 P6 (2) (1) (1)
Power-Saving Algorithm 2 Short-term Optimization (Reduction) Procedure 1. C → P: the information about the workloads for every virtual node 2. P lists all possible combinations of a subset of physical nodes s.t. P can absorb their virtual nodes 3. P → C: the result of Step 2 4. C calculates the intersection for all possible combinations of the results. P1 {P4, P5}, {P4, P6} V3 2/2 V4 2/2 V7 V1 P2 {P4, P5}, {P5, P6} V4 1/2 V2 V5 V8 P3 {P4, P5} V3 2/2 V9 V6 Candidates {P4, P5}, {P5} P1 P2 P3 P4 P5 P6 (2) (1) (1)
Power-Saving Algorithm 2 Short-term Optimization (Reduction) Procedure 1. C → P: the information about the workloads for every virtual node 2. P lists all possible combinations of a subset of physical nodes s.t. P can absorb their virtual nodes 3. P → C: the result of Step 2 4. C calculates the intersection for all possible combinations of the results. P1 {P4, P5}, {P4, P6} V3 2/2 V7 V1 V4 P2 {P4, P5}, {P5, P6} V6 2/2 V2 V5 V8 P3 {P4, P5} V6 2/2 V3 2/2 V9 Candidates {P4, P5}, {P5}, {P4} P1 P2 P3 P4 P5 P6 (2) (1) (1) Solution
Recommend
More recommend