Fla FlashSh shShare are: : Pun Punch ching ing Throug Through Ser h Server er Stora Storage Stack ge Stack from K from Kern ernel to Firmwa el to Firmware re for Ultra
- r Ultra-Lo
Fla FlashSh shShare are: : Pun Punch ching ing Throug Through - - PowerPoint PPT Presentation
Fla FlashSh shShare are: : Pun Punch ching ing Throug Through Ser h Server er Stora Storage Stack ge Stack from K from Kern ernel to Firmwa el to Firmware re for Ultra or Ultra-Lo Low Latenc w Latency y SSDs SSDs Jie Zhang,
Latency-critical application Throughput application Memory-like performance
Unaware of ULL-SSD Unaware of latency-critical application
A key metric: user experience
Hour of the day
Figure 1. Example diurnal pattern in queries per second for a Web Search cluster1.
1Power Management of Online Data-Intensive Services.
Fraction of Time CPU utilization Figure 2. CPU utilization analysis of Google server cluster2.
2The Datacenter as a Computer.
Fig 2: Apache response time increases due to PageRank. Fig 1: Apache SSD latency increases due to PageRank.
ZNAND XL-Flash New NAND Flash Samsung Toshiba 3us N/A 100us N/A Optane nvNitro Technique Phase change RAM MRAM Vendor Intel Everspin Read 10us 6us Write 10us 6us
Z-NAND1 Technology SLC based 3D NAND 48 stacked word-line layer Capacity 64Gb/die Page Size 2KB/Page
[1] Cheong, Wooseong, et al. "A flash memory controller for 15μs ultra-low-latency SSD using high-speed 3D NAND flash with 3μs read time." 2018 IEEE International Solid-State Circuits Conference-(ISSCC), 2018.
42x
36us 28us
App App App ULL-SSD Caching layer Filesystem blkmq NVMe Driver
blkmq
NVMe Driver ULL-SSD
App App App ULL-SSD Caching layer Filesystem blkmq NVMe Driver
blkmq
App App App ULL-SSD Caching layer Filesystem blkmq NVMe Driver
blkmq
App App App ULL-SSD Caching layer Filesystem blkmq NVMe Driver
blkmq
ThrReq ThrReq
App App App ULL-SSD Caching layer Filesystem blkmq NVMe Driver NVMe Driver
ULL-SSD
Head Tail Tail
Wait Head Head
+ Tfetch + 2xTfetch
App App App ULL-SSD Caching layer Filesystem blkmq NVMe Driver NVMe Driver
ULL-SSD
App App App ULL-SSD Caching layer Filesystem blkmq NVMe Driver
ULL-SSD
App App App ULL-SSD Caching layer Filesystem blkmq NVMe Driver
ULL-SSD
Filesystem NVMe Driver Caching layer blkmq
App App App ULL-SSD
ULL-SSD NVMe Driver
Head Tail
Tail
Filesystem NVMe Driver Caching layer blkmq
App App App ULL-SSD
ULL-SSD NVMe Driver
Poll
4KB 8KB 16KB 32KB 14 16 18 20 22 24 26 28 30 Average Latency (sec) Interrupt Polling 4KB 8KB 16KB 32KB 10 12 14 16 18 20 22 Polling Average Latency (sec) Interrupt
Read Write
Filesystem NVMe Driver Caching layer blkmq
App App App ULL-SSD
ULL-SSD NVMe Driver
Workload attribute rsvd2 nvme_cmd NVMe controller task_struct User Process tag array Embedded cache address_space Page cache BIO File system request Block layer (blk-mq) nvme_rw_command NVMe driver
http://simplessd.org
46% reduction 38% reduction 5us reduction
reduces the waiting time;
throughput I/Os from blocking latency-critical I/Os;