Userland CO-PAGER: boosting data-intensive applications with non-volatile memory, userspace paging
dc.contributor.author | Li, Feng | |
dc.contributor.author | Waddington, Daniel G. | |
dc.contributor.author | Song, Fengguang | |
dc.contributor.department | Computer Information and Graphics Technology, School of Engineering and Technology | en_US |
dc.date.accessioned | 2020-06-01T15:49:20Z | |
dc.date.available | 2020-06-01T15:49:20Z | |
dc.date.issued | 2019-03 | |
dc.description.abstract | With the emergence of low-latency non-volatile memory (NVM) storage, the software overhead, incurred by the operating system, becomes more prominent. The Linux (monolithic) kernel, incorporates a complex I/O subsystem design, using redundant memory copies and expensive user/kernel context switches to perform I/O. Memory-mapped I/O, which internally uses demand paging, has recently become popular when paired with low-latency storage. It improves I/O performance by mapping the data DMA transfers directly to userspace memory and removing the additional data copy between user/kernel space. However, for data-intensive applications, when there is insufficient physical memory, frequent page faults can still trigger expensive mode switches and I/O operations. To tackle this problem, we propose CO-PAGER, which is a lightweight userspace memory service. CO-PAGER consists of a minimal kernel module and a userspace component. The userspace component handles (redirected) page faults, performs memory management and I/O operations and accesses NVM storage directly. The kernel module is used to update memory mapping between user and kernel space. In this way CO-PAGER can bypass the deep kernel I/O stacks and provide a flexible/customizable and efficient memory paging service in userspace. We provide a general programming interface to use the CO-PAGER service. In our experiments, we also demonstrate how the CO-PAGER approach can be applied to a MapReduce framework and improves performance for data-intensive applications. | en_US |
dc.eprint.version | Author's manuscript | en_US |
dc.identifier.citation | Li, F., Waddington, D. G., & Song, F. (2019). Userland CO-PAGER: Boosting data-intensive applications with non-volatile memory, userspace paging. Proceedings of the 3rd International Conference on High Performance Compilation, Computing and Communications, 78–83. https://doi.org/10.1145/3318265.3318272 | en_US |
dc.identifier.uri | https://hdl.handle.net/1805/22893 | |
dc.language.iso | en | en_US |
dc.publisher | ACM | en_US |
dc.relation.isversionof | 10.1145/3318265.3318272 | en_US |
dc.relation.journal | Proceedings of the 3rd International Conference on High Performance Compilation, Computing and Communications | en_US |
dc.rights | Publisher Policy | en_US |
dc.source | Author | en_US |
dc.subject | non-volatile memory | en_US |
dc.subject | memory management | en_US |
dc.subject | big data | en_US |
dc.title | Userland CO-PAGER: boosting data-intensive applications with non-volatile memory, userspace paging | en_US |
dc.type | Conference proceedings | en_US |