Analyse de performance et simulation Mohsine Eleuldj Département Génie Informatique, EMI [email protected] Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 1 Analyse de performance et simulation Objectif Introduction au critères de performance des systèmes Développement de simulateurs Contenu Conception des ordinateurs et performance Performance d’un système réparti Fiabilité et tolérance aux pannes Simulation Evaluation des connaissances Contrôle (60%) à livre ouvert le 15 janvier 2015 Exposé (40%) Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 2 Présentation des exposés Nom ADDI AIT BENHA ALTIT AZIZI FARAJI HACHAMI HAMADA ISMAILI KEBBOUA MOUSSAOUI SAIH SALHI ZELOUANI Prénom Said Anass Mustapha Yasser Zineb Amal Naoufal Khalid Hamza El Mehdi Rabia Hamza Hajar Sujet date Fiabilité et performance des logiciels 25/12/14 Performance des systèmes d’exploitation 25/12/14 Performance des SGBD 25/12/14 Performance des compilateurs 8/1/15 Performance des réseaux informatiques 8/1/15 Performance du Cloud Computing 8/1/15 Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 3 Exposé et documents à remettre Exposé : 20 pages en 20 minutes Simulation : simulateur du sujet exposé Document sur support papier : rapport d’une vingtaine de pages incluant le programme Documents sur support électronique : rapport + présentation Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 4 Chapitre I Conception des ordinateurs et performance 1 Définition de la performance 2 Principes quantitatifs des la conception des ordinateurs 3 Rôle d’un concepteur d’ordinateurs 4 Critères de performance 5 Coût Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 5 Définition de la performance Performance = 1/T où T est le temps d’exécution Point de vue de l’utilisateur exécution d’un programme en moins de temps (temps de réponse) Point de vue de l’administrateur exécution de plus de programmes en une heure (débit de sortie) Quelques techniques d’augmentation du débit de sortie temps partagé d’une ressource (processeur, DMA,…) pipeline (Assemblage à la chaîne dans les usines Ford à partir de 1908) hiérarchie de la mémoire (Cache L1, L2, L3, RAM, Disque, …) etc Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 …. 6 Temps partagé d’une ressource U1 U2 B U3 U1 U2 U1 U1 U2 U1 U1 U3 A t1 Ui : Utilisateur i A : Allocation en continu t1 : fin de U3 t2 temps B : Allocation à temps partagé t2 : fin de U2 et U3 Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 7 Technique du pipeline C1 E/S1 E1 C2 E/S2 C3 E/S3 t1 E/S E2 C1 E/S1 E/S2 C2 C3 temps E/S3 C t2 E1 : exécution sans pipeline Ci : Calcul du processus i t1 : fin de E1 temps E2 : exécution avec pipeline E/Si : E/S du processus i t2 : fin de E2 Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 8 Technique de la mémoire virtuelle Processeur 1 Adresse 1200 Boucle 1 million de fois Cache 1300 RAM Mémoire virtuelle 2000 Programme chargé en mémoire La boucle du programme représente 5% des instructions et s’exécute 99,99% du temps. Elle sera chargée dans la mémoire cache qui est très rapide. Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 9 Principes quantitatifs de la conception des ordinateurs (1/2) • Faire que les cas les plus fréquents soient les plus rapides (budget limité) Exemple : 95% d’additions et 5% de multiplications amélioration de l’additionneur • Loi d’Amdhal : gain obtenu après une amélioration Accélération = Pa/Ps = Ts/Ta où Pa et Ta : performance et temps avec l’amélioration Ps et Ts : performance et temps sans amélioration Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 10 Principes quantitatifs de la conception des ordinateurs (2/2) • Localité des références : les programmes ont tendance à réutiliser les références et les données utilisées récemment • Statistiques : 90% du temps du processeur est dépensé dans 10% des instructions d’un programme • Types de localités de référence : • temporelle : éléments accédés récemment • spatiale : éléments d’adresses proches Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 11 Exercice 1 Exercice 1: Trouver l’accélération sachant que le dispositif d’amélioration est 10 fois plus rapide que la machine originale et ne peut être utilisé que 40% du temps. Exercice 2 : Soit un système composé d’un processeur et d’une unité d’E/S et ayant un coût C et une performance P. Considérons une amélioration telle que: • Le processeur est 5 fois plus rapide pour 5 fois son prix • Le processeur est utilisé 50% du temps • Les E/S sont utilisées pendant 50% du temps • Le coût du processeur est le 1/3 de la machine a) Calculer le coût C’ et la performance P’ après l’amélioration. b) Déduire le rapport coût/performance après l’amélioration. c) Est ce que cette amélioration réduit-elle le rapport coût/performance ? Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 12 Loi empérique de Moore Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 13 Rôle d’un concepteur d’ordinateurs (1/2) • • Objectifs : Réduction du rapport coût/performance • Unités et leur organisation • Jeu d’instructions (langage machine) • Réalisation (circuit intégrés, boitier, refroidissement,…) • Système d’exploitation • compilateur Fonctionnalités nécessaires • Spécification • Performance • Coût • Compatibilité • Fiabilité • Tolérance aux pannes Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 14 Rôle d’un concepteur d’ordinateurs (2/2) • Equilibre entre le matériel et le logiciel • Matériel : performance en augmentation et coût en réduction • Logiciel : conception aisée et mise à jour plus simple • Concevoir pour durer • évolution technologique : matériel et logiciel • taille des programmes augmente de 1,5 à 2 fois tous les ans • une conception simple sera finalisée plus rapidement et profitera plus rapidement des progrès technologiques • Questions (projection dan le futur) : • Quelle capacité mémoire pour une vitesse du processeur donnée ? • Combien d’E/S sont nécessaires ? Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 15 Critères de performance • • • Analogie avec les voitures : vitesse maximale, freinage, consommation (l/km), accélération (temps de passage de 0 à 100 km/h), prix,… Dans un ordinateur, le temps de réponse de réponse est composé de : • Calcul du processeur • Accès à la mémoire • Accès au disque • E/S (Transfert de ou vers les équipements périphériques) • Système d’exploitation • Attente d’une E/S (multiprogrammation) • Attente d’autres exécutions (temps partagé) • Etc Exemple : sous Unix la commande time retourne trois composantes : utilisateur + système + temps total Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 16 Performance du processeur • Dans un processeur, les événements sont synchronisés horloge Exemple : fréquence = 2,5 GHz Cycle d’horloge = 1/fréquence = 0,4 ns • temps processeur = n * cycle = n / fréquence où n : nombre de cycles d’horloges du programme CPI = nombre de cycles pour un programme / nombre d’instructions est appelé le nombre moyen de cycles par instruction temps processeur = nombre d’instructions * CPI * temps du cycle • MIPS = nombre d’instructions / (temps d’exécution * 106) MFLOPS = nombre d’opérations en point flottants/(temps d’exécution * 106) GFLOPS (giga=109), TFLOPS (tera=1012) et PFLOPS (peta=1015) Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 17 Classement des superordinateurs (nov. 2014) Rang Site Système Cores PFlops 3 120 000 33,86 560 640 17,59 1 572 864 17,17 1 National Super Computer Center in Guangzhou, China Tianhe-2 NUDT 2 DOE/SC/Oak Ridge National Laboratory, United States Titan - Cray XK7 Cray Inc. 3 DOE/NNSA/LLNL United States Sequoia IBM 4 RIKEN Advanced Institute for Computational Science, Japan K computer Fujitsu 705 024 10,51 5 DOE/SC/Argonne National Laboratory, United States Mira - BlueGene/Q, IBM 786 432 8,58 Référence : http://www.top500.org/lists/2014/11/ Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 18 Programmes d’évaluation • Programme réel : compilateur, traitement de texte, CAO,… • Noyau : partie clef d’un programme réel • Programme de test de performance (jouet) 10 à 100 lignes de code et produit un résultat connu d’avance par l’utilisateur • Programme synthétique (benchmark) noyaux étendus qui correspondent aux fréquences moyennes des opérations et opérandes d’un grand nombre de programmes Exemples : Whestone, Dhrystone,… Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 19 Fabrication des circuits intégrés Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 20 Intel Core i7-3770K Caractéristiques : fréquence = 3,4 GHz, technologie de fabrication = 22 nm et nombre de transistors = 1,4. Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 21 Coût • Coût d’un circuit intégré = (coût de fabrication + coût du test + coût de l’encapsulation) / rendement • Coût de fabrication = coût de la tranche/(circuit par tranche * rendement de circuit) En pratique le rendement de circuit 22,5% • En 1990 le coût de • Test des circuits 17$ • Encapsulation 0,25$ • Coût et prix : une modification du coût de 1000$ peut implique un changement du prix de 4000$. Analyse de performance et simulations, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 22