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.
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.