An Empirical Study of Program Performance of OpenMP Applications on Multicore Platforms - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2012

An Empirical Study of Program Performance of OpenMP Applications on Multicore Platforms

Une étude empirique des performances des applications OpenMP sur les plateformes multi-coeurs

Abdelhafid Mazouz
  • Fonction : Auteur
  • PersonId : 943913

Résumé

Current architectures of multicore machines are becoming increasingly complex due to hierarchical designs. Consequently, to achieve better performance stability, reproducibility and predictability requires a deep understanding of the interactions between multi-threaded applications and the underlying hardware. In this thesis, we study two important aspects for the performance of multi-threaded applications. We show that performance stability is an important criteria to consider in the process of performance evaluation, and thread placement is an effective technique in termes of program performance stability and improvement. We first study the variability of program execution times, defining a rigourous performance evaluation protocol, and analysing the reasons of such variability and its implications for program performance measurement. Then, we study the relation between the inter-thread data sharing and thread placement strategies on hierarchical machines. We consider various strategies where the same placement is applied for the whole execution of the program. While some of them rely on the characteristics of the application, others are not. We also present other thread placement strategies that allow thread migrations in order to exploit data sharing during different program phases.
Les architectures des machines multi-coeurs actuelles deviennent de plus en plus complexes à cause du modèle de conception hiérarchique adopté. Par conséquent, assurer une meilleure stabilité, reproductibilité et prédictibilité des performances sur ces machines nécessite une compréhension approfondie des interactions qui existent entre les applications multi-threads et le matériel sous-jacent. Dans cette thèse, nous étudions deux aspects importants pour les performances des applications multi-threads. Nous montrons que la stabilité des performances est un critère important à considérer dans le processus d'évaluation des performances, et que le placement des threads est une technique efficace en termes de stabilité et d'amélioration des performances des programmes. Nous commençons par étudier la variabilité des temps d'exécution des programmes, nous définissons un protocole rigoureux d'évaluation des performances, puis nous analysons les raisons de cette variabilité et ses implications pour la mesure des performances. Ensuite, nous étudions la relation entre le partage des données entre threads et les stratégies de placement des threads sur machines hiérarchiques. Nous considérons plusieurs stratégies où le même placement est appliqué pour toute la durée d'exécution du programme. Alors que certaines reposent sur les caractéristiques des applications, d'autres non. Nous présentons aussi d'autres stratégies de placement des threads autorisant la migration des threads afin d'exploiter le partage des données au cours des différentes phases d'un programme.
Fichier principal
Vignette du fichier
ThesisReport.pdf (3.63 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00918239 , version 1 (13-12-2013)
tel-00918239 , version 2 (17-12-2013)

Identifiants

  • HAL Id : tel-00918239 , version 2

Citer

Abdelhafid Mazouz. An Empirical Study of Program Performance of OpenMP Applications on Multicore Platforms. Distributed, Parallel, and Cluster Computing [cs.DC]. Université de Versailles-Saint Quentin en Yvelines, 2012. English. ⟨NNT : ⟩. ⟨tel-00918239v2⟩

Collections

CNRS UVSQ
294 Consultations
920 Téléchargements

Partager

Gmail Facebook X LinkedIn More