HOME | ENGLISH | IMPRESSUM | KIT

InvasIC

Transregio SFB InvasIC (DFG SFB/TRR89)

Das Projekt

Die Idee: Unter dem Begriff Invasives Rechnen soll ein völlig neues Paradigma für den Entwurf und die Programmierung zukünftiger paralleler Rechensysteme erforscht werden. Die Grundidee besteht darin, parallelen Programmen die Fähigkeit zu verleihen, in einer als Invasion bezeichneten Phase ressourcengewahr Berechnungen auf eine Menge aktuell verfügbarer Ressourcen zu verteilen, und nach paralleler Abarbeitung diese in einer als Rückzug bezeichneten Phase wieder frei zu geben. Um diese neue Art der selbstadaptiven und ressourcengewahren Programmierung auf zukünftigen MPSoCs (engl. Multi-Processor-Systems-on-a-Chip) effizient zu ermöglichen, bedarf es neuer Programmierkonzepte, Sprachen und Compilern wie auch Laufzeit- bzw. Betriebssystemen sowie revolutionärer Architekturerfindungen, die sich auf die Rekonfigurierbarkeit von sowohl Prozessor-, Verbindungs- als auch Speicherressourcen beziehen.

Notwendigkeit und erwartete Fortschritte: Laut Roadmaps werden im Jahre 2020 mehr als 1000 Prozessoren auf einem Chip integriert werden können. Bedroht wird dieser Fortschritt durch zunehmende Anfälligkeit von Komponenten gegenüber Prozessschwankungen sowie damit verbunden, einem drastisch zunehmenden Fehl- und Ausfallverhalten. Prinzipien der Selbstorganisation könnten nun Abhilfe schaffen, um Fehler und Varianzen zu tolerieren, aber auch um Skalierbarkeit sowie höhere Ressourceneffizienzen und Auslastungen zu erzielen. In einem invasiven Programm erfolgt die Verteilung der Berechnungen zur Laufzeit und abhängig vom Zustand der Ressourcen, also ressourcengewahr.

A1 Teilprojekt

Untersucht werden die Grundlagen invasiver Programmierung, insb. Programmiermodell(e) und Konzepte ressourcengewahrer Programmierung. Dazu gehören a) Definition der Grundfunktionalität und b) Entwicklung eines Rechenmodells zur Ermittlung von Performance, Auslastung, Effizienz und Overhead zur quantitativen Beurteilung invasiver Programme für verschiedene Zielarchitekturen. Entwicklung einer Programmnotation inklusive c) Syntax, Semantik und Typsystem einer abstrakten invasiven Kernsprache, auf deren Basis dann d) eine konkrete invasive Sprache inklusive der notwendigen Systemschnittstellen abgeleitet werden soll.

C3 Teilprojekt

Teilprojekt C3 untersucht Ubersetzungstechniken für invasive Architekturen. Entwickelt werden soll ein Compiler für die konkrete Sprache aus A1, voraussichtlich eine Erweiterung von X10. Effizienter Code für invasive Konstrukte ist essentiell. Basierend auf FIRM sollen Backends zur Codegenerierung für sowohl SPARC als auch eng gekoppelte Prozessorfelder (TCPAs) für Schleifenprogramme entwickelt werden. Die generierten invasiven Programme sollen sich dabei zur Laufzeit auf einem Feld von Prozessoren korrekt entfalten und synchronisieren können. Dies soll durch Untersuchung symbolischer Abbildungstechniken erreicht werden.

Weitere Informationen

Projektbeteiligte

Ehemalige Hiwis
Eduard Frank
Ehemalige Studenten
Julian Oppermann
Ehemalige Hiwis
Tobias Rapp
Martin Seidel
Lehrstuhlinhaber
Prof. Gregor Snelting
Wissenschaftliche Mitarbeiter
Sebastian Buchwald
Manuel Mohr
Andreas Zwinkau
Ehemalige Mitarbeiter
Dipl.-Inform. Matthias Braun

Veröffentlichungen

2017
M. Wagner, D. Lohner: Minimal Static Single Assignment Form. AFP 2017
M. Mohr, C. Tradowsky: Pegasus: Efficient Data Transfers for PGAS Languages on Non-Cache-Coherent Many-Cores. DATE 2017
2016
A. Zwinkau: An X10 Memory Model. X10 2016
S. Ullrich, D. Lohner: Verified Construction of Static Single Assignment Form. AFP 2016
S. Wildermann, M. Bader, L. Bauer, M. Damschen, D. Gabriel, M. Gerndt, M. Glaß, J. Henkel, J. Paul, A. Pöppl, S. Roloff, T. Schwarzer, G. Snelting, W. S. a: Invasive Computing for Timing-Predictable Stream Processing on MPSOCS. it 2016
S. Buchwald, D. Lohner, S. Ullrich: Verified Construction of Static Single Assignment Form. CC 2016
2015
N. C. Böwing: Invasives Verteiltes Job Queue Framework.
C. Jost: Erweiterung des invasiven X10-Compilers um getrennte Übersetzung.
M. Witterauf, A. Tanase, J. Teich, V. Lari, A. Zwinkau, G. Snelting: Adaptive fault tolerance through invasive computing.
S. Buchwald, M. Mohr, I. Rutter: Optimal Shuffle Code with Permutation Instructions. arXiv.org
M. Mohr, S. Buchwald, A. Zwinkau, C. Erhardt, B. Oechslein, J. Schedel, D. Lohmann: Cutting Out the Middleman: OS-Level Support for X10 Activities. X10 2015
S. Buchwald, M. Mohr, A. Zwinkau: Malleable Invasive Applications. ATPS 2015
S. Buchwald: Optgen: A Generator for Local Optimizations. CC 2015
S. Buchwald, M. Mohr, I. Rutter: Optimal Shuffle Code with Permutation Instructions. WADS 2015
2014
M. Braun, S. Buchwald, M. Mohr, A. Zwinkau: Dynamic X10: Resource-Aware Programming for Higher Efficiency.
2013
M. Mohr, A. Grudnitsky, T. Modschiedler, L. Bauer, S. Hack, J. Henkel: Hardware Acceleration for Programs in SSA Form. CASES 2013
H. Bungartz, C. Riesinger, M. Schreiber, G. Snelting, A. Zwinkau: Invasive computing in HPC with X10.
M. Braun, S. Buchwald, S. Hack, R. Leißa, C. Mallon, A. Zwinkau: Simple and Efficient Construction of Static Single Assignment Form. CC 2013
2012
D. Rausch: Implementierung einer verteilten Breitensuche in X10.
K. Fischnaller: Optimierung von Stencil-Algorithmen für invasive Architekturen.
C. Frieler: Entwicklung eines parallelen PBQP-Lösers mit X10.
M. Braun, S. Buchwald, M. Mohr, A. Zwinkau: An X10 Compiler for Invasive Architectures.
A. Zwinkau: Resource Awareness for Efficiency in High-Level Programming Languages.
2011
F. Hannig, S. Roloff, G. Snelting, J. Teich, A. Zwinkau: Resource-aware programming and simulation of MPSoC architectures through extension of X10. SCOPES 2011