Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Caching Beyond RAM: The Case for NVMe

233 views

Published on

Video and slides synchronized, mp3 and slide download available at URL https://bit.ly/2Cnu9Td.

Alan Kasindorf explores the possibility of using new storage devices to reduce DRAM dependency for cache workloads and talks about use cases that optimize for different cache workloads. Filmed at qconsf.com.

Alan (Dormando) Kasindorf is OSS Memcached Project Maintainer. Previously, he was Memcache / Mcrouter at Facebook and Director of Edge Engineering at Fastly.

Published in: Technology
  • Be the first to comment

Caching Beyond RAM: The Case for NVMe

  1. 1. CACHING BEYOND RAMCACHING BEYOND RAM memcached.org/blog @dormando
  2. 2. InfoQ.com: News & Community Site • Over 1,000,000 software developers, architects and CTOs read the site world- wide every month • 250,000 senior developers subscribe to our weekly newsletter • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • 2 dedicated podcast channels: The InfoQ Podcast, with a focus on Architecture and The Engineering Culture Podcast, with a focus on building • 96 deep dives on innovative topics packed as downloadable emags and minibooks • Over 40 new content items per week Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ nvme-cache
  3. 3. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon San Francisco www.qconsf.com
  4. 4. WHY RAM?WHY RAM?
  5. 5. W W W Identical Cache
  6. 6. W W W Broadcast Invalidation
  7. 7. MC MC HASH(key)
  8. 8. W DB 1G RAM 4G RAM 32bit OS!
  9. 9. W DB 4G RAM 4G RAM Filled Empty RAM Slots
  10. 10. W DB 16G RAM 4G RAM W W W
  11. 11. ENTER FLASHENTER FLASH
  12. 12. FLASH! NOT JUST FOR HEAVYFLASH! NOT JUST FOR HEAVY MACHINERYMACHINERY
  13. 13. X25-M 80G IOPS: 35k read, 300 write X25-E 64G IOPS: 35k read, 3300 write
  14. 14. V LB RAM cache! Sticky L7 V V V
  15. 15. LB Flash Cache! Sticky L7 V V X25-E X25-E
  16. 16. BAM!BAM! CDNCDN
  17. 17. GOOD (ENOUGH) SSD'S AREGOOD (ENOUGH) SSD'S ARE EVERYWHEREEVERYWHERE
  18. 18. TRADEOFFSTRADEOFFS
  19. 19. Moneta [SET] REND MC STORE
  20. 20. Moneta [MISS] REND MC STORE
  21. 21. Moneta [MISS] REND MC STORE
  22. 22. Moneta [MISS] REND MC STORE
  23. 23. CACHE -> DB -> DBCACHE -> DB -> DB
  24. 24. ARE SMALL ITEMS VALUABLE ON DISKARE SMALL ITEMS VALUABLE ON DISK CACHE?CACHE?
  25. 25. NO.NO.
  26. 26. MEMCACHED EXTSTOREMEMCACHED EXTSTORE
  27. 27. RAM DISK * metadata * key * pointer * metadata * key * value
  28. 28. RAM HEAD TAIL Write Buffer DISK
  29. 29. Bad: Still limited by RAM. Good: Much less writing, consistent reads.
  30. 30. WORKLOADSWORKLOADS ML facts / computed data / templated data Sessions :P Saving the 50% of RAM used in 8k+ items
  31. 31. FUTUREFUTURE
  32. 32. JBOD [JUST A BUNCH OFJBOD [JUST A BUNCH OF DEVICES]DEVICES] memcached -o ext_path=/m/f:64g,ext_path=/m2/f:64g
  33. 33. TIERED STORAGETIERED STORAGE github.com/memcached/memcached/pull/432 ext_path=/m/f:64g:compact ext_path=/m/f:64g:lowttl
  34. 34. PERSISTENT MEMORYPERSISTENT MEMORY HTABLE VALUES
  35. 35. WRAP UP: PERFORMANCEWRAP UP: PERFORMANCE
  36. 36. 99
  37. 37. THANKS!THANKS! memcached.org/blog @dormando github.com/memcached/memcached/wiki/Extstore
  38. 38. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ nvme-cache

×