A Scalability-Aware Kernel Executive for Many-Core Operating Systems - Drescher, Gabor; Hönig, Timo; Maier, Sebastian; Oechslein, Benjamin; Schröder-Preikschat, Wolfgang (Proceedings of the 1st Workshop on Runtime and Operating Systems for the Many-core Era, 2013)
Number, variety, and organization of the on-chip processing elements of many-core processors demand a radical rethink in operating systems design. One may come from a multitude of allocatable units that bestows every execution thread its own core: single-threaded cores will be usual, multi-threaded cores will be unusual. The paper presents a scalability-aware kernel executive, Sake, that is currently designed against such background targeting at large-scale heterogeneous many-core systems. Benchmarks on a 48-core machine motivate custom system software and special purpose systems for such modern machines.
UnivIS-Import:2017-12-18:Pub.2013.tech.IMMD.IMMD4.ascala
Keywords: LAOS

Asynchronous Abstract Machines: Anti-noise System Software for Many-core Processors - Maier, Sebastian; Hönig, Timo; Wägemann, Peter; Schröder-Preikschat, Wolfgang (ROSS 2019 - Proceedings of the 9th International Workshop on Runtime and Operating Systems for Supercomputers, co-located with HPDC 2019, 2019)
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.
CRIS-Team Scopus Importer:2019-07-26
Keywords: Dynamic resource allocation; Interference; Locality; Message-based system call; Partitioning; Scheduling; System noise; Thread pool

DySHARQ: Dynamic Software-Defined Hardware-Managed Queues for Tile-Based Architectures - Rheindt, Sven; Maier, Sebastian; Pohle, Nora; Nolte, Lars; Lenke, Oliver; Schmaus, Florian; Wild, Thomas; Schröder-Preikschat, Wolfgang; Herkersdorf, Andreas (International Journal of Parallel Programming, 2020)

Invasive Computing - Anantharajaiah, Nidhi; Asfour, Tamim; Bader, Michael; Bauer, Lars; Becker, Jürgen; Bischof, Simon; Brand, Marcel; Bungartz, Hans-Joachim; Eichler, Christian; Esper, Khalil; Falk, Joachim; Fasfous, Nael; et al. (FAU University Press, 2022)

Invasive Run-Time Support System (iRTSS) - Bauer, Lars; Henkel, Jörg; Hönig, Timo; Schröder-Preikschat, Wolfgang; Eichler, Christian; Gonzalez, Jeferson; Herzog, Benedict; Langer, Tobias; Maier, Sebastian; Rabenstein, Jonas; Raffeck, Phillip; Schmaus, Florian (Invasive Computing, 2022)
Invasive programs, as well as hardware designed specifically to run them, need an operating system that does not make applications pay for resources, functions or features that are not needed in operation. With this in mind, we provide in the following methods, principles and abstractions for the application-aware extension, configuration and adaptation of invasive computing systems. These are technically integrated into an invasive run-time support system (iRTSS), a highly scalable heterogeneous operating system that comes in various forms and ports (LEON, x86-64, AMD64, ARM64) depending on the use case. The system addresses special-purpose MPSoC-based as well as general-purpose multicore/manycore machine
Keywords: InvasIC; iRTSS; OctoPOS; Agent System

Leveraging Non-Blocking Synchronization in a Process-Based Many-Core OS Kernel - Maier, Sebastian (Friedrich-Alexander-Universität Erlangen-Nürnberg, 2013)
With the rise of multi- and many-core processors, the challenge to utilize parallel computing power moves more and more into the focus of research. To benefit from many-core architectures, changes to the algorithms and data structures of the applications are needed. Furthermore, adjustments in the architecture of operating systems are necessary because they provide the underlying system services and functions to the application such as communication and synchronization of threads. The aim of this thesis was to design and implement a process-based kernel, which consistently applies non-blocking synchronization to ensure the scalability on machines with a large number of processor cores. In contrast to most existing operating system kernels, this new kernel was designed from scratch with scalability in mind. After its implementation, the performance relevant properties of the new kernel were evaluated using a 48-core x86-64 machine. The performance measurements are based on four specifically developed tests, which consist of parallel algorithms. For evaluation purposes the results were compared with those of two other kernels. Therefore, the common process-based Linux kernel and the event-based LAKE kernel for multi-core machines, which was developed at our chair, were used. The evaluations revealed that non-blocking algorithms in operating system kernels lead to promising scaling characteristic
Keywords: operating system; non-blocking; many-core; process-based

SHARQ: Software-Defined Hardware-Managed Queues for Tile-Based Manycore Architectures - Rheindt, Sven; Maier, Sebastian; Schmaus, Florian; Wild, Thomas; Schröder-Preikschat, Wolfgang; Herkersdorf, Andreas (Proceedings of the 19th International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS), 2019)
The recent trend towards tile-based manycore architectures has helped to tackle the memory wall by physically distributing memories and processing nodes. Distributed operating systems and applications allow to exploit the increased scalability of such architectures, but still face the data-to-task locality challenge. As inter-tile communication, thread synchronization and data transport often impose significant software overhead on such architectures, many applications would benefit from a more efficient and powerful communication primitive with minimal software involvement. We propose software-defined hardware-managed queues for distributed computing architectures that enable efficient inter-tile communication by leveraging application-specific queues with arbitrarily sized elements. To ensure (remote) processing of queued elements, SHARQ introduces the concept of an optional handler task, which is scheduled by hardware on demand. Queue and memory management, intra- and inter-tile data transfer, and handler task invocation are entirely handled by hardware. Only the dynamic queue creation at runtime is performed in software. As an example use-case, we integrated SHARQ into the MPI library. The evaluation with the MPI-based NAS benchmarks shows a reduction in execution time by up to 48% for the communication intense IS kernel in a 4x4 tile design on an FPGA platform with a total of 80 LEON3 core

System Software for Resource Arbitration on Future Many-* Architectures - Schmaus, Florian; Maier, Sebastian; Langer, Tobias; Rabenstein, Jonas; Hönig, Timo; Bauer, Lars; Henkel, Jörg; Schröder-Preikschat, Wolfgang (2020 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), 2020)

Towards Taming the Computing Continuum: System Software for Future Many-Core Architectures - Schmaus, Florian; Maier, Sebastian; Langer, Tobias; Rabenstein, Jonas; Bauer, Lars; Henkel, Jörg; Schröder-Preikschat, Wolfgang (HiPEAC 2020, 2020)