MV-RLU
Autor: | Jaeho Kim, Madhava Krishnan Ramanathan, Changwoo Min, Sanidhya Kashyap, Ajit Mathew |
---|---|
Rok vydání: | 2019 |
Předmět: |
020203 distributed computing
Computer science Concurrent data structure 02 engineering and technology Parallel computing Bottleneck Concurrency control 020204 information systems Synchronization (computer science) 0202 electrical engineering electronic engineering information engineering Programming paradigm Software transactional memory Overhead (computing) Garbage collection |
Zdroj: | ASPLOS |
DOI: | 10.1145/3297858.3304040 |
Popis: | This paper presents multi-version read-log-update (MV-RLU), an extension of the read-log-update (RLU) synchronization mechanism. While RLU has many merits including an intuitive programming model and excellent performance for read-mostly workloads, we observed that the performance of RLU significantly drops in workloads with more write operations. The core problem is that RLU manages only two versions. To overcome such limitation, we extend RLU to support multi-versioning and propose new techniques to make multi-versioning efficient. At the core of MV-RLU design is concurrent autonomous garbage collection, which prevents reclaiming invisible versions being a bottleneck, and reduces the version traversal overhead the main overhead of multi-version design. We extensively evaluate MV-RLU with the state-of-the-art synchronization mechanisms, including RCU, RLU, software transactional memory (STM), and lock-free approaches, on concurrent data structures and real-world applications (database concurrency control and in-memory key-value store). Our evaluation results show that MV-RLU significantly outperforms other techniques for a wide range of workloads with varying contention levels and data-set size. |
Databáze: | OpenAIRE |
Externí odkaz: |