Principes fondamentaux d’architecture Architecture des microprocesseurs – GIF-3000 Professeur : Robert Bergevin Semaine 1 : 1er septembre 2015 GIF-3000 (U. Laval) Principes fondamentaux d’architecture 1 / 53 Partie I Éléments d’architecture des ordinateurs GIF-3000 (U. Laval) Principes fondamentaux d’architecture 2 / 53 Progression des performances des ordinateurs Un ordinateur récent de moins de 500 $ est plus performant, a plus de mémoire et a plus d’espace disque qu’un ordinateur de 1M $ de 1985 ! GIF-3000 (U. Laval) Principes fondamentaux d’architecture 3 / 53 Progression des performances des ordinateurs Un ordinateur récent de moins de 500 $ est plus performant, a plus de mémoire et a plus d’espace disque qu’un ordinateur de 1M $ de 1985 ! Améliorations technologiques I I Loi de Moore : le nombre de transistors dans un circuit intégré double à chaque deux ans Microprocesseurs : amélioration des performances de 35 % par année depuis fin des années 1970 GIF-3000 (U. Laval) Principes fondamentaux d’architecture 3 / 53 Progression des performances des ordinateurs Un ordinateur récent de moins de 500 $ est plus performant, a plus de mémoire et a plus d’espace disque qu’un ordinateur de 1M $ de 1985 ! Améliorations technologiques I I Loi de Moore : le nombre de transistors dans un circuit intégré double à chaque deux ans Microprocesseurs : amélioration des performances de 35 % par année depuis fin des années 1970 Amélioration des architectures (1985-2002) I Croissance cumulées (technologie + architecture) de 52 % par ans ! GIF-3000 (U. Laval) Principes fondamentaux d’architecture 3 / 53 Progression des performances des ordinateurs Un ordinateur récent de moins de 500 $ est plus performant, a plus de mémoire et a plus d’espace disque qu’un ordinateur de 1M $ de 1985 ! Améliorations technologiques I I Loi de Moore : le nombre de transistors dans un circuit intégré double à chaque deux ans Microprocesseurs : amélioration des performances de 35 % par année depuis fin des années 1970 Amélioration des architectures (1985-2002) I Croissance cumulées (technologie + architecture) de 52 % par ans ! Conditions propices à l’émergence de nouvelles architectures I I Fin de la programmation d’applications en code assembleur Émergence de systèmes d’exploitation standardisés, indépendants des fabricants (ex. UNIX/Linux) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 3 / 53 Augmentation des performances des ordinateurs 100,000 Performance (vs. VAX-11/780) 10,000 Intel Xeon 6 cores, 3.3 GHz (boost to 3.6 GHz) Intel Xeon 4 cores, 3.3 GHz (boost to 3.6 GHz) Intel Core i7 Extreme 4 cores 3.2 GHz (boost to 3.5 GHz) 24,129 Intel Core Duo Extreme 2 cores, 3.0 GHz 21,871 19,484 Intel Core 2 Extreme 2 cores, 2.9 GHz 14,387 AMD Athlon 64, 2.8 GHz 11,865 AMD Athlon, 2.6 GHz Intel Xeon EE 3.2 GHz 7,108 Intel D850EMVR motherboard (3.06 GHz, Pentium 4 processor with Hyper-Threading Technology) 6,043 6,681 4,195 IBM Power4, 1.3 GHz 3,016 Intel VC820 motherboard, 1.0 GHz Pentium III processor 1,779 Professional Workstation XP1000, 667 MHz 21264A 1,267 Digital AlphaServer 8400 6/575, 575 MHz 21264 993 AlphaServer 4000 5/600, 600 MHz 21164 649 Digital Alphastation 5/500, 500 MHz 481 Digital Alphastation 5/300, 300 MHz 280 Digital Alphastation 4/266, 266 MHz 183 IBM POWERstation 100, 150 MHz 117 Digital 3000 AXP/500, 150 MHz 80 HP 9000/750, 66 MHz 51 1000 100 10 IBM RS6000/540, 30 MHz MIPS M2000, 25 MHz 18 MIPS M/120, 16.7 MHz 13 Sun-4/260, 16.7 MHz 9 VAX 8700, 22 MHz 5 24 22%/year 52%/year AX-11/780, 5 MHz 25%/year 1.5, VAX-11/785 1 1 1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012 GIF-3000 (U. Laval) Principes fondamentaux d’architecture 4 / 53 Renaissance des architectures d’ordinateurs Impacts de cette renaissance (1985-2002) I I I I Augmentation remarquable de la capacité de calcul disponible à l’utilisateur (25 000× depuis 1978) Émergence de nouvelles classes d’ordinateurs Dominance de systèmes basés sur des microprocesseurs dans l’ensemble des classes d’ordinateurs Paradigmes de développement logiciel plus productifs pour l’humain, moins performants sur la machine GIF-3000 (U. Laval) Principes fondamentaux d’architecture 5 / 53 Renaissance des architectures d’ordinateurs Impacts de cette renaissance (1985-2002) I I I I Augmentation remarquable de la capacité de calcul disponible à l’utilisateur (25 000× depuis 1978) Émergence de nouvelles classes d’ordinateurs Dominance de systèmes basés sur des microprocesseurs dans l’ensemble des classes d’ordinateurs Paradigmes de développement logiciel plus productifs pour l’humain, moins performants sur la machine Cette renaissance est terminée I I Gain de 22 % par an seulement depuis 2003 Causes F F Limites à la puissance pouvant être dissipée Limites à la capacité d’effectuer plus de parallélisme d’instructions GIF-3000 (U. Laval) Principes fondamentaux d’architecture 5 / 53 Renaissance des architectures d’ordinateurs Impacts de cette renaissance (1985-2002) I I I I Augmentation remarquable de la capacité de calcul disponible à l’utilisateur (25 000× depuis 1978) Émergence de nouvelles classes d’ordinateurs Dominance de systèmes basés sur des microprocesseurs dans l’ensemble des classes d’ordinateurs Paradigmes de développement logiciel plus productifs pour l’humain, moins performants sur la machine Cette renaissance est terminée I I Gain de 22 % par an seulement depuis 2003 Causes F F Limites à la puissance pouvant être dissipée Limites à la capacité d’effectuer plus de parallélisme d’instructions Passage à de nouvelles formes de parallélisme I I Avant : parallélisme d’instructions (caché au programmeur) Maintenant : parallélisme de données et multifilaire (explicite) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 5 / 53 Architecture RISC RISC : Reduced Instruction Set Computer I I I I Utiliser des jeux d’instruction simples Code machine généré par un compilateur Exploitation du parallélisme d’instructions Utilisation de caches GIF-3000 (U. Laval) Principes fondamentaux d’architecture 6 / 53 Architecture RISC RISC : Reduced Instruction Set Computer I I I I Utiliser des jeux d’instruction simples Code machine généré par un compilateur Exploitation du parallélisme d’instructions Utilisation de caches Impacts profonds dans le monde des microprocesseurs I I I Disparitions d’architecture rendues désuètes (ex. VAX de DEC) Intel : traduction du jeu d’instructions x86 (et x86-64) en jeu interne RISC ARM : architecture RISC, qui est dominante pour les dispositifs mobiles personnels GIF-3000 (U. Laval) Principes fondamentaux d’architecture 6 / 53 Classes d’ordinateurs (1/2) Dispositifs mobiles personnels (100 $ à 1000 $) I I I Dispositifs sans fil avec interface utilisateur (ex. téléphones cellulaires, tablettes électroniques) Réduction du coût et bonne efficacité énergétique Capacité à répondre rapidement pour des applications multimédia (temps réel souple) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 7 / 53 Classes d’ordinateurs (1/2) Dispositifs mobiles personnels (100 $ à 1000 $) I I I Dispositifs sans fil avec interface utilisateur (ex. téléphones cellulaires, tablettes électroniques) Réduction du coût et bonne efficacité énergétique Capacité à répondre rapidement pour des applications multimédia (temps réel souple) Ordinateurs de bureau et portables (300 $ à 2500 $) I Optimisation prix-performance GIF-3000 (U. Laval) Principes fondamentaux d’architecture 7 / 53 Classes d’ordinateurs (1/2) Dispositifs mobiles personnels (100 $ à 1000 $) I I I Dispositifs sans fil avec interface utilisateur (ex. téléphones cellulaires, tablettes électroniques) Réduction du coût et bonne efficacité énergétique Capacité à répondre rapidement pour des applications multimédia (temps réel souple) Ordinateurs de bureau et portables (300 $ à 2500 $) I Optimisation prix-performance Serveurs (5000 $ à 10 000 000 $) I Fiabilité des systèmes F I Passage à l’échelle F I Pannes de serveurs peuvent être très coûteuses pour une entreprise Doit pouvoir répondre à des demandes accrues (traitement, stockage, E/S) Capacité de traitement F Nombre de requêtes traitées par unité temporelle GIF-3000 (U. Laval) Principes fondamentaux d’architecture 7 / 53 Classes d’ordinateurs (2/2) Centres informatiques (100 000 $ à 200 000 000 $) I I I I I Stations de travail ou de serveurs connectés par un réseau local, se comportant comme un seul ordinateur Connaı̂t une forte croissance, entre autres avec la popularité de l’infonuagique (logiciel en tant que service) Rapport prix-performance important, étant donné leurs tailles Disponibilité essentielle, possible par une forte redondance des composantes Supercalculateurs sont similaires sur plusieurs points, mais diffèrent par l’emphase sur la performance et une réseautique performante GIF-3000 (U. Laval) Principes fondamentaux d’architecture 8 / 53 Classes d’ordinateurs (2/2) Centres informatiques (100 000 $ à 200 000 000 $) I I I I I Stations de travail ou de serveurs connectés par un réseau local, se comportant comme un seul ordinateur Connaı̂t une forte croissance, entre autres avec la popularité de l’infonuagique (logiciel en tant que service) Rapport prix-performance important, étant donné leurs tailles Disponibilité essentielle, possible par une forte redondance des composantes Supercalculateurs sont similaires sur plusieurs points, mais diffèrent par l’emphase sur la performance et une réseautique performante Ordinateurs embarqués (10 $ à 100 000 $) I I I I I Dispositifs variés : micro-ondes, imprimantes, voitures, routeurs, etc. Variété de capacités de traitement et de coûts Souvent, performances temps réel exigées Applications où on doit minimiser la consommation en mémoire et en énergie Capacité très limitée d’installation de logiciels d’application par l’utilisateur GIF-3000 (U. Laval) Principes fondamentaux d’architecture 8 / 53 Classes et approches de parallélisme Classes de parallélismes I I Parallélisme de données : plusieurs données peuvent être traitées simultanément Parallélisme de tâches : plusieurs tâches peuvent être traitées indépendamment et largement en parallèle GIF-3000 (U. Laval) Principes fondamentaux d’architecture 9 / 53 Classes et approches de parallélisme Classes de parallélismes I I Parallélisme de données : plusieurs données peuvent être traitées simultanément Parallélisme de tâches : plusieurs tâches peuvent être traitées indépendamment et largement en parallèle Approches pour exploiter le parallélisme I I I I Parallélisme d’instructions : exploite le parallélisme de données, à l’aide du compilateur, d’un pipeline et d’une exécution spéculative Architectures vectorielles et GPU : exploite le parallélisme de données en appliquant une instruction à un ensemble de données Parallélisme multifilaire : effectue du parallélisme à l’aide de matériel permettant interaction étroite entre plusieurs fils d’exécution parallèles Parallélisme de requêtes : permet un parallélisme par l’exécution de tâches fortement découplées GIF-3000 (U. Laval) Principes fondamentaux d’architecture 9 / 53 Taxonomie de Flynn (1966) Single Instruction, Single Data stream (SISD) : ordinateurs à un processeur GIF-3000 (U. Laval) Principes fondamentaux d’architecture 10 / 53 Taxonomie de Flynn (1966) Single Instruction, Single Data stream (SISD) : ordinateurs à un processeur Single Instruction, Multiple Data stream (SIMD) : la même instruction est exécutée sur plusieurs processeurs, permettant ainsi un parallélisme de données I Correspond aux architectures vectorielles et aux GPU GIF-3000 (U. Laval) Principes fondamentaux d’architecture 10 / 53 Taxonomie de Flynn (1966) Single Instruction, Single Data stream (SISD) : ordinateurs à un processeur Single Instruction, Multiple Data stream (SIMD) : la même instruction est exécutée sur plusieurs processeurs, permettant ainsi un parallélisme de données I Correspond aux architectures vectorielles et aux GPU Multiple Instruction, Single Data stream (MISD) : aucun ordinateur commercial basé sur cette organisation n’a été construit jusqu’à présent GIF-3000 (U. Laval) Principes fondamentaux d’architecture 10 / 53 Taxonomie de Flynn (1966) Single Instruction, Single Data stream (SISD) : ordinateurs à un processeur Single Instruction, Multiple Data stream (SIMD) : la même instruction est exécutée sur plusieurs processeurs, permettant ainsi un parallélisme de données I Correspond aux architectures vectorielles et aux GPU Multiple Instruction, Single Data stream (MISD) : aucun ordinateur commercial basé sur cette organisation n’a été construit jusqu’à présent Multiple Instruction, Multiple Data stream (MIMD) : chaque processeur exécute ses instructions propres sur des données différentes, ce qui permet un parallélisme de tâches I Correspond aux architectures multicœurs, SMP, grappes de calcul, supercalculateurs, centres informatiques, etc. GIF-3000 (U. Laval) Principes fondamentaux d’architecture 10 / 53 Jeux d’instructions Jeux d’instructions : interface entre le matériel et le logiciel GIF-3000 (U. Laval) Principes fondamentaux d’architecture 11 / 53 Jeux d’instructions Jeux d’instructions : interface entre le matériel et le logiciel I Classe d’architecture : registres d’usage généraux, registres de nombres à virgule flottante GIF-3000 (U. Laval) Principes fondamentaux d’architecture 11 / 53 Jeux d’instructions Jeux d’instructions : interface entre le matériel et le logiciel I I Classe d’architecture : registres d’usage généraux, registres de nombres à virgule flottante Type d’adressage mémoire : adressage d’octets, alignés ou non GIF-3000 (U. Laval) Principes fondamentaux d’architecture 11 / 53 Jeux d’instructions Jeux d’instructions : interface entre le matériel et le logiciel I I I Classe d’architecture : registres d’usage généraux, registres de nombres à virgule flottante Type d’adressage mémoire : adressage d’octets, alignés ou non Mode d’adressage : registre, immédiat, déplacement GIF-3000 (U. Laval) Principes fondamentaux d’architecture 11 / 53 Jeux d’instructions Jeux d’instructions : interface entre le matériel et le logiciel I I I I Classe d’architecture : registres d’usage généraux, registres de nombres à virgule flottante Type d’adressage mémoire : adressage d’octets, alignés ou non Mode d’adressage : registre, immédiat, déplacement Type et tailles des opérandes : ASCII (8 bits), Unicode (16 bits), nombres entiers (32 et 64 bits), mots (32 et 64 bits), nombres à virgule flottante (32 et 64 bits ; 80 bits étendu sur x86) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 11 / 53 Jeux d’instructions Jeux d’instructions : interface entre le matériel et le logiciel I I I I I Classe d’architecture : registres d’usage généraux, registres de nombres à virgule flottante Type d’adressage mémoire : adressage d’octets, alignés ou non Mode d’adressage : registre, immédiat, déplacement Type et tailles des opérandes : ASCII (8 bits), Unicode (16 bits), nombres entiers (32 et 64 bits), mots (32 et 64 bits), nombres à virgule flottante (32 et 64 bits ; 80 bits étendu sur x86) Opérations : transfert de données, arithmétique logique, contrôle, virgule flottante GIF-3000 (U. Laval) Principes fondamentaux d’architecture 11 / 53 Jeux d’instructions Jeux d’instructions : interface entre le matériel et le logiciel I I I I I I Classe d’architecture : registres d’usage généraux, registres de nombres à virgule flottante Type d’adressage mémoire : adressage d’octets, alignés ou non Mode d’adressage : registre, immédiat, déplacement Type et tailles des opérandes : ASCII (8 bits), Unicode (16 bits), nombres entiers (32 et 64 bits), mots (32 et 64 bits), nombres à virgule flottante (32 et 64 bits ; 80 bits étendu sur x86) Opérations : transfert de données, arithmétique logique, contrôle, virgule flottante Instructions de contrôle : branche conditionnelle, saut, appel de procédures, retour GIF-3000 (U. Laval) Principes fondamentaux d’architecture 11 / 53 Jeux d’instructions Jeux d’instructions : interface entre le matériel et le logiciel I I I I I I I Classe d’architecture : registres d’usage généraux, registres de nombres à virgule flottante Type d’adressage mémoire : adressage d’octets, alignés ou non Mode d’adressage : registre, immédiat, déplacement Type et tailles des opérandes : ASCII (8 bits), Unicode (16 bits), nombres entiers (32 et 64 bits), mots (32 et 64 bits), nombres à virgule flottante (32 et 64 bits ; 80 bits étendu sur x86) Opérations : transfert de données, arithmétique logique, contrôle, virgule flottante Instructions de contrôle : branche conditionnelle, saut, appel de procédures, retour Encodage des instructions : taille fixe (MIPS) ou taille variable (x86) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 11 / 53 Jeu d’instructions du MIPS64 Basic instruction formats R opcode 31 I rs 26 25 opcode 31 rt 21 20 rs 26 25 rd 16 15 31 11 10 rt 21 20 funct 6 5 0 immediate 16 15 opcode J shamt address 26 25 Floating-point instruction formats opcode FR FI fmt 26 25 31 opcode 31 ft 21 20 fmt 26 25 GIF-3000 (U. Laval) fs 16 15 fd 11 10 ft 21 20 funct 6 5 0 immediate 16 15 Principes fondamentaux d’architecture 12 / 53 Autres éléments à considérer en architecture Type d’application I I I I I Dispositifs personnels mobiles Postes de travail d’usage général Serveurs Centres informatiques et grappes de calcul Systèmes embarqués GIF-3000 (U. Laval) Principes fondamentaux d’architecture 13 / 53 Autres éléments à considérer en architecture Type d’application I I I I I Dispositifs personnels mobiles Postes de travail d’usage général Serveurs Centres informatiques et grappes de calcul Systèmes embarqués Niveau de compatibilité du logiciel I I Langage de programmation Code objet et binaire GIF-3000 (U. Laval) Principes fondamentaux d’architecture 13 / 53 Autres éléments à considérer en architecture Type d’application I I I I I Dispositifs personnels mobiles Postes de travail d’usage général Serveurs Centres informatiques et grappes de calcul Systèmes embarqués Niveau de compatibilité du logiciel I I Langage de programmation Code objet et binaire Exigences du systèmes d’exploitation I I I Taille de l’espace d’adressage Gestion de la mémoire Protection de la mémoire GIF-3000 (U. Laval) Principes fondamentaux d’architecture 13 / 53 Autres éléments à considérer en architecture Type d’application I I I I I Dispositifs personnels mobiles Postes de travail d’usage général Serveurs Centres informatiques et grappes de calcul Systèmes embarqués Niveau de compatibilité du logiciel I I Langage de programmation Code objet et binaire Exigences du systèmes d’exploitation I I I Taille de l’espace d’adressage Gestion de la mémoire Protection de la mémoire Standards I I I I I Nombres à virgule flottante Interfaces entrées-sorties (E/S) Systèmes d’exploitation Réseautique Langages de programmation GIF-3000 (U. Laval) Principes fondamentaux d’architecture 13 / 53 Partie II Évolution des technologies GIF-3000 (U. Laval) Principes fondamentaux d’architecture 14 / 53 Implantations technologiques Cinq technologies critiques pour l’implantation d’ordinateurs I Circuits logiques intégrés F F F Densité des transistors décroı̂t de 35 % par année (4x sur quatre ans) Taille des dés (dies) augmente de 10 % à 20 % par année Effet combiné d’une augmentation du nombre de transistors de 40 % à 55 % par année GIF-3000 (U. Laval) Principes fondamentaux d’architecture 15 / 53 Implantations technologiques Cinq technologies critiques pour l’implantation d’ordinateurs I Circuits logiques intégrés F F F I Densité des transistors décroı̂t de 35 % par année (4x sur quatre ans) Taille des dés (dies) augmente de 10 % à 20 % par année Effet combiné d’une augmentation du nombre de transistors de 40 % à 55 % par année Mémoires DRAM F Augmentation de la capacité de 25 % à 40 % par année (2x chaque deux-trois ans) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 15 / 53 Implantations technologiques Cinq technologies critiques pour l’implantation d’ordinateurs I Circuits logiques intégrés F F F I Mémoires DRAM F I Densité des transistors décroı̂t de 35 % par année (4x sur quatre ans) Taille des dés (dies) augmente de 10 % à 20 % par année Effet combiné d’une augmentation du nombre de transistors de 40 % à 55 % par année Augmentation de la capacité de 25 % à 40 % par année (2x chaque deux-trois ans) Mémoires Flash F F Augmentation de la capacité de 50 % à 60 % par année (2x par deux ans) Mémoire non volatiles, coût par bit 15-20x inférieur à DRAM GIF-3000 (U. Laval) Principes fondamentaux d’architecture 15 / 53 Implantations technologiques Cinq technologies critiques pour l’implantation d’ordinateurs I Circuits logiques intégrés F F F I Mémoires DRAM F I Augmentation de la capacité de 25 % à 40 % par année (2x chaque deux-trois ans) Mémoires Flash F F I Densité des transistors décroı̂t de 35 % par année (4x sur quatre ans) Taille des dés (dies) augmente de 10 % à 20 % par année Effet combiné d’une augmentation du nombre de transistors de 40 % à 55 % par année Augmentation de la capacité de 50 % à 60 % par année (2x par deux ans) Mémoire non volatiles, coût par bit 15-20x inférieur à DRAM Disques magnétiques F F >1990 : 30 %/an ; 1990-1996 : 60 %/an ; 1996-2004 : 100 %/an ; 2004- : 40 %/an Coût par bit 15-25x inférieur à Flash, 300-500x inférieur à DRAM GIF-3000 (U. Laval) Principes fondamentaux d’architecture 15 / 53 Implantations technologiques Cinq technologies critiques pour l’implantation d’ordinateurs I Circuits logiques intégrés F F F I Mémoires DRAM F I F Augmentation de la capacité de 50 % à 60 % par année (2x par deux ans) Mémoire non volatiles, coût par bit 15-20x inférieur à DRAM Disques magnétiques F F I Augmentation de la capacité de 25 % à 40 % par année (2x chaque deux-trois ans) Mémoires Flash F I Densité des transistors décroı̂t de 35 % par année (4x sur quatre ans) Taille des dés (dies) augmente de 10 % à 20 % par année Effet combiné d’une augmentation du nombre de transistors de 40 % à 55 % par année >1990 : 30 %/an ; 1990-1996 : 60 %/an ; 1996-2004 : 100 %/an ; 2004- : 40 %/an Coût par bit 15-25x inférieur à Flash, 300-500x inférieur à DRAM Réseautique F Dépend des commutateurs réseau et performance du système de transmission GIF-3000 (U. Laval) Principes fondamentaux d’architecture 15 / 53 Bande passante et latence Bande passante I I I Quantité totale de travail effectué à un moment (débit) Quantité d’information traitée ou transmise par seconde Nombre de Mo/s lors d’un transfert au disque GIF-3000 (U. Laval) Principes fondamentaux d’architecture 16 / 53 Bande passante et latence Bande passante I I I Quantité totale de travail effectué à un moment (débit) Quantité d’information traitée ou transmise par seconde Nombre de Mo/s lors d’un transfert au disque Latence I I I Temps entre le début et la fin d’un événement (délais) Délais dans le transmission d’un bit Temps d’accès au disque (en ms) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 16 / 53 Bande passante et latence Bande passante I I I Quantité totale de travail effectué à un moment (débit) Quantité d’information traitée ou transmise par seconde Nombre de Mo/s lors d’un transfert au disque Latence I I I Temps entre le début et la fin d’un événement (délais) Délais dans le transmission d’un bit Temps d’accès au disque (en ms) Bande passante s’améliore beaucoup plus rapidement que latence I I I Microprocesseurs et réseautique (sur 25 ans) : 1000-2000x en bande passante, 20-40x en latence Disques et mémoire (sur 25 ans) : 120-140x en bande passante, 4-8x en latence Règle du pouce : bande passante croit quadratiquement relativement à latence GIF-3000 (U. Laval) Principes fondamentaux d’architecture 16 / 53 Bande passante et latence 100,000 Microprocessor Relative bandwidth improvement 10,000 Network 1000 Memory Disk 100 10 (Latency improvement = bandwidth improvement) 1 1 10 100 Relative latency improvement GIF-3000 (U. Laval) Principes fondamentaux d’architecture 17 / 53 Performances des transistors et câblage Circuits intégrés caractérisés par la largeur de trait (feature size) I I Correspond à taille minimale des transistors et câblage dans les dimensions x-y Réduction continue : 10 µm en 1970, 22 nm (0,022 µm) en 2012 GIF-3000 (U. Laval) Principes fondamentaux d’architecture 18 / 53 Performances des transistors et câblage Circuits intégrés caractérisés par la largeur de trait (feature size) I I Correspond à taille minimale des transistors et câblage dans les dimensions x-y Réduction continue : 10 µm en 1970, 22 nm (0,022 µm) en 2012 Effets de la réduction de la largeur de trait I I Voltage d’opération réduit selon taille verticale (z) Modifications de la résistance et capacitance du câblage GIF-3000 (U. Laval) Principes fondamentaux d’architecture 18 / 53 Performances des transistors et câblage Circuits intégrés caractérisés par la largeur de trait (feature size) I I Correspond à taille minimale des transistors et câblage dans les dimensions x-y Réduction continue : 10 µm en 1970, 22 nm (0,022 µm) en 2012 Effets de la réduction de la largeur de trait I I Voltage d’opération réduit selon taille verticale (z) Modifications de la résistance et capacitance du câblage Taux d’amélioration variable selon la décroissance de la largeur de trait I I I Croissance quadratique de la densité des transistors (surface) Croissance linéaire de la performance des transistors (voltage d’opération) Croissance lente de la réduction des délais dans le câblage (interactions complexes) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 18 / 53 Puissance dans les circuits intégrés Effets de la puissance électrique I I Puissance électrique doit être distribuée dans l’ensemble du circuit intégré Dissipation de la puissance en chaleur qui doit être retirée du circuit GIF-3000 (U. Laval) Principes fondamentaux d’architecture 19 / 53 Puissance dans les circuits intégrés Effets de la puissance électrique I I Puissance électrique doit être distribuée dans l’ensemble du circuit intégré Dissipation de la puissance en chaleur qui doit être retirée du circuit Consommation dans circuits CMOS : commutation des transistors I Puissance dynamique (W) Puissancedynamique ∝ Charge capacitive × Voltage2 × Fréquence de commutation GIF-3000 (U. Laval) Principes fondamentaux d’architecture 19 / 53 Puissance dans les circuits intégrés Effets de la puissance électrique I I Puissance électrique doit être distribuée dans l’ensemble du circuit intégré Dissipation de la puissance en chaleur qui doit être retirée du circuit Consommation dans circuits CMOS : commutation des transistors I Puissance dynamique (W) Puissancedynamique ∝ Charge capacitive × Voltage2 × Fréquence de commutation I Énergie (J) Énergiedynamique ∝ Charge capacitive × Voltage2 GIF-3000 (U. Laval) Principes fondamentaux d’architecture 19 / 53 Puissance dans les circuits intégrés Effets de la puissance électrique I I Puissance électrique doit être distribuée dans l’ensemble du circuit intégré Dissipation de la puissance en chaleur qui doit être retirée du circuit Consommation dans circuits CMOS : commutation des transistors I Puissance dynamique (W) Puissancedynamique ∝ Charge capacitive × Voltage2 × Fréquence de commutation I Énergie (J) Énergiedynamique ∝ Charge capacitive × Voltage2 I Réduction de la consommation par abaissement du voltage (5V à 1V en 20 ans) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 19 / 53 Puissance dans les circuits intégrés Effets de la puissance électrique I I Puissance électrique doit être distribuée dans l’ensemble du circuit intégré Dissipation de la puissance en chaleur qui doit être retirée du circuit Consommation dans circuits CMOS : commutation des transistors I Puissance dynamique (W) Puissancedynamique ∝ Charge capacitive × Voltage2 × Fréquence de commutation I Énergie (J) Énergiedynamique ∝ Charge capacitive × Voltage2 I I Réduction de la consommation par abaissement du voltage (5V à 1V en 20 ans) Charge capacitive fonction du nombre de transistors et de la technologie GIF-3000 (U. Laval) Principes fondamentaux d’architecture 19 / 53 Puissance dans les circuits intégrés Augmentation continue de la consommation en puissance I Nombre de transistors (↑) et de la fréquence (↑) charge capacitive (↓) et voltage (↓) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 20 / 53 Puissance dans les circuits intégrés Augmentation continue de la consommation en puissance I I I Nombre de transistors (↑) et de la fréquence (↑) charge capacitive (↓) et voltage (↓) 80386 : 2 W ; i7 3.3 GHz : 130W Puissance est maintenant un enjeu majeur GIF-3000 (U. Laval) Principes fondamentaux d’architecture 20 / 53 Puissance dans les circuits intégrés Augmentation continue de la consommation en puissance I I I Nombre de transistors (↑) et de la fréquence (↑) charge capacitive (↓) et voltage (↓) 80386 : 2 W ; i7 3.3 GHz : 130W Puissance est maintenant un enjeu majeur Limites du refroidissement à l’air des microprocesseurs sont atteintes I Résulte en une stagnation des fréquences d’horloges GIF-3000 (U. Laval) Principes fondamentaux d’architecture 20 / 53 Fréquences d’horloges des microprocesseurs 10,000 Intel Pentium4 Xeon 3200 MHz in 2003 Intel Nehalem Xeon 3330 MHz in 2010 Intel Pentium III 1000 MHz in 2000 1000 Clock rate (MHz) Digital Alpha 21164A 500 MHz in 1996 1%/year Digital Alpha 21064 150 MHz in 1992 100 MIPS M2000 25 MHz in 1989 40%/year Sun-4 SPARC 16.7 MHz in 1986 10 Digital VAX-11/780 5 MHz in 1978 15%/year 1 1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012 GIF-3000 (U. Laval) Principes fondamentaux d’architecture 21 / 53 Amélioration de l’efficacité énergétique Approches pour améliorer efficacité énergétique des microprocesseurs I Ne rien faire, comme il se doit F Lorsqu’une composante est inutilisée, la désactiver GIF-3000 (U. Laval) Principes fondamentaux d’architecture 22 / 53 Amélioration de l’efficacité énergétique Approches pour améliorer efficacité énergétique des microprocesseurs I Ne rien faire, comme il se doit I Ajustement dynamique de la fréquence d’horloge / du voltage d’opération F F Lorsqu’une composante est inutilisée, la désactiver Microprocesseurs modernes permettent diverses combinaisons de fréquence/voltage, permettant de réduire consommation énergétique en périodes de faibles activités GIF-3000 (U. Laval) Principes fondamentaux d’architecture 22 / 53 Amélioration de l’efficacité énergétique Approches pour améliorer efficacité énergétique des microprocesseurs I Ne rien faire, comme il se doit I Ajustement dynamique de la fréquence d’horloge / du voltage d’opération F F I Lorsqu’une composante est inutilisée, la désactiver Microprocesseurs modernes permettent diverses combinaisons de fréquence/voltage, permettant de réduire consommation énergétique en périodes de faibles activités Concevoir pour le cas typique F F F Proposer des solutions différentes pour les cas typiques de chaque classe d’ordinateurs Ex. : désactivation de composantes en mode veille pour dispositifs et ordinateurs portables Ex. : ajustement de l’horloge basé sur la température des puces pour stations de travail GIF-3000 (U. Laval) Principes fondamentaux d’architecture 22 / 53 Amélioration de l’efficacité énergétique Approches pour améliorer efficacité énergétique des microprocesseurs I Ne rien faire, comme il se doit I Ajustement dynamique de la fréquence d’horloge / du voltage d’opération F F I Microprocesseurs modernes permettent diverses combinaisons de fréquence/voltage, permettant de réduire consommation énergétique en périodes de faibles activités Concevoir pour le cas typique F F F I Lorsqu’une composante est inutilisée, la désactiver Proposer des solutions différentes pour les cas typiques de chaque classe d’ordinateurs Ex. : désactivation de composantes en mode veille pour dispositifs et ordinateurs portables Ex. : ajustement de l’horloge basé sur la température des puces pour stations de travail Surcadençage (overclocking) F Microprocesseur augmente sa fréquence d’opération pendant une courte période de temps, jusqu’à une augmentation de la température GIF-3000 (U. Laval) Principes fondamentaux d’architecture 22 / 53 Puissance statique Fuite de courant dans les processeurs (puissance statique) Puissancestatique ∝ Courantstatique × Voltage GIF-3000 (U. Laval) Principes fondamentaux d’architecture 23 / 53 Puissance statique Fuite de courant dans les processeurs (puissance statique) Puissancestatique ∝ Courantstatique × Voltage I Puissance statique croit avec l’augmentation du nombre de transistors GIF-3000 (U. Laval) Principes fondamentaux d’architecture 23 / 53 Puissance statique Fuite de courant dans les processeurs (puissance statique) Puissancestatique ∝ Courantstatique × Voltage I I Puissance statique croit avec l’augmentation du nombre de transistors Même en veille, la puissance statique est consommée F Systèmes à faible puissance coupent l’alimentation des composantes inutilisées GIF-3000 (U. Laval) Principes fondamentaux d’architecture 23 / 53 Puissance statique Fuite de courant dans les processeurs (puissance statique) Puissancestatique ∝ Courantstatique × Voltage I I Puissance statique croit avec l’augmentation du nombre de transistors Même en veille, la puissance statique est consommée F I Systèmes à faible puissance coupent l’alimentation des composantes inutilisées En 2011, comptait pour 25 % de la consommation totale en énergie GIF-3000 (U. Laval) Principes fondamentaux d’architecture 23 / 53 Coût des composantes Facteurs influençant le coût de composantes électroniques I Temps (courbe d’apprentissage) F F Amélioration des procédés de fabrication (ex. taux d’acceptation) Offre et demande, compétition, standardisation GIF-3000 (U. Laval) Principes fondamentaux d’architecture 24 / 53 Coût des composantes Facteurs influençant le coût de composantes électroniques I Temps (courbe d’apprentissage) F F I Amélioration des procédés de fabrication (ex. taux d’acceptation) Offre et demande, compétition, standardisation Augmentation du volume F F F Courbe d’apprentissage passée plus rapidement Augmente la capacité d’achat et l’efficacité de fabrication Amortissement des coûts de développement GIF-3000 (U. Laval) Principes fondamentaux d’architecture 24 / 53 Variations du coût du Pentium 4 et M GIF-3000 (U. Laval) Principes fondamentaux d’architecture 25 / 53 Coût d’un circuit imprimé Processus de fabrication de circuits imprimés I I I Circuits fabriqués sur une plaquette circulaire Plaquette découpée en dés rectangulaires Chaque dé est testé, et monté dans une puce si positif Coût circuit = GIF-3000 (U. Laval) Coût dé + Coût de tests de dés + Coûts de montage et tests finaux Taux d’acceptation des tests finaux Principes fondamentaux d’architecture 26 / 53 Coût d’un circuit imprimé Processus de fabrication de circuits imprimés I I I Circuits fabriqués sur une plaquette circulaire Plaquette découpée en dés rectangulaires Chaque dé est testé, et monté dans une puce si positif Coût circuit = Coût dé + Coût de tests de dés + Coûts de montage et tests finaux Taux d’acceptation des tests finaux Coût d’un dé Coût dé = GIF-3000 (U. Laval) Coût d’une plaquette Dés par plaquette × Taux d’acceptation de dés Principes fondamentaux d’architecture 26 / 53 Coût d’un circuit imprimé Processus de fabrication de circuits imprimés I I I Circuits fabriqués sur une plaquette circulaire Plaquette découpée en dés rectangulaires Chaque dé est testé, et monté dans une puce si positif Coût circuit = Coût dé + Coût de tests de dés + Coûts de montage et tests finaux Taux d’acceptation des tests finaux Coût d’un dé Coût dé = Coût d’une plaquette Dés par plaquette × Taux d’acceptation de dés Nombre de dés par plaquette Dés par plaquette = I I π × (Diamètre plaquette/2)2 π × Diamètre plaquette √ − Aire dé 2 × Aire dé Premier terme : ratio aire plaquette / aire dé Deuxième terme : retrait des dés en périphérie de la plaquette GIF-3000 (U. Laval) Principes fondamentaux d’architecture 26 / 53 Plaquette de processeurs Sandy Bridge GIF-3000 (U. Laval) Principes fondamentaux d’architecture 27 / 53 Défectuosité de circuits imprimés Taux d’acceptation des dés Taux d’acceptation de dés I I = Taux d’acceptation de plaquettes 1 × (1 + Défectuosité par unité d’aire × Aire dé)N Défectuosité par unité d’aire : dépend du procédé manufacturier (0,016 à 0,057 par cm2 en 2010, procédés 40 nm) N : complexité manufacturière (N varie de 11,5 à 15,5 en 2010, procédés 40 nm) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 28 / 53 Défectuosité de circuits imprimés Taux d’acceptation des dés Taux d’acceptation de dés I I = Taux d’acceptation de plaquettes 1 × (1 + Défectuosité par unité d’aire × Aire dé)N Défectuosité par unité d’aire : dépend du procédé manufacturier (0,016 à 0,057 par cm2 en 2010, procédés 40 nm) N : complexité manufacturière (N varie de 11,5 à 15,5 en 2010, procédés 40 nm) Exemples (défectuosité par cm2 =0,031, N = 13,5) I Dés de 2,25 cm2 Taux d’acceptation de dés = I 1 = 0,40 (1 + 0,031 × 2,25)13,5 Dés de 1,00 cm2 Taux d’acceptation de dés = GIF-3000 (U. Laval) 1 = 0,66 (1 + 0,031 × 1,00)13,5 Principes fondamentaux d’architecture 28 / 53 Partie III Fiabilité des ordinateurs GIF-3000 (U. Laval) Principes fondamentaux d’architecture 29 / 53 Fiabilité des microprocesseurs Historiquement, circuits intégrés sont les composantes les plus fiables des ordinateurs I I Connecteurs vulnérables et fautes dans les canaux de communication Changement de tendance avec réduction des largeurs de traits GIF-3000 (U. Laval) Principes fondamentaux d’architecture 30 / 53 Fiabilité des microprocesseurs Historiquement, circuits intégrés sont les composantes les plus fiables des ordinateurs I I Connecteurs vulnérables et fautes dans les canaux de communication Changement de tendance avec réduction des largeurs de traits Différents niveaux d’abstraction dans les ordinateurs I Erreur complète d’un sous-système vue comme une simple erreur de composante à un niveau supérieur GIF-3000 (U. Laval) Principes fondamentaux d’architecture 30 / 53 Fiabilité des microprocesseurs Historiquement, circuits intégrés sont les composantes les plus fiables des ordinateurs I I Connecteurs vulnérables et fautes dans les canaux de communication Changement de tendance avec réduction des largeurs de traits Différents niveaux d’abstraction dans les ordinateurs I Erreur complète d’un sous-système vue comme une simple erreur de composante à un niveau supérieur Nécessité de déterminer si un système fonctionne bien I I Accords avec clients pour offrir un niveau de qualité de service Pénalité payée si niveau promis n’est pas atteint GIF-3000 (U. Laval) Principes fondamentaux d’architecture 30 / 53 Mesures de fiabilités Mesure de fiabilité d’un module I MTTF (Mean time to failure) : temps avant une panne GIF-3000 (U. Laval) Principes fondamentaux d’architecture 31 / 53 Mesures de fiabilités Mesure de fiabilité d’un module I I MTTF (Mean time to failure) : temps avant une panne FIT (Failures in time) : taux de pannes par milliard d’heures d’opérations, 109 /MTTF F MTTF = 1 000 000 d’heures → 109 /106 = 1000 FIT GIF-3000 (U. Laval) Principes fondamentaux d’architecture 31 / 53 Mesures de fiabilités Mesure de fiabilité d’un module I I MTTF (Mean time to failure) : temps avant une panne FIT (Failures in time) : taux de pannes par milliard d’heures d’opérations, 109 /MTTF F I MTTF = 1 000 000 d’heures → 109 /106 = 1000 FIT MTTR (Mean time to repair) : temps pour réparer une panne GIF-3000 (U. Laval) Principes fondamentaux d’architecture 31 / 53 Mesures de fiabilités Mesure de fiabilité d’un module I I MTTF (Mean time to failure) : temps avant une panne FIT (Failures in time) : taux de pannes par milliard d’heures d’opérations, 109 /MTTF F I I MTTF = 1 000 000 d’heures → 109 /106 = 1000 FIT MTTR (Mean time to repair) : temps pour réparer une panne MTBF (Mean time between failures) : MTBF = MTTF + MTTR GIF-3000 (U. Laval) Principes fondamentaux d’architecture 31 / 53 Mesures de fiabilités Mesure de fiabilité d’un module I I MTTF (Mean time to failure) : temps avant une panne FIT (Failures in time) : taux de pannes par milliard d’heures d’opérations, 109 /MTTF F I I MTTF = 1 000 000 d’heures → 109 /106 = 1000 FIT MTTR (Mean time to repair) : temps pour réparer une panne MTBF (Mean time between failures) : MTBF = MTTF + MTTR Disponibilité d’un module Disponibilité = GIF-3000 (U. Laval) MTTF MTTF + MTTR Principes fondamentaux d’architecture 31 / 53 Exemples : systèmes de disques Système de disques avec composantes suivantes I I I I I 10 disques, MTTF de 1 000 000 h chacun Un contrôleur ATA, MTTF de 500 000 h Une alimentation, MTTF de 200 000 h Un ventilateur, MTTF de 200 000 h Un câble ATA, MTTF de 1 000 000 h GIF-3000 (U. Laval) Principes fondamentaux d’architecture 32 / 53 Exemples : systèmes de disques Système de disques avec composantes suivantes I I I I I 10 disques, MTTF de 1 000 000 h chacun Un contrôleur ATA, MTTF de 500 000 h Une alimentation, MTTF de 200 000 h Un ventilateur, MTTF de 200 000 h Un câble ATA, MTTF de 1 000 000 h Exemple 1 : MTTF du système I Solution au tableau... GIF-3000 (U. Laval) Principes fondamentaux d’architecture 32 / 53 Exemples : systèmes de disques Système de disques avec composantes suivantes I I I I I 10 disques, MTTF de 1 000 000 h chacun Un contrôleur ATA, MTTF de 500 000 h Une alimentation, MTTF de 200 000 h Un ventilateur, MTTF de 200 000 h Un câble ATA, MTTF de 1 000 000 h Exemple 1 : MTTF du système I Solution au tableau... Exemple 2 : MTTF avec alimentation redondante I Solution au tableau... GIF-3000 (U. Laval) Principes fondamentaux d’architecture 32 / 53 Partie IV Mesure et présentation des performances GIF-3000 (U. Laval) Principes fondamentaux d’architecture 33 / 53 Performances d’ordinateur Qu’est-ce qu’un ordinateur plus rapide ? I I I Exécute plus rapidement un logiciel sur une station de travail Serveur informatique effectue plus de transactions par heures Etc. GIF-3000 (U. Laval) Principes fondamentaux d’architecture 34 / 53 Performances d’ordinateur Qu’est-ce qu’un ordinateur plus rapide ? I I I Exécute plus rapidement un logiciel sur une station de travail Serveur informatique effectue plus de transactions par heures Etc. Comparaison des performances I X est n fois plus rapide que Y 1 Temps d’exécution Y Y = Performance X = Performance n= 1 Temps d’exécution X Performance Y Performance X GIF-3000 (U. Laval) Principes fondamentaux d’architecture 34 / 53 Performances d’ordinateur Qu’est-ce qu’un ordinateur plus rapide ? I I I Exécute plus rapidement un logiciel sur une station de travail Serveur informatique effectue plus de transactions par heures Etc. Comparaison des performances I X est n fois plus rapide que Y 1 Temps d’exécution Y Y = Performance X = Performance n= 1 Temps d’exécution X Performance Y Performance X Mais comment mesurer le temps d’exécution ? I I Mesurer le temps d’exécution d’un vrai programme Mesurer le temps global passé dans l’exécution, en incluant tout (calculs, accès disques, accès mémoire, E/S, délais du système d’exploitation, etc.) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 34 / 53 Benchmarks Une évaluation juste nécessite une charge de traitement typique I I Facile pour système/utilisateur avec un usage routinier Plus difficile pour la plupart des autres utilisateurs GIF-3000 (U. Laval) Principes fondamentaux d’architecture 35 / 53 Benchmarks Une évaluation juste nécessite une charge de traitement typique I I Facile pour système/utilisateur avec un usage routinier Plus difficile pour la plupart des autres utilisateurs Benchmarks : programmes réels pour capturer la performance d’une machine I Simplifications de programmes est un leurre GIF-3000 (U. Laval) Principes fondamentaux d’architecture 35 / 53 Benchmarks Une évaluation juste nécessite une charge de traitement typique I I Facile pour système/utilisateur avec un usage routinier Plus difficile pour la plupart des autres utilisateurs Benchmarks : programmes réels pour capturer la performance d’une machine I Simplifications de programmes est un leurre Faire attention aux conditions d’opérations I I Risque d’ajuster les paramètres de compilation pour chaque programme Souvent, force l’usage d’un compilateur et de sa paramétrisation GIF-3000 (U. Laval) Principes fondamentaux d’architecture 35 / 53 Suite de benchmarks Suite de benchmarks : évaluer performance de processeurs d’usage varié ou général I I I Performance pour une variété de programmes La faiblesse de certains benchmarks est compensée par la force d’autres Bon indicateur pour évaluer performance d’autres programmes (généralisation) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 36 / 53 Suite de benchmarks Suite de benchmarks : évaluer performance de processeurs d’usage varié ou général I I I Performance pour une variété de programmes La faiblesse de certains benchmarks est compensée par la force d’autres Bon indicateur pour évaluer performance d’autres programmes (généralisation) SPEC : Standard Performance Evaluation Corporation I I I I Suite de benchmarks pour évaluer performance de stations de travail Focus initial sur la performance exigeante en traitement Ensemble de vrais programmes portables (sources en C, C++ ou FORTAN), minimisant effets des E/S Existe également d’autres suites de benchmarks axées sur les performances graphiques GIF-3000 (U. Laval) Principes fondamentaux d’architecture 36 / 53 Suites de benchmarks SPEC Benchmark name by SPEC generation SPEC2006 benchmark description SPEC2006 SPEC2000 SPEC95 SPEC92 SPEC89 gcc GNU C compiler perl Interpreted string processing espresso mcf Combinatorial optimization li bzip2 Block-sorting compression compress eqntott Go game (AI) go vortex go Video compression h264avc gzip ijpeg Games/path finding astar eon m88ksim Search gene sequence hmmer twolf Quantum computer simulation libquantum vortex Discrete event simulation library omnetpp vpr Chess game (AI) sjeng crafty XML parsing xalancbmk parser CFD/blast waves bwaves fpppp Numerical relativity cactusADM tomcatv Finite element code calculix doduc Differential equation solver framework dealll Quantum chemistry gamess EM solver (freq/time domain) GemsFDTD Scalable molecular dynamics (~NAMD) gromacs Lattice Boltzman method (fluid/air flow) lbm Large eddie simulation/turbulent CFD LESlie3d wupwise Lattice quantum chromodynamics milc apply turb3d Molecular dynamics namd galgel Image ray tracing povray mesa Spare linear algebra soplex art Speech recognition sphinx3 equake Quantum chemistry/object oriented tonto facerec Weather research and forecasting wrf ammp Magneto hydrodynamics (astrophysics) zeusmp lucas sc nasa7 spice swim apsi hydro2d mgrid su2cor applu wave5 matrix300 fma3d sixtrack GIF-3000 (U. Laval) Principes fondamentaux d’architecture 37 / 53 Présentation des performances Reproductibilité I I Les résultats avec un benchmark doivent être reproductibles facilement Suites de benchmarks classiques requiert description détaillée des ordinateurs et configuration de la compilation GIF-3000 (U. Laval) Principes fondamentaux d’architecture 38 / 53 Présentation des performances Reproductibilité I I Les résultats avec un benchmark doivent être reproductibles facilement Suites de benchmarks classiques requiert description détaillée des ordinateurs et configuration de la compilation Choix des benchmarks I Idéalement, choix d’une variété de benchmarks représentant une utilisation typique d’un ordinateur GIF-3000 (U. Laval) Principes fondamentaux d’architecture 38 / 53 Présentation des performances Reproductibilité I I Les résultats avec un benchmark doivent être reproductibles facilement Suites de benchmarks classiques requiert description détaillée des ordinateurs et configuration de la compilation Choix des benchmarks I Idéalement, choix d’une variété de benchmarks représentant une utilisation typique d’un ordinateur Intégration de résultats de nombreux benchmarks I Approche directe : moyenne géométrique des temps d’exécutions F Mais suppose des temps comparables pour chaque benchmark GIF-3000 (U. Laval) Principes fondamentaux d’architecture 38 / 53 Présentation des performances Reproductibilité I I Les résultats avec un benchmark doivent être reproductibles facilement Suites de benchmarks classiques requiert description détaillée des ordinateurs et configuration de la compilation Choix des benchmarks I Idéalement, choix d’une variété de benchmarks représentant une utilisation typique d’un ordinateur Intégration de résultats de nombreux benchmarks I Approche directe : moyenne géométrique des temps d’exécutions F I Mais suppose des temps comparables pour chaque benchmark Moyenne arithmétique pondérée des temps F Quels poids utiliser ? GIF-3000 (U. Laval) Principes fondamentaux d’architecture 38 / 53 Présentation des performances Reproductibilité I I Les résultats avec un benchmark doivent être reproductibles facilement Suites de benchmarks classiques requiert description détaillée des ordinateurs et configuration de la compilation Choix des benchmarks I Idéalement, choix d’une variété de benchmarks représentant une utilisation typique d’un ordinateur Intégration de résultats de nombreux benchmarks I Approche directe : moyenne géométrique des temps d’exécutions F Mais suppose des temps comparables pour chaque benchmark I Moyenne arithmétique pondérée des temps I Utiliser un ordinateur de référence F F Quels poids utiliser ? Résultat est le ratio des performances par rapport à la référence GIF-3000 (U. Laval) Principes fondamentaux d’architecture 38 / 53 SPECRatio Performance d’un ordinateur A relativement à une référence SPECRatioA = GIF-3000 (U. Laval) Temps d’exécutionréférence Temps d’exécutionA Principes fondamentaux d’architecture 39 / 53 SPECRatio Performance d’un ordinateur A relativement à une référence SPECRatioA = Temps d’exécutionréférence Temps d’exécutionA Comparaison entre deux ordinateurs permet de retirer la référence SPECRatioA SPECRatioB GIF-3000 (U. Laval) = Temps d’exécutionréférence Temps d’exécutionA Temps d’exécutionréférence Temps d’exécutionB Principes fondamentaux d’architecture 39 / 53 SPECRatio Performance d’un ordinateur A relativement à une référence SPECRatioA = Temps d’exécutionréférence Temps d’exécutionA Comparaison entre deux ordinateurs permet de retirer la référence SPECRatioA SPECRatioB = = GIF-3000 (U. Laval) Temps d’exécutionréférence Temps d’exécutionA Temps d’exécutionréférence Temps d’exécutionB Temps d’exécutionB PerformanceA = Temps d’exécutionA PerformanceB Principes fondamentaux d’architecture 39 / 53 Moyenne géométrique SPECRatio est un ratio plutôt qu’une valeur absolue I Moyenne géométrique fait plus de sens que la moyenne arithmétique Moyenne géométrique = n Y ! n1 xi i=1 GIF-3000 (U. Laval) Principes fondamentaux d’architecture 40 / 53 Moyenne géométrique SPECRatio est un ratio plutôt qu’une valeur absolue I Moyenne géométrique fait plus de sens que la moyenne arithmétique Moyenne géométrique = n Y ! n1 xi i=1 I Une moyenne géométrique de ratios est le même qu’un ratio de moyennes géométriques n Y xi i=1 GIF-3000 (U. Laval) yi ! n1 Qn = n1 i=1 xi n1 Qn i=1 yi Principes fondamentaux d’architecture 40 / 53 Moyenne géométrique SPECRatio est un ratio plutôt qu’une valeur absolue I Moyenne géométrique fait plus de sens que la moyenne arithmétique Moyenne géométrique = n Y ! n1 xi i=1 I Une moyenne géométrique de ratios est le même qu’un ratio de moyennes géométriques n Y xi i=1 I yi ! n1 Qn = n1 i=1 xi n1 Qn i=1 yi Le ratio de moyennes géométriques est égal à la moyenne des ratios de performance GIF-3000 (U. Laval) Principes fondamentaux d’architecture 40 / 53 Ratio de moyennes géométriques Ratio de moyennes géométriques est égal à la moyenne des ratios de performance : Moy. géométriqueA Moy. géométriqueB GIF-3000 (U. Laval) Qn = i=1 Qn i=1 SPECRatio Ai SPECRatio Bi 1 n 1 = n Principes fondamentaux d’architecture n Y SPECRatio Ai SPECRatio Bi i=1 !1 n 41 / 53 Ratio de moyennes géométriques Ratio de moyennes géométriques est égal à la moyenne des ratios de performance : Moy. géométriqueA Moy. géométriqueB Qn = i=1 Qn i=1 SPECRatio Ai SPECRatio Bi 1 n 1 = n n Y SPECRatio Ai SPECRatio Bi i=1 !1 n 1 Temps d’exécutionréférence n n Y Temps d’exécutionA i i=1 Temps d’exécutionréférence Temps d’exécutionB = i GIF-3000 (U. Laval) Principes fondamentaux d’architecture 41 / 53 Ratio de moyennes géométriques Ratio de moyennes géométriques est égal à la moyenne des ratios de performance : Moy. géométriqueA Moy. géométriqueB Qn = i=1 Qn i=1 SPECRatio Ai SPECRatio Bi 1 n 1 = n n Y SPECRatio Ai SPECRatio Bi i=1 !1 n 1 Temps d’exécutionréférence n n Y Temps d’exécutionA i i=1 Temps d’exécutionréférence Temps d’exécutionB i !1 n Y Temps d’exécutionBi n Temps d’exécutionAi i=1 = = GIF-3000 (U. Laval) Principes fondamentaux d’architecture 41 / 53 Ratio de moyennes géométriques Ratio de moyennes géométriques est égal à la moyenne des ratios de performance : Moy. géométriqueA Moy. géométriqueB Qn = i=1 Qn i=1 SPECRatio Ai SPECRatio Bi 1 n 1 = n n Y SPECRatio Ai SPECRatio Bi i=1 !1 n 1 Temps d’exécutionréférence n n Y Temps d’exécutionA i i=1 Temps d’exécutionréférence Temps d’exécutionB i !1 n Y Temps d’exécutionBi n Temps d’exécutionAi i=1 !1 n Y PerformanceAi n PerformanceBi i=1 = = = GIF-3000 (U. Laval) Principes fondamentaux d’architecture 41 / 53 SPECfp2000 (référence : Sun Ultra 5) 1.8 Benchmarks Ultra 5 Time (sec) Measuring, Reporting, and Summarizing Performance 35 Opteron Itanium 2 Opteron/Itanium Itanium/Opteron Time (sec) SPECRatio Time (sec) SPECRatio Times (sec) SPECRatios wupwise 1600 51.5 31.06 56.1 28.53 0.92 0.92 swim 3100 125.0 24.73 70.7 43.85 1.77 1.77 mgrid 1800 98.0 18.37 65.8 27.36 1.49 1.49 applu 2100 94.0 22.34 50.9 41.25 1.85 1.85 mesa 1400 64.6 21.69 108.0 12.99 0.60 0.60 galgel 2900 86.4 33.57 40.0 72.47 2.16 2.16 art 2600 92.4 28.13 21.0 123.67 4.40 4.40 equake 1300 72.6 17.92 36.3 35.78 2.00 2.00 facerec 1900 73.6 25.80 86.9 21.86 0.85 0.85 ammp 2200 136.0 16.14 132.0 16.63 1.03 1.03 lucas 2000 88.8 22.52 107.0 18.76 0.83 0.83 fma3d 2100 120.0 17.48 131.0 16.09 0.92 0.92 sixtrack 1100 123.0 8.95 68.8 15.99 1.79 1.79 apsi 2600 150.0 17.36 231.0 11.27 0.65 0.65 27.12 1.30 1.30 Geometric mean ■ 20.86 Figure 1.14 SPECfp2000 execution times (in seconds) for the Sun Ultra 5—the reference computer of SPEC2000—and execution times and SPECRatios for the AMD Opteron and Intel Itanium 2. (SPEC2000 multiplies the ratio of execution times by 100 to remove the decimal point from the result, so 20.86 is reported as 2086.) The final two columns show the ratios of execution times and SPECratios. This figure demonstrates the irrelevance of the GIF-3000computer (U. Laval) Principes d’architecture reference in relative performance. Thefondamentaux ratio of the execution times is identical to the ratio of the SPECRa- 42 / 53 Variabilité des mesures Mesurer variabilité d’une moyenne arithmétique : écart-type v u n uX (xi − x̄)2 stdev = t i=1 GIF-3000 (U. Laval) Principes fondamentaux d’architecture 43 / 53 Variabilité des mesures Mesurer variabilité d’une moyenne arithmétique : écart-type v u n uX (xi − x̄)2 stdev = t i=1 Variabilité d’une moyenne géométrique I Formulation log-moyenne Moy. géométrique = n Y i=1 GIF-3000 (U. Laval) ! n1 xi # n 1X = exp ln(xi ) n Principes fondamentaux d’architecture " i=1 43 / 53 Variabilité des mesures Mesurer variabilité d’une moyenne arithmétique : écart-type v u n uX (xi − x̄)2 stdev = t i=1 Variabilité d’une moyenne géométrique I Formulation log-moyenne Moy. géométrique = n Y i=1 I ! n1 xi " # n 1X = exp ln(xi ) n i=1 Écart-type de moyenne géométrique v u n u1 X 2 gstdev = exp t (ln(xi ) − ln(moy. géométrique)) n i=1 GIF-3000 (U. Laval) Principes fondamentaux d’architecture 43 / 53 Partie V Principes quantitatifs de la conception d’ordinateurs GIF-3000 (U. Laval) Principes fondamentaux d’architecture 44 / 53 Parallélisme Parallélisme système I Plusieurs machines, multiprocesseurs et multicœurs GIF-3000 (U. Laval) Principes fondamentaux d’architecture 45 / 53 Parallélisme Parallélisme système I Plusieurs machines, multiprocesseurs et multicœurs Parallélisme d’instructions I Pipelines GIF-3000 (U. Laval) Principes fondamentaux d’architecture 45 / 53 Parallélisme Parallélisme système I Plusieurs machines, multiprocesseurs et multicœurs Parallélisme d’instructions I Pipelines Composantes numériques I Recherche en parallèle en mémoire (caches) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 45 / 53 Principe de localité Règle du 90-10 I Un programme passe 90 % du temps dans 10 % du code GIF-3000 (U. Laval) Principes fondamentaux d’architecture 46 / 53 Principe de localité Règle du 90-10 I Un programme passe 90 % du temps dans 10 % du code S’applique également aux accès données GIF-3000 (U. Laval) Principes fondamentaux d’architecture 46 / 53 Principe de localité Règle du 90-10 I Un programme passe 90 % du temps dans 10 % du code S’applique également aux accès données Localité temporelle I Item récemment accédé risque d’être accédé prochainement GIF-3000 (U. Laval) Principes fondamentaux d’architecture 46 / 53 Principe de localité Règle du 90-10 I Un programme passe 90 % du temps dans 10 % du code S’applique également aux accès données Localité temporelle I Item récemment accédé risque d’être accédé prochainement Localité spatiale I Items avec adresses proches risquent d’être accédés dans des périodes proches GIF-3000 (U. Laval) Principes fondamentaux d’architecture 46 / 53 Emphase sur le cas usuel Lorsqu’un compromis dans la conception doit être fait, favoriser le cas fréquent I Impact plus important lorsque l’amélioration est exploitée fréquemment GIF-3000 (U. Laval) Principes fondamentaux d’architecture 47 / 53 Emphase sur le cas usuel Lorsqu’un compromis dans la conception doit être fait, favoriser le cas fréquent I I Impact plus important lorsque l’amélioration est exploitée fréquemment S’applique autant à la puissance, l’allocation des ressources, que les performances GIF-3000 (U. Laval) Principes fondamentaux d’architecture 47 / 53 Emphase sur le cas usuel Lorsqu’un compromis dans la conception doit être fait, favoriser le cas fréquent I I I Impact plus important lorsque l’amélioration est exploitée fréquemment S’applique autant à la puissance, l’allocation des ressources, que les performances Cas fréquent souvent plus simple F Exemple de dépassement dans l’addition de deux nombres GIF-3000 (U. Laval) Principes fondamentaux d’architecture 47 / 53 Emphase sur le cas usuel Lorsqu’un compromis dans la conception doit être fait, favoriser le cas fréquent I I I Impact plus important lorsque l’amélioration est exploitée fréquemment S’applique autant à la puissance, l’allocation des ressources, que les performances Cas fréquent souvent plus simple F I Exemple de dépassement dans l’addition de deux nombres Loi d’Amdahl permet de bien quantifier l’amélioration globale selon ce principe GIF-3000 (U. Laval) Principes fondamentaux d’architecture 47 / 53 Loi d’Amdahl Loi d’Amdahl Gain = GIF-3000 (U. Laval) Performance de la tâche complète avec amélioration Performance de la tâche complète sans amélioration Principes fondamentaux d’architecture 48 / 53 Loi d’Amdahl Loi d’Amdahl Gain = = GIF-3000 (U. Laval) Performance de la tâche complète avec amélioration Performance de la tâche complète sans amélioration Temps d’exécution de la tâche complète sans amélioration Temps d’exécution de la tâche complète avec amélioration Principes fondamentaux d’architecture 48 / 53 Loi d’Amdahl Loi d’Amdahl Gain = = Performance de la tâche complète avec amélioration Performance de la tâche complète sans amélioration Temps d’exécution de la tâche complète sans amélioration Temps d’exécution de la tâche complète avec amélioration L’amélioration en vitesse des traitements est donnée par le gain GIF-3000 (U. Laval) Principes fondamentaux d’architecture 48 / 53 Effets de l’amélioration Le gain de la loi d’Amdahl permet de calculer deux mesures : I Fractionamélioration : la fraction des calculs affectés par l’amélioration GIF-3000 (U. Laval) Principes fondamentaux d’architecture 49 / 53 Effets de l’amélioration Le gain de la loi d’Amdahl permet de calculer deux mesures : I I Fractionamélioration : la fraction des calculs affectés par l’amélioration Gainamélioration : le gain offert sur les calculs affectés par l’amélioration GIF-3000 (U. Laval) Principes fondamentaux d’architecture 49 / 53 Effets de l’amélioration Le gain de la loi d’Amdahl permet de calculer deux mesures : I I Fractionamélioration : la fraction des calculs affectés par l’amélioration Gainamélioration : le gain offert sur les calculs affectés par l’amélioration Temps d’exécutionnouveau = Temps d’exécutionancien × GIF-3000 (U. Laval) (1 − Fractionamélioration ) + Principes fondamentaux d’architecture Fractionamélioration Gainamélioration ! 49 / 53 Effets de l’amélioration Le gain de la loi d’Amdahl permet de calculer deux mesures : I I Fractionamélioration : la fraction des calculs affectés par l’amélioration Gainamélioration : le gain offert sur les calculs affectés par l’amélioration Temps d’exécutionnouveau = Temps d’exécutionancien × Gainglobal = = (1 − Fractionamélioration ) + ! Temps d’exécutionancien Temps d’exécutionnouveau 1 (1 − Fractionamélioration ) + GIF-3000 (U. Laval) Fractionamélioration Gainamélioration Principes fondamentaux d’architecture Fractionamélioration Gainamélioration 49 / 53 Exemples : loi d’Amdahl Gain obtenu par le changement du processeur d’un serveur Web I I I Nouveau processeur 10x plus rapide que l’ancien Ancien processeur : 40 % en calcul, 60 % en attente sur les E/S Calculs au tableau... GIF-3000 (U. Laval) Principes fondamentaux d’architecture 50 / 53 Exemples : loi d’Amdahl Gain obtenu par le changement du processeur d’un serveur Web I I I Nouveau processeur 10x plus rapide que l’ancien Ancien processeur : 40 % en calcul, 60 % en attente sur les E/S Calculs au tableau... Amélioration d’instructions à virgule flottante d’un GPU I Choix 1 : améliorer facteur 10x calcul de la racine carrée F Responsable de 20 % des temps de traitement I Choix 2 : améliorer facteur 1,6x toutes les instructions à virgule flottante I Calculs au tableau... F Responsable de 50 % des temps de traitement GIF-3000 (U. Laval) Principes fondamentaux d’architecture 50 / 53 Performance des processeurs Équation de la performance des ordinateurs I Temps pour exécution un certain nombre d’instructions Temps CPU = Nombre d’instructions × Cycles par instruction × Temps d’un cycle GIF-3000 (U. Laval) Principes fondamentaux d’architecture 51 / 53 Performance des processeurs Équation de la performance des ordinateurs I Temps pour exécution un certain nombre d’instructions Temps CPU = Nombre d’instructions × Cycles par instruction × Temps d’un cycle I Cycles par instruction peuvent varier d’une instruction à l’autre GIF-3000 (U. Laval) Principes fondamentaux d’architecture 51 / 53 Performance des processeurs Équation de la performance des ordinateurs I Temps pour exécution un certain nombre d’instructions Temps CPU = Nombre d’instructions × Cycles par instruction × Temps d’un cycle I Cycles par instruction peuvent varier d’une instruction à l’autre Paramètres pour améliorer les performances I Temps d’un cycle d’horloge : matériel (technologie et organisation) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 51 / 53 Performance des processeurs Équation de la performance des ordinateurs I Temps pour exécution un certain nombre d’instructions Temps CPU = Nombre d’instructions × Cycles par instruction × Temps d’un cycle I Cycles par instruction peuvent varier d’une instruction à l’autre Paramètres pour améliorer les performances I I Temps d’un cycle d’horloge : matériel (technologie et organisation) Cycles par instruction (CPI) : jeu d’instruction (organisation et architecture) GIF-3000 (U. Laval) Principes fondamentaux d’architecture 51 / 53 Performance des processeurs Équation de la performance des ordinateurs I Temps pour exécution un certain nombre d’instructions Temps CPU = Nombre d’instructions × Cycles par instruction × Temps d’un cycle I Cycles par instruction peuvent varier d’une instruction à l’autre Paramètres pour améliorer les performances I I I Temps d’un cycle d’horloge : matériel (technologie et organisation) Cycles par instruction (CPI) : jeu d’instruction (organisation et architecture) Nombre d’instructions : architecture du jeu d’instruction et compilateur GIF-3000 (U. Laval) Principes fondamentaux d’architecture 51 / 53 Cycles par instruction (CPI) CPI non uniforme entre les instructions I Le CPI global est une moyenne selon les CPI individuels CPI = n X i=1 F F Pn NIi × CPIi i=1 NIi × CPIi = Nombre d’instructions Nombre d’instructions NIi : nombre d’instructions i dans un programme CPIi : cycles par instructions de l’instruction i GIF-3000 (U. Laval) Principes fondamentaux d’architecture 52 / 53 Cycles par instruction (CPI) CPI non uniforme entre les instructions I Le CPI global est une moyenne selon les CPI individuels CPI = n X i=1 F F Pn NIi × CPIi i=1 NIi × CPIi = Nombre d’instructions Nombre d’instructions NIi : nombre d’instructions i dans un programme CPIi : cycles par instructions de l’instruction i Équation de la performance révisée Temps CPU = n X ! NIi × CPIi × Temps d’un cycle i=1 GIF-3000 (U. Laval) Principes fondamentaux d’architecture 52 / 53 Exemple : équation de la performance Système avec caractéristiques suivantes : I I I I I Fréquence d’opérations à virgule flottante : 25 % CPI moyen pour opérations à VF : 4,0 CPI moyen pour autres opérations : 1,33 Fréquence de calcul de la racine carrée : 2 % CPI du calcul de la racine carrée : 20 GIF-3000 (U. Laval) Principes fondamentaux d’architecture 53 / 53 Exemple : équation de la performance Système avec caractéristiques suivantes : I I I I I Fréquence d’opérations à virgule flottante : 25 % CPI moyen pour opérations à VF : 4,0 CPI moyen pour autres opérations : 1,33 Fréquence de calcul de la racine carrée : 2 % CPI du calcul de la racine carrée : 20 Choix 1 : réduire CPI de la racine carrée à 2 GIF-3000 (U. Laval) Principes fondamentaux d’architecture 53 / 53 Exemple : équation de la performance Système avec caractéristiques suivantes : I I I I I Fréquence d’opérations à virgule flottante : 25 % CPI moyen pour opérations à VF : 4,0 CPI moyen pour autres opérations : 1,33 Fréquence de calcul de la racine carrée : 2 % CPI du calcul de la racine carrée : 20 Choix 1 : réduire CPI de la racine carrée à 2 Choix 2 : réduire CPI de toutes opérations à VF à 2,5 GIF-3000 (U. Laval) Principes fondamentaux d’architecture 53 / 53 Exemple : équation de la performance Système avec caractéristiques suivantes : I I I I I Fréquence d’opérations à virgule flottante : 25 % CPI moyen pour opérations à VF : 4,0 CPI moyen pour autres opérations : 1,33 Fréquence de calcul de la racine carrée : 2 % CPI du calcul de la racine carrée : 20 Choix 1 : réduire CPI de la racine carrée à 2 Choix 2 : réduire CPI de toutes opérations à VF à 2,5 Comparer ces deux choix I Calculs au tableau... GIF-3000 (U. Laval) Principes fondamentaux d’architecture 53 / 53