Funktional dedizierte Nutzung von Prozessorkernen zur Interferenzreduktion von Betriebssystemoperationen

Language
de
Document Type
Doctoral Thesis
Issue Date
2018-04-03
Issue Year
2018
Authors
Schedel, Jens
Editor
Abstract

An operating system provides its users with an environment which allows them to efficiently and conveniently run programs. But this environment comes at some costs. The initiation of a system call yields direct costs, e.g. runtime costs. But there are also indirect costs for which the application has to pay after the system call. The indirect costs stem from the shared use of limited processor-local resources, such as caches. Due to the limited size of the caches, application data has to be evicted during a system call in order to use the cache. Operating systems and applications compete for these processor-local resources. This leads to interference and additional runtime.

In order to reduce the costs which go along with the described interference, this thesis presents riDesign, an operating-system architecture for reduced interference. The basic idea is to partition the processors between operating system and application in order to minimize the interference between them. It also comes with the positive side effect of reduced contention due to the decreased amount of participants. riDesign benefits from the current trend in processor development to integrate several processors into one piece of silicon. These multicore processors are characterised by low communication costs for inter processor communication, among other things. A multicore processor currently only contains processors in a low double-digit range, but in the near future an increase in core numbers is expected.

For this thesis the operating system OctoPOS was adapted to the concepts of riDesign and so the resulting operating system OctoPOS-RI evolved. A detailed analysis of OctoPOS’ interface and subsystems regarding the interference properties laid the basis for the implementation of OctoPOS-RI. The design of the scheduling and dispatching subsystem is presented in detail and is compared with OctoPOS.

The basic functions of OctoPOS-RI and OctoPOS are analysed with several microbenchmarks. Further experiments show the impact of OctoPOS-RI on the behavior of some applications. It becomes apparent that the tested applications react differently to the changed conditions. With the help of a synthetic application, the key factors for improved application performance could be identified.

Abstract

Ein Betriebssystem bietet seinen Benutzerinnen und Benutzern eine Umgebung, in der sie Programme bequem und effizient ausführen können. Die Bereitstellung einer derartigen Umgebung geht mit verschiedenen Kosten einher. Beispielsweise fallen Laufzeitkosten beim Auslösen eines Betriebssystemaufrufs an. Zusätzlich zu diesen direkten Kosten entstehen auch indirekte Kosten, die nach dem Betriebssystemaufruf auf die Anwendung zukommen. Die indirekten Kosten entstehen durch die gemeinsame Nutzung von beschränkten prozessorlokalen Ressourcen, wie beispielsweise Zwischenspeicher. Aufgrund des beschränkten Pufferplatzes müssen Anwendungsdaten bei einem Betriebssystemaufruf aus den Zwischenspeichern weichen und stehen der Anwendung erst nach erneuter Einlagerung zur Verfügung. Betriebssystem und Anwendung konkurrieren um die gemeinsam genutzten prozessorlokalen Ressourcen. Die daraus resultierende Interferenz verursacht zusätzliche Laufzeitkosten.

Zur Senkung der zusätzlichen Kosten wird im Rahmen dieser Dissertation riDesign, eine Betriebssystemarchitektur zur Reduktion von Interferenz, vorgestellt. Die grundlegende Idee hinter riDesign ist die Partitionierung der Prozessoren zwischen Betriebssystem und Anwendungen, was die Interferenz auf ein Mindestmaß reduziert. Begünstigt wird diese Trennung durch den aktuellen Trend in der Prozessorentwicklung, mehrere Prozessoren auf einem Prozessorchip zu kombinieren. Derartige Mehrkernprozessoren zeichnen sich unter anderem durch geringe Kommunikationskosten zwischen den einzelnen Prozessoren aus. Die Anzahl der Prozessorkerne pro Prozessorchip liegt aktuell im niedrigen zweistelligen Bereich. Allerdings ist innerhalb der nächsten Jahre ein starker Anstieg der Kernanzahl zu erwarten.

Das OctoPOS-Betriebssystem wurde im Rahmen dieser Dissertation entsprechend der Konzepte der riDesign-Betriebssystemarchitektur umgebaut und daraus entstand das Betriebssystem OctoPOS-RI. Eine Analyse der bestehenden Betriebssystemschnittstelle und der Subsysteme von OctoPOS hinsichtlich ihrer Interferenzeigenschaften bildet die Grundlage für die Umsetzung von OctoPOS-RI. Die Umsetzung der Einplanung und Einlastung wird im Detail vorgestellt und mit der bestehenden Version in OctoPOS verglichen.

Mit Mikrobenchmarks werden einige Basisfunktionen von OctoPOS-RI und OctoPOS analysiert und die Ergebnisse gegenübergestellt. In weiteren Experimenten wird der Einfluss von OctoPOS-RI auf das Verhalten verschiedener Anwendungen quantitativ evaluiert und mit den Ergebnissen von OctoPOS verglichen. Dabei zeigt sich, dass die getesteten Anwendungen unterschiedlich auf die veränderten Rahmenbedingungen in OctoPOS-RI reagieren. Mit Hilfe einer synthetischen Anwendung wird gezeigt, welche Faktoren für Anwendungen entscheidend sind, damit sie neben der reduzierten Interferenz auch von Laufzeitvorteilen profitieren können.

DOI
Faculties & Collections
Zugehörige ORCIDs