Performances
Transcription
Performances
Facteur d'accélération Degré de parallélisme DOP: Performances 1 Parallélisme moyen Nombre de processeurs pouvant être utilisés pour exécuter un programme pour une période donnée. C'est une fonction discrète sur le temps toujours positive ou nulle. Il considère un nombre infini de processeurs et n'est pas toujours atteignable sur une machine réelle. 2 Parallélisme moyen(suite) Quand i processeurs sont actifs on a On définit le parallélisme moyen DOP = i, i, on pose m = max (DOP) Soit D la puissance d'exécution d'un seul processeur (Mips,Mflops). Pour une exécution parallèle, on obtient le travail fourni W par ( i=1,m i . ti ) A= ( i=1,m ti ) W = DOP(t) dt ou W = i=1,m i . ti ti la somme des périodes où DOP = i 3 4 Facteur d'accélération Exemple (Speed up) 8 Soit un algorithme s'exécutant sur p 7 6 5 4 3 2 1 0 Parallélisme moyen DOP 5 processeurs en un temps tp et soit t1 son temps d'exécution sur un seul processeur. On définit le facteur d'accélération par Sp = t1 / tp En général on considère le temps d'exécution du meilleur algorithme séquentiel, et non de l'algo parallèle s'exécutant sur un seul processeur. 6 "Théorème" Loi d'Amdahl (1967) Quel que soit p, on a Idée: trouver une borne au facteur d'accélération. On propose d'évaluer la partie parallélisable du code On pose t1 = tseq + tpar On en déduit pour une exécution parallèle tp = tseq + tpar / p 1 <= Sp <= p pas de précision sur les ressources des processeurs etc... 7 Exemple Amdahl’s Law Amdahl Si 2 phases de calcul D'où Sp = ( tseq + tpar) / ( tseq + tpar / p ) Sp <= t1 / tseq (limite quand pp -> ) Le facteur d'accélération est donc Parallélisable sur une grille n-by by--n sans communication Réduction de type somme Première phase = n2/p Seconde phase séquentielle , time = n2 Speedup <= 2 toujours inférieur à la portion de code séquentiel exécuté. Soit 10% de code séquentiel, la limite supérieure pour le Sp est 10. Cette valeur est indépendante du nombre de processeurs. Diviser la seconde phase en 2 Accumulation locale de la somme sur chaque processeur Réduction sur les somme partielles 9 10 Efficacité On introduit l'efficacité comme: 1 (a) n2 work done concurrently time = n2/p + n2/p + p, 2 Speedup<= 2n 2 2 2n + p Illustration Amdahl’s Law ep = Sp / p n2 On a toujours ep < 1. 1. Il permet de mesurer le taux moyen p (b) 8 d'utilisation des processeurs. Plus on est proche de 1, plus la parallélisation est bonne. 1 n2 /p n2 p 1 (c) n2 /p n2 /p p Time 11 12 Accélérations superlinéaires Superlinéaire La démonstration d’une limitation Pour certains problèmes linaire du facteur d'accélération est basé sur l'hypothèse de la connaissance du meilleur algorihtme séquentiel. parcours de graphe, problèmes de combinatoire... Utilisation de proceseurs supplémentaires pour chercher une bonne solution On n'effectue plus exactement le même algorithme qu'en séquentiel. 13 Superlinaire 14 Mesures de performances On obtient un facteur d'accélération Le MIPS Million Instructions Per superlinéaire On trouve plus vite la bonne solution en explorant différentes stratégies en parallèle.(Algo glouton...) Second est donné pour un processeur et est calculé depuis la fréquence d'horloge du processeur f (Mhz) et du nombre de cycle par instruction (CPI) MIPS = f / ( CPI . 106 ) 15 Mips 16 MFlops Le MIPS moyen dépend du jeu Le Mflops Million Floating Point d'instructions, et devrait varier en fonction du programme. La comparaison entre des processeurs avec différents jeux d'instructions (RISC, CISC) et différentes horloges n'est pas fiable. Operation Per Second dépent également de l'architecture du processeur et du programme. Pas de correspondance directe entre MIPS et Mflops. 17 18 Peak performance Le Dhrystone Les constructeurs annoncent souvent C'est un benchmark de mesure du CPU. Il se compose d'une centaine la puissance de crête ( maximum) en MIPS et Mflops. Elles sont impossibles à maintenir sur une application réelle. On annonce également la puissance soutenue ( Substained) plus représentative. d'instructions en langage de haut niveau avec des structures de données présentes dans les programmes. Il n'y a pas de Floating Point. 19 Mesure du Dhrystone 20 Le Whestone Il permet de mesurer la puissance de Benchmark basé sur un code Fortran calcul en entier d'un processeur. Ce test sur plusieurs machines permet une comparaison avec le Vax/780 à qui on affecte la valeur de 1 en MIPS relatif. ( DEC parle de VUP ) Cette mesure est acceptée par un grand nombre de constructeurs. intégrant des opération Floating Point. Il intègre du calcul d'entier pour des index de tableaux, des appels de sous programmes, passage de paramètres, fonctions mathématiques. 21 Domaine d’application 22 Whestone et Dhrystone Il ne contient pas de code vectorisable Il valide en même temps l'efficacité du Le Whestone et le Dhrystone sont critiqués car il ne permettent pas de prédire le temps d'exécution d'un programme utilisateur. La prise en compte du compilateur affecte généralement le résultat du bench. compilateur et des librairies. Il n'est pas équivalent au MIPS ou Mflops car il y a mélange des deux. 23 24 SPEC Choix de bench… Standard Performance Evaluation Corporation SPEC's mission is to establish, maintain, and endorse a standardized set of relevant benchmarks and metrics for performance evaluation of modern computer systems http://www.specbench.org/ Current Benchmarks: SPECapc SPECviewperf SPEC HPC96 SPEC OMP2001 SPEC CPU2000 Speed: [ SPECint2000 SPECint2000,, SPECfp2000 ] Throughput: [ SPECint_rate2000 SPECint_rate2000,, SPECfp_rate2000 ] SPECjAppServer2001 SPEC JBB2000 SPEC JVM98 SPEC MAIL2001 SPEC SFS97_R1 SPEC WEB99 SPEC WEB99_SSL 25 Le Linpack 26 Linpack(suite) C'est un ensemble de librairies Fortran Il prend en compte l'efficacité du qui permettent de résoudre un système d'équations linéaires dense de taille minimum 100. Ce code supporte une vectorisation/ parallélisation. C'est pourquoi il est fortement utilisé dans le monde parallèle. Il permet une bonne estimation de performance pour des codes scientifiques. compilateur Fortran. Il comprend un grand nombre de calcul: pour un système de taille n il faut 2n3 / 3 + 2n2 opérations arithmétiques. 27 28 29 30 WEB Depuis des années Dongarra compare ainsi les ordinateurs et obtient un TOP 500 des ordinateurs les plus puissants. La mise à jour est faite régulièrement. Accès : http://www.top500.org 31 32 33 34 35 36