Et maintenant, o - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Et maintenant, o

Description:

Question plus fondamentale (et importante): Lorsque toutes les ... Un syst me ' front end ' qui sp cule de fa on agressive, allant jusqu' pr dire les valeurs manquantes ... – PowerPoint PPT presentation

Number of Views:21
Avg rating:3.0/5.0
Slides: 19
Provided by: frdricm4
Category:

less

Transcript and Presenter's Notes

Title: Et maintenant, o


1
Et maintenant, où allons-nous?
  • Après toutes les techniques vues jusquici
  • Que peut-on faire de plus?
  • Question plus fondamentale (et importante)
    Lorsque toutes les techniques vues jusquici sont
    en place, doù viennent les limites de
    performance?

2
Quelles sont les limites de performance qui nont
pas été abordées jusquici?
  • Dans les années 50, lorsquon sest aperçu que
    les ordinateurs passaient le plus clair de leur
    temps à faire des entrées/sorties, on a découplé
    les E/S (I/O) du processeur central.
  • Plus tard, on a même introduit les systèmes
     batch , pour augmenter le niveau dutilisation
    du CPU central.
  • En quoi ces deux problèmes des années 50
    sont-ils semblables à ce qui limite maintenant la
    performance?

3
Le temps daccès à la mémoire est grand!
  • Maintenant, dans les années 2000, quest-ce qui
    limite la performance des processeurs?
  • Le temps daccès à la mémoire est de plus en plus
    grand par rapport au temps dexécution du
    processeur.
  • Lorsquun accès à la mémoire est fait, on observe
    les temps daccès suivants (valeurs provenant
    dun processeur Alpha 21164 à 300 MHz)
  • Pas de délai pour le cache L1
  • 7 cycles pour un accès manqué dans L1, réussi
    dans L2
  • 21 cycles pour un accès manqué dans L2, réussi
    dans L3
  • 80 cycles pour un accès à la mémoire

4
Les implications des grands temps daccès
  • Les délais impliqués lorsque les données ne sont
    pas dans les mémoires caches sont très grands.
  • Donc, lorsquil y a un  cache miss , le
    processeur va sarrêter pendant un long moment
    (en supposant quon ne peut exécuter dautres
    instructions qui sont déjà dans le processeur)
  • Ceci va se passer assez souvent lorsquon vient
    de faire un saut dans une nouvelle partie de code
  • Si le délai daccès à la mémoire est trop grand,
    éventuellement linstruction en attente va
    arrêter toutes les autres à causes de dépendances
    de données
  • Dune certain façon, on revient au problème vécu
    dans les années 50 le processeur passe trop de
    temps à faire des entrées/sorties, et le CPU (les
    unités dexécution dans notre cas) sont trop
    souvent inactives en attendant que les données
    soient disponibles)

5
Une solution possible aux grands temps daccès à
la mémoire
  • Dans les années 50, on a tout fait pour garder
    le CPU occupé autant que possible
  • Dans les années 2000, on doit aussi tenter de
    garder (toutes) les unités dexécution occupées,
    même pendant un accès à la mémoire
  • Au niveau du système dexploitation, on sait
    quil y a souvent beaucoup de threads qui
    existent au niveau du répartiteur.
  • Et si on faisait le context switch entre les
    threads au niveau du processeur?

6
Les processeurs multithreaded lavenir?
  • Puisque le processeur est souvent inactif (en
    tout ou en partie, i.e. toutes/certaines unités
    dexécution sont inutilisées), une idée
    intéressante est de faire exécuter plusieurs
    threads parallèles par le processeur
  • En ayant plus dinstructions parmi lesquelles
    choisir, le taux doccupation des unités
    dexécution devrait augmenter

7
Les processeurs multithreaded Quest-ce que
cest?
  • On définit une machine  multithreaded  ainsi
  • Processeur dans lequel les instructions à
    exécuter proviennent potentiellement de
    différents threads
  • Quel est lavantage de ces machines?
  • Lorsquun thread est immobilisé (par une
    instruction en attente de quelque donnée ou unité
    dexécution), dautres instructions provenant de
    dautres threads peuvent sexécuter
  • Les threads partagent la même mémoire, donc
    laccès à la mémoire (le tableau des pages) na
    pas besoin dêtre modifié

8
Types de machines  multithread 
  • Machine single-thread scalaire

9
Types de machines  multithread 
  • Machine multi-thread scalaire par bloc

Changement de contexte (Context Switch)
10
Types de machines  multithread 
  • Machine multi-thread scalaire cycle-par-cycle

11
Types de machines  multithread 
  • Machine single-thread superscalaire

12
Types de machines  multithread 
  • Machine single-thread VLIW

13
Types de machines  multithread 
  • Machine multi-thread superscalaire
    cycle-par-cycle

14
Types de machines  multithread 
  • Machine multi-thread VLIW cycle-par-cycle

15
Types de machines  multithread 
  • Machine multi-thread superscalaire par émission
    (Simultaneous multithreading, SMT)
  • Université de Washington (1995), Karlsruhe (1996)

16
Types de machines  multithread 
  • Machine multi-thread scalaire par émission (chip
    multiprocessor, CMP)

17
Le futur quoi dautre?
  • On a remarqué que dans de nombreux programmes,
    les mêmes variables sont lues de façon répétitive
    avec les mêmes valeurs.
  • Idée on va commencer lexécution dune
    instruction avant de connaître la valeur de ses
    opérandes, en utilisant des valeurs  prédites 
    à partir des valeurs précédentes
  • On appelle cette technique la  superspéculation 

18
La superspéculation
  • Les processeurs utilisant cette technique
    utilisent deux sous-systèmes
  • Un système  front end  qui spécule de façon
    agressive, allant jusquà prédire les valeurs
    manquantes
  • Un système  back end  qui valide les
    prédictions de valeurs et qui peut corriger le
    tir lorsque nécessaire
Write a Comment
User Comments (0)
About PowerShow.com