Différentes approches multithreads
Processeurs multithreads et multicœurs
H1090 v1 Article de référence

Différentes approches multithreads
Processeurs multithreads et multicœurs

Auteur(s) : Daniel ETIEMBLE

Date de publication : 10 mai 2018 | Read in English

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

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

Sommaire

Présentation

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.

Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


DOI (Digital Object Identifier)

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

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

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

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

2. Différentes approches multithreads

2.1 Utilisation de processeurs logiques

Le support matériel du multithreading consiste à doter un processeur physique de ressources physiques minimales supplémentaires : le contexte d’exécution de chaque thread qui comprend le compteur de programme, l’ensemble des registres et les informations d’état. Un processeur logique est donc constitué de ce contexte d’exécution et des ressources communes du processeur physique : opérateurs de calcul, caches et mémoire principale. La figure 3 compare un processeur monothread classique avec un processeur multithread. Le nombre de processeurs logiques et la manière de commuter entre ces processeurs distinguent les différents types de multithreading.

HAUT DE PAGE

2.2 Multithread gros grain

Le multithread gros grain consiste à doter le processeur d’un nombre réduit de processeurs logiques, généralement deux, et de commuter d’un processeur logique à un autre lors d’une attente d’un événement long comme un défaut de cache.

Le RS64-II d’IBM (, 1998) fut le premier processeur commercial à implanter le multithreading gros grain. C’est un processeur scalaire simple avec un pipeline de 5 étages. Il dispose de 2 processeurs logiques. Un de ces processeurs exécute le thread principal. Quand ce thread rencontre un événement de latence importante, comme un défaut de cache L2, il y a commutation sur le second processeur logique pour exécuter un thread secondaire. Pour une latence moins importante, il n’y a commutation que si le second thread est prêt à s’exécuter. Il n’y a pas de commutation si le second thread est lui-même en attente.

Ce processeur fut utilisé dans les serveurs IBM pSeries Model 680. Ce multithreading gros grain n’a pas eu un grand succès. D’après ...

Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Différentes approches multithreads

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

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

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

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

  • ...
Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(236 articles)

Une base complète d’articles

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

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Hiérarchie mémoire : les caches

Entre le ou les processeurs d'un ordinateur et les organes de stockage existe une hiérarchie de ...

Processeurs : exécution pipeline des instructions

Cet article présente les caractéristiques essentielles de l'exécution pipeline des instructions dans les ...

Microprocesseurs - Approche générale

Les microprocesseurs sont au cœur des systèmes numériques. Ils permettent le développement de logiciels ...

Introduction à l'architecture des ordinateurs

L'article commence par une brève histoire des machines informatiques et introduit ensuite les principes ...