Introduction au calcul parallèle (PDF)
Document Details
Tags
Summary
Ce document présente une introduction au calcul parallèle, détaillant ses concepts et posant des questions clés sur le sujet, ainsi que les applications qui en dépendent. Le document couvre la définition du parallélisme, les raisons derrière son utilisation, et si le parallélisme est vraiment nécessaire. Le cours contient également des informations sur le parallélisme à hautes performances, y compris la motivation derrière ce concept et des exemples d’applications.
Full Transcript
Chapitre 1 Introduction au ‘calcul parallèle’ ou ‘Parallélisme’ Plan du cours 1. Qu’est ce que le parallélisme ? 2. Pourquoi le parallélisme ? 3. Le parallélisme est-il vraiment nécessaire ? 4. Parallélisme à hautes performances 1. Qu’est ce que le parallélisme ?...
Chapitre 1 Introduction au ‘calcul parallèle’ ou ‘Parallélisme’ Plan du cours 1. Qu’est ce que le parallélisme ? 2. Pourquoi le parallélisme ? 3. Le parallélisme est-il vraiment nécessaire ? 4. Parallélisme à hautes performances 1. Qu’est ce que le parallélisme ? Définition : Le parallélisme est le fait d’utiliser un ensemble d’éléments de calcul capables de communiquer et de coopérer dans le but d’accélérer la résolution d’un seul problème. => Le parallélisme pose de nombreuses questions. 2 1. Un ensemble d’éléments de calcul … Combien ? S’agit-il d’un processeurs ou d’une partie d’un processeur ? De quelle puissance ? Que sont-ils capables de réaliser ? Quelle est la taille de leur mémoire associée ? Quelle en est l’organisation ? Comment les entrées/sorties sont-elles réalisées ? 3 2. … capables de communiquer … Comment sont-ils reliés les uns aux autres ? Que sont-ils capables d’échanger ? Quel est leur protocole d’échange d’informations ? 3. … et de coopérer … Comment synchronisent-ils leurs efforts ? Quel est leur degré d’autonomie ? 4 4. … dans le but d’accélérer la résolution d’un seul problème … Quels sont les problèmes à fort potentiel de parallélisme ? Quel est le modèle de calcul utilisé ? Quel est le degré de spécialisation des machines à un problème donné ? Comment choisir les algorithmes ? Quelle efficacité peut-on espérer ? 5 Comment ces machines se programment-elles ? Quels langages faut-il ? Comment exprimer le parallélisme ? Cette expression est-elle automatique ou manuelle ? Liste de questions incomplète … 6 2. Pourquoi le parallélisme ? La puissance de calcul des premiers ordinateurs (machines séquentielles) a considérablement augmenté sans pour autant pouvoir satisfaire la demande toujours croissante d’applications dans plusieurs domaines, tels que : La simulation et la modélisation. L’ingénierie. La recherche de ressources énergétiques. La recherche médicale ou militaire. Etc. Le parallélisme est une réponse à cette problématique 7 Apparition du parallélisme Dans les processeurs (en faisant exécuter plusieurs opérations en même temps). Puis, dans les ordinateurs (par duplication des éléments de calcul). Le parallélisme permet L’amélioration des performances de calcul. L’accroissement de la taille des problèmes à résoudre (capacité mémoire). De produire des machines ayant un bon rapport coût/performance (coûts très importants pour accroître la puissance d’un élément de calcul). 8 3. Le parallélisme est-il vraiment nécessaire ? La puissance des ordinateurs séquentiels augmente de manière régulière (elle double tous les 18 mois: Loi de Moore). On pourrait croire qu’elle sera toujours suffisante et que les machines parallèles(ordinateurs multiprocesseurs) sont inutiles. C’est faux, pour plusieurs raisons : 9 Les améliorations futures des vitesses de calcul des processeurs sont limitées par des contraintes : Physiques, telles que la vitesse de la lumière. Economiques, à savoir les coûts très élevés de fabrication des processeurs. Plus on a plus on en veut ! 10 Un certain nombre d’applications ont été classées «grand challenge» et font l’objet de recherches intensives, tant au niveau matériel qu’au niveau logiciel. Elles nécessitent très souvent des puissances de traitement supérieurs à celles que peut fournir un ordinateur séquentiel, aussi performant soit-il, 11 Elles sont également appelées «applications 3T», parce qu’elles nécessitent pour leur exécution: 1 Téraflops ( un billion d'opérations en virgule flottante par seconde) 1 Téraoctet de mémoire centrale 1 Téraoctet par seconde de bande passante pour produire les résultats. Ces applications ne peuvent être réalisées qu’en ayant recours au parallélisme massif. Remarque : Maintenant, on parle carément de Pétaflops et Pétaoctes 12 Ordres de grandeur: (G: giga, T: téra, P: péta) 1 TéraFlops = 10 E(12) opérations flottantes par seconde. 1 PetaByte : vidéo de 2300 ans, 1 milliard de livres… Les superordinateurs du début des années 90 atteignent à peine quelques centaines de Mégaflops. Actuellement, la machine la plus puissante au monde est Fujitsu Fugaku system (415.5 TéraFlops) (www.top500.org) Alors que les PCs : quelques Gigaflops. 13 4. Parallélisme à hautes performances 1. Motivation Applications « Grand Challenge »: Problème fondamental Grands impacts sur l’industrie, la science ou la société Solution par l’utilisation du calcul à hautes performances Besoins importants En puissance de calcul En mémoire 14 4.2. Exemples de «Grands challenges» Ingénierie : Génie nucléaire Modélisation et simulation : Génie chimique Conception aéronautique, Robotique dynamique automobile Microélectronique … Prévision météorologique Calculs symboliques dont : Analyse sismique Reconnaissance de la parole Prospection pétrolière … Vision par ordinateur Compréhension du langage naturel Raisonnement automatique … Recherche médicale ou militaire… 15