containerizing+byte.addressable+nvm+ · 2016-11-21 · containerizing+byte.addressable+nvm+...

10
Containerizing ByteAddressable NVM PDSWDISCS 2016: 1ST JOINT INTERNATIONALWORKSHOP ON PARALLEL DATA STORAGE & DATA INTENSIVE SCALABLE COMPUTING SYSTEMS Ellis Giles PhD Candidate, Rice University

Upload: others

Post on 25-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Containerizing+Byte.Addressable+NVM+ · 2016-11-21 · Containerizing+Byte.Addressable+NVM+ PDSW.DISCS+2016:+1ST+JOINT+INTERNATIONAL+WORKSHOP+ON+PARALLEL+ DATA+STORAGE+&+DATA+INTENSIVE+SCALABLE+COMPUTINGSYSTEMS+

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  

Page 2: Containerizing+Byte.Addressable+NVM+ · 2016-11-21 · Containerizing+Byte.Addressable+NVM+ PDSW.DISCS+2016:+1ST+JOINT+INTERNATIONAL+WORKSHOP+ON+PARALLEL+ DATA+STORAGE+&+DATA+INTENSIVE+SCALABLE+COMPUTINGSYSTEMS+

     

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.  

Page 3: Containerizing+Byte.Addressable+NVM+ · 2016-11-21 · Containerizing+Byte.Addressable+NVM+ PDSW.DISCS+2016:+1ST+JOINT+INTERNATIONAL+WORKSHOP+ON+PARALLEL+ DATA+STORAGE+&+DATA+INTENSIVE+SCALABLE+COMPUTINGSYSTEMS+

     

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.  

Page 4: Containerizing+Byte.Addressable+NVM+ · 2016-11-21 · Containerizing+Byte.Addressable+NVM+ PDSW.DISCS+2016:+1ST+JOINT+INTERNATIONAL+WORKSHOP+ON+PARALLEL+ DATA+STORAGE+&+DATA+INTENSIVE+SCALABLE+COMPUTINGSYSTEMS+

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  

Page 5: Containerizing+Byte.Addressable+NVM+ · 2016-11-21 · Containerizing+Byte.Addressable+NVM+ PDSW.DISCS+2016:+1ST+JOINT+INTERNATIONAL+WORKSHOP+ON+PARALLEL+ DATA+STORAGE+&+DATA+INTENSIVE+SCALABLE+COMPUTINGSYSTEMS+

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  

                   

Page 6: Containerizing+Byte.Addressable+NVM+ · 2016-11-21 · Containerizing+Byte.Addressable+NVM+ PDSW.DISCS+2016:+1ST+JOINT+INTERNATIONAL+WORKSHOP+ON+PARALLEL+ DATA+STORAGE+&+DATA+INTENSIVE+SCALABLE+COMPUTINGSYSTEMS+

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  

Page 7: Containerizing+Byte.Addressable+NVM+ · 2016-11-21 · Containerizing+Byte.Addressable+NVM+ PDSW.DISCS+2016:+1ST+JOINT+INTERNATIONAL+WORKSHOP+ON+PARALLEL+ DATA+STORAGE+&+DATA+INTENSIVE+SCALABLE+COMPUTINGSYSTEMS+

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  

Page 8: Containerizing+Byte.Addressable+NVM+ · 2016-11-21 · Containerizing+Byte.Addressable+NVM+ PDSW.DISCS+2016:+1ST+JOINT+INTERNATIONAL+WORKSHOP+ON+PARALLEL+ DATA+STORAGE+&+DATA+INTENSIVE+SCALABLE+COMPUTINGSYSTEMS+

STREAMS  Benchmark  

•  STREAMS  Benchmark  

•   3,  8-­‐byte  double  5  Million  element  arrays  

•  Element  by  Element  test  

•  COPY/SCALE/ADD/TRIADD  

Page 9: Containerizing+Byte.Addressable+NVM+ · 2016-11-21 · Containerizing+Byte.Addressable+NVM+ PDSW.DISCS+2016:+1ST+JOINT+INTERNATIONAL+WORKSHOP+ON+PARALLEL+ DATA+STORAGE+&+DATA+INTENSIVE+SCALABLE+COMPUTINGSYSTEMS+

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  

Page 10: Containerizing+Byte.Addressable+NVM+ · 2016-11-21 · Containerizing+Byte.Addressable+NVM+ PDSW.DISCS+2016:+1ST+JOINT+INTERNATIONAL+WORKSHOP+ON+PARALLEL+ DATA+STORAGE+&+DATA+INTENSIVE+SCALABLE+COMPUTINGSYSTEMS+

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.