Predictable Synchronisation Algorithms for Asynchronous Critical Sections
Language
Document Type
Issue Date
Issue Year
Authors
Editor
Abstract
Multi-core processors are ubiquitous. Even embedded systems nowadays use processors with multiple cores. Such use cases often impose latency requirements because they interact with physical objects.
One consequence is a need for synchronisation algorithms that provide predictable latency, in addition to high throughput. A promising approach are asynchronous critical sections that avoid waiting even when a resource is occupied.
This paper introduces two algorithms that allow for both synchronous and asynchronous critical sections. Both algorithms base on a novel wait-free queue. The evaluation shows that both algorithms outperform pre-existing synchronisation algorithms for asynchronous requests, and perform similarly to traditional lock-based algorithms for synchronous requests. In summary, our synchronisation algorithms can improve throughput and predictability of parallel applications.