ORDINATEURS
Article modifié le
Les machines parallèles et les machines massivement parallèles
Pour améliorer les performances des ordinateurs, les machines parallèles ont, dès le début de l'informatique, été conçues essentiellement pour les applications scientifiques. On appelle machines massivement parallèles les machines qui possèdent un très grand nombre de processeurs, ce nombre allant d'au moins cent processeurs à quelques dizaines de milliers. Les architectures parallèles utilisent intensément les techniques d'optimisation décrites plus haut (cf. supra, Les améliorations de l'architecture de von Neumann).
Le fonctionnement de ces machines repose sur le principe que l'on peut décomposer un programme en un ensemble de tâches indépendantes et communiquant entre elles, qui sont exécutées simultanément sur des processeurs différents. Selon la manière dont les processeurs coopèrent au cours du traitement, on distingue les systèmes fortement couplés des systèmes faiblement couplés. Par ailleurs, deux types d'architectures parallèles existent concurremment : les multiprocesseurs et les multiordinateurs, mais, actuellement, les différences entre les deux types de systèmes tendent à s'estomper. Les multiprocesseurs se partagent une mémoire commune (la mémoire partagée), alors que les multiordinateurs sont constitués par l'interconnexion de multiples ordinateurs (souvent appelés nœuds), qui possèdent leur propre espace mémoire, leurs propres mémoires et, éventuellement, leurs propres unités d'entrées-sorties.
Remarquons que, quel que soit le type de machines parallèles employé, les performances dépendent fortement du type d'applications à traiter. En particulier, elles exigent de leurs utilisateurs une très bonne connaissance de l'architecture de la machine pour l'écriture de programmes efficaces. De plus, les problèmes à traiter doivent pouvoir être programmés selon des méthodes particulières, variables d'un système à l'autre, faute de quoi les performances de ces architectures seront tellement dégradées que l'usage des machines parallèles ne se justifie plus.
Les systèmes fortement couplés
Ces systèmes sont caractérisés par une communication interprocesseurs s'effectuant à travers la mémoire commune, partagée entre tous les processeurs. Le débit de la mémoire commune détermine donc les performances du système. De plus, il limite le nombre de processeurs possibles : plus le nombre de processeurs croît, et plus la probabilité de conflits d'accès mémoire (par exemple, la demande simultanée d'une opération mémoire sur le même mot mémoire) augmente également. La simultanéité d'exécution dans le système décroît alors très vite, entraînant des baisses de performances très sensibles. La figure 6 donne le schéma de principe d'un système fortement couplé.
Les systèmes faiblement couplés
Les systèmes faiblement couplés, eux, ne connaissent pas au même degré les problèmes de conflits d'accès mémoire car, dans de tels systèmes, chaque processeur dispose de périphériques propres et d'une grande mémoire locale, dans laquelle il va chercher instructions et données. Les processeurs communiquent donc plus rarement entre eux, grâce à des messages échangés au moyen d'un dispositif de transfert de messages, spécifique d'un système donné.
Les systèmes faiblement couplés peuvent donc être utilisés efficacement chaque fois que les interactions entre tâches sont très faibles. Si les interactions entre tâches nécessitent de nombreux transferts de messages entre processeurs, les performances sont fortement dégradées. La figure 7 représente un système faiblement couplé.
Les multiprocesseurs
Les architectures multiprocesseurs contiennent par définition plusieurs processeurs. Ceux-ci peuvent communiquer et coopérer à différents niveaux pour exécuter une ou plusieurs applications parallèles. Les différents processeurs sont dotés de capacités de traitement comparables et se partagent l'accès à un espace d'adressage commun, à des mémoires communes, à des canaux d'entrées-sorties et à des périphériques communs. Un espace d'adressage commun fait que tout processeur de l'architecture peut accéder librement à toutes les ressources, de manière uniforme. Cette uniformité dans l'accès aux ressources simplifie la programmation des applications, mais elle pose des problèmes complexes de cohérence mémoire (tous les processeurs qui accèdent à une case mémoire partagée doivent voir la même valeur au même instant).
Les architectures multiprocesseurs peuvent être contrôlées par un seul système d'exploitation qui autorise les interactions, à différents niveaux, entre les processeurs et leurs applications.
Les architectures multiprocesseurs utilisent un réseau d'interconnexions pour s'échanger des données. Un réseau d'interconnexions est un dispositif matériel qui permet d'établir une connexion soit entre deux processeurs quelconques, soit entre un processeur et une mémoire commune quelconque.
Les multiordinateurs
L'idée de base des multiordinateurs est simple : il s'agit de construire un système MIMD puissant, simplement en interconnectant un grand nombre d'ordinateurs existants. La structure (matériels et logiciels) d'un multiordinateur est donc modulable en fonction des besoins du traitement. De tels systèmes peuvent être conçus pour être tolérant aux pannes, c'est-à-dire qu'un système à n ordinateurs peut continuer à fonctionner comme un système à n – 1 ordinateurs, si l'un d'eux est défaillant. Les machines MIMD sont construites soit en interconnectant les processeurs par un bus unique, soit en les reliant par un réseau d'interconnexions. La figure 8 donne le schéma de principe d'un système multiordinateur.
Le parallélisme d'exécution des différents ordinateurs est limité par la nécessité de coordonner leurs activités lorsqu'ils opèrent sur des données partagées. La synchronisation des ordinateurs (mécanisme qui permet d'empêcher qu'un ordinateur ne commence à travailler sur une donnée partagée avant qu'un autre n'ait terminé son traitement sur cette même donnée) est d'autant plus délicate à réaliser que le nombre d'ordinateurs est grand. Les contraintes liées à la synchronisation limitent le degré de parallélisme dans l'exécution de l'application distribuée sur les structures MIMD.
Le développement de l'informatique s'explique par les progrès technologiques réalisés à un rythme très soutenu depuis plus de quatre décennies. Ces progrès ont permis d'offrir des puissances de calcul et des capacités mémoire sans cesse croissantes, tout en entraînant un abaissement considérable des prix de revient des machines, puisque ce sont désormais les logiciels qui représentent l'investissement le plus lourd dans un système informatique. L'évolution des ordinateurs jusqu'à présent met en évidence une certaine continuité dans les architectures de machines. Cependant, la nécessité de préserver les énormes investissements en logiciels freine la réalisation d'architectures originales. Pour ces raisons, les architectures nouvelles ne pourront s'imposer que si elles apportent un progrès décisif dans la production et la fiabilité des logiciels d'application.
Accédez à l'intégralité de nos articles
- Des contenus variés, complets et fiables
- Accessible sur tous les écrans
- Pas de publicité
Déjà abonné ? Se connecter
Écrit par
- Danièle DROMARD : maître de conférences à l'université de Paris-VI-Pierre-et-Marie-Curie, ingénieur de l'École polytechnique féminine, docteur-ingénieur
- François PÊCHEUX : professeur, Sorbonne université
Classification
Médias
Autres références
-
COMMERCIALISATION DES PREMIERS ORDINATEURS
- Écrit par Pierre MOUNIER-KUHN
- 217 mots
En Grande-Bretagne, une grande machine développée à l'université de Manchester, M.A.D.M. (Manchester Automatic Digital Machine), sert de prototype au Mark-1, ordinateur mis au point par la firme Ferranti et commercialisé dès 1951. En même temps, aux États-Unis, John P. Eckert et John W. Mauchly,...
-
PREMIERS ORDINATEURS - (repères chronologiques)
- Écrit par Pierre MOUNIER-KUHN
- 1 110 mots
1904 Le Britannique John Ambrose Fleming invente la diode, premier tube à vide comportant deux électrodes, qui permet de capter et de redresser un signal radio.
1906 L'Américain Lee De Forest invente la triode, tube à vide à trois électrodes, qui permet d'amplifier un faible courant...
-
AIKEN HOWARD HATHAWAY (1900-1973)
- Écrit par Bernard PIRE
- 506 mots
L’Américain Howard Aiken fut un des pionniers de l'informatique, concepteur de l'IBM Automatic Sequence Controlled Calculator (ASCC) encore appelé Harvard Mark I.
Après avoir suivi les cours d'une école technique tout en travaillant la nuit, Howard Hathaway Aiken, né le 9 mars 1900 à...
-
ALGORITHME
- Écrit par Alberto NAIBO et Thomas SEILLER
- 5 919 mots
- 4 médias
...fondateur dans la définition des principes théoriques de l’informatique. Mais c’est par la conception, la construction et la diffusion à large échelle des ordinateurs que la pratique informatique a pu pleinement se façonner et contribuer entre autres à l’évolution de la notion d’algorithme. La réalisation... -
APPLE
- Écrit par Pierre MOUNIER-KUHN
- 2 548 mots
- 2 médias
Archétype des start-up de la Silicon Valley, la société américaine Apple, fondée en 1976, a gagné fortune et célébrité par ses innovations de rupture, de l’ordinateur Macintosh au téléphone portable iPhone et à la tablette numérique iPad. Associée au talent visionnaire de son président historique,...
-
APPRENTISSAGE PROFOND ou DEEP LEARNING
- Écrit par Jean-Gabriel GANASCIA
- 2 646 mots
- 1 média
Apprentissage profond, deeplearning en anglais, ou encore « rétropropagation de gradient »… ces termes, quasi synonymes, désignent des techniques d’apprentissage machine (machine learning), une sous-branche de l’intelligence artificielle qui vise à construire automatiquement des connaissances...
- Afficher les 73 références
Voir aussi
- PROGRAMME, informatique
- CALCULATEURS
- MÉMOIRES MAGNÉTIQUES, informatique
- CISC (Complex Instruction Set Computer)
- RISC (Reduced Instruction Set Computer)
- PARALLÉLISME, informatique
- PIPELINE, informatique
- MÉMOIRE CENTRALE, informatique
- MÉMOIRE CACHE, informatique
- MICRO-ORDINATEUR
- RÉSEAUX LOCAUX, informatique
- SERVEUR, informatique
- CHEMIN DE DONNÉES, informatique
- UNITÉ DE COMMANDE, informatique
- CYCLE DE BASE, informatique
- COMPTEUR ORDINAL, informatique
- VECTORIELLE ARCHITECTURE, informatique
- SUPERSCALAIRE ARCHITECTURE, informatique
- SISD (Single Instruction Stream, Single Data Stream) ARCHITECTURE, informatique
- MIMD (Multiple Instructions Stream, Single Data Stream) ARCHITECTURE, informatique
- FLOT D'INSTRUCTIONS, informatique
- NUMÉRIQUES CALCULATEURS
- MULTIPROCESSEURS
- MULTIPROGRAMMATION
- IBM (International Business Machines Corporation)
- INSTRUCTION, informatique
- OPÉRANDE
- TEMPS PARTAGÉ ou TIME-SHARING, informatique
- PÉRIPHÉRIQUES, informatique
- ADRESSE, informatique
- BINAIRE SYSTÈME
- ARITHMÉTIQUES OPÉRATIONS
- ENTRÉE-SORTIE
- ENIAC (Electronic Numerical Integrator and Computer)
- INFORMATION, informatique et télécommunications
- MULTIMÉDIA
- TEMPS RÉEL
- LANGAGE, informatique
- ASSEMBLAGE, informatique
- COMPILATION, informatique
- GÉNÉRATIONS, informatique
- HORLOGE, informatique
- PEER-TO-PEER (P2P)
- PUISSANCE DE CALCUL, informatique
- PROCESSEUR MULTICŒURS
- INTÉGRATION, électronique
- MÉMOIRES VIRTUELLES
- MATÉRIEL, informatique
- MICROPROCESSEUR
- CLIENT-SERVEUR, informatique
- PC (personal computer)
- TERMINAL, informatique et télécommunications
- BUS, informatique
- PERFORMANCES, technologie
- ARCHITECTURE, informatique
- UNITÉ CENTRALE
- CANAL, informatique
- PROCESSEUR, informatique
- CAPACITÉ DE MÉMOIRE, informatique
- MICROPROGRAMMATION
- TRAITEMENT PAR LOTS, informatique
- FLOT DE DONNÉES, informatique
- VECTORISATION, informatique
- REGISTRE, informatique
- UNITÉ ARITHMÉTIQUE & LOGIQUE (UAL)
- VLSI (very large scale integration) CIRCUITS
- SIMD (Single Instruction Stream, Multiple Data Stream) ARCHITECTURE, informatique
- RÉSEAU, télécommunications
- NORMALISATION
- PROTOCOLE, informatique
- INTERCONNEXION DES SYSTÈMES OUVERTS (ISO) ou OSI (Open Systems Interconnection)
- TCP/IP (transport control protocol/Internet protocol)
- RÉSEAUX GRANDE DISTANCE, informatique