Adaptive Address-Space Management for Resource-Aware Applications
Anpassungsfähige Adressraumverwaltung für Resourcengewahre Anwendungen
Please always quote using this URN: urn:nbn:de:bvb:29-opus4-165115
- 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 theThis 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.…
- 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 denDiese 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.…
Author: | Gabor Drescher |
---|---|
Persistent identifiers - URN: | urn:nbn:de:bvb:29-opus4-165115 |
Referee: | Wolfgang Schröder-Preikschat |
Advisor: | Wolfgang Schröder-Preikschat |
Document Type: | Doctoral Thesis |
Language: | English |
Year of publication: | 2021 |
Date of online publication (Embargo Date): | 2021/06/01 |
Publishing Institution: | Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU) |
Granting institution: | Friedrich-Alexander-Universität Erlangen-Nürnberg (FAU), Technische Fakultät |
Acceptance date of the thesis: | 2021/05/26 |
Release Date: | 2021/06/07 |
Institutes: | Technische Fakultät |
Dewey Decimal Classification: | 0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 000 Informatik, Informationswissenschaft, allgemeine Werke |
open_access (DINI-Set): | open_access |
Licence (German): |