Measuring and Analysing the Variations of Program Execution Times on Multicore Platforms: Case Study - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2010

Measuring and Analysing the Variations of Program Execution Times on Multicore Platforms: Case Study

Résumé

The recent growth in the number of precessing units in today's multicore processor architectures enables multiple threads to execute simultanesiouly achieving better performances by exploiting thread level parallelism. With the architectural complexity of these new state of the art designs, comes a need to better understand the interactions between the operating system layers, the applications and the underlying hardware platforms. The ability to characterise and to quantify those interactions can be useful in the processes of performance evaluation and analysis, compiler optimisations and operating system job scheduling allowing to achieve better performance stability, reproducibility and predictability. We consider in our study performances instability as variations in program execution times. While these variations are statistically insignificant for large sequential applications, we observe that parallel native OpenMP programs have less performance stability. Understanding the performance instability in current multicore architectures is even more complicated by the variety of factors and sources influencing the applications performances.
L'accroissement des unités de calculs dans les nouvelles architectures des processeurs multicoeurs permet à plusieurs processus de s'exécuter simultanément afin d'obtenir des meilleures performances en exploitant un parallélisme de tâches. Avec la croissante complexité de ce nouveau type d'architectures, il est primordial de bien comprendre les interactions qui existent entre les couches du système d'exploitation, les applications et l'architecture matérielle. L'habilité de bien caractériser et de quantifier ces interactions peut être utile dans les processus d'évaluation et d'analyse des performances, des optimisations de code appliquées par le compilateur et pour l'ordonnanceur de tâches du système d'exploitation. Une bonne compréhension de ces interactions peut conduire à une meilleure stabilité, reproductibilité et prédictibilité des performances. Nous considérons dans notre étude que l'instabilité des performances est la variabilité dans les temps d'exécution des programmes. Bien que ces variations sont insignifiantes pour les applications séquentielles, nous avons observé que les programmes parallèles écrits avec le standard OpenMP ont moins de stabilité dans les performances. Comprendre cette instabilité dans le cadre des architectures multicoeurs est rendu encore plus compliqué par la variété des facteurs et des sources influençant les performances des applications.
Fichier principal
Vignette du fichier
VarExecTime.pdf (2.9 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

inria-00514548 , version 1 (07-09-2010)
inria-00514548 , version 2 (28-09-2010)

Identifiants

  • HAL Id : inria-00514548 , version 2

Citer

Abdelhafid Mazouz, Sid Touati, Denis Barthou. Measuring and Analysing the Variations of Program Execution Times on Multicore Platforms: Case Study. [Research Report] 2010, pp.36. ⟨inria-00514548v2⟩
189 Consultations
163 Téléchargements

Partager

Gmail Facebook X LinkedIn More