the case of femu cheap accurate scalable and extensible
play

The CASE of FEMU: Cheap, Accurate, Scalable and Extensible Flash - PowerPoint PPT Presentation

The CASE of FEMU: Cheap, Accurate, Scalable and Extensible Flash Emulator Huaicheng Li , Mingzhe Hao, Michael Hao Tong, + Swaminatahan Sundararaman*, Matias Bjrling , Haryadi S. Gunawi + * ceres.cs.uchicago.edu 2 FEMU @ FAST 18 What


  1. The CASE of FEMU: Cheap, Accurate, Scalable and Extensible Flash Emulator Huaicheng Li , Mingzhe Hao, Michael Hao Tong, + Swaminatahan Sundararaman*, Matias Bjørling , Haryadi S. Gunawi + * ceres.cs.uchicago.edu

  2. 2 FEMU @ FAST ’18 What SSD platforms are used? Hardware Simulator Emulator Platform DiskSim+SSD SSDSim FlashSim Simple 57% Time-saving Trends Trace driven - Software-Defined Flash Internal-research - Split-Level Architecture only

  3. 3 FEMU @ FAST ’18 Hardware Simulator Emulator Platform DiskSim+SSD SSDSim FlashSim OpenSSD OpenChannel- SSD 20% Simple Full-stack Research Time-saving Accurate 19 % Single SSD 1 % Distributed SSDs Expensive Trace driven Complex to use Internal-research only Wear-out

  4. 4 FEMU @ FAST ’18 Guest OS Hardware Simulator Emulator Platform DiskSim+SSD LightNVM’s QEMU SSDSim FlashSim VSSIM FlashEm OpenSSD OpenChannel- SSD Simple Fullstack Research Full-stack Research Time-saving Cheap Accurate Expensive Trace driven Poor Scalability Complex to use Internal-research Poor Accuracy only Wear-out

  5. 5 FEMU @ FAST ’18 The “CASE” of FEMU FEMU: QEMU/Software based Flash Emulator ❏ C heap: $0, https://github.com/ucare-uchicago/femu ❏ A ccurate: 0.5-38% error rate in latency ❏ 11% average at microsecond level ❏ S calable: support 32 channels/chips ❏ E xtensible ❏ modifiable interface ❏ modifiable FTL

  6. 6 FEMU @ FAST ’18 What is FEMU? Typical Fullstack Research FEMU Fullstack Research Supported research: App App Kernel changes Guest OS Host OS VM Interface changes NVMe Hardware FEMU FTL changes Platform QEMU

  7. 7 FEMU @ FAST ’18 QEMU Scalability ... IO IO IO Guest OS Expected QEMU

  8. 8 FEMU @ FAST ’18 QEMU IDE Scalability 1 IO thread IO Guest OS Expected QEMU

  9. 9 FEMU @ FAST ’18 2 IO threads IO IO Guest OS Expected QEMU

  10. 10 FEMU @ FAST ’18 Represent VSSIM IO IO IO IO Guest OS Expected Expected QEMU

  11. 11 FEMU @ FAST ’18 QEMU NVMe Scalability Represent LightNVM’s ... QEMU IO IO IO Guest OS Expected QEMU

  12. 12 FEMU @ FAST ’18 QEMU Scalability QEMU and existing emulators are NOT Scalable ! FEMU is Scalable !

  13. 13 FEMU @ FAST ’18 Scalability Root Causes & Solutions ( 1 ) App App Guest OS Guest OS NVMe driver NVMe driver Shadow Shadow DoorBell DoorBell Submission Completion Submission Completion Queue Queue Queue Queue ZERO Tail DoorBell polling Head Doorbell VM-exit QEMU NVMe Emulation VM-exit Tail DoorBell Head DoorBell thousands of cycles interrupt overhead QEMU NVMe Emulation

  14. 14 FEMU @ FAST ’18 Scalability Root Causes & Solutions ( 2 ) NVMe Emulation NVMe Emulation Block Driver DMA Emulation FEMU Heap Storage DMA Emulation Image Format Driver DMA from/to heap storage Raw Device Driver AIO Queue Thread Pool More than 20us latency Host File System reduction Host Block IO Layer Host Device Driver

  15. 15 FEMU @ FAST ’18 FEMU Accuracy App FEMU ? OpenChannel-SSD L femu L oc Error = |L femu - L oc | / L oc

  16. 16 FEMU @ FAST ’18 Data Data Req1 Req2 Req1 Req2 NAND RAM NAND RAM Register Register Single-Register model ( S-Reg ) + → + T R + T transfer T R T transfer time queueing delay Data Req1 Req1 NAND RAM Cache Register Double-Register Register faster model ( D-Reg ) Data Req2 Req2 NAND RAM Cache Register Register

  17. 17 FEMU @ FAST ’18 FEMU Accuracy Single Register Model Double Register Model Similar! Latency Error: 11-57% ⇒ 0.5-38% Single Register Double Register X: # of channels Model ( S-Reg ) Model ( D-Reg ) Y: # of planes per channel

  18. 18 FEMU @ FAST ’18 FEMU Limitations ● Further optimizations to support higher parallelism (more scalable) ● Accuracy can be improved ● Not able to emulate large-capacity SSD ● No persistence

  19. 19 FEMU @ FAST ’18 FEMU @ FAST ’18 ● Cheap ● Accurate ● Scalable ● Extensible FEMU 150mg Installing, using and debugging FEMU can cause side effects including headache, nausea, agitation, and depression. If your research condition does not improve after using FEMU for a week, please talk to your advisor or us right away. Downloading, installing and using FEMU can cause side effects including headache, nausea, agitation, and depression. If your research condition does not improve after using FEMU for a week, please talk to your advisor or us right away.

  20. 20 FEMU @ FAST ’18 Thank you! Questions? FEMU: https://github.com/ucare-uchicago/femu http://ucare.cs.uchicago.edu

Recommend


More recommend