Automated Clustering and Pipelining of Dataflow Actors for Controlled Scheduling Complexity
Regroupement et mise en pipeline automatisés des acteurs du flux de données pour une complexité d'ordonnancement contrôlée
Résumé
Datenflussmodelle sind effiziente Programmierparadigmen zur Darstellung des Parallelismus einer Anwendung. Ressourcenallokationsmethoden auf Multicore-Architekturen, die auf Datenfluss basieren, stützen sich normalerweise auf komplexe Graphtransformationen, um den Anwendungsparallelismus explizit darzustellen, was bei banal parallelen Anwendungen zu komplexen Graphen führen kann. Dieser Artikel stellt eine automatisierte Methode vor, die die Komplexität des Graphen vor der Planung effizient verwaltet, sequenzielle Teile pipeliniert und das Datenflussmodell optimal an die Zielarchitektur anpasst, um ein besseres Gleichgewicht zwischen Anwendungscomplexität und Leistung zu finden als bestehende Methoden. Unsere Methode übertrifft modernste Techniken und erreicht in Experimenten um bis zu 1,8-mal höhere Durchsätze. Sie reduziert auch die Analysezeit erheblich auf Sekunden im Vergleich zur ursprünglichen PREESM-Methode, die für feinkörnige Anwendungen mehrere Tage in Anspruch nehmen konnte.
Dataflow models are efficient programming paradigms for expressing the parallelism of an application. Dataflow-based resource allocation methods on multicore architectures usually rely on complex graph transformations to explicit the application parallelism which can result in complex graphs for embarrassingly parallel applications. This paper presents an automated method that efficiently manages pre-scheduling graph complexity, pipelines sequential parts, and optimally adapts the dataflow model to the target architecture, striking a superior balance between application complexity and performance than existing methods. Our method surpasses state-of-the-art techniques, achieving up to 1.8 times higher throughputs in experiments. It also significantly reduces analysis time to seconds compared to the original PREESM method, which could take several days for fine-grained applications.
Les modèles de flux de données sont des paradigmes de programmation efficaces pour exprimer le parallélisme d'une application. Les méthodes d'allocation de ressources basées sur le flux de données sur les architectures multicœurs reposent généralement sur des transformations de graphe complexes pour expliciter le parallélisme de l'application, ce qui peut entraîner des graphes complexes pour des applications étonnamment parallèles. Cet article présente une méthode automatisée qui gère efficacement la complexité du graphe de pré-ordonnancement, séquence les parties séquentielles et adapte de manière optimale le modèle de flux de données à l'architecture cible, en trouvant un équilibre supérieur entre la complexité de l'application et les performances par rapport aux méthodes existantes. Notre méthode dépasse les techniques de pointe, atteignant jusqu'à 1,8 fois plus de débits dans les expériences. Elle réduit également de manière significative le temps d'analyse à quelques secondes par rapport à la méthode PREESM originale, qui pouvait prendre plusieurs jours pour des applications à granularité fine.
Fichier principal
EUSIPCO__Automated_Clustering_and_Pipelining_of_Dataflow_Actors_for_Controlled_Scheduling_Complexity.pdf (211.25 Ko)
Télécharger le fichier
Origine | Fichiers produits par l'(les) auteur(s) |
---|