PACAP: Performance des Applications par la Compilation et l'Architecture des Processeurs
En bref, l'objectif à long terme de l'équipe projet PACAP s'articule autour de la performance des ordinateurs, c'est-à-dire la vitesse à laquelle les programmes s'exécutent. Nous avons l'intention de contribuer aux besoins croissants de performance, et de garanties de temps d'exécution.
Traditionnellement, le terme « performance » est compris comme « combien de temps il faut pour exécuter un programme ». Il s'agit alors de minimiser la latence, le temps moyen d'exécution. Nous nous intéressons aussi à d'autres définitions de la performance. Le débit mesure combien de calculs peuvent être effectués par unité de temps. C'est une mesure plus pertinente pour les processeurs massivement parallèles et les GPU qui disposent d'un très grand nombre de cœurs, et pour lesquels la latence est moins critique. Finalement, nous nous intéressons aussi au pire temps d'exécution (WCET, pour worst-case execution time). Il est très important pour les systèmes temps réel critiques pour lesquels les concepteurs doivent garantir que les bornes de temps d'exécution sont strictement respectées, en toute situation.
La complexité des systèmes actuels est telle que simplement s'assurer de leur bonne performance est une tâche difficile, à laquelle nous allons nous attaquer.
Nous considérons occasionnellement d'autres métriques reliées à la performance, comme l'efficacité énergétique, l'énergie consommée, la complexité globale du système. Notre but est de proposer des solutions qui conduisent à des systèmes informatiques plus efficaces, en prenant en compte les applications, les compilateurs, les systèmes d'exploitation et les microarchitectures — actuels et à venir. Et comme il est d'usage qu'un gain en performance s'accompagne d'une dégradation d'un autre aspect, PACAP s'intéresse aux divers compromis.
La décennie passée a vu la fin de la croissance exponentielle de la fréquence d'horloge, et l'introduction des processeurs multicœurs grand public. PACAP connaît la fin de la loi de Moore (qui énonce que le nombre de transistors qui composent un circuit double approximativement tous les deux ans) et la généralisation des processeurs massivement parallèles hétérogènes. Cela aura un impact sur la façon dont la performance continue d'augmenter, et dont elle peut être garantie. C'est aussi le moment où de nouveaux paramètres doivent être pris en compte :
- l'existence de fautes, dont l'impact devient de plus en plus important, à mesure que la taille de gravure diminue ;
- les besoins en sécurité, à tous les niveaux des systèmes informatiques ;
- le green computing, c'est-à-dire l'amélioration de l'efficacité énergétique.