RePhrase

H2020-EU, 2015-2018

REfactoring Parallel Heterogeneous Resource-Aware Applications - a Software Engineering Approach

Im RePhrase Projekt werden neue Software Engineering Tools, Techniken und Methoden erforscht, um datenintensive Anwendungen in C++ zu entwickeln. Dabei werden speziell heterogene multicore/manycore Systeme betrachtet, welche CPUs und GPUs in eine kohärenten, parallelen Plattform kombinieren.

Ausgangssituation

Datenintensive Anwendungen gehören zu den wichtigsten und am häufigsten anzutreffenden Arten industrieller  Anwendungen und werden mit dem Aufkommen von dem Aufkommen von "Big Data"-Problemen zunehmend an Bedeutung. Neu entstehende heterogene parallele Architekturen sind ideale Plattformen zur Nutzung der Parallelität zu nutzen, die solchen Anwendungen in der Regel innewohnt, die aber in der Praxis oft schwer zu nutzen ist.

Zielsetzung

Ziel ist die Entwicklung einer neuartigen Software-Engineering-Methode für die Entwicklung komplexer, groß angelegter paralleler datenintensiver Anwendungen, die durch ein sehr anspruchsvolles Programmiermodell unterstützt wird.

Um diese Herausforderung zu bewältigen, bringt RePhrase ein Team führender industrieller und akademischer Forscher, Softwareingenieure, Systementwickler, Experten für Parallelität und Fachleute aus großen Unternehmen, KMU und führenden Universitäten zusammen. Untersucht werden fortschrittliche musterbasierte Programmier-, Refactoring-, Test-, Debugging-, Verifizierungs- und adaptive Scheduling-Technologien, um eine interoperable Tool-Kette zur Unterstützung unserer Methodik aufzubauen, die auf bestehenden Industrie- und Forschungs-Tools basiert, diese aber erheblich erweitert.

Diese Werkzeuge werden alle Phasen der typischen Softwareentwicklung, vom Entwurf und der Implementierung bis hin zur langfristigen Wartung und Softwareevolution, erheblich erleichtern und sogar automatisieren. Die Allgemeingültigkeit unseres Ansatzes wird durch die Verwendung von C++ und den gängigsten parallelen Low-Level-Programmiermodellen, wie den C++11/14/17-Standards, pthreads, OpenMP, Intel TBB, OpenCL und CUDA gewährleistet.  Wir werden unseren Ansatz an einer Reihe von datenintensiven Großanwendungen aus verschiedenen Bereichen demonstrieren, darunter biomedizinische Bildverarbeitung, Datenanalyse, maschinelles Lernen, Computer Vision und Eisenbahndiagnose.

Förderung

H2020-EU 2015-2018

https://cordis.europa.eu/project/id/644235