Aspects quantitatifs de la conception Professeur: Nilo Stolte Chargé de Cours: Mohammed ELKANOUNI...

Post on 03-Apr-2015

106 views 1 download

Transcript of Aspects quantitatifs de la conception Professeur: Nilo Stolte Chargé de Cours: Mohammed ELKANOUNI...

Aspects quantitatifs Aspects quantitatifs de la conceptionde la conception

Professeur: Nilo Stolte

Chargé de Cours: Mohammed ELKANOUNI

Département de génie logiciel et des TI

Aspects quantitatifs de la conception

SommaireSommaire

Introduction

Métriques de performance

Modèle de performance

Analyse d’extensibilité

Aspects quantitatifs de la conception

IntroductionIntroduction

Intérêt de l’étude de performance:

- Comparer les différents algorithmes

- Savoir où optimiser

- Évaluer la dimensionabilité

- Évaluer l’effet des topologies des réseaux de communication

- Estimer le coût de la mise en œuvre

Aspects quantitatifs de la conception

Métriques de performanceMétriques de performance

Temps d’exécution

Besoin en mémoire

Facilité de transfert entre les tâches et processeurs

Facilité d’entretien

Facilité d’entrée-sortie

Coût de la mise en œuvre

Aspects quantitatifs de la conception

Métriques de performanceMétriques de performance

Le choix des métriques dépend de l’application

Durant ce cours on va traiter le temps d’exécution, l’efficacité et l’accélération

Aspects quantitatifs de la conception

Accélération (speed-up)Accélération (speed-up)

Temps d’exécution:- tp: temps d’exécution sur p processeurs

- t1: temps d’exécution séquentielle

Accélération (speed-up)- S = t1 / tp

Étude de l’accélération- S p

- Code séquentiel : S = 1

- Code « purement » parallèle : S = p

Aspects quantitatifs de la conception

ptP

t

P

SE

1

EfficacitéEfficacité

Rapport des temps d’exécution séquentiel et le temps d’exécution moyen parallèle par le nombre de processeurs

Traduit le comportement de S en fonction de P

Aspects quantitatifs de la conception

La loi d’AmdahlLa loi d’Amdahl

G.M. Amdahl (1967):

- identifier la partie parallélisable du code

- charge de travail fixe W (par exemple en Mflop)

- distribution de cette charge sur P processeurs

- décomposition de la charge:

W = W + (1- ) W (partie séquentielle, partie parallélisable)

Accélération:- S = W / ( W + (1-) W/p) = p / (1+(p-1) ) 1/

Aspects quantitatifs de la conception

La loi d’AmdahlLa loi d’Amdahl

pourcentage de code séquentiel

Illustration:

P P 50%50% 10%10% 1%1%

1010 1.821.82 5.265.26 9.179.17

100100 1.981.98 9.179.17 50.2550.25

10001000 1.991.99 9.919.91 90.9990.99

1000010000 1.991.99 9.919.91 99.0299.02

Aspects quantitatifs de la conception

La loi d’AmdahlLa loi d’Amdahl

Accélération limitée par la partie séquentielle

Limite indépendante du nombre de processeurs

Les facteurs qui empêchent S de dépasser 1/- Tâches en attente des résultats des autres

- Temps de communication

P P

50%50% 10%10% 1%1%

∞∞ 22 1010 100100

Aspects quantitatifs de la conception

Exemple d’accélérationExemple d’accélération

Algorithme: S = 10.8 sur 12 processeurs (N=100)

Exécution séquentielle:

- Tseq = N + N2 ? (N: taille du problème)

Exécution parallèle: (p: nombre du processeur)

- (1) Tpara = N + N2 / p

- (2) Tpara = ( N + N2 ) / p + 100

- (3) Tpara = ( N + N2 ) / p + 0.6p2

O(N2) algorithmeO(N) chaque p

Aspects quantitatifs de la conception

Exemple d’accélérationExemple d’accélération

S = 10.8 pour P = 12 et N = 100

D’après IAN FOSTER «DBPP»

Aspects quantitatifs de la conception

Exemple d’accélérationExemple d’accélération

S = 10.8 pour P = 12 et N = 1000

D’après IAN FOSTER «DBPP»

Aspects quantitatifs de la conception

Modèle de performanceModèle de performance

Temps d’exécution:

- T = f (N, P, U, …)

- N: dimension du problème

- P: nombre de processus

- U: nombre des tâches

T = (Tjcomp + Tj

comm + Tjidle)

Aspects quantitatifs de la conception

Modèle de performanceModèle de performance

)(1

1

jidle

jcomm

P

j

jcompmoy TTT

PT

D’après IAN FOSTER «DBPP»

Aspects quantitatifs de la conception

Temps de calculTemps de calcul

Temps de calcul dépend de:

- Complexité et dimension du problème

- Nombre de tâches dans les processus

- Grosseur des tâches

- Type de processeur (vitesse, nombre de bits ….)

- Type d’architecture

- Système d’exploitation

- ……………… ……………… ……………… ………………

Aspects quantitatifs de la conception

Temps de communicationTemps de communication

Dépend de:

- L’architecture parallèle

- Taille des données

Tmsg = ts + twL

- ts: temps de préparation

- tw: temps de transfert d’un mot

- L: nombre de mots dans le message

Aspects quantitatifs de la conception

Temps de communication Temps de communication

OdinateurOdinateur t tss((µµs)s) ttw w

((µµs)s)

IBM SP2IBM SP2 4040 0.110.11

Intel ParagonIntel Paragon 121121 0.070.07

Meiko CS-2Meiko CS-2 8787 0.080.08

Sparc/EthernetSparc/Ethernet 15001500 5.05.0

Sparc/FDDISparc/FDDI 11501150 1.11.1

Aspects quantitatifs de la conception

Temps de communication Temps de communication

D’après IAN FOSTER «DBPP»

Aspects quantitatifs de la conception

Temps d’attenteTemps d’attente

Difficile à évaluer

Dépend de:

- Ordre d’exécution des opérations

- Complexité et dimension N du problème

- Nombre de tâches dans les processeurs

- Grosseur des tâches

- Type de processeur

Aspects quantitatifs de la conception

Temps d’attenteTemps d’attente

Peut être amélioré par:

- Balançant les charges des processeurs

- créer plusieurs tâches dans un processeur

- profiter du temps d’attente des processeurs

D’après IAN FOSTER «DBPP»

Aspects quantitatifs de la conception

Exemple: différence finie de 9 ptsExemple: différence finie de 9 pts

Chaque processeur communique avec ses 2 voisins

Temps de calcul:

- Tcomp = tc N2 Z

(tc: temps de calcul de chaque cellule)

Temps de communication:

- Tcomm = 2 P (ts + 2 tw N Z)

Temps d’attente = 0

N N

Z

Aspects quantitatifs de la conception

Exemple: différence finie de 9 ptsExemple: différence finie de 9 pts

Temps d’exécution moyen:

- Tmoy = (Tcomp + Tcomm) / P = N2 Z tc / P + 2ts + 4 tw NZ

Accéleration (Speed-up):

- S = Tseq / Tmoy= tc N2 Z / ( N2 Z tc / P + 2ts + 4 tw NZ )

Efficacité:

- E = S / P = T1 / (Tcomp + Tiddle + Tcomm)

Aspects quantitatifs de la conception

Analyse d’extensibilitéAnalyse d’extensibilité

Extensibilité: facilité de s’adapter avec la dimension du problème et le nombre de processeurs

Exemple précédent:

- E = tc N2 Z / ( N2 Z tc + 2tsP + 4 tw NZP )

- Tmoy = N2 Z tc / P + 2ts + 4 tw NZ

- E diminue avec P, ts et tw

- E augmente avec N, Z et tc

- Tmoy diminue avec P mais limité par 2ts + 4 tw NZ

- Tmoy augmente avec N, Z, tc, ts et tw

Aspects quantitatifs de la conception

Questions concernant Questions concernant l’extensibilitél’extensibilité

L’algorithme répond-t-il aux exigences (temps d’exécution, mémoire requise, ...)?

Peut-il s’adapter avec la dimension du problème ?

Peut-il s’adapter avec le nombre de processeurs P ?

D’autres algorithmes peuvent faire mieux le travail ?

Combien ça coûte ?

Aspects quantitatifs de la conception

Extensibilité avec dimension fixeExtensibilité avec dimension fixe

N et Z sont fixe, P est variable

TMoy et E diminue avec P

tc = 1 µsec, ts = 100 µsec, tw = 0.4 µsec, Z = 10

D’après IAN FOSTER «DBPP»

Aspects quantitatifs de la conception

Profil du temps d’exécutionProfil du temps d’exécution

Tracer et observer différents temps en fonction du nombre de processeurs

Reconsidérer certaines conceptions au besoin

Si Tcomm est trop grand:

- dupliquer certains calculs au lieu de communiquer.

- refaire la répartition pour diminuer la communication

- augmenter la granularité pour diminuer la communication

si Tcomp est trop grand:

- changer l’algorithme

- augmenter P

Aspects quantitatifs de la conception

Profil du temps d’exécutionProfil du temps d’exécution

Différence finie 1DDifférence finie 1D N=512, Z= 1, N=512, Z= 1, ttc c == 1 µsec1 µsec, , tts = s = 100 µsec, t100 µsec, tw w = 0.8 µsec= 0.8 µsec

D’après IAN FOSTER «DBPP»

Aspects quantitatifs de la conception

Évaluation pratiqueÉvaluation pratique

La performance théorique ne reflète pas la réalité

L’analyse théorique sert comme guide dans la conception

Nécessité de mesures expérimentales pour évaluer la performance réelle

Aspects quantitatifs de la conception

Mesures pratiquesMesures pratiques

Ajouter les appels dans le code pour la lecture de l’horloge.

Certains outils de “profiling” peuvent aider à mesurer les paramètres de temps

Répéter les expériences pour avoir une bonne moyenne

Faire de grandes boucles du même calcul pour avoir une meilleure estimation de Tcomp

Transmettre de longs messages pour avoir une meilleure estimation de tw

Aspects quantitatifs de la conception

Mesures pratiquesMesures pratiques

Difficultés inévitables

- horloge non précise (pas assez de chiffres significatifs)

- interférences des autres usagers (système multi-usager)

- achalandage dans la communication (ex: réseau Ethernet)

- algorithme non déterministe: l’exécution dépend des conditions

Aspects quantitatifs de la conception

Lissage des paramètresLissage des paramètres

Exemple: on veut déterminer les paramètres ts et tw dans:

- Tmsg = ts + tw L

Effectuer plusieurs mesures avec différents L

Faire le lissage pour obtenir les paramètres

Aspects quantitatifs de la conception

Autres paramètres des Autres paramètres des performanceperformance

Effet de l’architecture

- Cross-bar

- Bus

- Structure maillé

Entrée/Sortie:

- Disque

- Numérique-analogique (applications temps réels)

- Écran

Aspects quantitatifs de la conception

ConclusionConclusion

Définition et formulation de la performance en terme de:

- temps d’exécution Texec

- efficacité E

Valider les formules de performance avec les mesures expérimentales:

- mesures

- lissage

Aspects quantitatifs de la conception

Exemple de calculExemple de calcul

On désire comparer les deux types d’agglomération de la simulation de l’équation de la chaleur dans une plaque métallique :

- agglomération en réduisant la dimension

- agglomération en augmentant la granularité

Pour simplifier en suppose que le nombre de subdivision en ligne égale le nombre de subdivision en colonne et que le nombre de processeurs p est un carré (càd p=q2)

Calculer Tcomp et Tcomm (le temps de calcul et le temps de communication) pour chaque cas si tc est le temps de calcul d’une seule case, ts est le temps de préparation d’un message et tw le temps de transfert d’une seule donnée.

Calculer l’efficacité et l’accélération pour chaque cas si T iddle=0.

D’après vous quelle est la meilleure l’agglomération (tc = 0.5ms, ts = 40µs, tw = 0.11µs), justifier votre réponse.