Encadré par : M. Mohammad EL GHABZOURI Elaboré par : - AZEGAMOUT Mohamed - ABOULKACEM abdelouahed - GOUN Ayoub EXPOSÉ Sous le thème : SER 2018 Parallélisme
les sources du parallélisme Principe du parallélisme conclusion
Principe du parallélisme Avantages Limites Principe du parallélisme Le parallélisme consiste à utiliser des architectures parallèles permettant de traiter des informations de manière simultanée dans le but de réaliser le plus grand nombre d’opérations par secondere Nouvelle approche et nouvelle vision Difficulté de programmation Portabilité souvent limitée. Modèle dominant depuis les années 2000 Contrer les contraintes physiques : dissipation thermique, consommation... Contrer les contraintes techniques : fréquence, stabilité....
Parallélisation : Utiliser plusieurs processeurs pour traiter un problème plus rapidement Généralement, seule une partie du problème peut se paralléliser Théorie du parallélisme 1-S = 25% S= 75% 1-S = 25%... S/3= 25% S/n = 0%
Les lois du parallélismes La loi d’Amdahl (1960) : la petite partie du programme qui ne peut être parallélisée limite la vitesse globale du programme La métrique de Karp-Flatt (1990) : intègre le coût lié au temps d’exécution des instructions qui mettent en œuvre le parallélisme La loi de Gustafson : analogue et prend en compte le cas où il est possible d’augmenter la quantité de données sur lesquelles les calculs sont effectués en parallèle
Loi d’Amdahl : Accélération maximale théoriquement atteignable s = fraction du programme parallélisée 1-s = fraction du programme séquentielle r = 1 / (1-s) + (s/p) Loi d’Amdahl
Métriques de performance parallèle Mesures de performances Evolution du temps d’exécution en fonction du nombre de processeurs p Accélération (en anglais, speedup): Sp = Ts /Tp Ts : temps d’exécution du meilleur algorithme séquentiel Tp : temps d’exécution de l’algorithme parallèle sur p processeurs
Plusieurs classes de speedup : Idéal : Tp = Ts /p Linéaire: Sp = α.Si (α< β ) Asymptotique: Sp < β Superlinéaire: Sp > Si Courbes de speedup
Efficacité: E= S/p Mesure le taux d’occupation « utile » des processeurs Efficacité
Les différents Sources du parallélisme Sources parallélisme de contrôle (de tâche) parallélism de données parallélisme de flux
1 2 3 parallélisme de contrôle (de tâche) parallélism de données parallélisme de flux 3 Sources du parallélisme 01 Source une application est composée d'actions (tâches) que l'on peut faire en même temps Les tâches peuvent être exécutées de manière plus ou moins indépendante sur des ressources de calcul (Processeurs Elémentaires: PE) Faire plusieurs choses en même temps Les actions peuvent être indépendantes ou dépendantes
1 2 3 parallélisme de contrôle (de tâche) parallélism de données parallélisme de flux Parallélisme de tache Action indépendantes 01 Source Associer une ressource de calcul à chaque action gain en temps d'exécution qui est linéaire : si on a N actions à exécuter et si on dispose de N processeurs alors on va N fois plus vite qu'avec un seul PE Faire plusieurs choses en même temps
1 2 3 parallélism de données parallélisme de flux Parallélisme de tache Action dépendantes 01 Source Dépendance : il faut qu'une action soit terminée pour qu'une autre commence Deux cas de dépendances : - Dépendance de contrôle de séquence : correspond au séquencement dans un algorithme classique, - Dépendance de contrôle de communication : lorsqu'une action envoie des informations à une autre action.
3 Sources du parallélisme 02 Source parallélisme de contrôle (de tâche) parallélism de données parallélisme de flux Certaines applications sont composées de données identiques (exemple : tableaux de données) sur lesquelles on doit répéter une même action Les ressources de calcul sont associées aux données les données identiques sont en très grand nombre : des milliers voire des millions Répéter une action sur des données similaires il faut répartir les données sur les PEs disponibles
parallélism de données les applications qui manipulent des données vectorielles utilisent aussi des scalaires Exemple : dans le programme l'action S porte sur un scalaire un seul PE travaille sur le scalaire pendant que les N-1 PEs restants sont inactifs grève très largement l'efficacité de la machine parallèle
1 2 3 Les ressources de calcul sont associées aux actions et chaînées telles que : les résultats des actions effectuées au temps T sont passés au temps T+1 au PE suivant parallélisme de contrôle (de tâche) parallélism de données parallélisme de flux certaines applications fonctionnent selon le mode du travail à la chaîne : on dispose d'un Flux de données, généralement similaires, sur lesquelles on doit effectuer une suite d'opérations en cascade mode de fonctionnement appelé Pipe-Line 03 Source 3 Sources du parallélisme
des données de type scalaire provenant d'un dispositif d'entrée des données de type vectoriel placées en mémoire Le flux de données peut provenir de deux sources : : parallélism de flux
Co Conclusion - Economiser du temps - Résoudre des problèmes de grande taille - Avoir accès à plus de mémoire et plus de puissance en cumulant les ressources matérielles - Pouvoir traiter plusieurs choses en même temps