Maier S (2026)
Publication Language: English
Publication Type: Thesis
Publication year: 2026
URI: https://open.fau.de/handle/openfau/41222
In the past, software developers could rely on steadily increasing single-core performance and thus on hardware that provided them with more computing power every year. These performance improvements came for free and required no (or only minor) adjustments to the existing software stack. However, for several years, the improvements in single-core performance have become increasingly smaller and harder to achieve. Instead of chasing these minor performance gains with considerable effort, the industry made a fundamental shift towards multi- and many-core architectures. Therefore, systems that feature numerous processor cores are no longer limited to supercomputers or servers but are instead ubiquitous today. This shift came with several challenges for both hardware and software: New hardware architectures had to be developed to allow for scalability of shared infrastructure like buses and memory hierarchies. At the same time, application software had to be adjusted to actually benefit from parallel computing power. But the required changes are not limited to hardware and application software. Instead, it became evident that system software – residing between these two layers – also has to be adjusted to ensure scalability and enable efficient execution of applications. Nevertheless, adjustments to the fundamental architecture of operating systems often fell short, and improvements only targeted individual flaws and performance bottlenecks. While the abundance of processor cores would allow for their specialization, the chance to operate cores efficiently by dedicating them to specific tasks or system activities is often missed. Instead, processor cores and hardware resources like caches continue to be shared between vastly different workloads, which leads to mutual interference that harms execution performance. Some approaches try to avoid this problem by statically assigning tasks to specific cores, which reduces interference but, in turn, negatively affects core utilization.
Therefore, this thesis proposes a novel approach to resource management: a system that is entirely built from Asynchronous Abstract Machines (AAMs), and that focuses on the efficient execution of parallel applications – especially from the HPC and server domain. In such a system, applications and even the operating system itself consist of AAMs that interact with each other via asynchronous messages. An AAM (or simply: machine) is dedicated to a specific group of tasks that are executed by a machine-local task scheduler. Together, these tasks typically implement a specific application functionality or system service while sharing a significant amount of program code and data. During runtime, each machine is provided with dedicated computational resources in the form of processor cores for the undisturbed execution of its tasks. The number of allocated cores may vary over time and is determined by a special system component that is aware of all machines in the system and their current load. Machines offer their services to other machines via an asynchronous, task-based interface that utilizes direct communication between machines via shared memory. This generic mechanism, which also serves as a system interface, enables the remote execution of predefined tasks and, therefore, effectively offloads their execution to another machine and its cores. Together, the dynamic specialization of cores and the offloading mechanism avoid costly transitions between heterogeneous workloads, minimizing mutual interference while maintaining high resource utilization. At the same time, the light-weight task scheduler makes the frequent context switches between the homogeneous tasks of a machine a machine-local and fast operation.
This thesis identifies four major shortcomings in existing operating systems and addresses these shortcomings by introducing the AAM design concept. It describes the implementation of the AAM approach in the form of the asyncOS prototype. The subsequent evaluation of the prototype with different benchmarks analyzes important properties of the AAM approach, like the successful reduction of interference between unrelated workloads. Finally, the thesis discusses a wide variety of related approaches, compares them to the AAM-based approach, and describes future work.
APA:
Maier, S. (2026). Asynchronous Abstract Machines (Dissertation).
MLA:
Maier, Sebastian. Asynchronous Abstract Machines. Dissertation, 2026.
BibTeX: Download