Non-blocking inter-partition communication with wait-free pair transactions
Ethan Blanton, Lukasz Ziarek · 2013
Predictable concurrency control is difficult. In this paper we present wait-free pair transactions, a lightweight, transactional communication object with the goal of achieving predictable communication between concurrent threads of execution, a key component to predictable concurrency control. Wait-free pair transactions allow entirely non-blocking, but one-way, communication between a dedicated reader and writer. Wait-free pair transaction objects provide transactional semantics for data consistency on the object being communicated by the reader and writer, but never require blocking, have a strictly bounded spatial overhead, and constant time overhead for any field accesses. We provide a detailed description of the implementation of wait-free pair transactions in Fiji VM and show how they can be leveraged for safe and predictable communication in a mixed-criticality environment. We demonstrate the runtime characteristics and predictability of wait-free pair transactions on a mixed criticality UAV flight control system benchmark.