COMPARAISON DES PERFORMANCES
Transcription
COMPARAISON DES PERFORMANCES
COMPARAISON DES PERFORMANCES Georges KERYVEL Page 1 INTRODUCTION PROBLEMATIQUE Comparaison de "performances de systèmes à jeux d'instructions incompatibles Eviter les pièges Page 2 MIPS MYTHE DANGEREUX Mesure directe fréquence d'exécution des instructions: aucune signification sémantique claire dès que l'on change de système. Critère d'évaluation significatif pour utilisateur: nombre de travaux utiles traités par unité de temps. MIPS ET L'ARCHITECTURE HW Tâche donnée sur deux systèmes différents: Nombre et type d'instructions : rapport 10!!! § Différence du jeux d'instructions § Code généré par le compilateur § Implémentation des OS Page 3 MIPS Exemple: machine RISC et CISC § instructions sophistiquées: § CISC: OK: ex MOVE 256 bytes § RISC: programmée boucle 4 instructions (64 fois) § Nombre de MIPS apparents si temps CPU identique: § CISC : 1/temps § RISC: n/temps AU PLUS GRAND NOMBRE DE MIPS NE CORRESPOND PAS FORCEMENT LE PROCESSEUR LE PLUS PUISSANT Page 4 MIPS Exemple architecture HW très différentes Notion de MIPS : aucun sens hors contexte de mesure Machine SISD : 10 Mips Machine MIMD: 300 Mips Rapport apparent 30 en faveur MIMD Un programme standard exécuté isolément en monoprogrammation § MIMD 5 Mips et 10Mips sur SISD § Rapport des puissances 2 en faveur du SISD N processeurs de puissance 1 ne sont pas toujours équivalents à un mono de puissance n. LES MIPS NE PERMETTENT DE COMPARER SIGNIFICATIVEMENT QUE DES ARCHITECTURES IDENTIQUES Page 5 MIPS Distance entre requêtes utilisateurs soumises au système(échanges interactifs, jobs batch) et instructions générées est trop grande pour extrapoler, sans risque d'erreur, le nombre de requêtes( puissance utiles) à partir des instructions générées(puissance MIPS). Page 6 MIPS Incertitude maximale si on compare des systèmes incompatibles Partant du HW ---> vers utilisateur causes croissantes de divergence Boucle CPU simple: faite à la main comportement dépend du HW (jeu instruction) Programme Benchmark ( langage C): dépendance supplémentaire due à l'efficacité du code généré par compilateur (80% des instructions exécutées) et aux fonctions mathématiques (20% des instructions exécutées ) Application interactive dépendante du système d'exploitation: § 90% des instructions exécutées le sont dans des primitives systèmes invoquées au long du traitement de la requête. Nombre d'instructions pour traiter un échange est conditionné par l'architecture et l'implémentation de l'OS. Page 7 MIPS L'usage à 100% du CPU n'est pas garanti des goulots d'étranglement HW ou SW peuvent intervenir et limité son utilisation Utilisateur, 100% Utilisateur, compilées 80% Fonctions système 90% 20% fonctions math. système Boucle CPU compilée à la main Page 8 Utilisateur, compilées 10%