Containerizing Byte-Addressable NVM PDSW-DISCS 2016: 1ST - - PowerPoint PPT Presentation

containerizing byte addressable nvm
SMART_READER_LITE
LIVE PREVIEW

Containerizing Byte-Addressable NVM PDSW-DISCS 2016: 1ST - - PowerPoint PPT Presentation

Containerizing Byte-Addressable NVM PDSW-DISCS 2016: 1ST JOINT INTERNATIONAL WORKSHOP ON PARALLEL DATA STORAGE & DATA INTENSIVE SCALABLE COMPUTING SYSTEMS


slide-1
SLIDE 1

Containerizing ¡Byte-­‑Addressable ¡NVM ¡

PDSW-­‑DISCS ¡2016: ¡1ST ¡JOINT ¡INTERNATIONAL ¡WORKSHOP ¡ON ¡PARALLEL ¡ DATA ¡STORAGE ¡& ¡DATA ¡INTENSIVE ¡SCALABLE ¡COMPUTING ¡SYSTEMS ¡

Ellis ¡Giles ¡ PhD ¡Candidate, ¡Rice ¡University ¡

slide-2
SLIDE 2

¡ ¡ ¡ Block ¡Based ¡ ¡ ¡ ¡ ¡ ¡ ¡ Persistent ¡Storage ¡ SSD ¡ Flash ¡ HDD ¡

Byte-­‑Addressable ¡Dynamic ¡Memory ¡vs. ¡ Block ¡Based ¡Persistent ¡Storage ¡

¡ ¡ ¡ Byte ¡Addressable ¡ ¡ ¡ ¡ ¡ ¡ Dynamic ¡Memory ¡ L2-­‑L3 ¡ L1 ¡ DRAM ¡ Latency ¡ Applications ¡typically ¡live ¡in ¡the ¡middle, ¡operating ¡on ¡data ¡in ¡byte-­‑addressable ¡cache ¡ attached ¡to ¡main ¡memory ¡and ¡serializing ¡data ¡for ¡persistence ¡storage ¡operations. ¡

slide-3
SLIDE 3

¡ ¡ ¡ Block ¡Based ¡ ¡ ¡ ¡ ¡ ¡ ¡ Persistent ¡Storage ¡ SSD ¡ Flash ¡ HDD ¡

Byte-­‑Addressable, ¡Non-­‑Volatile ¡Memory ¡

¡ ¡ ¡ Byte ¡Addressable ¡ ¡ ¡ ¡ ¡ ¡ Dynamic ¡Memory ¡ L2-­‑L3 ¡ L1 ¡ DRAM ¡ Latency ¡ SCM ¡ Storage ¡Class ¡Memory ¡(SCM) ¡– ¡byte-­‑addressable ¡non-­‑volatile ¡memory ¡on ¡the ¡ main ¡memory ¡bus. ¡ ¡SCM ¡technologies ¡such ¡as ¡PCM ¡can ¡have ¡very ¡large ¡capacities. ¡

slide-4
SLIDE 4

Container ¡Based ¡Virtualization ¡

Latency ¡ Containers ¡provide ¡persistence ¡isolation ¡through ¡a ¡chroot ¡file ¡system. ¡ Linux ¡Containers ¡can ¡restrict ¡virtual ¡memory ¡and ¡CPU ¡usage ¡with ¡Linux ¡CGroups. ¡ Container ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ Block ¡Based ¡ ¡ ¡ ¡ ¡ ¡ ¡ Persistent ¡Storage ¡ SSD ¡ Flash ¡ HDD ¡ ¡ ¡ ¡ Byte ¡Addressable ¡ ¡ ¡ ¡ ¡ ¡ Dynamic ¡Memory ¡ L2-­‑L3 ¡ L1 ¡ DRAM ¡ SCM ¡

slide-5
SLIDE 5

Containerizing ¡SCM ¡

Latency ¡ Can ¡we ¡extended ¡containers ¡to ¡support ¡a ¡persistent ¡virtual ¡memory ¡address ¡space ¡ without ¡suffering ¡from ¡low ¡performance ¡or ¡violating ¡isolation ¡guarantees? ¡ Container ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ Block ¡Based ¡ ¡ ¡ ¡ ¡ ¡ ¡ Persistent ¡Storage ¡ SSD ¡ Flash ¡ HDD ¡ ¡ ¡ ¡ Byte ¡Addressable ¡ ¡ ¡ ¡ ¡ ¡ Dynamic ¡Memory ¡ L2-­‑L3 ¡ L1 ¡ DRAM ¡ SCM ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

slide-6
SLIDE 6

Container ¡ DRAM ¡ ¡ ¡Host ¡Operating ¡System ¡ ¡ ¡ ¡ Application ¡ ¡ ¡ ¡ ¡ ¡ SCM ¡or ¡DAX ¡File ¡System ¡ SCM ¡ SCM ¡or ¡PM ¡Driver ¡(/dev/pmem) ¡ Data ¡

2 ¡ 3 ¡

Docker ¡Containers ¡can ¡access ¡persistent ¡data ¡in ¡three ¡ways, ¡layered ¡Storage, ¡Volume ¡or ¡ privileged ¡device ¡driver. ¡ ¡For ¡SCM ¡this ¡creates ¡performance ¡and ¡isolation ¡challenges. ¡

1 ¡

Volume ¡ Docker ¡Storage ¡

slide-7
SLIDE 7

Container ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡DRAM ¡ ¡ ¡Host ¡Operating ¡System ¡ ¡ ¡ ¡ Application ¡ ¡ ¡ ¡ ¡ ¡ ¡ Data ¡

Docker ¡CLI ¡

SCM ¡or ¡DAX ¡FS ¡ SCM ¡or ¡PM ¡Driver ¡(/dev/pmem) ¡

1 ¡ 2 ¡ 3 ¡

User ¡Library ¡

CSCM ¡Driver ¡ LKM ¡

Container ¡ Support ¡

SCM ¡Emulated ¡Area ¡ Containerized ¡Storage ¡Class ¡Memory ¡Driver ¡(CSCM) ¡-­‑ ¡preserves ¡the ¡isolation ¡ guarantees ¡for ¡container ¡based ¡SCM ¡storage ¡while ¡providing ¡high ¡performance. ¡

Volume ¡ Docker ¡Storage ¡

slide-8
SLIDE 8

STREAMS ¡Benchmark ¡

  • STREAMS ¡Benchmark ¡
  • ¡3, ¡8-­‑byte ¡double ¡5 ¡Million ¡

element ¡arrays ¡

  • Element ¡by ¡Element ¡test ¡
  • COPY/SCALE/ADD/TRIADD ¡
slide-9
SLIDE 9

Transactional ¡B-­‑Tree ¡Element ¡Inserts ¡

  • Modified ¡a ¡B-­‑Tree ¡data ¡

structure ¡for ¡transaction ¡safe ¡ element ¡inserts ¡

  • New ¡nodes ¡allocated ¡using ¡

the ¡scmalloc ¡user ¡library ¡

  • Writes ¡to ¡variables, ¡pointers, ¡
  • etc. ¡go ¡into ¡a ¡log ¡area ¡first ¡
  • 1 ¡Insert ¡can ¡update ¡multiple ¡

values ¡and ¡pointers ¡

slide-10
SLIDE 10

Thank ¡You! ¡

Full ¡Paper ¡To ¡Appear: ¡ ¡ “Container-­‑Based ¡Virtualization ¡for ¡Byte-­‑Addressable ¡NVM ¡Data ¡Storage” ¡ Workshop ¡on ¡Scalable ¡Cloud ¡Data ¡Management, ¡December ¡7th ¡2016 ¡ IEEE ¡Big ¡Data ¡Conference, ¡Washington ¡D.C. ¡ Special ¡thanks ¡to ¡Rice ¡University ¡Professors ¡Scott ¡Rixner ¡and ¡Peter ¡Varman ¡ for ¡encouragement ¡and ¡discussions ¡leading ¡to ¡the ¡idea ¡development ¡and ¡to ¡ the ¡NSF ¡for ¡supporting ¡my ¡research. ¡