Aspects quantitatifs de la conception Professeur: Nilo Stolte Chargé de Cours: Mohammed ELKANOUNI Département de génie logiciel et des TI Sommaire Introduction Métriques de performance Modèle de performance Analyse d’extensibilité Aspects quantitatifs de la conception Introduction 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 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 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) 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 - Sp - Code séquentiel : S = 1 - Code « purement » parallèle : S = p Aspects quantitatifs de la conception 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 S t1 E P Ptp Aspects quantitatifs de la conception La 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’Amdahl pourcentage de code séquentiel Illustration: P 10 100 1000 10000 50% 1.82 1.98 1.99 1.99 10% 5.26 9.17 9.91 9.91 Aspects quantitatifs de la conception 1% 9.17 50.25 90.99 99.02 La loi d’Amdahl Accélération limitée par la partie séquentielle Limite indépendante du nombre de processeurs P 50% ∞ 2 10% 1% 10 100 Les facteurs qui empêchent S de dépasser 1/ - Tâches en attente des résultats des autres - Temps de communication Aspects quantitatifs de la conception Exemple d’accélération Algorithme: S = 10.8 sur 12 processeurs (N=100) O(N2) algorithme Exécution séquentielle: O(N) chaque p - 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 Aspects quantitatifs de la conception Exemple 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ération S = 10.8 pour P = 12 et N = 1000 D’après IAN FOSTER «DBPP» Aspects quantitatifs de la conception Modè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 + Tjcomm + Tjidle) Aspects quantitatifs de la conception Modèle de performance D’après IAN FOSTER «DBPP» Tmoy 1 P j j j (Tcomp Tcomm Tidle ) P j 1 Aspects quantitatifs de la conception Temps 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 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 Odinateur ts(µs) tw (µs) IBM SP2 40 0.11 Intel Paragon 121 0.07 Meiko CS-2 87 0.08 Sparc/Ethernet 1500 5.0 Sparc/FDDI 1150 1.1 Aspects quantitatifs de la conception Temps de communication D’après IAN FOSTER «DBPP» Aspects quantitatifs de la conception Temps 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’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 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 Aspects quantitatifs de la conception Z N N Exemple: 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é 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 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 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é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écution D’après IAN FOSTER «DBPP» Différence finie 1D N=512, Z= 1, tc = 1 µsec, ts = 100 µsec, tw = 0.8 µsec Aspects quantitatifs de la conception É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 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 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è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 performance 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 Conclusion 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 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 Tiddle=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. Aspects quantitatifs de la conception