290 likes | 385 Views
Trace-Driven Analysis of Power Proportionality in Storage Systems. Sara Alspaugh and Arka Bhattacharya. Why trace-driven analysis. Lots of published proposals Giant design space. Some r elated work. Method. Laboratory. Production.
E N D
Trace-Driven Analysis of Power Proportionality in Storage Systems Sara Alspaugh and Arka Bhattacharya
Why trace-driven analysis • Lots of published proposals • Giant design space
Method Laboratory Production Implementation is infeasible when considering many system types. Evaluation Traces Analysis ? Components Algorithms
Traces Analysis Components Algorithms
Quantifying Inherent Opportunity • gain = diff(peakxlength, sum(bandwidth)) / peak x length • waste factor = peak x length / sum(bandwidth) • waste factor = peak:avg
bandwidth time
bandwidth time
bandwidth requirements (B/s) bw_app >> bw_component cap_app < cap_component bw_app <= bw_{components} cap_app >> cap_component bandwidth requirements (B/s) bandwidth requirements (B/s) data set size (B) bandwidth requirements (B/s) data set size (B) data set size (B) data set size (B)
Bandwidth (bytes / sec ) unit = disks replicate NFS filer partition ~ 50 MB/s laptop DB server ~ 500 GB Capacity (bytes)
unit = servers ~ 1 GB/s bandwidth replicate DFS partition ~ 200 MB/s memory cache DB server ~ 32 GB (RAM) ~ 12 TB (disk) bytes
NAS / NFS (NetApp), disk arrays bandwidth requirements (B/s) web farms (Wikipedia) bandwidth requirements (B/s) data set size (B) bandwidth requirements (B/s) data set size (B) data analytics, DFS (Hadoop) data set size (B)
bandwidth requirements (B/s) bw_app >> bw_component cap_app < cap_component bw_app <= bw_{components} cap_app >> cap_component bandwidth requirements (B/s) bandwidth requirements (B/s) data set size (B) bandwidth requirements (B/s) data set size (B) data set size (B) data set size (B)
Challenges • Case 1: writes • Case 2: latency to inactive components • Case 3: both of the above, set cover problem
write through: to all components (even if requires waking some) write offloading: to active components only (propagate on wake) write log: propagate when ~full reaper: to all components but only wake when queue is full
active units write-through bandwidth active units write-offloading requests time
Next steps • data not pictured here • latencies • ramp times • unit sizes • etc. • ways to slice it • how to visualize it • more workloads • go back to related work to compare • case 3 • object popularity
The End. Questions?