Software Systems for Advanced Memory Technologies

semanticscholar(2016)

引用 0|浏览0
暂无评分
摘要
Emerging trends in memory technologies could change how software storage systems are built. Traditionally, software storage systems rely on slow and block-based persistent storage devices for capacity and durability, and fast but scarce volatile memory is used as a caching layer for performance. With storage devices not catching up with the performance improvements in other aspects of computer systems over the years, smart use of main memory becomes increasingly crucial for performance. Much complexity has arisen from the need to use memory more efficiently. But that trend is bound to change with advances in memory technologies. Emerging non-volatile random access memory (NVRAM) devices provide high-performance byte-addressable persistent storage right from the memory bus, with both capacity and endurance surpassing today’s flash drives. Memory is going to become cheap, abundant, and even persistent, and that fundamentally changes the way computer systems use memory. Today we present two systems that adapt and extend existing software systems to make use of advanced memory technologies. First, we look at adapting a modern state-ofthe-art concurrent in-memory data structure to be completely NVRAM-resident. We took Masstree, a highly concurrent in-memory key-value store designed for volatile DRAM, and ported it to work in NVRAM with crash consistency. We used novel shadow paging techniques at internal nodes to avoid write-ahead logging, transforming Masstree into an NVRAM-ready data structure with very little space and performance overhead. Our NVRAM Masstree allows an inmemory storage system to achieve high performance and durability without slow accesses to flash or disk. Second, we use the power of abundant or even persistent memory to provide a powerful programming construct: in-memory transactional snapshots of concurrent data structures. We extended a type-based software transactional memory library STO to support snapshots for STO data types. We also implemented snapshot using the new extension for one STO data type – the linked list. STO-Snapshot supports nearinstant snapshot-taking with negligible impact on read/write performance.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要