Name des Teilnehmers: Anselm Busse
Beschreibung des IT-Forschungsprojektes: Rechnersysteme haben in unserer technisierten Welt einen sehr hohen Durchdringungsgrad erreicht und sind in fast jedem elektronischen Gerät zu finden – von einer einfachen Waschmaschine bis hin zur komplexen Fertigungsanlage. Fast all diesen Systemen ist gemein, dass sie eine Art Betriebssystem benötigen, welches die Aufgaben des jeweiligen Systems koordiniert. Eine zentrale Fragestellung innerhalb eines Betriebssystems ist dabei, welche Aufgabe zu welchem Zeitpunkt zu bearbeiten ist. Diese Aufgabe übernimmt der Scheduler. Dabei sind verschiedene Betriebsziele zu beachten. Bei der Steuerungssoftware eines Verbrennungsmotors steht z.B. die Einhaltung von Fristen im Vordergrund, um die Funktionstüchtigkeit des Motors zu gewährleisten, während bei einem Desktoprechner die Antwortzeit des Systems von stärkerer Bedeutung ist, um eine gute Nutzererfahrung sicher zu stellen. Der Scheduler wird dabei für gewöhnlich systemspezifisch entworfen und implementiert. Diese Entwicklung ist meist sehr aufwendig und kostenintensiv.
Die Entwicklung von Betriebssystemen im Allgemeinen und Schedulern im Speziellen haben in den vergangen Jahren hat zunehmend Probleme, mit der Entwicklung der Hardware Schritt zu halten: Die Architektur von Rechensystemen ist in den letzten Jahren einem starken Wandel unterworfen. Statt einen Leistungszuwachs durch Erhöhung der Taktraten bei gleichbleibender Architektur zu erreichen, wird auf Seite der Hardware der Leistungszuwachs zunehmend durch Änderungen an der Rechnerarchitektur, der Erhöhung der Anzahl der Recheneinheiten hin zu Many-Core-Systemen und der zunehmenden Verwendung von Spezialrecheneinheiten für die Datenverarbeitung wie GPUs oder DSPs erreicht. Im Bereich der Betriebssysteme gibt es noch keinen übergreifenden Ansatz, mit dieser Problematik umzugehen, so dass neue Hardware nur mit erheblicher Verzögerung so genutzt werden kann, wie es bei einer perfekten Anpassung der Systemsoftware möglich ist.
Die Forschungsergebnisse des Projekts sollen beide Problemfelder berücksichtigen und dafür sorgen, dass zum einen der Entwicklungsaufwand im Bereich des Schedulers verringert wird und zum anderen die Entwicklungszeiten verkürzt werden, um schneller auf Innovationen im Bereich der Hardware zu reagieren und deren Potenziale voll auszuschöpfen. Hierfür wird ein Domänen-Unabhängiges modulares Scheduler-Framework entwickelt, dass im Rahmen des Projekts prototypisch sowohl für Linux als auch FreeBSD implementiert und evaluiert wird. Das Framework ermöglicht die Implementierung von beliebigen Scheduling-Algorithmen. Durch das Framework wird anders als bisher kein umfangreiches Vorwissen über den Aufbau und die Struktur des umgebenden Betriebssystems benötigt. Darüber hinaus ist es möglich, im Gegensatz zum aktuellen Stand der Technik, eine Scheduler-Implementierung oder modularisierte Teile derer ohne Portierungsaufwand für mehrere Betriebssysteme zu nutzen. Dieses Vorgehen verringert sowohl Entwicklungs- als auch Verifikationskosten.
Software Campus-Partner: TU Berlin, Robert Bosch GmbH
Umsetzungszeitraum: 01.04.2013 – 31.12.2014