pNOVA: Optimizing Shared File I/O Operations of NVM File System on Manycore Servers

Citations

WEB OF SCIENCE

15
Citations

SCOPUS

18

초록

NOVA is a state-of-the-art non-volatile memory file system that logs on a per-file basis to ensure consistency. However, NOVA does not show scalability when multiple threads perform I/Os to a single shared file on Manycore servers. We identified two problems: First, when multiple threads write to a single file restricts parallel writes because of a coarse-grained lock on files in the file system layer. Second, when multiple threads read to a single file, every reader lock acquisition invalidates cachelines of waiting threads and block holders. In order to solve the aforementioned problems, we propose pNOVA, a variant of NOVA that accelerates parallel writes and reads to the same file of multiple threads. First, pNOVA employs a fine-grained range lock, for which we take two implementations, an interval tree based range locking and an atomic operation-based range locking, rather than a coarse-grained lock on files. Second, by defining a range locking variable per each file range, we alleviate the cache-line invalidation problem of a single read counter. Lastly, we address the potential consistency damage incurred by parallel writes to the shared file, and provide consistency using a commit mark based logging method. We evaluated pNOVA on a Manycore server with 120 cores. For microbenchmark, pNOVA showed up to 3.5x higher I/O throughput than NOVA for concurrent shared file write workload. In the Filebench-OLTP benchmark, pNOVA showed up to 1.66x higher transaction processing rate than NOVA.

키워드

Non-Volatile MemoryFile SystemOperating System
제목
pNOVA: Optimizing Shared File I/O Operations of NVM File System on Manycore Servers
저자
Kim, June-HyungKim, JangwoongKang, HyeonguLee, Chang-GyuPark, SungyongKim, Youngjae
DOI
10.1145/3343737.3343748
발행일
2019-08-19
유형
Proceedings Paper
저널명
APSYS'19: PROCEEDINGS OF THE 10TH ACM SIGOPS ASIA-PACIFIC WORKSHOP ON SYSTEMS
페이지
1 ~ 7