Performances

publicité
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
Téléchargement