Aspects quantitatifs de la conception

Slides:



Advertisements
Présentations similaires
GEF 435 Principes des systèmes d’exploitation
Advertisements

Tests et Validation du logiciel
Architecture de machines Le microprocesseur
© Copyright 2007 Arumtec. All rights reserved. Présentation Etude déligibilité
ETUDE DU NEWS BOY PROBLEM
Systèmes, algorithmes et applications: Efficacité du parallélisme. Gaétan Hains LIFO, Université d'Orléans Janvier 2001.
Test de Systèmes Intégrés Digitaux et Mixtes
Les TESTS STATISTIQUES
DEME - La méthode d’enquête – introduction
David Bounie Thomas Houy
Les TESTS STATISTIQUES
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
Auto Apprentissage Le DSP
et évaluation des compétences
Séminaire IMS 10/01/2008 Distribution large échelle d’un algorithme financier de contrôle stochastique CIGC05 - GCPMF Xavier WARIN (EDF R&D - OSIRIS) Stéphane.
Parallélisation d’un Algorithme CNFT
Safae LAQRICHI, Didier Gourc, François Marmier {safae
CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :
Chapitre VII :Commande par retour d’état
Application à la méthode des
Application des algorithmes génétiques
Parcours de formation SIN-7
Chapitre 2: Les régularités et les relations
Création d’un programme :
Régression linéaire simple
Exemple de conception d’un algorithme parallèle: Système planétaire

Conception des algorithmes parallèles
Techniques de test Boulanger Jean-Louis.
Mesurer l’efficacité des algorithmes
Contribution à l’étude du couplage transfert de matière-réaction chimique lors de l’absorption de CO2 dans une saumure GLS–F juin 2007 Carry-le-Rouet.
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Module 3 : Analyse des performances du serveur
Algorithmes probabilistes
Détection du meilleur format de compression pour une matrice creuse dans un environnement parallèle hétérogène Olfa HAMDI-LARBI.
ASI 3 Méthodes numériques pour l’ingénieur
Analyse des Algorithmes
L’adaptativité pour un solveur de l’équation de Vlasov
Analyse d’algorithmes
Importance du réseau dans des architectures MIMD Tout échange entre les processeurs nécessite un transfert de données via le réseau.
Vue d'ensemble Surveillance des journaux d'événements
Fadwa AMRI Fanny COUTURIER Virginie ROMAIN.
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
Module 8 : Surveillance des performances de SQL Server
Projet pour un festival des sciences Entrez le titre du projet ici Votre nom Nom de votre professeur Votre école.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Performance de circuits.
LA POSE D’UN DIAGNOSTIC Jm bouthors - Consultant
Les processus métiers : concepts, modèles et systèmes Claude Godart Université de lorraine. Esstin
Les réseaux de neurones à réservoir en traitement d’images
GF-11: Tri Interne Efficace et Tri Externe
Institut de sciences et technologies Département d’informatique
Travaux Pratiques Optimisation Combinatoire
Initiation à la conception des systèmes d'informations
Steven Derrien Équipe R2D2
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Introduction et Généralités sur l’Algorithmique
Les réseaux de neurones à réservoir en traitement d’images
APERCU SUR LA METHODOLOGIE Rencontre avec les APERCU SUR LA METHODOLOGIE Rencontre avec les agrégatifs Professeur Moustapha Kassé
Optimisation pour la Conception de Systèmes Embarqués
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
1/16 Chapitre 3: Représentation des systèmes par la notion de variables d’état Contenu du chapitre 3.1. Introduction 3.2. Les variables d’état d’un système.
Sujet 5 : Intégration d’une loi d’ordonnancement dans un modèle
Introduction aux architectures parallèles
Architecture et technologie des ordinateurs II
CSI2510 Structures de données et algorithmes Analyse des algorithmes
Dr Vincent BIGE Centre de référence Mucoviscidose de Lyon
Algorithmes parallèles
Chapitre 12 Surveillance des ressources et des performances Module S41.
GdR MoMaS Novembre 2003 Conditions d’interface optimales algébriques pour la vibro-élasticité. François-Xavier Roux (ONERA) Laurent Sériès (ONERA) Yacine.
Transcription de la présentation:

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

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

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

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

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

La loi d’Amdahl Accélération: 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/

La loi d’Amdahl  pourcentage de code séquentiel Illustration: P  50% 10% 1% 10 1.82 5.26 9.17 100 1.98 50.25 1000 1.99 9.91 90.99 10000 99.02

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 P  50% 10% 1% ∞ 2 10 100

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 O(N2) algorithme O(N) chaque p

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

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

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)

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

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

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

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

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

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

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»

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

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)

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

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 ?

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»

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

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

É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

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

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

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

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

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

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.