Yiying Zhang
Gokul Soundararajan Mark W. Storer Lakshmi N. Bairavasundaram Sethuraman Subbiah Andrea C. Arpaci-Dusseau Remzi H. Arpaci-Dusseau
Warming up Storage-level Caches with Bonfire Yiying Zhang Gokul - - PowerPoint PPT Presentation
Warming up Storage-level Caches with Bonfire Yiying Zhang Gokul Soundararajan Mark W. Storer Lakshmi N. Bairavasundaram Sethuraman Subbiah Andrea C. Arpaci-Dusseau Remzi H. Arpaci-Dusseau 2 Does on-demand cache warmup still work ? 3 10s
Gokul Soundararajan Mark W. Storer Lakshmi N. Bairavasundaram Sethuraman Subbiah Andrea C. Arpaci-Dusseau Remzi H. Arpaci-Dusseau
2
0.0 0.1 1.0 16.0 256.0 4096.0 65536.0 1990 1995 2000 2005 2010 2015 Memory (Cache) Size (GB) Year 3
< 10 GB 10s of TBs
. . . + idle time Random: 6 days Sequential: 2.5 hours
1 TB Cache
20 40 60 80 100 4 8 12 16 20 24 Read Hit Rate (%) Time (hour) Always-warm Cold
* Simulation results from a project server trace
4
On-demand
▫ Key component to meet application SLAs ▫ Reduce storage server I/O load
▫ Storage server restart ▫ Storage server take-over ▫ Dynamic caching [Narayanan’08, Bairavasundaram’12]
5
▫ Monitors and logs I/Os ▫ Load warmup data in bulk
▫ What to monitor & log? Effective ▫ How to monitor & log? Efficient ▫ How to load warmup data? Fast ▫ General solution
6 Bonfire Monitor
Storage System
Warmup Information
Logging Volume I/O
▫ Temporal and spatial patterns of reaccesses
▫ Up to 100% warmup time improvement over on-demand ▫ Up to 200% more server I/O load reduction ▫ Up to 5 times lower read latency ▫ Low overhead
7
8
▫ 36 one-week block-level traces from MSR-Cambridge data center servers ▫ Filter out write-intensive, small working set, and low reaccess-rate
Server Function #volumes mds Media server 1 prn Print server 1 proj Project directories 3 src1 Source control 1 usr User home directories 2 web Web/SQL server 1
Reaccesses: Read After Reads and Read After Writes
9
10
Time Space Relative Q1: What’s the temporal distance? Q3: What’s the spatial distance? Any clustering of reaccesses? Absolute Q2: When do reaccesses happen (in terms of wall clock time)? Q4: Where do reaccesses happen (in terms of LBA)?
50 100 150 12 AM 1 AM 2 AM 3 AM 4 AM 5 AM 6 AM LBA 5 hours 1 hour
11 20 40 60 80 100 24 48 72 96 120 144 168 Amount of Reaccesses (%) Temporal Distance (Hour)
Time b/w Reaccesses for All Traces
Within an hour: Hourly 23-25 hours: Daily
12 20 40 60 80 100 mds_1 proj_1 proj_4 usr_1 src1_1 web_2 prn_1 proj_2 usr_2 Amount of Reacceses (%) Hourly Daily Other
Hourly Dominated Daily Dominated Other
13 1 2 3 4 5 6 1 2 3 4 5 6 7 Daily Reaccesses (%) Time (day) src11 web2
14
0% 20% 40% 60% 80% 100% mds1 proj1 proj4 usr1 src11 web2 prn1 proj2 usr2 Amount of Reaccesses (%) <10MB 10MB-1GB 1-10GB 10-100GB >100GB
Hourly Dominated Daily Dominated Other
15 20 40 60 80 100 mds_1 proj_1 proj_4 usr_1 src1_1 web_2 prn_1 proj_2 usr_2 Pcentage of Reacceses in 1MB Region (%) Hourly Daily Other
Time Space
Relative A1: Reaccesses have two main temporal patterns: within 1 hour, around 1 day A3: Hourly reaccesses are close in spatial distance. Daily reaccesses exhibit spatial clustering. Absolute A2: Daily reaccesses correlate with wall clock time A4: No hot spot of reaccesses in LBA space
16
17
20 40 60 80 100 20 40 60 80 100 120 Read Hit Rate (%) Time Always-warm cache New cache
Converge time strict Converge time loose
18
▫
𝐵𝑛𝑝𝑣𝑜𝑢 𝑝𝑔 𝐽/𝑃𝑡 𝑝𝑗𝑜 𝑢𝑝 𝑑𝑏𝑑ℎ𝑓 𝑈𝑝𝑢𝑏𝑚 𝐽/𝑃𝑡
during convergence time
▫
𝑇𝑓𝑠𝑤𝑓𝑠 𝐽/𝑃 𝑚𝑝𝑏𝑒 𝑠𝑓𝑒𝑣𝑑𝑢𝑗𝑝𝑜 𝑝𝑔 𝐶𝑝𝑜𝑔𝑗𝑠𝑓 𝑇𝑓𝑠𝑤𝑓𝑠 𝐽
𝑃𝑚𝑝𝑏𝑒 𝑠𝑓𝑒𝑣𝑑𝑢𝑗𝑝𝑜 𝑝𝑔 𝑃𝑜−𝑒𝑓𝑛𝑏𝑜𝑒
19
L F
24 Hours I/Os Time
R T cache starts
20 Region: granularity of monitoring and logging e.g., 1MB
▫ Improves 14% to 100%
▫ Improves 44% to 228%
21
22
▫ Low overhead monitoring and logging (efficient) ▫ Bulk loading useful warmup data (effective and fast) ▫ General design applicable to a range of scenarios
▫ Last-K ▫ Monitors I/O below the server buffer cache ▫ Performance snapshot
23
Performance Snapshot
Bonfire Monitor
Storage System
1 2 3 4 n 5 . . .
Warmup Metadata
Buffer Cache Logging Volume I/O I/O
Warmup Data In-memory Staging Buffer
Data Volumes I/O 24
Only store warmup metadata: metadata-only Store warmup metadata and data: metadata+data
Performance Snapshot
Bonfire Monitor
Storage System
1 2 3 4 n 5 . . .
Warmup Metadata
Buffer Cache Logging Volume I/O I/O
Warmup Data
Data Volumes
In-mem n n-1 k .. Sorted by LBA
New Cache
Warmup Data
New Cache 25
26
1 week
▫ Always-warm, on-demand, and Bonfire ▫ Metadata-only and metadata+data ▫ Replay traces using sync I/Os
▫ Synthetic workloads ▫ MSR-Cambridge traces
▫ Benefits and overheads
27 1 2 3 4 5 6 7 On-demand Bonfire Always-warm
20 40 60 80 100 1 2 3 4 Read Hit Rate (%) Num of I/Os (x1000000) Always-warm Cold Bonfire
On-demand converges Bonfire converges
28
* Results of a project server trace from MSR-Cambridge trace set
Cache Starts Day 5 Day 6
On-demand
0.5 1 1.5 2 1 2 3 4 Read Latency (ms) Num of I/Os (x1000000) Always-warm Cold Bonfire
29
* Results of a project server trace from MSR-Cambridge trace set
Cache Starts Day 5 Day 6
On-demand
30
Performance Snapshot
Bonfire Monitor
Storage System
Warmup Metadata
Buffer Cache Logging Volume I/O I/O
Warmup Data In-memory Staging Buffer
Data Volumes 1 2 3 4 n 5 . . .
In-memory Staging Buffer Performance Snapshot
256KB & 128MB 19MB to 71MB 4.6MB/s to 238MB/s 9.5GB to 36GB 9KB/s to 476KB/s
31
Performance Snapshot
Bonfire Monitor
Storage System
Warmup Metadata
Buffer Cache Logging Volume I/O I/O
Warmup Data In-memory Staging Buffer
Data Volumes 1 2 3 4 n 5 . . .
Warmup Data
New Cache 256KB & 128MB 19MB to 71MB 2 to 20 minutes
Performance Snapshot
Proper Bonfire scheme and configuration
4.6MB/s to 238MB/s 9.5GB to 36GB 9KB/s to 476KB/s
In-memory Staging Buffer
▫ Avg read latency 1/5 to 2/3 of on-demand
32
▫ Warm up terabytes of caches take days
▫ Client-side cache warmup ▫ Application-aware warmup ▫ …
33
34