Towards a high-level C++ abstraction to utilize the read-copy-update pattern

Gábor Márton, Imre Szekeres, Zoltán Porkoláb

Towards a high-level C++ abstraction to utilize the read-copy-update pattern

Číslo: 3/2018
Periodikum: Acta Electrotechnica et Informatica
DOI: 10.15546/aeei-2018-0021

Klíčová slova: C++, threads, synchronisation, RCU

Pro získání musíte mít účet v Citace PRO.

Přečíst po přihlášení

Anotace: Concurrent programming with classical mutex/lock techniques does not scale well when reads are way more frequent than writes. Such situation happens in operating system kernels among other performance critical multithreaded applications. Read copy update (RCU) is a well know technique for solving the problem. RCU guarantees minimal overhead for read operations and allows them to occur concurrently with write operations. RCU is a favourite concurrent pattern in low level, performance critical applications, like the Linux kernel. Currently there is no high-level abstraction for RCU for the C++ programming language. In this paper, we present our C++ RCU class library to support efficient concurrent programming for the read-copy-update pattern. The library has been carefully designed to optimise performance in a heavily multithreaded environment, in the same time providing high-level abstractions, like smart pointers and other C++11/14/17 features.