May 17, 2024; Defence
Echtzeit-AGTransparent Kernel-Bypass via Shared Memory for Message-Based Local Inter-Process Communication
Unix pipes have long been a fundamental mechanism for inter-process communication (IPC) in Unix-like operating systems and enable simple and efficient data transfer between related processes. However, the usual pipe implementation always requires a system call to read from or write to a pipe. Furthermore, copying between buffers in user space and a buffer in the kernel is always necessary. If the processes involved in the communication are not limited by their data processing speed, the required system calls and copies can represent a considerable overhead and thus limit the pipe’s throughput.
In this thesis, an approach to increase the throughput of a Unix pipe is investigated by transparently replacing read and write access to the pipe with a custom shared memory implementation, eliminating the need for system calls. Thanks to the transparent implementation, existing applications can use this mechanism without the need for code changes or recompilation. The disadvantage of a transparent implementation is that the copies between buffers cannot be avoided.
The effectiveness of the proposed shared memory-based approach is compared with conventional Unix pipes by conducting a performance comparison and evaluating the advantages and disadvantages of the alternative implementation. The obtained performance data will demonstrate an edge in throughput and latency over the traditional implementation for single-consumer/single-producer scenarios.
(Bachelor Thesis Defense)