Abstract
Non-Volatile Main Memory (NVMM) devices have been integrated into general-purpose operating systems through familiar file-based interfaces, providing efficient byte-granularity access by bypassing page caches. To leverage the unique advantages of these high-performance media, the storage stack is migrating from the kernel into user-space. However, application performance remains fundamentally limited unless network stacks explicitly integrate these new storage media and follow the migration of storage stacks into user-space. Moreover, we argue that the storage and the network stacks must be considered together when being designed for NVMM. This requires a thoroughly new network stack design, including low-level buffer management and APIs.
We propose PASTE, a new network programming interface for NVMM. It supports familiar abstractions—including busy-polling, blocking, protection, and run-to-completion—with standard network protocols such asTCP and UDP. By operating directly on NVMM, it can be closely integrated with the persistence layer of applications. Once data is DMA’ed from a network interface card to host memory (NVMM), it never needs to be copied again—even for persistence. We demonstrate the general applicability of PASTE by implementing two popular persistent data structures: a write-ahead log and a B+ tree. We further apply PASTE to three applications: Redis, a popular persistent key-value store, pKVS, our HTTP-based key value store and the logging component of a software switch, demonstrating that PASTE not only accelerates networked storage but also enables conventional networking functions to support new features.
We propose PASTE, a new network programming interface for NVMM. It supports familiar abstractions—including busy-polling, blocking, protection, and run-to-completion—with standard network protocols such asTCP and UDP. By operating directly on NVMM, it can be closely integrated with the persistence layer of applications. Once data is DMA’ed from a network interface card to host memory (NVMM), it never needs to be copied again—even for persistence. We demonstrate the general applicability of PASTE by implementing two popular persistent data structures: a write-ahead log and a B+ tree. We further apply PASTE to three applications: Redis, a popular persistent key-value store, pKVS, our HTTP-based key value store and the logging component of a software switch, demonstrating that PASTE not only accelerates networked storage but also enables conventional networking functions to support new features.
Original language | English |
---|---|
Title of host publication | Proceedings of the 15th USENIX Conference on Networked Systems Design and Implementation |
Place of Publication | Renton, WA, USA |
Publisher | USENIX Association |
Pages | 17–33 |
Number of pages | 17 |
ISBN (Print) | 978-1-939133-01-4 |
Publication status | Published - 9 Apr 2018 |
Event | 15th USENIX Symposium on Networked Systems Design and Implementation - Renton, United States Duration: 9 Apr 2018 → 11 Apr 2018 https://www.usenix.org/conference/nsdi18 |
Conference
Conference | 15th USENIX Symposium on Networked Systems Design and Implementation |
---|---|
Abbreviated title | NSDI'18 |
Country/Territory | United States |
City | Renton |
Period | 9/04/18 → 11/04/18 |
Internet address |