Présentation

Article

1 - INTRODUCTION AU MULTITHREADING

2 - DIFFÉRENTES APPROCHES MULTITHREADS

3 - PROCESSEURS MULTICŒURS

4 - REMARQUES POUR CONCLURE

5 - ANNEXE : LES RÉSEAUX D’INTERCONNEXION

6 - ACRONYMES

Article de référence | Réf : H1090 v1

Remarques pour conclure
Processeurs multithreads et multicœurs

Auteur(s) : Daniel ETIEMBLE

Date de publication : 10 mai 2018

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Version en anglais English

RÉSUMÉ

Les processeurs multithreads et les processeurs multicœurs permettent l’utilisation des trois types de parallélisme (instructions, données et threads). Après un rappel des notions de processus et de thread, cet article aborde les processeurs multithreads, qui dotent un processeur physique de plusieurs contextes d’exécution se partageant les unités fonctionnelles, les caches et la mémoire. A un processeur physique correspondent plusieurs processeurs logiques exécutant chacun un thread. Les trois types de multithreading sont présentés: le multithread gros grain, le multithread grain fin et le multithread simultané.

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

Auteur(s)

  • Daniel ETIEMBLE : Ingénieur de l’INSA de Lyon - Professeur émérite à l’université Paris Sud

INTRODUCTION

Du parallélisme d’instructions au parallélisme de threads

Jusqu’au début des années 2000, l’augmentation des performances des monoprocesseurs a résulté de l’augmentation des fréquences d’horloge d’une part, de l’utilisation du parallélisme d’instructions d’autre part. L’article [H 1 058] décrit en détail cette évolution. Le « mur de la chaleur » n’a pas permis l’augmentation des fréquences d’horloge au-delà de 4 GHz. L’utilisation du parallélisme d’instructions dans les processeurs superscalaires à exécution des instructions dans l’ordre [H 1 010] et non ordonnée [H 1 011] a également atteint ses limites, même si l’utilisation du parallélisme de données avec les instructions SIMD [H 1 200] a permis d’augmenter les performances. Pour continuer à améliorer ces dernières, l’utilisation du parallélisme de threads dans les processeurs multithreads et multicœurs a permis de combiner les trois types de parallélisme : parallélisme d’instructions, parallélisme de données via les instructions SIMD et parallélisme de threads. Ce dernier type implique l’utilisation de la programmation parallèle. Cet article introduit les supports matériels pour le multithreading (processeurs multithreads) et les multicœurs. La plupart des processeurs d’usage général utilisés en 2017 (PC et serveurs) sont des multicœurs dont les cœurs sont multithreads.

Cet article est réservé aux abonnés.
Il vous reste 95% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1090


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Version en anglais English

4. Remarques pour conclure

Cet article a présenté les caractéristiques matérielles essentielles des processeurs multicœurs, dont les cœurs sont le plus souvent multithreads, que l’on trouve dans les processeurs d’usage général comme les PC et les serveurs. Il ne traite pas l’ensemble des architectures de processeurs à plusieurs cœurs, qui font ou feront l’objet d’articles particuliers de la collection, notamment :

  • les manycores qui sont les processeurs à très grand nombre de cœurs bien qu’il n’existe pas de frontière claire entre multicœurs et manycores. Ces processeurs restent encore au stade de prototypes industriels ou universitaires et visent le plus souvent des classes d’applications spécifiques ;

  • les accélérateurs de type coprocesseur comme le Xeon Phi d’Intel ;

  • les processeurs graphiques (GPU) qui relèvent d’un mode de fonctionnement différent : SIMT pour Single Instruction Multiple Thread.

L’approche multithread utilisée dans les processeurs présentés dans cet article vise particulièrement le marché des serveurs. L’objectif des serveurs est d’obtenir l’efficacité maximale en termes de débit d’exécution de plusieurs programmes, ce que permet le multithreading, alors qu’il est beaucoup plus difficile de diminuer le temps d’exécution d’un seul programme. La tendance a été d’augmenter le nombre de threads par processeur ou par cœur, comme le montre l’évolution des cœurs des familles Sparc et Power. L’approche Intel est différente, puisque l’hyperthreading utilise 2 threads par cœur, sauf exception. Intel ne fournit pas d’explications sur la raison de ce choix. Dans tous les cas, un effort particulier a été porté sur la microarchitecture pour que le fonctionnement multithread ne détériore pas trop le fonctionnement monothread du processeur ou cœur.

L’approche multicœur combinée avec l’approche multithread est la seule solution permettant de respecter les contraintes thermiques et de consommation (« mur de la chaleur ») tout en continuant à augmenter les performances. Le nombre maximal de cœurs et de threads par processeur a crû régulièrement depuis le milieu des années 2000, comme le montre la figure 28 pour les multicœurs à multithread simultané. On ne peut cependant pas affirmer que cette croissance va continuer. Avec l’augmentation du nombre de cœurs, la pression s’accentue sur les réseaux d’interconnexion...

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Remarques pour conclure
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - BORKENHAGEN (A.) et al -   « A Multithreaded Power PC Processor for Commercial Servers, » IBM J.  -  Research and Development, vol. 44, no. 6, Nov. 2000, pp. 885-898.

  • (2) - THORNTON (J.) -   Design of a Computer – The Control Data 6600.  -  http://www.mirrorservice.org/sites/www.bitsavers.org/pdf/cdc/cyber/books/DesignOfAComputer_CDC6600.pdf

  • (3) - SNELLING (D.F.), SMITH (B.J.) -   « MIMD Processing and the Denelcor HEP », Workshop on Using Multiprocessors in Meteorological Models, 3-6 December 1984,  -  https://www.ecmwf.int/sites/default/files/elibrary/1984/12351-mimd-processing-and-denelcor-hep.pdf

  • (4) - ALVERSON (G.) et al -   « The Tera Computer System, »  -  Proc. 1990 ACM Int’l Conf. Supercomputing (Supercomputing 90), IEEE CS Press, pp. 1-6 (1990).

  • (5) - JOHNSON (K.), RATHBONE (M.) -   « Sun’s Niagara Processor, A Multithread & Multi-core CPU »,  -  http://www.cs.nyu.edu/~lerner/spring10/projects/multicore-niagara.pdf

  • ...

Cet article est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(240 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS