Betriebssysteme · Institut für Systemarchitektur · Fakultät Informatik · TU Dresden



16. 10. 2020

Asynchronous API for M3


Hermann Christian Baron von Kleist

TU Dresden

Verteidigung der Diplomarbeit (Sondertermin 16:00 Online Meeting)

M3 is a new hardware/operating system co-design that targets very heterogeneous platforms, containing mixed ISAs and accelerators. M3 uses a microkernel design that places components onto different cores and uses a dedicated hardware component for message-based communication between these components.

Currently, most APIs in M3 are synchronous. That is, after component A sent a message to component B, component A idles until the reply from component B arrives. Since M3 prefers to place components onto different cores (having both performance and security advantages), this potentially wastes time, because component A's core cannot be used for other work during that time.

M3 provides user-level threads to tackle some shortcomings of the synchronous API. In this thesis, various approaches to an asynchronous API in C++ are evaluated regarding their usability and their performance. Precisely, callbacks, event-handling state machines and coroutines are implemented and compared to the existing user-level threads.

28. Oct 2020
· Copyright © 2001-2022 Operating Systems Group, TU Dresden | Impressum ·