Adaptive Address-Space Management for Resource-Aware Applications

Language
en
Document Type
Doctoral Thesis
Issue Date
2021-06-07
Issue Year
2021
Authors
Drescher, Gabor
Editor
Abstract

This thesis presents adaptive memory protection, isolation and management techniques that were developed in the Collaborative Research Centre (CRC) Invasive Computing. These techniques were deployed in the operating system OctoPOS which is part of the CRC. The aim was to isolate concurrent applications on multi-core and multi-tile hardware architectures. Memory protection is an integral part of many operating systems to ensure safety and security. However, significant runtime overheads and resources may be involved in the enforcement of memory protection. This is especially the case for parallel applications that run on multiple cores and multiple tiles. Overheads include the management of page tables, TLB consistency and synchronisation.

For trusted applications or applications written in type-safe programming languages with a trusted runtime environment, these overheads and resources are completely in vain. This is in contrast to the intention of Invasive Computing, which is to optimise the usage of computing platforms by promoting resource awareness. Adaptive memory protection in OctoPOS achieves this resource awareness by being able to lift application isolation at runtime and to establish said isolation again as circumstances demand. Furthermore, resource-aware programs are promoted that often release and acquire resources from the operating system. As the evaluations show, unrestricted applications can benefit from less runtime jitter, faster system calls and improved predictability. The adaptivity itself seems not to harm the general performance of the tested operating system variants.

Subproblems were tackled that arise from multi-core architectures and shared memory applications. Inter-processor interrupts must be sent and synchronously acknowledged to manage TLB entries. For this problem an innovative acknowledged-multicast algorithm was developed that outperforms existing solutions. Management of physical memory is also deeply coupled with memory protection. Novel solutions to manage physical memory from page frames up to user-space memory allocation are presented, yielding low fragmentation, high performance and good predictability properties. Synchronisation of interrelated system calls that deal with resource management are handled using Guarded Sections. These allow asynchronous progression of activities while a critical section is blocked. Adaptive memory protection is also applied to an asynchronous message-passing mechanism utilising hardware DMA. In the prototype systems the DMA engine is not restricted by any IO-MMU, yet it is controlled by applications for communication. An adaptive protection mechanism was established in OctoPOS to restrict DMA operations to be contained within an application that can spread over multiple tiles dynamically. This isolation mechanism is also able to lift and establish the protection at runtime, all while concurrently serving DMA requests.

Abstract

Diese Dissertation präsentiert Techniken zur anpassungsfähigen Speicherverwaltung, Speicherschutz und Isolation, die im Sonderforschungsbereich Invasive Computing entwickelt wurden. Diese Techniken wurden im Betriebssystem OctoPOS des Sonderforschungsbereichs angewandt, um nebenläufige Anwendungen auf Mehrkern- und Mehrkachel-Systemen zu isolieren. Speicherschutz ist ein integraler Bestandteil von vielen Betriebssystemen, um Sicherheit und Schutz zu gewährleisten. Jedoch können erhebliche Kosten und Ressourcen bei der Durchsetzung von Speicherschutz anfallen. Das ist im besonderen Maße der Fall für parallele Anwendungen, die auf mehreren Kernen und mehreren Kacheln laufen. Zu den Kosten gehört die Verwaltung von Seitentabellen, TLB-Konsistenz und Synchronisation.

Die hier genannten Kosten und Ressourcen sind vergebens für sichere Anwendungen und Anwendungen, welche in einer typsicheren Programmiersprache mit einem vertrauenswürdigen Laufzeitsystem geschrieben wurden. Diese Tatsache steht im Kontrast zu dem Vorsatz von Invasive Computing, die Nutzung von Computersystemen durch die Förderung von Ressourcengewahrheit zu optimieren. Der anpassungsfähige Speicherschutz in OctoPOS erreicht diese Ressourcengewahrheit durch die Fähigkeit, die Isolation zwischen Anwendungen zur Laufzeit aufzuheben und jene Isolation wiederherzustellen, wenn die Situation es erfordert. Des Weiteren werden ressourcengewahre Programme gefördert, die häufig Ressourcen vom Betriebssystem erwerben und wieder frei geben. Wie die Evaluationsergebnisse zeigen, profitieren uneingeschränkte Anwendungen von weniger Laufzeit-Schwankungen, schnelleren Systemaufrufen und verbesserter Vorhersagbarkeit. Die Anpassungsfähigkeit an sich scheint die allgemeine Leistung der getesteten Betriebssystemvarianten nicht wesentlich zu mindern.

Teilprobleme wurden für diese Arbeit in Angriff genommen, die generell bei Mehrkern-Rechnern und Architekturen mit geteilten Speicher auftreten. Unterbrechungsanforderungen an andere Rechenkerne müssen gesendet und synchron bestätigt werden, um TLB-Einträge zu verwalten. Für dieses Problem wurde ein innovativer Multicast-Algorithmus mit Bestätigung entwickelt, der bisherige Lösungen übertrifft. Auch die Verwaltung von physikalischem Speicher ist stark gekoppelt mit Speicherschutz. Neuartige Lösungen, um physikalischen Speicher von Seitenrahmen bis hoch in den Benutzerbereich zu verwalten, werden präsentiert. Diese liefern niedrige Fragmentierung, hohe Leistung und gute Eigenschaften bezüglich Vorhersagbarkeit. Die Synchronisation von in Wechselbeziehung stehenden Systemaufrufen wird mit Hilfe von Guarded Sections gehandhabt. Diese erlauben einen asynchronen Ablauf von Aktivitäten während ein kritischer Abschnitt blockiert ist. Anpassungsfähiger Speicherschutz wird auch bei asynchroner Nachrichtenübermittlung mittels Hardware-DMA bereitgestellt.

In den Prototyp-Systemen wird die DMA-Einheit nicht von einer IO-MMU eingeschränkt, jedoch untersteht sie der Kontrolle von Anwendungen zum Zweck der Kommunikation. Ein anpassungsfähiger Isolationsmechanismus wurde in OctoPOS eingeführt, um DMA-Operationen auf Anwendungsbereiche zu begrenzen, die sich auch über mehrere Kacheln ausbreiten können. Auch dieser Isolationsmechanismus ist in der Lage, den Schutz zur Laufzeit aufzuheben und wiederherzustellen, während gleichzeitig DMA-Anfragen abgearbeitet werden.

DOI
Faculties & Collections
Zugehörige ORCIDs