Durchgängige anwendungsspezifische Maßschneiderung von Betriebssystem und Rechnerstruktur in konfigurierbaren eingebetteten Multi- und Manycore-Systemen.
Final Report Abstract
Hardwarearchitekturen im Kontext von Eingebetteten Systemen werden immer komplexer und bewegen sich zukünftig immer häufiger in Richtung von Multi- oder Manycore-Systemen. Damit diese Systeme ihre optimale Leistungsfähigkeit – für die oftmals speziellen Aufgaben im Kontext von Eingebetteten Systemen – ausspielen können, beschäftigen sich ganze Forschungszweige mit der anwendungsspezifischen Maßschneiderung dieser Systeme. Insbesondere die Popularität von Hardwarebeschreibungssprachen trägt dazu ihren Teil bei. Jedoch ist die Entwicklung von solchen Systemen, selbst bei der Verwendung von Hardwarebeschreibungssprachen und der damit verbundenen höheren Abstraktionsebene, aufwendig und fehleranfällig. Die Verwendung von Hardwarebeschreibungssprachen lässt allerdings die Grenze zwischen Hard- und Software verschwimmen, denn Hardware kann nun – ähnlich wie auch Software – in textueller Form beschrieben werden. Dies eröffnet Möglichkeiten zur Übertragung von Konzepten aus der Software- auf die Hardwareentwicklung. Ein Konzept, um der wachsenden Komplexität im Bereich der Softwareentwicklung zu begegnen, ist die organisierte Wiederverwendung von Komponenten, wie sie in der Produktlinienentwicklung zum Einsatz kommt. Inwieweit sich Produktlinienkonzepte auf Hardwarearchitekturen übertragen lassen und wie Hardware-Produktlinien entworfen werden können, wurde im Rahmen des Projekts LavA untersucht. Die Vorteile der Produktlinientechniken, wie die Möglichkeit zur Wiederverwendung von erprobten und zuverlässigen Komponenten, könnten so auch für Hardwarearchitekturen genutzt werden, um die Entwicklungskomplexität zu reduzieren und so mit erheblich geringerem Aufwand spezifische Hardwarearchitekturen entwickeln zu können. Zudem kann durch die gemeinsame Codebasis einer Produktlinie eine schnellere Markteinführungszeit unter geringeren Entwicklungskosten realisiert werden. Auf Basis dieser neuen Konzepte beschäftigte sich das Projekt zudem mit der Fragestellung, wie zukünftig solche parallelen Systeme programmiert und automatisiert optimiert werden können, um den Entwickler von der Anwendung über die Systemsoftware bis hin zur Hardware mit einer automatisierten Werkzeugkette bei der Umsetzung zu unterstützen. Im Fokus standen dabei die im Projekt entworfenen Techniken zur durchgängigen Konfigurierung von Hardware und Systemsoftware. Diese Techniken beruhen im Wesentlichen auf den Programmierschnittstellen zwischen den Schichten, deren Zugriffsmuster sich statisch analysieren lassen. Die so gewonnenen Konfigurationsinformationen lassen sich dann zur automatisierten Maßschneiderung der Systemsoftware- und Hardware-Produktlinie für ein spezifisches Anwendungsszenario nutzen. Die anwendungsspezifische Optimierung der Systeme wird mittels einer Entwurfsraumexploration durchgeführt. Der Fokus der Entwurfsraumexploration liegt allerdings nicht allein auf der Hardwarearchitektur, sondern umfasst ebenso die Softwareebene. Denn neben der Maßschneiderung der Systemsoftware, wird auch die auf einer parallelen Programmierschnittstelle aufsetzende Anwendung innerhalb der Entwurfsraumexploration automatisch skaliert, um die Leistungsfähigkeit von Manycore-Systemen ausschöpfen zu können.
Publications
- CiAO/IP: A highly configurable aspect-oriented IP stack. In Proceedings of the 10th International Conference on Mobile Systems, Applications, and Services (MobiSys ’12), pages 435–448, New York, NY, USA, June 2012. ACM Press
C. Borchert, D. Lohmann, and O. Spinczyk
(See online at https://doi.org/10.1145/2307636.2307676) - The aspect-aware design and implementation of the CiAO operating-system family. In G. T. Leavens, S. Chiba, M. Haupt, K. Ostermann, and E. Wohlstadter, editors, Transactions on AOSD IX, number 7271 in Lecture Notes in Computer Science, pages 168–215. Springer, 2012
D. Lohmann, O. Spinczyk, W. Hofer, and W. Schröder-Preikschat
(See online at https://doi.org/10.1007/978-3-642-35551-6_5) - Hardware APIs: A softwarecentric approach for automated derivation of MPSoC hardware structures based on static code analysis. In Proceedings of the 27th International Conference on Architecture of Computing Systems (ARCS ’14), pages 111–122, Luebeck, Germany, Feb. 2014. Springer
M. Meier, M. Breddemann, and O. Spinczyk
(See online at https://doi.org/10.1007/978-3-319-04891-8_10) - Interfacing the hardware API with a feature-based operating system family. Journal of Systems Architecture, 61(10):531–538, 2015
M. Meier, M. Breddemann, and O. Spinczyk
(See online at https://doi.org/10.1016/j.sysarc.2015.07.010)