Telepath : Evaluation of a Shared Memory Inter-Process Communication Mechanism
Snåre, Toivo (2025)
Snåre, Toivo
2025
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2025-10-13
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202510099760
https://urn.fi/URN:NBN:fi:tuni-202510099760
Tiivistelmä
Inter-process communication (IPC) is a key part of modern software systems. It enables systems to be partitioned into isolated components that can still co-operate by communicating via IPC mechanisms. The performance of IPC mechanisms often needs to be optimized as it is the most significant factor to overall performance in systems that utilize IPC heavily such as microkernel based operating systems.
This thesis presents a new shared memory based IPC mechanism. The mechanism attempts to improve performance by batching the handling of multiple IPC messages into one scheduler time quantum. Another key design aspect of the mechanism is how the send and receive phases of IPC can be combined into one system call.
A prototype of the presented IPC mechanism was implemented with a custom microkernel based operating system. The design of the operating system and its IPC mechanism is presented first. The performance of the prototype is then benchmarked and compared against another contemporary high performance IPC mechanism.
The results show that the presented IPC mechanism can be used to perform efficient inter-process communication. The performance was particularly good in a high contention situation where multiple client processes send IPC messages to a server process. Moreover, in a low contention situation, where there is only one client, the performance was measured to be approximately 30 % faster than the contemporary IPC mechanism that was used as the point of
reference.
This thesis presents a new shared memory based IPC mechanism. The mechanism attempts to improve performance by batching the handling of multiple IPC messages into one scheduler time quantum. Another key design aspect of the mechanism is how the send and receive phases of IPC can be combined into one system call.
A prototype of the presented IPC mechanism was implemented with a custom microkernel based operating system. The design of the operating system and its IPC mechanism is presented first. The performance of the prototype is then benchmarked and compared against another contemporary high performance IPC mechanism.
The results show that the presented IPC mechanism can be used to perform efficient inter-process communication. The performance was particularly good in a high contention situation where multiple client processes send IPC messages to a server process. Moreover, in a low contention situation, where there is only one client, the performance was measured to be approximately 30 % faster than the contemporary IPC mechanism that was used as the point of
reference.