Améliorer la performance des processeurs par l'extration dynamique du parallélisme d'instructions
Institution:
PerpignanDisciplines:
Directors:
Abstract EN:
This thesis studies instruction level parallelism found in applications and how to exploit it on an adapted processor. The experiences we have driven with our laboratory made measuring software PerPI, from which results are reported in this text, show that instruction parallelism is high and uniformly distributed along the execution only when usual renaming is extended. Registers and memory should be renamed among a unique name space and constants should be propagated along recurrences. This is the price to pay to parallelise loops and to remove delays introduced by transfer instructions due to the register architectural model. We also suggest that multiple cores in today processors could be devoted to a parallel execution of many partially independent parts of a single application rather than the execution of many totally independent applications, which could be more efficiently run on a set of many totally independent processors.
Abstract FR:
Cette thèse étudie le parallélisme d’instructions présent dans les applications et la possibilité de l’exploiter au sein d’un processeur adapté. Les expériences faites avec l’outil de mesure PerPI conçu au sein de notre laboratoire, et dont les résultats sont rapportés dans ce mémoire, montrent que le parallélisme d’instructions n’est élevé et régulièrement réparti tout au long de l’exécution qu’en étendant le mécanisme de renommage habituellement employé. Celui-ci doit pouvoir renommer les registres et la mémoire au sein d’un espace unique et propager les constantes le long des récurrences. C’est à ce prix qu’on parallélise les boucles et qu’on élimine les délais introduits par les instructions de transferts dues au modèle d’architecture à registres. Nous suggérons aussi que les cœurs multiples des processeurs d’aujourd’hui pourraient être affectés à l’exécution en parallèle de plusieurs parties partiellement indépendantes d’une même application plutôt qu’à l’exécution en parallèle de plusieurs applications totalement indépendantes, qu’on effectuerait plus efficacement sur plusieurs processeurs totalement indépendants.