TSU: A Two-stage update approach for persistent skiplist

2Citations
Citations of this article
4Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Skiplist, a widely used in-memory index structure, could incur crash inconsistency when running on emerging NVRAM (Non-Volatile Random Access Memory). Logging or strict serialization can ensure crash consistency at the cost of severe performance degradation. In this paper, we propose TSU, a Two-stage update approach to improve the performance of persistent skiplist while preserve crash consistency. TSU exploits space locality of skiplist and atomic write of NVRAM, thus effectively reducing expensive cache line flush (clflush) operations. To this end, we category all four crash inconsistent states into two types: recoverable and unrecoverable. TSU could guarantee the crash state is recoverable by constraining the memory access order for insertion and deletion. We further design a persistency algorithm to reduce clflush by preserving the memory persistent order of skiplist update. In addition, we develop a concurrent search for TSU. The evaluation result shows that TSU can reduce cache line flush with up to 47.6%, and decrease the average request latency by up to 36% for insertions compared to the strict serialization.

Author supplied keywords

Cite

CITATION STYLE

APA

Wang, S., & Cao, Q. (2020). TSU: A Two-stage update approach for persistent skiplist. In Communications in Computer and Information Science (Vol. 1256 CCIS, pp. 163–177). Springer Science and Business Media Deutschland GmbH. https://doi.org/10.1007/978-981-15-8135-9_12

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free