Learn about the challenges and opportunities in developing hash tables optimized for persistent memory in this 47-minute technical talk from the Storage Developer Conference 2022. Explore how persistent memory bridges the gap between traditional in-memory and database applications, requiring new programming approaches that consider both CPU processing efficiency and storage access patterns. Discover why operations that take hundreds of nanoseconds in persistent memory - equivalent to about 1000 CPU instructions - demand careful consideration of algorithmic efficiency, virtual memory mechanisms, and system call overhead. Examine key design constraints including avoiding random access to large arrays, optimizing hash code calculations, and minimizing context switches in critical paths. Through the lens of heterogeneous hash table implementation, gain practical insights into performance optimization techniques, computational storage considerations, and the implications of virtual machine overhead. Compare DRAM versus SSD performance characteristics while understanding security considerations and general rules for effective persistent memory programming.
Read more
Challenges and Opportunities in Hash Table Optimization for Persistent Memory