willow a user programmable ssd
play

Willow: A User-Programmable SSD Sudharsan Seshadri, Mark - PowerPoint PPT Presentation

Willow: A User-Programmable SSD Sudharsan Seshadri, Mark Gahagan, Sundaram Bhaskaran, Trevor Bunker, Arup De, Yanqin Jin, Yang Liu, and Steven Swanson


  1. Willow: ¡A ¡User-­‑Programmable ¡SSD ¡ Sudharsan ¡Seshadri, ¡Mark ¡Gahagan, ¡ Sundaram ¡Bhaskaran, ¡Trevor ¡Bunker, ¡ Arup ¡De, ¡Yanqin ¡Jin, ¡Yang ¡Liu, ¡and ¡ Steven ¡Swanson ¡ Non-­‑VolaDle ¡Systems ¡Laboratory ¡ Computer ¡Science ¡and ¡Engineering ¡ University ¡of ¡California, ¡San ¡Diego ¡ 1 ¡

  2. PCIe-­‑PCM ¡(2010) ¡ PCIe-­‑PCM ¡(2015?) ¡ 1000 ¡ 640x ¡ à ¡2.2x/yr ¡ Bandwidth ¡Rela;ve ¡to ¡disk ¡ PCIe-­‑Flash ¡(2012) ¡ 100 ¡ PCIe-­‑Flash ¡(2007) ¡ 866 à ¡2.3x/yr ¡ 10 ¡ Hard ¡Drives ¡(2006) ¡ 1 ¡ 1 ¡ 10 ¡ 100 ¡ 1000 ¡ 1/Latency ¡Rela;ve ¡To ¡Disk ¡ 2 ¡

  3. Case Study: Programmable GPUs Hidden ¡Programmability ¡ ParDal ¡Programmability ¡ (Firmware) ¡ (Shaders) Full ¡blown ¡Programmability ¡ 3 ¡

  4. Modern SSDs Hide Their Programmability Host SATA/NVMe • Fixed ¡interface ¡ Block Driver – SATA ¡or ¡NVMe ¡ Read() Write() – Storage-­‑centric ¡operaDons ¡ SATA/NVMe • Flexible ¡hardware ¡ CPU CPU – MulD-­‑core ¡processors ¡ CPU CPU – Complex ¡firmware ¡ NV Memory SSD 4 ¡

  5. Candidates for Near-Storage Compute • Data-­‑intensive ¡computaDon ¡ Modern ¡SSD ¡ – Database ¡scans ¡ processors ¡are ¡ – Transcoding ¡ inadequate ¡ – AnalyDcs ¡ • Data-­‑dependent ¡accesses ¡ – e.g. ¡pointer ¡chasing ¡ Feasible ¡on ¡ • SemanDc ¡extension ¡ modern ¡SSD ¡ – e.g. ¡transacDons ¡ processors ¡ • Privileged ¡execuDon ¡ – e.g. ¡OS ¡offload ¡ 5 ¡

  6. OS [Zhang’12] ¡ [Caulfield’12] ¡ OS Offload Bypass [Bhaskaran’13] ¡ [Caulfield’12] ¡ [Saxena’12] ¡ Virtualization Caching Specialized SSDs [Do’13] ¡ Transaction Query [Kang’13] ¡ [Kang’13] ¡ Support Processing [Coburn’13] ¡ [Prabhakaran’08] ¡ [Balakrishnan’12] ¡ [Wang’14] ¡ [Huang’12] ¡ Novel IO Key Value [De’13] ¡ Abstractions Store [Josephson’10] ¡ 6 ¡

  7. A Programmable SSD Should… Provide ¡a ¡flexible ¡interface ¡ • – New ¡arguments, ¡semanDcs, ¡and ¡operaDons ¡ – Programmable ¡in ¡C ¡(or ¡something ¡beher) ¡ Enforce ¡file ¡system ¡permissions ¡ • Allow ¡execuDon ¡of ¡untrusted ¡code ¡ • Allow ¡mulDple ¡specialized ¡funcDons ¡to ¡coexist ¡ • Allow ¡for ¡reuse ¡and ¡sharing ¡of ¡funcDons ¡between ¡applicaDons ¡ • Allow ¡applicaDons ¡to ¡invoke ¡operaDons ¡without ¡a ¡system ¡call. ¡ • Be ¡able ¡to ¡run ¡trusted ¡code ¡ • – The ¡OS ¡can ¡delegate ¡operaDons ¡to ¡Willow ¡ – Untrusted ¡applicaDons ¡can ¡to ¡invoke ¡them. ¡ 7 ¡

  8. Willow System Overview Host Willow Application 4 GB/s Custom Kernel Code Interconnect Interconnect Interconnect Willow Driver SPU SPU SPU PCIe PCIe Ctrl Bridge ~2 GB/s Trusted Trusted Trusted Custom Custom Custom Firmware Firmware Firmware Code Code Code Emulated Emulated Emulated PCM PCM PCM 8 ¡

  9. The Willow Processor Complex • 125 ¡MHz ¡MIPS ¡ Interconnect processor ¡ SPU • 32 ¡KB ¡of ¡D-­‑ ¡and ¡I-­‑mem ¡ 32 KB • A ¡bank ¡of ¡NVM ¡ MIPS Pipeline Streamer DMem • Network ¡interface ¡ Streamer Interface • High-­‑bandwidth ¡Data ¡ 32 KB IMem Streamer ¡ Emulated PCM 9 ¡

  10. Willow Usage Model and SSD Apps • The ¡programmer ¡creates ¡an ¡ SSDApp Library Process “SSD ¡App” ¡ Kernel • The ¡kernel ¡installs ¡ App Module “SSDApps” ¡for ¡applicaDons ¡ – The ¡Willow-­‑resident ¡code ¡ Interconnect Interconnect – A ¡userspace ¡library ¡ – A ¡kernel ¡module, ¡if ¡needed ¡ Streamer Streamer Willow Willow • CommunicaDon ¡via ¡RPCs ¡ SSDApp SSDApp CPU CPU • Host ¡and ¡SSD ¡code ¡can ¡send ¡ NVM NVM and ¡receive ¡RPCs ¡ 10 ¡

  11. Trust and Protection • A ¡file ¡system ¡sets ¡protecDon ¡ Process Process policy ¡ • RPCs ¡carry ¡an ¡unforgeable ¡ Kernel ProcessID ¡ • ExecuDon ¡at ¡SPUs ¡is ¡always ¡ on ¡behalf ¡of ¡a ¡ProcessID ¡ Interconnect Interconnect • The ¡Willow ¡driver ¡installs ¡ Streamer Streamer Willow Willow access ¡rights ¡ ¡ CPU CPU • Willow ¡firmware ¡checks ¡ NVM NVM permissions ¡on ¡access ¡ 11 ¡

  12. Willow Case Studies • Basic ¡IO ¡ Standard ¡ Equipment ¡ • Direct ¡IO ¡ • Caching ¡ • TransacDon ¡processing ¡ • Key-­‑Value ¡Store ¡ • File ¡Append ¡w/o ¡the ¡file ¡system ¡ 12 ¡

  13. TransacDon ¡AcceleraDon ¡with ¡ MARS ¡ [SOSP’13] ¡ 13 ¡

  14. Editable Atomic Writes in Willow LogWrite(bufA,addrA,lenA,logAddrA); ¡ LogWrite(bufB,addrB,lenB,logAddrB); ¡ LogWrite(bufC,addrC,lenC,logAddrC); ¡ Commit(); ¡ Host ¡Memory ¡ Willow ¡ Metadata ¡ File ¡ A ¡ A ¡ Log ¡ B ¡ B ¡ A ¡ B ¡ C ¡ File ¡ C ¡ C ¡ Data ¡ File ¡ 14 ¡

  15. Performance Benefits On TPCB 25000 ¡ 20000 ¡ 1.5x ¡ Transac;ons ¡Per ¡Second ¡ 15000 ¡ ARIES-­‑DirectIO ¡ 10000 ¡ MARS ¡ MARS-­‑Willow ¡ 5000 ¡ 0 ¡ 1 ¡ 2 ¡ 4 ¡ 8 ¡ 16 ¡ Thread ¡Count ¡ 15 ¡

  16. Observations and Limitations • SSD ¡App ¡development ¡is ¡relaDvely ¡easy ¡ • Composability ¡of ¡SSD ¡Apps ¡is ¡very ¡valuable ¡ • Striping ¡data ¡across ¡SPUs ¡increases ¡complexity ¡ for ¡some ¡SSD ¡Apps ¡ • Limited ¡instrucDon ¡and ¡data ¡storage ¡at ¡SPUs ¡is ¡ a ¡persistent ¡challenge ¡ 16 ¡

  17. The time is ripe for programmable storage • Fast ¡NVMs ¡increase ¡storage ¡flexibility ¡and ¡ performance ¡demands ¡ • ExisDng ¡SSDs ¡are ¡already ¡“sopware ¡defined” ¡ • Numerous ¡applicaDons ¡already ¡exist ¡ • Willow ¡provides ¡a ¡clean, ¡flexible ¡interface ¡ ¡ – Smooth ¡integraDon ¡with ¡exisDng ¡sopware ¡ – Powerful ¡enough ¡for ¡complex ¡applicaDons ¡ – Preserves ¡file ¡system ¡protecDons ¡ • Programmable ¡storage ¡can ¡simplify ¡and ¡ accelerate ¡applicaDons ¡ 17 ¡

  18. Thanks! ¡ 18 ¡

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