1. Asynchronous Abstract Machines
- Author
-
Timo Hönig, Peter Wägemann, Wolfgang Schröder-Preikschat, and Sebastian Maier
- Subjects
Multi-core processor ,Computer science ,business.industry ,Locality ,ComputingMethodologies_IMAGEPROCESSINGANDCOMPUTERVISION ,020206 networking & telecommunications ,02 engineering and technology ,Abstract machine ,020202 computer hardware & architecture ,Scheduling (computing) ,Asynchronous communication ,Embedded system ,0202 electrical engineering, electronic engineering, information engineering ,Thread pool ,Systems design ,business ,System software - Abstract
Today's systems offer an increasing number of processor cores, however, the chance to operate them efficiently by dedicating cores to specific tasks is often missed. Instead, mixed workloads are processed by each core which leads to system noise (i.e., interferences, scheduling overheads) and yields subpar performance, only. We therefore propose a system design based on Asynchronous Abstract Machines (AAMs). An AAM features a light-weight scheduler and is dedicated to a specific group of tasks with common characteristics (i.e., shared code and data). It offers an asynchronous, task-based interface for efficient interaction between AAMs. Just like applications are built from AAMs, even the OS itself consists of AAMs that are interfaced by applications via asynchronous messages instead of synchronous system calls. A dedicated OS component, which is aware of all AAMs in the system, is responsible for dynamic and exclusive allocation of cores to AAMs depending on their current workload. Thus, cores rarely switch between heterogeneous workloads of different AAMs. And, at the same time, frequent switches between homogeneous tasks become fast, local operations of an AAM, which do not involve the OS kernel. In this paper, we describe shortcomings of existing operating systems, our new system design concept, and present evaluation results of our prototype implementation.
- Published
- 2019
- Full Text
- View/download PDF