Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ji-Yong Shin Cornell University In collaboration with Mahesh Balakrishnan (MSR SVC), Tudor Marian (Google), and Hakim Weatherspoon (Cornell) Gecko: Contention-Oblivious.

Similar presentations


Presentation on theme: "Ji-Yong Shin Cornell University In collaboration with Mahesh Balakrishnan (MSR SVC), Tudor Marian (Google), and Hakim Weatherspoon (Cornell) Gecko: Contention-Oblivious."— Presentation transcript:

1 Ji-Yong Shin Cornell University In collaboration with Mahesh Balakrishnan (MSR SVC), Tudor Marian (Google), and Hakim Weatherspoon (Cornell) Gecko: Contention-Oblivious Disk Arrays for Cloud Storage FAST 2013

2 What happens to storage? Cloud and Virtualization VMM Guest VM Guest VM Guest VM Guest VM … Shared Disk Shared Disk Shared Disk SEQUENTIAL RANDOM 2 I/O CONTENTION causes throughput collapse 4-Disk RAID0

3 Existing Solutions for I/O Contention? I/O scheduling: reordering I/Os – Entails increased latency for certain workloads – May still require seeking Workload placement: positioning workloads to minimize contention – Requires prior knowledge or dynamic prediction – Predictions may be inaccurate – Limits freedom of placing VMs in the cloud 3

4 – Log all writes to tail Log-structured File System to the Rescue? [Rosenblum et al. 91] Addr 0 1 2 … … N … Write Log Tail Shared Disk 4

5 Garbage collection is the Achilles’ Heel of LFS [Seltzer et al. 93, 95; Matthews et al. 97] … Shared Disk Challenges of Log-Structured File System … N … Log Tail Shared Disk Shared Disk … GC Garbage Collection (GC) from Log Head 5 Read GC and read still cause disk seek Log Head

6 Challenges of Log-Structured File System Garbage collection is the Achilles’ Heel of LFS – 2-disk RAID-0 setting of LFS – GC under write-only synthetic workload RAID 0 + LFS 6 Max Sequential Throughput Throughput falls by 10X during GC

7 Problem: Increased virtualization leads to increased disk seeks and kills performance RAID and LFS do not solve the problem 7

8 Rest of the Talk Motivation Gecko: contention-oblivious disk storage – Sources of I/O contention – New technique: Chained logging – Implementation Evaluation Conclusion 8

9 What Causes Disk Seeks? Write-write Read-read Write-read 9 VM 1VM2 Write Read Write Read

10 What Causes Disk Seeks? Write-write Read-read Write-read Logging – Write-GC read – Read-GC read 10 VM 1VM2 Write Read GC

11 Principle: A single sequentially accessed disk is better than multiple randomly seeking disks 11

12 Gecko’s Chained Logging Design Separating the log tail from the body – GC reads do not interrupt the sequential write – 1 uncontended drive >>faster>> N contended drives Disk 2Disk 1Disk 0 Log Tail Physical Addr Space GC Garbage collection from Log Head to Tail Disk 0Disk 1Disk 2 12 Eliminates write-write and reduces write-read contention Eliminates write-GC read contention

13 Gecko’s Chained Logging Design Smarter “Compact-In-Body” Garbage Collection Disk 1Disk 0 Physical Addr Space GC 13 Garbage collection from Head to Body Log Tail Disk 2 Garbage collection from Log Head to Tail

14 Gecko Caching What happens to reads going to tail drives? 14 LRU Cache Reduces write-read contention Disk 1Disk 0Disk 2 Write Tail Cache Read Body Cache (Flash ) Reduces read-read contention RAM Hot data RAM Hot data MLC SSD Warm data MLC SSD Warm data

15 Gecko Properties Summary No write-write contention, No GC-write contention, and Reduced read-write contention 15 Disk 1Disk 0Disk 2 Write Tail Cache Read Body Cache (Flash ) Disk 1’Disk 0’Disk 2’ Fault tolerance + Read performance Mirroring/ Striping Disk 1’Disk 0’ Power saving w/o consistency concerns Reduced read-write and read-read contention

16 Gecko Implementation Primary map: less than 8 GB RAM for a 8 TB storage Inverse map: 8 GB flash for a 8 TB storage (written every 1024 writes) 4KB pages emptyfilled Data (in disk) Physical-to-logical map (in flash) head 4-byte entries Logical-to-physical map (in memory) 16 R R W W W W tail Disk 0Disk 1Disk 2 WW

17 Evaluation 1.How well does Gecko handle GC? 2.Performance of Gecko under real workloads? 3.Effect of varying Gecko chain length? 4.Effectiveness of the tail cache? 5.Durability of the flash based tail cache? 17

18 Evaluation Setup In-kernel version – Implemented as block device for portability – Similar to software RAID Hardware – WD 600GB HDD Used 512GB of 600GB 2.5” 10K RPM SATA-600 – Intel MLC (multi level cell) SSD 240GB SATA-600 User-level emulator – For fast prototyping – Runs block traces – Tail cache support 18

19 How Well Does Gecko Handle GC? Gecko 19 Log + RAID0 Gecko’s aggregate throughput always remains high 3X higher aggregate & 4X higher application throughput 2-disk setting; write-only synthetic workload Max Sequential Throughput of 1 disk Max Sequential Throughput of 2 disks Aggregate throughput = Max throughput Throughput collapses

20 How Well Does Gecko Handle GC? 20 App throughput can be preserved using smarter GC Gecko

21 MS Enterprise and MSR Cambridge Traces Trace Name Estimated Addr Space Total Data Accessed (GB) Total Data Read (GB) Total Data Written (GB)TotalIOReqNumReadReqNumWriteReq prxy1362,0761,297779181,157,932110,797,98470,359,948 src18203,1072,22488485,069,60865,172,64519,896,963 proj4,1022,2791,93734265,841,03155,809,86910,031,162 Exchange4,82276030046061,179,16526,324,16334,855,002 usr2,4612,6252,5309658,091,91550,906,1837,185,732 LiveMapsBE6,7372,3441,78655844,766,48435,310,4209,456,064 MSNFS1,42430320110229,345,08519,729,6119,615,474 DevDivRelease4,62042825217618,195,70112,326,4325,869,269 prn7702711947716,819,2979,066,2817,753,016 21 [Narayanan et al. 08, 09]

22 What is the Performance of Gecko under Real Workloads? Gecko – Mirrored chain of length 3 – Tail cache (2GB RAM + 32GB SSD) – Body Cache (32GB SSD) Log + RAID10 – Mirrored, Log + 3 disk RAID-0 – LRU cache (2GB RAM + 64GB SSD) 22 Gecko showed less read-write contention and higher cache hit rate Gecko’s throughput is 2X-3X higher Gecko Log + RAID10 Mix of 8 workloads: prn, MSNFS, DevDivRelease, proj, Exchange, LiveMapsBE, prxy, and src1 6 Disk configuration with 200GB of data prefilled

23 What is the Effect of Varying Gecko Chain Length? Same 8 workloads with 200GB data prefilled Single uncontended disk Separating reads and writes 23 better performance RAID 0 errorbar = stdev

24 How Effective Is the Tail Cache? Read hit rate of tail cache (2GB RAM+32GB SSD) on 512GB disk 21 combinations of 4 to 8 MSR Cambridge and MS Enterprise traces 24 Tail cache can effectively resolve read-write contention At least 86% of read hit rate RAM handles most of hot data Amount of data changes hit rate Still average 80+ % hit rate

25 How Durable is Flash Based Tail Cache? Static analysis of lifetime based on cache hit rate Use of 2GB RAM extends SSD lifetime 25 2X-8X Lifetime Extension Lifetime at 40MB/s

26 Conclusion Gecko enables fast storage in the cloud – Scales with increasing virtualization and number of cores – Oblivious to I/O contention Gecko’s technical contribution – Separates log tail from its body – Separates reads and writes – Tail cache absorbs reads going to tail A single sequentially accessed disk is better than multiple randomly seeking disks 26

27 Question? 27


Download ppt "Ji-Yong Shin Cornell University In collaboration with Mahesh Balakrishnan (MSR SVC), Tudor Marian (Google), and Hakim Weatherspoon (Cornell) Gecko: Contention-Oblivious."

Similar presentations


Ads by Google