Performance centric dynamic function level binary transformation (Transformation binaire de niveau de fonction dynamique axée sur les performances) Anapparakkal, Arif Ali - (2019-12-09) / Universite de Rennes 1 - Performance centric dynamic function level binary transformation
| |||
Langue : Anglais Directeur(s) de thèse: Rohou, Erven Discipline : Informatique Laboratoire : INRIA-RENNES Ecole Doctorale : MATHSTIC Classification : Informatique Mots-clés : Compilateurs, optimisation dynamique, remplacement de fonctions en ligne
| |||
Résumé : Les évolutions de l'architecture des processeurs visent à améliorer les performances des applications, mais les éditeurs de logiciels sont souvent limités au plus petit dénominateur commun afin de maintenir la compatibilité avec la diversité du matériel de leurs clients. Avec des informations plus détaillées, un compilateur peut générer un code plus efficace. Même si le modèle de processeur est connu, les fabricants ne divulguent pas de nombreux détails pour des raisons de confidentialité. En outre, l'efficacité de nombreuses techniques d'optimisation peut varier en fonction des entrées du programme. Cette thèse introduit deux outils, FITTCHOOSER et OFSPER, qui effectuent des optimisations au niveau des fonctions les mieux adaptées à l'environne-ment d'exécution et aux données en cours. FITTCHOOSER explore de manière dynamique les spécialisations des fonctions les plus gourmandes en ressources d'un programme pour choisir la version la plus adaptée – non seulement à l'environnement d'exécution en cours,mais également à l'exécution en cours du programme. OFSPER applique une spécialisation de fonction dynamique, c'est-à-dire la spécialisation de fonctions dans une application sur un processus en cours d'exécution. Cette technique capture les valeurs réelles des arguments lors de l'exécution du programme et, si rentables, crée des versions spécialisées et les inclut au moment de l'exécution. Abstract : Modern hardware features can boost the performance of an application, but software vendors are often limited to the lowest common denominator to maintain compatibility with the spectrum of processors used by their clients. Given more detailed information about the hardware features, a compiler can generate more efficient code, but even if the exact CPU model is known, manufacturer confidentiality policies leave substantial uncertainty about precise performance characteristics. In addition, the effectiveness of many optimization techniques can vary depending on the inputs to the program. This thesis introduces two tools, FITTCHOOSER and OFSPER, to do function-level optimizations most suitable for the current runtime environment and data. FITTCHOOSER dynamically explores specializations of a program's most processor-intensive functions to choose the fittest version -not just specific to the current runtime environment, but also specific to the current execution of the program. OFSPER applies dynamic function specialization, applying function specialization on a running process, to an application. This technique captures the actual values of arguments during execution of the program and, when profitable, creates specialized versions and include them at run-time. |