Motivation
Die Möglichkeiten, die Geschwindigkeit eines einzelnen Rechenkerns zu steigern, scheinen weitgehend ausgereizt. Deshalb gehen die Prozessorhersteller dazu über, viele parallel arbeitende Kerne auf einem Chip zu integrieren. Das bedeutet neue Herausforderungen für alle Softwareentwickler, egal ob im Bereich des Höchstleistungsrechnens (HPC) oder für Eingebettete Systeme. Derzeitige Ansätze versuchen diesen Herausforderungen allein durch eine verbesserte Arbeitsverteilung und Datensegmentierung zu begegnen. Der vom Betriebssystem verursachte und unkontrollierbare Overhead wird dabei nicht berücksichtigt.
Ziele und Vorgehen
Das Projekt ProThOS hat sich deshalb zum Ziel gesetzt, die Ausführungsgeschwindigkeit und Skalierbarkeit deutlich zu verbessern, indem es die Programmierung und Ausführung von Prozessen (Tasks) und Datenflüssen vom Programmiermodell bis hin zum Betriebssystem bearbeitet. Alle relevanten Aspekte sollen über die Ebenen hinweg aufeinander abgestimmt werden: So lässt sich die Ausführungsreihenfolge in der Abarbeitung eines Programms (sogenannter Thread) wesentlich effektiver gestalten und damit im Ergebnis eine viel effizientere Parallelisierung erzielen. ProThOS zielt auf hocheffiziente Datenfluss- und task-basierte Anwendungen ab. Dabei wird bei der Ausführung der Programme von der zugrundeliegenden Hardware abstrahiert. Stattdessen werden die auszuführenden Programme mit Hilfe graphischer Methoden (Ausführungs- und Codemuster) analysiert. Das Projekt „ProThOS“ baut auf einem im BMBF-Projekt MyThOS entwickelten Betriebssystem auf. Um den Overhead zu reduzieren, bezieht ProThOS dieses Betriebssystem mit ein.
Innovationen und Perspektiven
ProThOS wird an ausgewählten Szenarien aus den Bereichen Molekulardynamik, Strömungssimulation und Elektrodynamik sowie der verteilten Verarbeitung von Multimediadaten validiert. Der mögliche Anwendungsbereich geht aber darüber hinaus und ist insbesondere auch für die Analyse sehr großer Datenmengen (Big Data) und den Umgang mit hoch-dynamischen Szenarien (z. B. Multiphysics Simulationen) geeignet.