EASE:Energieorientiertes automatisches Optimieren für wissenschaftliche Anwendungen
EASE: Energy-Aware Autotuning for Scientific Applications
Bilaterale Ausschreibung: Indien
Wissenschaftsdisziplinen
Informatik (100%)
Keywords
-
Parallelizing Compiler,
Energy Efficient Programming,
Autotunig,
Performance Analysis
Wissenschaftliche Anwendungen benötigen immer größere Berechnungs- und Speicherkapazitäten, um große und komplexe Simulationen zu lösen. In den vergangenen Jahren hat das energiebewusste Design von Hochleistungsanwendungen Anwendungsentwickler motiviert. Experten in den Bereichen Hochleistungsrechnen, Anwendungs- und Architekturentwicklung interessieren sich immer häufiger für die Green Top 500 Liste anstatt der Top 500 Liste der Superrechner. Der einzige Grund dafür liegt in den hohen Stromrechnungen und der Emission von CO2. Gemäß eines Berichts über die Effizienz von Server- und Datenzentren im Jahre 2007, der dem US Kongress vorgelegt wurde, lag der Energiebedarf von US Datenzentren bei ungefähr 61 Milliarden KW- Stunden im Jahr 2006, der zu Kosten von 4.5 Milliarden USD geführt hat. Es wurde abgeschätzt, dass der Energiebedarf in den nächsten Jahren noch ansteigen könnte, wenn es zu keinen Gegenmaßnahmen auf den Ebenen von Betriebssystemen, Kernel und Anwendung kommt. Es ist bekannt, dass die Mehrzahl der Anwendungen für Hochleistungsrechner schlechte Energieeffizienz aufweisen, z.B. wegen Wartezeiten in Pipelines oder Caches oder wegen ungleicher Lastverteilung aufgrund von Nachrichtenaustausch. Obwohl Anwendungsentwickler sich darüber bewusst sind, die Ausgaben für Strom und den CO2 Ausstoß zu reduzieren, ist es schwierig jene Code Regionen zu finden, die zu einem inakzeptablen Energiebedarf führen. Tatsächlich ist es eine Herausforderung sich ein genaues Bild über den Energiebedarf für verschiedene Regionen von Anwendungen zu machen. Das lässt sich auf die Ungenauigkeit von Energiemessungen mit existierenden HW- und SW-Lösungen zurückführen. Die Genauigkeit von Messungen ist unzureichend wenn feingranulare Coderegionen betrachtet werden die Abtastrate von RAPL-Zählern ist vergleichsweise gering. Darüber hinaus gibt es einen Bedarf für Werkzeuge und Techniken zur Optimierung des Energiebedarfs, um verschiedene wissenschaftliche Probleme zu lösen und dabei gleichzeitig den Einfluss auf die Laufzeit zu minimieren. Zahlreiche Modelle basierend auf Zählerdaten, Zeitintervalle, dynamisches Programmieren und Maschinenlernen wurden entwickelt. Alle diese Ansätze erforschen das Verändern der Parallelität (z.B. Änderung der Threads pro Region) und/oder DVFS (dynamisches Verändern von Volt- und Taktraten) um Berechnungen in Wartezeiten (fehlende Überlappung von HW und algorithmische Latenzzeiten) zu verschieben oder um effiziente Taktraten pro Region zu finden. Es wurden bisher kaum Codeveränderungen, iteratives Übersetzen oder Autotuning erforscht, welche durch moderne Übersetzertechnologien und Hochleistungsrechnersysteme angeboten werden, um sowohl Laufzeit als auch Energiebedarf zu beeinflussen und um den Suchraum für effiziente Laufzeiten und Energie-Tradeoffs zu erweitern. EASE (energiebewusstes Autotuning für wissenschaftliche Anwendungen) wird einen neuartigen Ansatz vorstellen, um Mehrparameter-Autotuning für hybride Programmiermodelle für Rechner mit gemeinsamen und verteiltem Speicher zu unterstützen. EASE wird für drei Optimierungsziele evaluiert: Laufzeit, Energie und Effizienz.
Wissenschaftliche Anwendungen benötigen immer größere Berechnungs- und Speicherkapazitäten, um große und komplexe Simulationen zu lösen. Es ist bekannt, dass die Mehrzahl der Anwendungen für Hochleistungsrechner eine schlechte Energieeffizienz aufweist, z.B. aufgrund von Wartezeiten in Pipelines / Caches oder aufgrund von durch den Nachrichtenaustauschhervorgerufener, ungleicher Lastverteilung.Obwohl Anwendungsentwickler sich dessen bewusst sind und daher versuchen, die Ausgaben für Strom und den CO2-Ausstoß möglichst zu reduzieren, ist es schwierig eben jene Code- Regionen zu finden, die zu einem inakzeptablen Energiebedarf führen. Darüber hinaus gibt es einen Bedarf an Werkzeugen und Techniken zur Optimierung des Energiebedarfs, um verschiedene wissenschaftliche Probleme zu lösen und dabei gleichzeitig den Einfluss auf die Laufzeit zu minimieren. Im Rahmen des EASE (Energiebewusstes Autotuning für wissenschaftliche Anwendungen) Projekts wurde ein neuartiger Ansatz entwickelt, der Mehrparameter-Autotuning für hybride Programmiermodelle für Rechner mit gemeinsamem und verteiltem Speicher unterstützt. EASE wurde hinsichtlich dreier Optimierungsziele evaluiert: Laufzeit, Energie und Effizienz. Zu diesem Zweck wurde ein Übersetzer für C++ Programme entwickelt, der das Verändern der Parallelität (z.B. Änderung der Threads pro Region) und/oder DVFS (dynamisches Verändern von Volt- und Taktraten) ermöglicht, um Berechnungen in Wartezeiten (fehlende Überlappung von HW und algorithmische Latenzzeiten) zu verschieben oder um effiziente Taktraten pro Region zu finden. Experimente für verschiedene Programme auf zwei Parallelrechnern haben zu einer Leistungssteigerung von bis zu einem Faktor 10 geführt. Darüber hinaus wurden auch Technologien zur Abschätzung der Laufzeit und des Energiebedarfs entwickelt, die zu einem besseren Verständnis des Energie- und Laufzeitverhaltens von parallelen Programmen führen und so die Optimierung gezielt analysieren und kontrollieren. Experimente mit verschiedenen parallelen Codes haben eine Genauigkeit der Vorhersage für Energie und Laufzeit von bis zu 86 % bzw. 94 % erzielt.
- Universität Innsbruck - 100%
- Bernd Mohr, Forschungszentrum Jülich - Deutschland
- Michael Gerndt, Technische Universität München - Deutschland
- Shajulin Benedict, St. Xavier´s Catholic College of Engineering - Indien
- Laura N Carrington, San Diego Supercomputer Center - Vereinigte Staaten von Amerika
- Kirk W Cameron, Virginia Polytechnic Institute and State University - Vereinigte Staaten von Amerika
Research Output
- 171 Zitationen
- 9 Publikationen
-
2015
Titel Energy Prediction of OpenMP Applications Using Random Forest Modeling Approach DOI 10.1109/ipdpsw.2015.12 Typ Conference Proceeding Abstract Autor Benedict S Seiten 1251-1260 -
2016
Titel Modelling energy consumption of network transfers and virtual machine migration DOI 10.1016/j.future.2015.07.007 Typ Journal Article Autor De Maio V Journal Future Generation Computer Systems Seiten 388-406 Link Publikation -
2015
Titel A workflow runtime environment for manycore parallel architectures DOI 10.1145/2822332.2822333 Typ Conference Proceeding Abstract Autor Janetschek M Seiten 1-12 Link Publikation -
2014
Titel From Single- to Multi-Objective Auto-Tuning of Programs: Advantages and Implications DOI 10.1155/2014/818579 Typ Journal Article Autor Durillo J Journal Scientific Programming Seiten 285-297 Link Publikation -
2017
Titel A Region-Aware Multi-Objective Auto-Tuner for Parallel Programs DOI 10.1109/icppw.2017.37 Typ Conference Proceeding Abstract Autor Kofler K Seiten 190-199 -
2017
Titel Characterizing Performance and Cache Impacts of Code Multi-Versioning on Multicore Architectures DOI 10.1109/pdp.2017.77 Typ Conference Proceeding Abstract Autor Zangerl P Seiten 209-213 Link Publikation -
2017
Titel Task-parallel Runtime System Optimization Using Static Compiler Analysis DOI 10.1145/3075564.3075574 Typ Conference Proceeding Abstract Autor Thoman P Seiten 201-210 Link Publikation -
2017
Titel Predicting Workflow Task Execution Time in the Cloud Using A Two-Stage Machine Learning Approach DOI 10.1109/tcc.2017.2732344 Typ Journal Article Autor Pham T Journal IEEE Transactions on Cloud Computing Seiten 256-268 Link Publikation -
2017
Titel A workflow runtime environment for manycore parallel architectures DOI 10.1016/j.future.2017.02.029 Typ Journal Article Autor Janetschek M Journal Future Generation Computer Systems Seiten 330-347 Link Publikation