Performance Analysis Strategies for Task-based Applications on Hybrid Platforms - Archive ouverte HAL Access content directly
Theses Year : 2018

Performance Analysis Strategies for Task-based Applications on Hybrid Platforms

Stratégies d’analyse de performance pour les applications basées sur tâches sur plates-formes hybrides

(1, 2)
1
2

Abstract

Programming paradigms in High-Performance Computing have been shifting toward task-based models that are capable of adapting readily to heterogeneous and scalable supercomputers. The performance of task-based applications heavily depends on the runtime scheduling heuristics and on its ability to exploit computing and communication resources. Unfortunately, the traditional performance analysis strategies are unfit to fully understand task-based runtime systems and applications: they expect a regular behavior with communication and computation phases, while task-based applications demonstrate no clear phases. Moreover, the finer granularity of task-based applications typically induces a stochastic behavior that leads to irregular structures that are difficult to analyze. In this thesis, we propose performance analysis strategies that exploit the combination of application structure, scheduler, and hardware information. We show how our strategies can help to understand performance issues of task-based applications running on hybrid platforms. Our performance analysis strategies are built on top of modern data analysis tools, enabling the creation of custom visualization panels that allow understanding and pinpointing performance problems incurred by bad scheduling decisions and incorrect runtime system and platform configuration. By combining simulation and debugging we are also able to build a visual representation of the internal state and the estimations computed by the scheduler when scheduling a new task. We validate our proposal by analyzing traces from a Cholesky decomposition implemented with the StarPU task-based runtime system and running on hybrid (CPU/GPU) platforms. Our case studies show how to enhance the task partitioning among the multi-(GPU, core) to get closer to theoretical lower bounds, how to improve MPI pipelining in multi-(node, core, GPU) to reduce the slow start in distributed nodes and how to upgrade the runtime system to increase MPI bandwidth. By employing simulation and debugging strategies, we also provide a workflow to investigate, in depth, assumptions concerning the scheduler decisions. This allows us to suggest changes to improve the runtime system scheduling and prefetch mechanisms.
Dans le cadre du calcul haute performance, l’utilisation d’un modèle de programmation basé sur un parallélisme de tâche est de plus en plus courant. Cette approche permet de s’adapter plus facilement aux super-ordinateurs utilisant des architectures hybrides. La performance d’applications à bases de tâches dépend fortement des heuristiques d’ordonnancement dynamiques sous-jacente et de leur capacité à exploiter les ressources de calcul et de communication. Malheureusement, les stratégies d’analyse de performance traditionnelles ne sont pas adaptées à l’analyse de supports d’exécution dynamiques et d’applications basées sur des tâches. Ces stratégies supposent en général un comportement relativement régulier avec des alternances de phases de calcul et de communication alors que les applications basées sur des tâches ne présentent pas de structures aussi précises. Par ailleurs, l’asynchronisme et la granularité plus fine des applications basées sur des tâches induit des comportements stochastiques qui donnent lieu à des structures naturellement irrégulières qui sont difficiles à analyser. Dans cette thèse, nous proposons des stratégies d’analyse de performance qui exploitent à la fois la structure de l’application, des caractéristiques de l’ordonnancement et des informations de la plate-forme. Nous présentons comment nos stratégies peuvent aider à comprendre et résoudre des problèmes de performance non triviaux dans des applications basée sur des tâches qui s’exécutent sur des plates-formes hybrides. Nos stratégies d’analyse de performance sont construites à l’aide d’outils d’analyse de données génériques et modernes, ce qui permet de créer des vues spécifiques et adaptées. Ces vues permettent la compréhension et l’identification de problèmes de performances occasionnés par de mauvaises décisions d’ordonnancement ou bien des configurations incorrectes du support d’exécution et de la plate-forme. En combinant des techniques de simulation et de débogage à des vues spécifiquement développées pour représenter l’état interne de l’ordonnanceur et qui le conduisent à prendre ses décisions, nous avons montré qu’il était possible d’évaluer certaines hypothèses sur la pertinence de ses choix. Nous validons notre proposition en analysant de nombreuses traces d’exécutions d’une factorisation de Cholesky implémenté avec le support d’exécution StarPU et exécutée sur différentes plates-formes hybrides (CPU/GPU). Nos études de cas montrent comment améliorer la partition des tâches entre les différents cœurs et GPUS pour s’approcher des bornes inférieures théoriques, comment améliorer le pipeline des opérations MPI entre les différents nœuds (multi-coeurs et multi-GPUs) pour accélérer le démarrage de l’application, et comment améliorer le support d’exécution pour augmenter la bande passante MPI. L’emploi des stratégies de simulation et débogage, nous fournissons une approche permettant d’examiner, en détail, les décisions d’ordonnancement et ainsi de proposer des améliorations des mécanismes d’ordonnancement et de prefetch du support d’exécution.
Fichier principal
Vignette du fichier
001083965-joined.pdf (28.15 Mo) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

tel-01962333 , version 1 (14-01-2019)

Identifiers

  • HAL Id : tel-01962333 , version 1

Cite

Vinícius Garcia Pinto. Performance Analysis Strategies for Task-based Applications on Hybrid Platforms. Distributed, Parallel, and Cluster Computing [cs.DC]. Universidade Federal do Rio Grande do Sul - UFRGS; UGA - Université Grenoble Alpes, 2018. English. ⟨NNT : ⟩. ⟨tel-01962333⟩
92 View
173 Download

Share

Gmail Facebook Twitter LinkedIn More