Une étude empirique des performances des applications OpenMP sur les plateformes multi-coeurs
Institution:
Versailles-St Quentin en YvelinesDisciplines:
Directors:
Abstract EN:
In this thesis, we study two important aspects for the performance of multi-threaded applications. We show that performance stability is an important metric 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, 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.
Abstract FR:
Dans cette thèse, nous étudions deux aspects importants pour les performances des applications multi-threads. Nous montrons que la stabilité des performances est une métrique importante 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. Nous commençons par étudier la variabilité des temps d'exécution des programmes, 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.