Mesurer la performance d’un core SPARC
Posted by Daniel on 15 Nov 2010 | Tagged as: solaris
Tous les processeurs SPARC intégrés aujourd'hui dans les gammes de serveurs Oracle/Fujitsu supportent une technologie nommée Chip Multithreading (CMT), similaire à l'Hyper-Threading des processeurs Intel. En résumé, il s'agit de faire tourner plusieurs threads sur un même core physique pour ne pas gâcher du temps CPU disponible, mais en utilisant plusieurs jeux de registres pour éviter des changements de contextes coûteux. Du point de vue de l'OS, on voit des processeurs virtuels (baptisés hardware threads), qui sont traités exactement comme des processeurs normaux.
Ces évolutions technologiques induisent des changements dans la façon dont on observe les performances CPU de nos serveurs. En particulier, les outils traditionnels comme vmstat ou top (basés sur les kstats) ne représentent plus la capacité de calcul brute des processeurs, mais plutôt la disponibilité des processeurs virtuels. On a en fait une décorrélation partielle de la disponibilité de ces processeurs virtuels et de la capacité du core à exécuter des instructions. En d'autres termes, on peut voir de la puissance CPU disponible avec vmstat alors que le core est déjà saturé.
Il nous faut donc un nouvel outil pour mesurer la charge des cores, et nous avons de la chance, puisque cet outil existe, il s'agit de corestat.