Prédiction de performance utilisant une caractérisation des applications orientée codelet
Institution:
Versailles-St Quentin en YvelinesDisciplines:
Directors:
Abstract EN:
Understanding the interaction between applications, compilers, and architecture is a fundamental issue to generate better products: applications, compilers, and processors. One of the traditional tools to approach this problem is benchmarking. However, this approach through full applications has several key drawbacks. First, full applications are complex and hard to use as test codes for simulation, or detailed performance analysis. Second, dealing with full applications does not allow having an accurate view of the interaction. In the end, it is fairly hard to predict the performance for another application, which is not present in the original benchmark suite. This thesis performs a systematic characterization of applications in four steps: code extraction, performance analysis, memory characterization, and hardware performance prediction. In order to predict a code's performance at another frequency, this thesis combines static and dynamic analysis with memory characterization to propose the Capacity tool, a framework for hardware performance prediction and knowledge discovery. The proposed tool is more accurate and faster than simulations, more informative than simple benchmarking, or micro-benchmarking. Furthermore, it is useful and enlightening for a range of performance investigations. Currently, the framework is used by the Intel Cape-sim technology to simulate a software system's performance at another frequency.
Abstract FR:
Comprendre l'interaction existante entre applications, compilateurs, et architecture est fondamentale pour fabriquer de meilleurs produits: applications, compilateurs, et processeurs. L'un des moyens traditionnels permettant d'aborder ce problème reste l'expérimentation. Cependant cette méthode utilisant des applications complètes présente plusieurs inconvénients majeurs: complexité des applications pour faire, par exemple, de la simulation, ou une analyse détaillée de la performance de l'application; impossibilité d'avoir une vue précise de l'interaction; et enfin difficulté à prédire la performance d'une autre application n'existant pas dans la collection initiale. Cette thèse effectue une caractérisation systématique des applications en quatre étapes: extraction de code, analyse de performance, caractérisation mémoire, et prédiction de performance au niveau matériel. Afin de prédire la performance d'un code à une autre fréquence, cette thèse combine analyses statique et dynamique, ainsi que de la caractérisation mémoire pour proposer l'outil Capacity, destiné à la prédiction de performance au niveau matériel et à la découverte de connaissance. L'outil proposé est à la fois plus précis et plus rapide que les simulations, plus informatif que de simples expériences ou micro-expériences. Il est également utile et instructif pour diagnostiquer les problèmes de performance de code. Aujourd'hui, cet outil est utilisé par la technologie Cape-sim d'Intel pour simuler la performance d'un code à une autre fréquence.