methodology 1 device state
play

Methodology (1): Device state Measuring Samsung SSD RW - PowerPoint PPT Presentation

h[p://clyde.itu.dk A project funded by the Danish Council for Independent Research Host-SSD Co-Design : Some Lessons Learnt and Perspec7ves Philippe


  1. h[p://clyde.itu.dk ¡ A ¡project ¡funded ¡by ¡the ¡Danish ¡Council ¡for ¡Independent ¡Research ¡ Host-­‑SSD ¡Co-­‑Design : ¡ ¡ Some ¡Lessons ¡Learnt ¡and ¡Perspec7ves ¡ Philippe ¡Bonnet ¡– ¡phbo@itu.dk ¡ IT ¡University ¡of ¡Copenhagen ¡ ¡ Joint ¡work ¡with ¡Luc ¡Bouganim ¡(INRIA), ¡Niv ¡Dayan ¡(ITU), ¡Ma7as ¡Bjørling ¡(ITU), ¡Jesper ¡Madsen ¡(ITU) ¡ ¡ In ¡Collabora7on ¡with ¡Jens ¡Axboe ¡(Facebook), ¡David ¡Nellans ¡(Nvidia), ¡Zvonimir ¡Bandic ¡(HGST), ¡Qingbo ¡ Wang ¡(HGST), ¡Aviad ¡Zuck ¡(Tel ¡Aviv ¡Univ.), ¡ Michael ¡Wei, ¡Steve ¡Swanson ¡(UCSD), ¡Dennis ¡Shasha ¡(NYU), ¡Björn ¡Thòr ¡Jònsson ¡(RU) ¡

  2. Methodology ¡(1): ¡Device ¡state ¡ • Measuring ¡Samsung ¡SSD ¡RW ¡performance ¡ ¡ § Out-­‑of-­‑the-­‑box ¡… ¡and ¡a`er ¡filling ¡the ¡device!!! ¡(similar ¡behavior ¡on ¡Intel ¡ SSD) ¡ 100 100 100 100 Response time (ms) Response time (ms) Response time (ms) Response time (ms) 10 10 10 10 1 1 1 1 rt rt Avg(rt) Avg(rt) rt rt Avg(rt) o-o-b Avg(rt) o-o-b Avg(rt) Avg(rt) 0.1 0.1 0.1 0.1 100 100 200 200 300 300 400 400 500 500 100 100 200 200 300 300 400 400 500 500 IO number IO number IO number IO number Random Writes – Samsung SSD Random Writes – Samsung SSD Out of the box After filling the device Luc ¡Bouganim, ¡Björn ¡Thòr ¡ ¡Jònsson, ¡Philippe ¡Bonnet ¡

  3. Minimal ¡FTL: ¡Take ¡the ¡FTL ¡out ¡of ¡the ¡equa7on! ¡ • Pros ¡ – Maximal ¡performance ¡for ¡ • SR, ¡RR, ¡SW ¡ DBMS ¡ (C1) ¡Write ¡granularity ¡ Constrained ¡Pa[erns ¡only ¡ • Semi-­‑Random ¡Writes ¡ (C2) ¡Erase ¡before ¡prog. ¡ (C1, ¡C2, ¡C3) ¡ (C3) ¡Sequen7al ¡prog. ¡ ¡ ¡ – Maximal ¡control ¡for ¡the ¡DBMS ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡within ¡a ¡block ¡ ¡ ¡ • Cons ¡ ¡ ¡ Minimal ¡flash ¡device ¡ – All ¡complexity ¡is ¡handled ¡ Block ¡mapping, ¡Wear ¡Leveling ¡ (C4) ¡Limited ¡life7me ¡ (C4) ¡ by ¡the ¡DBMS ¡ – All ¡IOs ¡must ¡follow ¡C1-­‑C3 ¡ Flash ¡chips ¡ • The ¡whole ¡DBMS ¡must ¡ be ¡rewri[en ¡ • The ¡flash ¡device ¡is ¡ dedicated ¡ ¡ Luc ¡Bouganim, ¡Philippe ¡Bonnet ¡

  4. Linux ¡Block ¡Layer: ¡ ¡ Introducing ¡Mul9queue ¡SSD ¡Access ¡on ¡Mul9-­‑core ¡Systems ¡ ���� ��������� �������� ����� �� ���� ���� ��� ��� ���� �� ����� � �������������� ���� � � � � � � � � � � �� �� ��� ������������� ���� ���� �������� �������� ���� ����� �� �� ���� ���� ���� ���� � � � �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��������������� ��������������� Ma7as ¡Bjørling, ¡Jens ¡Axboe, ¡David ¡Nellans, ¡Philippe ¡Bonnet ¡

  5. CLyDE ¡Project ¡ • Exploring ¡the ¡design ¡space ¡for ¡Host-­‑SSD ¡co-­‑ design: ¡ – EagleTree ¡[Niv ¡Dayan] ¡ ¡ • Simulated ¡SSD/OS/apps ¡for ¡broad ¡explora7on ¡of ¡design ¡ space ¡(discrete ¡event ¡simula7on) ¡ • Insights ¡about ¡GC, ¡DB ¡indexing ¡ • h[p://github.com/ClydeProjects/EagleTree ¡ ¡ – LightNVM ¡[Ma7as ¡Bjørling] ¡ • Host-­‑side ¡SSD ¡management ¡to ¡experiment ¡with ¡actual ¡OS/ apps ¡(wall ¡7me ¡clock) ¡ • Linux ¡support ¡for ¡Open-­‑channel ¡SSDs ¡ • h[p://github.com/ ¡Ma7asBjorling/LightNVM ¡

  6. h[ps://github.com/ClydeProjects/EagleTree ¡ ¡ New ¡Insights ¡ ¡about ¡GC ¡policies ¡ Applications Exploring extended interface (Workload generator) impact on applications Exploring cross-layer optimizations Operating System Exploring the OS (IO scheduler) scheduling strategies Exploring the SSD controller SSD Controller design space • Mapping EagleTree ¡ • IO scheduling strategies • IO Scheduling • GC / WL strategies • Garbage Collection (GC) • Handling extended interface • Wear Leveling (WL) • etc… LUN LUN LUN LUN Exploring HW design space • Nb of channels LUN LUN LUN LUN … … … … • Nb of LUNs / channel • Chip configuration LUN LUN LUN LUN Flash memory array • RAM / Safe RAM quantity • etc… Closed-­‑form ¡equa7on ¡for ¡ ¡ write-­‑amplifica7on ¡

  7. More ¡Insights ¡about ¡GC ¡Policies ¡ • K-­‑modal ¡workload: ¡ – Data ¡grouped ¡based ¡on ¡update ¡frequency ¡ – Previous ¡work: ¡ • Each ¡flash ¡block ¡is ¡dedicated ¡to ¡a ¡single ¡group ¡ – Ques7ons: ¡ 1. How ¡to ¡par77on ¡over-­‑provisioned ¡blocks ¡across ¡groups? ¡ 2. How ¡to ¡deal ¡with ¡changing ¡update ¡frequencies? ¡

  8. Par77oning ¡ ¡ Over-­‑provisioned ¡Blocks ¡ ¡ LBA/PBA ¡= ¡0.7 ¡ ¡ Q: ¡number ¡of ¡dis7nct ¡update ¡frequencies ¡in ¡the ¡workload ¡ Nb ¡of ¡groups ¡= ¡2 ¡

  9. Adap7ng ¡to ¡Changing ¡Workloads ¡ WOLF: ¡ – dynamically ¡measures ¡update ¡frequency ¡ – adapts ¡the ¡number ¡of ¡groups ¡ • Too ¡few/many ¡groups ¡harm ¡GC ¡efficiency ¡ – triggers ¡garbage-­‑collec7on ¡aggressively ¡to ¡re-­‑distribute ¡over-­‑provisioned ¡ space ¡across ¡groups ¡(from ¡cooling ¡to ¡hea7ng ¡groups) ¡

  10. Linux ¡Abstrac7ons ¡for ¡ ¡Open-­‑Channel ¡SSDs ¡ • Extensible ¡ – Single ¡level ¡of ¡mapping ¡ between ¡Applica7ons ¡and ¡ Host Interface physical ¡storage ¡ Open-Channel SSD • Modular ¡ Host interface CPU CPU GPCPUs Controller – SSD ¡Management ¡ NAND Shared Bus components ¡should ¡be ¡ Controller replaceable ¡ Channel DRAM Channel • Low ¡overhead ¡ ... Queue Controller Queue – Host-­‑side ¡SSD ¡ NAND Flash NAND Flash NAND Flash NAND Flash NAND Flash NAND Flash DRAM NAND Flash NAND Flash management ¡should ¡not ¡ get ¡in ¡the ¡way ¡of ¡ performance, ¡s7ll ¡provide ¡ consistency, ¡durability ¡

  11. LightNVM ¡Design ¡(1/3) ¡ User-space Kernel Key-Value Object Store VFS API Store API API Block-based Flash- FS optimized FS Page Key-Value Object Store Logic Store Logic Logic Block Layer COSL (Block alloc., Chnl. strategy, Flash mgmt., ...) Null device SATA/SAS NVMe PCI-e/Other Open-Channel SSDs

  12. User-space LightNVM ¡Design ¡(2/3) ¡ Kernel Key-Value Object Store VFS API Store API API Block-based Flash- FS optimized FS Page Key-Value Object Store Logic Block Store Logic Logic Layer COSL (Block alloc., Chnl. strategy, Flash mgmt., ...) Null device SATA/SAS NVMe PCI-e/Other Open-Channel SSDs Block Interface Key-Value Target ... Target COSL Block Health Mgmt. COSL Address Space Manager Generic COSL Interface Channel Manager Wrapper Wrapper Wrapper Null device SATA/SAS NVMe PCI-e/Other

  13. User-space LightNVM ¡Design ¡(3/3) ¡ Kernel Key-Value Object Store VFS API Store API API Block-based Flash- FS optimized FS Page Key-Value Object Store Logic Block Store Logic Logic Layer COSL (Block alloc., Chnl. strategy, Flash mgmt., ...) Generic Page Target Null device SATA/SAS NVMe PCI-e/Other DRAM Open-Channel SSDs Page L2P Page GC (e.g. Cost- Page P2L based) Read Address Lookup Write Get Page (e.g. RR) Get Block (e.g. RR) Block Health Address Space Channel Manager Manager Manager Block Target Write Get Block (e.g. RR) Read Erase Block Lookup DRAM Block L2P Block GC (e.g. Cost- Block P2L based)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend