03.04.2023; Vortrag
Echtzeit-AGHigh-Performance and Dependable Asynchronous Communication on Multi-Core Systems
Asynchronous communication components play a crucial role in multi-threaded applications such as operating systems, databases, networks, and language runtimes. They enable data transfer, task distribution, and component decoupling.
However, with the end of Moore’s Law and the rise of heterogeneous multicore architectures, existing methods face challenges including performance issues such as massive cache-misses and multi-thread interferences, as well as correctness issues due to the increasing complexity when coevolving with modern architectures (e.g., weak memory models).
This work presents novel methods and algorithms to address these challenges. We propose a metadata separation approach, where metadata is split into multiple copies and layers to reduce concurrent access contentions and enable fast-path-slow-path design modes.
Based on this approach, we invented several novel queues including block-based queue (BBQ), relaxed multi-level queue (RMQ), and block-based work-stealing queue (BWoS), which are verified and optimized using a model checking based framework.
We successfully integrated these queues into real world applications including DPDK, Linux IO_uring, Java GC, and Go and Rust runtimes. Our experiments demonstrate significant end-to-end performance improvement for industrial software over state-of-the-art approaches.
In this talk, we will give a brief overview of the current state of the art in asynchronous communication approaches and present our results obtained so far.
(PhD status talk)