1 / 35

Aspects quantitatifs de la conception

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é. Introduction. Intérêt de l’étude de performance:

lucky
Download Presentation

Aspects quantitatifs de la conception

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aspects quantitatifs de la conception Professeur: Nilo Stolte Chargé de Cours: Mohammed ELKANOUNI Département de génie logiciel et des TI

  2. Sommaire • Introduction • Métriques de performance • Modèle de performance • Analyse d’extensibilité

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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/

  9. La loi d’Amdahl •  pourcentage de code séquentiel • Illustration:

  10. La 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

  11. O(N2) algorithmeO(N) chaque p Exemple 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

  12. Exemple d’accélération • S = 10.8 pour P = 12 et N = 100 D’après IAN FOSTER «DBPP»

  13. Exemple d’accélération • S = 10.8 pour P = 12 et N = 1000 D’après IAN FOSTER «DBPP»

  14. 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)

  15. Modèle de performance D’après IAN FOSTER «DBPP»

  16. 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 • ……………… ……………… ……………… ………………

  17. 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

  18. 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

  19. Temps de communication D’après IAN FOSTER «DBPP»

  20. 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

  21. 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»

  22. 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 Z N N

  23. 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)

  24. 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

  25. 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 ?

  26. Extensibilité avec dimension fixe • N et Z sont fixe, P est variable • TMoyet Ediminue avec P • tc =1 µsec, ts = 100 µsec, tw = 0.4 µsec, Z = 10 D’après IAN FOSTER «DBPP»

  27. 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

  28. Profil du temps d’exécution • Différence finie 1D • N=512, Z= 1, tc =1 µsec, ts = 100 µsec, tw = 0.8 µsec D’après IAN FOSTER «DBPP»

  29. É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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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.

More Related