Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3318265.3318272acmotherconferencesArticle/Chapter ViewAbstractPublication Pageshp3cConference Proceedingsconference-collections
research-article

Userland CO-PAGER: boosting data-intensive applications with non-volatile memory, userspace paging

Published: 08 March 2019 Publication History

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.

References

[1]
Intel SSD DC P4800X specifications. https://www.intel.com/content/www/us/en/products/memory-storage/solid-state-drives/data-center-ssds/optane-dc-p4800x-series/p4800x-375gb-aic-20nm.html, 2018.
[2]
Daniel Waddington and Jim Harris. Software challenges for the changing storage landscape. Communications of the ACM, 61(11):136--145, 2018.
[3]
Haris Volos, Andres Jaan Tack, and Michael M Swift. Mnemosyne: Lightweight persistent memory. In ACM SIGARCH Computer Architecture News, volume 39, pages 91--104. ACM, 2011.
[4]
Joel Coburn, Adrian M Caulfield, Ameen Akel, Laura M Grupp, Rajesh K Gupta, Ranjit Jhala, and Steven Swanson. Nv-heaps: making persistent objects fast and safe with next-generation, non-volatile memories. ACM Sigplan Notices, 46(3): 105--118, 2011.
[5]
Jungsik Choi, Jiwon Kim, and Hwansoo Han. Efficient memory mapped file i/o for in-memory file systems. In 9th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 17). USENIX Association, 2017.
[6]
Nae Young Song, Yongseok Son, Hyuck Han, and Heon Young Yeom. Efficient memory-mapped i/o on fast storage device. ACM Transactions on Storage (TOS), 12(4):19, 2016.
[7]
Colby Ranger, Ramanan Raghuraman, Arun Penmetsa, Gary Bradski, and Christos Kozyrakis. Evaluating mapreduce for multi-core and multiprocessor systems. In High Performance Computer Architecture, 2007. HPCA 2007. IEEE 13th International Symposium on, pages 13--24. Ieee, 2007.
[8]
Danny Cobb and Amber Huffman. NVM Express and the PCI Express SSD Revolution. In Intel Developer Forum. Intel, 2012.
[9]
NVM Express Overview. http://nvmexpress.org/wp-content/uploads/NVMe_Overview.pdf, 2018.
[10]
Daniel G Waddington. Fast & flexible io: A compositional approach to storage construction for high-performance devices. arXiv preprint arXiv:1807.09696, 2018.
[11]
IBM Comanche project. https://github.com/IBM/comanche, 2018.
[12]
Storage performance development kit (SPDK). http://www.spdk.io, 2018.
[13]
Data Plane Development Kit Project, https://dpdk.org, 2018.
[14]
Hiroko Midorikawa, Yuichiro Suzuki, and Masatoshi Iwaida. User-level remote memory paging for multithreaded applications. In Cluster, Cloud and Grid Computing (CCGrid), 2013 13th IEEE/ACM International Symposium on, pages 196--197. IEEE, 2013.
[15]
Jochen Liedtke. Toward real microkernels. Communications of the ACM, 39(9): 70--77, 1996.
[16]
Dylan McNamee and Katherine Armstrong. Extending the mach external pager interface to accomodate user-level page replacement policies. In USENIX MACH Symposium, pages 17--30, 1990.
[17]
Jeffrey Dean and Sanjay Ghemawat. Mapreduce: simplified data processing on large clusters. Communications of the ACM, 51(1):107--113, 2008.
[18]
Matei Zaharia, Reynolds Xin, Patrick Wendell, Tathagata Das, Michael Armbrust, Ankur Dave, Xiangrui Meng, Josh Rosen, Shivaram Venkataraman, Michael J Franklin, et al. Apache spark: a unified engine for big data processing. Communications of the ACM, 59(11):56--65, 2016.
[19]
Tom White. Hadoop: The definitive guide. "O'Reilly Media, Inc.", 2012.
[20]
Richard M Yoo, Anthony Romano, and Christos Kozyrakis. Phoenix rebirth: Scalable mapreduce on a large-scale shared-memory system. In Workload Characterization, 2009. IISWC 2009. IEEE International Symposium on, pages 198--207. IEEE, 2009.
[21]
Justin Talbot, Richard M Yoo, and Christos Kozyrakis. Phoenix++: modular mapreduce for shared-memory systems. In Proceedings of the second international workshop on MapReduce and its applications, pages 9--16. ACM, 2011.
[22]
Taeho Hwang, Dokeun Lee, Yeonjin Noh, and Youjip Won. Designing persistent heap for byte addressable nvram. In Non-Volatile Memory Systems and Applications Symposium (NVMSA), 2017 IEEE 6th, pages 1--6. IEEE, 2017.
[23]
Songping Yu, Nong Xiao, Mingzhu Deng, Yuxuan Xing, Fang Liu, and Wei Chen. Megalloc: Fast distributed memory allocator for nvm-based cluster. In Networking, Architecture, and Storage (NAS), 2017 International Conference on, pages 1--9. IEEE, 2017.
[24]
Niall Douglas. User mode memory page management: An old idea applied anew to the memory wall problem. arXiv preprint arXiv:1105.1815, 2011.
[25]
Pak Markthub, Mehmet E Belviranli, Seyong Lee, Jeffrey S Vetter, and Satoshi Matsuoka. Dragon: breaking gpu memory capacity limits with direct nvm access. In Proceedings of the International Conference for High Performance Computing, Networking, Storage, and Analysis, page 32. IEEE Press, 2018.
[26]
Pmem.io-Persistent Memory Programming, https://pmem.io, 2018.
[27]
Persistent Memory Development Kit (PMDK) project. https://github.com/pmem/pmdk/, 2018.
[28]
Sangwhan Moon, Jaehwan Lee, Xiling Sun, and Yang-suk Kee. Optimizing the hadoop mapreduce framework with high-performance storage devices. The Journal of Supercomputing, 71(9):3525--3548, 2015.
[29]
Jochen Liedtke. On micro-kernel construction, volume 29. ACM, 1995.
[30]
TCMalloc : Thread-Caching Malloc. http://goog-perftools.sourceforge.net/doc/tcmalloc.html, 2018.
[31]
Linux Programmer's Manual dynamic linker/loader, http://man7.org/linux/man-pages/man8/ld.s0.8.html, 2018.
[32]
Intel Optane SSD 900P Series, https://www.intel.com/content/www/us/en/solid-state-drives/optane-ssd-900p-brief.html, 2018.
[33]
Daniel P Bovet and Marco Cesati. Understanding the Linux Kernel: from I/O ports to process management. "O'Reilly Media, Inc.", 2005.
[34]
Manual page for cgroup. http://man7.org/linux/man-pages/man7/cgroups.7-html, 2018.

Cited By

View all
  • (2022)Enabling Scalable and Extensible Memory-Mapped Datastores in UserspaceIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2021.308630233:4(866-877)Online publication date: 1-Apr-2022
  • (2019)uMMAP-IO: User-Level Memory-Mapped I/O for HPC2019 IEEE 26th International Conference on High Performance Computing, Data, and Analytics (HiPC)10.1109/HiPC.2019.00051(363-372)Online publication date: Dec-2019

Index Terms

  1. Userland CO-PAGER: boosting data-intensive applications with non-volatile memory, userspace paging

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    HP3C '19: Proceedings of the 3rd International Conference on High Performance Compilation, Computing and Communications
    March 2019
    201 pages
    ISBN:9781450366380
    DOI:10.1145/3318265
    • Conference Chair:
    • Steven Guan
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 08 March 2019

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. big data
    2. memory management
    3. non-volatile memory

    Qualifiers

    • Research-article

    Funding Sources

    • NSF Award

    Conference

    HP3C '19

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 03 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Enabling Scalable and Extensible Memory-Mapped Datastores in UserspaceIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2021.308630233:4(866-877)Online publication date: 1-Apr-2022
    • (2019)uMMAP-IO: User-Level Memory-Mapped I/O for HPC2019 IEEE 26th International Conference on High Performance Computing, Data, and Analytics (HiPC)10.1109/HiPC.2019.00051(363-372)Online publication date: Dec-2019

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media