Say Goodbye to Off-heap Caches! On-heap Caches Using Memory-Mapped I/O
Talkat 12th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage '20) · 2020-07-13..07-14·
summary
Spark extension named TeraCache implements a second non-garbage-collected heap backed by memory-mapped fast storage so cached RDDs avoid serialization and the JVM skips traversing cache objects. Prototype modifies Spark/JVM to move cache transitive closures into regions, exposes dynamic resizing between DRAM and mmio based on page-fault and minor-GC rates, and evaluates four ML workloads showing reduced GC time by ~46% on average and end-to-end speedups up to 37% (25% average) versus hybrid off-heap caching.
AI-written summary · about
chapters (10)
- 0:00Intro
- 0:25Outline
- 1:06Spark: Caching Impacts Performance
- 2:03Caching Beyond Physical DRAM
- 2:34Between a Rock and a Hard Place! GC vs Serialization Overhead
- 5:26Split Executor Memory In Two Heaps
- 6:25We Preserve JAVA Memory Safety
- 8:35Deal With DRAM Resources For Multi-Heaps
- 10:04Prototype Implementation
- 10:34Preliminary Evaluation
related talks
46mOn-heap cache vs Off-heap cache w Javie
53mOff-Heap Caching and Working with Shared Memory
39mMemory Efficient Java
45mCaching Unleashed: Supercharge Your Database Application
44mHow to speed up your application using JCache
49mTrash Talk - Exploring the memory management in the JVM
50mA Java Implementer's Guide to Better Apache Spark Performance
47mUltralow Latency with Java 11 and Terabytes of Data
