Parallel Programming Languages, Libraries, Models and Notations
TimeThursday, November 16th2pm - 2:30pm
DescriptionThis paper introduces PapyrusKV: a parallel embedded key-value store for a distributed HPC architectures that have nonvolatile memory (NVM). PapyrusKV stores keys and values in arbitrary byte arrays across multiple NVMs in a distribute system. PapyrusKV provides a set of standard key-value store operations such as put, get, and delete, and more advanced features specialized for HPC such as dynamic consistency configuration, database protection, zero-copy workflow, and asynchronous checkpoint/restart. Beyond filesystems, PapyrusKV provides HPC programmers a high-level interface to exploit massive pools of NVM in the system, and it organizes data to achieve high performance. Also, it allows HPC programmers to configure PapyrusKV to meet their application-specific requirements and/or needs. We evaluate PapyrusKV on three HPC systems, including OLCF's Summitdev, TACC's Stampede, and NERSC's Cori, using real NVM devices. Our results show that PapyrusKV can offer high performance, scalability, portability across various distributed NVM architectures, and usability for HPC.