2019 · 14 citations · 11 references
ComputingComputer ScienceComputer SystemsOperating SystemsParallel ComputingStorage SystemsCache CoherenceCachingConcurrency ControlParallel File SystemsSynchronization PrimitivesCache Invalidation StrategiesCommitCommit MechanismsConsistencyFile System ArchitectureLocking MechanismsManycore ArchitecturesNon-volatile Memory
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 cacheline 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.5× higher I/O throughput than NOVA for concurrent shared file write workload. In the Filebench-OLTP benchmark, pNOVA showed up to 1.66× higher transaction processing rate than NOVA.
11
Better I/O through byte-addressable, persistent memory
Jeremy Condit, Edmund B. Nightingale, Christopher Frost et al. · 2009 · 833 citations
System software for persistent memory
Subramanya R. Dulloor, Sanjay Kumar, Anil Keshavamurthy et al. · 2014 · 623 citations
Xiaojian Wu, A. L. Narasimha Reddy · 2011 · 287 citations