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
Veröffentlichungen
2023 |
A. Fried, M. Stemmer-Grabow, J. Wachter:
Register Allocation for Compressed ISAs in LLVM.
CC '23 |
2020 |
S. Rheindt, A. Fried, O. Lenke, L. Nolte, T. Twardzik, T. Wild, A. Herkersdorf:
X-CEL: A Method to Estimate Near-Memory Acceleration Potential in Tile-based MPSoCs.
ARCS 2020 |
2019 |
S. Rheindt, A. Fried, O. Lenke, L. Nolte, T. Wild, A. Herkersdorf:
NEMESYS: Near-Memory Graph Copy Enhanced System-Software.
MEMSYS 2019 |
2018 |
M. Mohr:
Aspects of Code Generation and Data Transfer Techniques for Modern Parallel Architectures.
|
A. Zwinkau:
Resource-aware Programming in a High-level Language -- Improved performance with manageable effort on clustered MPSoCs.
|
S. Buchwald, A. Fried, S. Hack:
Synthesizing an Instruction Selection Rule Library from Semantic Specifications.
CGO '18 |
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 |