Keine andere Wissenschaftsdisziplin besitzt für Laien ein solches Glänzende-Augen-Potenzial wie die Luft- und Raumfahrt. Zwei DLR-Angehörige berichten über Strömungssimulationen und Satellitensoftware. In einem Kasten beschreibt ein anderer Autor, wie die ESA dem Big Bang nachspürt.
In der Luft- und Raumfahrt spielen Computer eine zentrale Rolle. Die darauf laufende Software lässt sich grob in folgende Gattungen einteilen:
- Missionskritische Software, die meist echtzeitfähig und in
ein übergeordnetes technisches System eingebettet ist. Sie
läuft oft autonom, reagiert auf Sensoren und steuert Aktoren
an. Beispiel ist die Onboard-Software in Satelliten oder
Flugzeugen. - Effiziente Codes, vor allem Simulationsalgorithmen mit hohen
Anforderungen an Performance, Datendurchsatz und Genauigkeit.
Beispiele sind Strömungssimulation oder die Berechnung
chemischer Reaktionen. - Software, die bei komplexen Anwendungen oder im Umgang mit
umfangreichen Datenbeständen unterstützt. Hierzu
gehören Workflow-Managementsysteme sowie Visualisierungs- und
Virtual-Reality-Anwendungen. - Systeme mit vielen Benutzern, meist Internet-, Intranet- oder
E-Mail-Anwendungen, zum Beispiel Informations- und
Dokumentationssysteme. Auch ein Webshop für den Verkauf von
Satellitendaten an Banken oder Versicherungen zählt zu dieser
Kategorie.
Der folgende Artikel beleuchtet zwei Anwendungsgebiete im Deutschen Zentrum für Luft- und Raumfahrt (DLR), wo sich Linux einer gewissen Dominanz erfreut.
Numerische Strömungssimulation
Moderne Entwurfsarbeiten in den Ingenieurwissenschaften erfordern es, die zugrunde liegenden physikalischen Prozesse hochgenau numerisch zu simulieren. In der Luft- und Raumfahrt trifft dies beispielsweise zu für die Simulation des Wiedereintritts von Raumfahrzeugen oder die frei fliegender, manövrierender Flugzeuge oder die Simulation der Strömungsverhältnisse im Inneren von Triebwerken. Um eine möglichst hohe Genauigkeit zu erzielen, koppeln die Rechnungen mehrere Fachdisziplinen, zum Beispiel Strömung und Struktur.
Mehrere Institute des DLR entwickeln dazu Software für die numerische Strömungssimulation (Computational Fluid Dynamics, kurz: CFD), die Universitäten, Industrie und das DLR selbst für unterschiedliche Simulationsaufgaben einsetzen. So simuliert der Code TAU vom Institut für Aerodynamik und Strömungstechnik [1] vornehmlich Außenströmungen (Abbildung 1a), TRACE vom Institut für Antriebstechnik [2] dagegen Strömungen innerhalb von Triebwerken (Abbildungen 1b).
Rechenintensives auf Linux
Da hohe Genauigkeiten sehr hohe Rechenleistung und viel Speicherplatz beanspruchen, laufen die Algorithmen auf Höchstleistungsrechnern, oft mit mehreren Tausend Multicore-Prozessoren. Als Betriebssystem kommt im DLR fast ausnahmslos Linux zum Einsatz, meist als Suse Linux Enterprise Server oder das auf Red Hat Enterprise Linux fußende Scientific Linux [3]. Für Linux sprechen seine gute Skalierbarkeit, insbesondere bei den 64-Bit-Varianten, und die vielen Open-Source-Bibliotheken und -Entwicklungstools. Weil die meisten Wissenschaftler im DLR Linux auch als Desktop-Betriebssystem fürs Entwickeln einsetzen, vermeidet das zugleich einen Bruch zwischen den Desktop- und HPC-Server-Welten.
Damit Ingenieure die High-Performance-Rechner einfach nutzen und mit Kollegen in Industrie und Universitäten effizient zusammenarbeiten, entwickelt die DLR-Einrichtung “Simulations- und Softwaretechnik” [4] grafische Benutzerschnittstellen wie Datafinder [5]. Die in Python implementierte Open-Source-Software ist im D-Grid-Projekt Aerogrid [6], also in der Luftfahrtforschung, aber auch andernorts im Einsatz. Sie startet Simulationscodes über Grid-Computing-Schnittstellen oder das Scheduling-System auf HPC-Rechnern. Auch hilft sie die anfallenden Daten verwalten (Abbildung 4).
Entwickeln für Satelliten-Echtzeitsysteme
Die Abteilung Zentralavionik am DLR Institut für Raumfahrtsysteme in Bremen [7] entwickelt nicht nur die Hardware für Satelliten, sondern auch die dazu passende Software. Die Forschungs- und Entwicklungsarbeiten reichen von der Implementierung eines eigenen echtzeitfähigen Onboard-Betriebssystems bis hin zu den Applikationen, die den Satelliten steuern und Daten transferieren. Die Thermalkontrolle, die Ladekontrolle, die Lageregelung und andere Anwendungen laufen jeweils als eigene Threads parallel, die die Programmierer bei mehreren (redundanten) Bordrechnern als verteilte Anwendungen über mehrere Rechenknoten des Satelliten hinweg aufsetzen.
Die Anforderungen an Satellitensoftware in Bezug auf Fehlertoleranz, Robustheit und Ausfallsicherheit sind extrem hoch. Statische Codeanalysen, Codeverifikation und vor allem das ständige Testen der Software sollen das Erfüllen dieser Anforderungen garantieren. Das Problem beim Test des Gesamtsystems (Betriebssystem, Middleware, Applikationen) ist, dass die Zielhardware, der Satellit selbst, erst spät im Designzyklus zur Verfügung steht.

Abbildung 4: Die Benutzerschnittstelle Datafinder steuert hier eine Triebwerkssimulation auf HPC-Rechnern.
Linux-Schicht vereinheitlicht
Abhilfe schafft das DLR mit einem eigenen Hardware-abhängigen Layer, für den es je nach Zielplattform verschiedene Implementierungen gibt. Eine davon setzt auf Linux auf. Abbildung 5 zeigt, wie Linken des Realtime-OS gegen eine mit Linux arbeitende Schicht das Hardware-unabhängige Testen ermöglicht. Linux punktet hier durch seine saubere Struktur, mit zugänglichen Schnittstellen, und wegen seiner weiten Verbreitung kann auch ein verteilt arbeitendes Ingenieursteam auf einer Plattform gemeinsam entwickeln und testen.

Abbildung 5: Für das Testen eines Satelliten-Bootimage greift der Linker statt auf die Zielhardware auf eine gleichwertige Linux-Implementierung zurück.
In der Praxis bedeutet dies, dass die Wissenschaftler lange vor Fertigstellung der Onboard-Rechner mit den Softwaretests beginnen dürfen, was sich auf die Qualität und die Laufzeit eines Satelliten-Projekts positiv auswirkt. (jk)
|
Infos |
|---|
|
[1] DLR Institut für Aerodynamik und Strömungstechnik: [http://www.dlr.de/as] [2] DLR Institut für Antriebstechnik: [http://www.dlr.de/at] [3] Scientific Linux: [http://www.scientificlinux.org] [4] DLR Simulations- und Softwaretechnik: [http://www.dlr.de/sc] [5] Datafinder: [http://datafinder.sourceforge.net] [6] Aerogrid: [http://www.aero-grid.de] [7] DLR Institut für Raumfahrtsysteme [http://www.dlr.de/irs] [8] Planck-Homepage mit Start-Countdown: [http://sci.esa.int/science-e/www/area/index.cfm?fareaid=17] [9] Healpix: [http://healpix.jpl.nasa.gov] [10] Caltech: [http://www.caltech.edu] [11] Healpix auf Sf.net: [http://sourceforge.net/projects/healpix/] [12] WMAP: [http://map.gsfc.nasa.gov] [13] FITS-Format: [http://fits.gsfc.nasa.gov] |
|
Die Autoren |
|---|
|
Frank Dannemann hat Physik und Informatik an der Universität Oldenburg studiert. Er arbeitet als Wissenschaftler am Institut für Raumfahrtsysteme im Deutschen Zentrum für Luft- und Raumfahrt e.V. (DLR) in Bremen. In der Abteilung Zentralavionik ist er für das Design und die Implementierung von eingebetteter Software hauptsächlich für Satellitensysteme zuständig. Andreas Schreiber hat Technomathematik an der TU Clausthal studiert. Er arbeitet als Wissenschaftler im DLR in Köln-Porz. Er leitet die Abteilung für Verteilte Systeme und Komponentensoftware. |







