Version 2013 MODÈLES D EXÉCUTION

Documents pareils
INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Exécution des instructions machine

Initiation au HPC - Généralités

Parallélisme et Répartition

Systèmes et traitement parallèles

Eléments d architecture des machines parallèles et distribuées

Architecture des calculateurs

Architecture des ordinateurs

Chapitre 1 - Langages de description d architectures matérielles hybrides

Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI.

Fonctionnement et performance des processeurs

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Conception de circuits numériques et architecture des ordinateurs

Tout savoir sur le matériel informatique

Introduction à la Programmation Parallèle: MPI

Vers du matériel libre

Quantification d incertitude et Tendances en HPC

<Insert Picture Here> Solaris pour la base de donnés Oracle

Exchange 2007 : Améliorations et nouvelles fonctionnalités Atelier 136. Société GRICS

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Happy birthday ZSet High performance computing dans ZSet

Diagrammes de Package, de déploiement et de composants UML

ANTI-VIRUS / PROTECTION DES POSTES DE TRAVAIL ET DES SERVEURS DE FICHIERS

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

SERVEUR LYNX CALLEO DATACENTER 2460

Détection d'intrusions en environnement haute performance

Cours Informatique 1. Monsieur SADOUNI Salheddine

Une méthode de conception de systèmes sur puce

Architecture des ordinateurs

Configuration système requise. pour les grandes et moyennes entreprises

Robot WIFIBOT Lab V3. 4 roues motrices

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Configuration système requise pour les grandes et moyennes entreprises

SNMP for cloud Jean Parpaillon. SNMP4cloud - 1

Le Network File System de Sun (NFS)

Sybase High Avalaibility

Conception de circuits numériques et architecture des ordinateurs

Consolidation. Grid Infrastructure avec la 11gR2

IV- Comment fonctionne un ordinateur?

Windows Server Chapitre 1: Découvrir Windows Server 2008

SERVEUR CALLEO APPLICATION R269M

Chapitre 4 : Les mémoires

Chapitre 1 : Introduction aux méthodologies de conception et de vérification pour SE

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

Les Réseaux sans fils : IEEE F. Nolot

Cours 13. RAID et SAN. 2004, Marc-André Léger

Serveur Lynx CALLEO Application 2240 Fiches Technique

ARCHITECTURE ET FONCTIONNEMENT

StruxureWare Power Monitoring v7.0. La nouvelle génération en matière de logiciel de gestion complète d énergie

RoomMate Guide de l'utilisateur

la virtualisation pour quoi faire?

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Objectif. Participant. Prérequis. Pédagogie. Oracle Enterprise Manager 10g Grid Control Rel 2. 5 Jours [35 Heures]

Boîte à outils OfficeScan

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Les environnements de calcul distribué

Sécurité des réseaux sans fil

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes

Rappels d architecture

Communication et connectivité

Serveur Lynx CALLEO Application 2240S Fiches Technique

Sommaire de la journée

Domain Name System. F. Nolot

TD Architecture des ordinateurs. Jean-Luc Dekeyser

ASR1 TD7 : Un microprocesseur RISC 16 bits

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Informatique Industrielle Année Architecture des ordinateurs Note de cours T.Dumartin

. Plan du cours. . Architecture: Fermi ( ), Kepler (12-?)

Matériel & Logiciels (Hardware & Software)

INSTRUMENTS DE MESURE SOFTWARE. Management software for remote and/or local monitoring networks

Programmation parallèle et distribuée

Consolidation de stockage

VTP. LAN Switching and Wireless Chapitre 4

Les avantages de la virtualisation sont multiples. On peut citer:

Virtualisation des ressources serveur. Exemple : Systèmes partitionnés sous HP-UX et Oracle

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

L INFORMATIQUE SOUS FORME DE SERVICE POUR VOTRE ENTREPRISE. Farid BENREJDAL Senior Systems Engineer VMware

Copyright Eurice Diffusion interdite

Produits E/S Agilent pour connexion PC-instrument Fiche technique

Proce dure Installation Cluster de basculement SQL Server 2005

Architectures d implémentation de Click&DECiDE NSI

Architecture des Ordinateurs. Partie II:

Spécifications détaillées

Livre blanc Haute disponibilité sous Linux

Une nouvelle Famille de systèmes

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

Chapitre 2 : Systèmes radio mobiles et concepts cellulaires

<Insert Picture Here> Maintenir le cap avec Oracle WebLogic Server

<Insert Picture Here> Exadata Storage Server et DB Machine V2

Génération de code binaire pour application multimedia : une approche au vol

Recherche dans un tableau

Le produit WG-1000 Wireless Gateway

Configuration système requise pour Trend Micro Control Manager 6.0

Remote Networking - Evolutions. Serge Lhermitte Technical Director, Southern Europe

MASTER SIR. Systèmes Informatiques & Réseaux

escan Entreprise Edititon Specialist Computer Distribution

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Chapitre 2. Cluster de calcul (Torque / Maui) Grid and Cloud Computing

Transcription:

Jean-luc.dekeyser@lifl.fr Version 2013 MODÈLES D EXÉCUTION

Supports de cours Organisation et architecture de l ordinateur William Stallings - Sixième Edition Pearson Education ISBN : 2-7440-7007-6 Programme de licence et Master 21/09/2012 2

PARALLÉLISME INTRINSÈQUE Extension du modèle Von Neumann 21/09/2012 3

Computer Components:Top Level View 21/09/2012 4

Type de fonctionnement Le processeur exécute (interprète) des instructions élémentaires Une séquence d'opérations peut décrire tous les problèmes notion de Programme 21/09/2012 5

Déroulement du programme Le déroulement du programme est contrôlé par le Compteur Ordinal qui pointe vers la prochaine instruction à exécuter. Les instructions sont exécutées en séquence sauf en cas de saut. (Jump) 6

Les données La mémoire conserve les données et les instructions, on parle de mémoire banalisée. Les instructions sont amenées une à une vers le processeur Les échanges entre mémoire / processeur se font via le bus 21/09/2012 7

Séquencement des instructions L'exécution d'une instruction passe par plusieurs étapes successives, chacune étant considérée comme une micro-opération. Certaines de ces actions correspondent à une activité mémoire, d'autres à une activité processeur. Pour effectuer une instruction, il faut toujours effectuer les actions suivantes 21/09/2012 8

Activités Processeur Activités Mémoire (2) Incrément (1) Fetch instr (3) Decode instr Phase de chargement (4) Calcul adr Op Opérandes multiples (5) Fetch operand Cycle instruction (6) Execution Phase d' exécution (7) Calcul adr res Résultats multiples (8) Store résultat Instruction sur des chaînes Instruction terminée 21/09/2012 9

Cycle du processeur L'exécution d'une instruction peut être découpée en plusieurs phases successives. Deux phases sont définies: la phase de chargement 'Fetch' et la phase d'exécution 'Execute'' Phase de Chargement Phase d' exécution 21/09/2012 10

Parallèle ou séquentiel Parallélisme est inhibé par le modèle d'exécution séquentiel Forcer une représentation séquentielle de problèmes présentant un certain degré de parallélisme entraîne nécessairement une perte d'efficacité dans l'amélioration des performances Vers une explicitation parallèle des algorithmes donc des programmes 21/09/2012 11

TYPES DE PARALLÉLISME 21/09/2012 12

parallélisme Modèles de programmation vs Modèles de fonctionnement Modèle de fonctionnement (d'exécution) est lié à l'architecture de la machine Il caractérise la façon dont sont exécutées les instructions élémentaires. Diverses classifications différencient ces modes de fonctionnement. 21/09/2012 13

Niveaux du parallélisme Modèle de programmation est lié à la traduction de l'algorithme Il caractérise la méthode de parallélisation d'algorithmes utilisée 21/09/2012 14

Développements architecturaux Solutions architecturales pour la mise en oeuvre du parallélisme intrinsèque du modèle séquentiel Mise en oeuvre du parallélisme à différents niveaux d'exécution 21/09/2012 15

Mise en oeuvre du parallélisme 1)Le fonctionnement du processeur Le déroulement du cycle de l'instruction prend en compte l'anticipation des instructions suivantes: principe du pipeline 21/09/2012 16

Mise en oeuvre du parallélisme(suite) 2)La hiérarchie du système mémoire Des mémoires rapides intermédiaires qui mémorisent dynamiquement des données et instructions qui seront réutilisées par le programme 21/09/2012 17

Mise en oeuvre du parallélisme(suite) 3)L'interface Processeurs / Mémoires Elle doit permettre d'assurer un transfert des données efficace entre un ou plusieurs processeurs et une ou plusieurs mémoires. 21/09/2012 18

Mise en oeuvre du parallélisme(suite) 4)Les systèmes Multi-Processeurs Par l'association de plusieurs unités de calcul indépendantes, on augmente le potentiel en terme de puissance de calcul. 21/09/2012 19

Classifications Flynn 72 Flux data et Instruction Flux d'instruction : séquence d'instruction exécutée par la machine. Flux de données : séquence des données appelées par le flux d'instructions 21/09/2012 20

Les caractéristiques de Flynn S Single I Instruction M Multiple D Data 21/09/2012 21

Classification de Flynn Flux d'instructions Un Plusieurs Flux de Un SISD MISD données Plusieurs SIMD MIMD 21/09/2012 22

Les classes de Flynn SISD: La plupart des ordinateurs actuels (Von Neumann) SIMD: Array processeur - même instruction sur des données différentes (Data parallélisme) 21/09/2012 23

Les classes de Flynn MISD: n PU recevant des instructions différentes mais avec le même Flux de données (ou un Flux dérivé). Notion de macro-pipe-line, Machine systolique. Pas de machine commerciale de ce type! MIMD: n PU se partagent l'accès à une mémoire unique ou multiple. SPMD: Même programme sur des données différentes. SIMD < SPMD < MIMD 21/09/2012 24

SISD IS IS DS CU PU MU 21/09/2012 25

SIMD PU DS MU IS CU IS PU DS MU 21/09/2012 26

Connection Machine 21/09/2012 27

MIMD IS IS DS CU PU MU IS IS DS CU PU MU 21/09/2012 28

MIMD (2) IS CU IS PU DS MU CU IS PU DS IS 21/09/2012 29

Mémoire partagée / mémoire distribuée La mémoire peut être physiquement construite par un ensemble de bancs mémoires visibles par l'ensemble des processeurs. 21/09/2012 30

Construction Dans ce cas un réseau d'alignement permet d'associer au même instant un certain nombre de bancs et de processeurs. La mémoire physiquement partagée est nécessairement logiquement partagée. 21/09/2012 31

Mémoire partagée MEMOIRE PARTAGEE RESEAU D'INTERCONNEXION CPU CPU CPU Cache Cache Cache 21/09/2012 32

Espace d adressage partagé Virtual address spaces for a collection of processes communicating via shared addresses Machine physical address space P n p r i v a t e L o a d P n P 1 P 2 Common physical addresses P 0 S t o r e Shared portion of address space P 2 p r i v a t e Private portion of address space P 1 P 0 p r i v a t e p r i v a t e Code système parallèle add hoc Nombreuses applications parallèles 21/09/2012 33

PCI bus PCI bus Intel Pentium Pro Quad CPU Interrupt controller Bus interface 256-KB L 2 $ P-Pro module P-Pro module P-Pro module P-Pro bus (64-bit data, 36-bit addr ess, 66 MHz) PCI bridge PCI bridge Memory contr oller PCI I/O cards MIU 1-, 2-, or 4-way interleaved DRAM Faible latence & bandwidth 21/09/2012 34

Mémoire partagée / mémoire distribuée Elle peut être construite par association de l'ensemble des mémoires de chaque processeur. Dans ce cas un réseau d'interconnexion relie l'ensemble des processeurs. 21/09/2012 35

Construction Les données externes au processeur sont véhiculées par ce réseau. La mémoire physiquement distribuée peut être logiquement distribuée ou logiquement partagée. 21/09/2012 36

Mémoire distribuée RESEAU D'INTERCONNEXION CPU CPU CPU Mem Mem Mem 21/09/2012 37

Classification / machines parallèles SIMD: mémoire partagée? mémoire distribuée DAP Connection machine MasPar (USTL) 21/09/2012 38

Multiprocesseur à mémoire partagée Trois modèles existent UMA : Uniform-Memory-Access NUMA : Non-Uniform-Memory-Access COMA : Cache-Only-Memory- Architecture 21/09/2012 39

UMA Partage uniforme de l'accès mémoire par tous les processeurs Temps d'accès égal pour chaque mot de la mémoire On parle de système fortement couplé: haut degré de partage de ressources 21/09/2012 40

UMA(suite) Utilisation d'un bus commun, d'un crossbar, d'un réseau multi-étage Communication et synchronisation se font via des variables partagées en mémoire 21/09/2012 41

UMA I/O devices Mem Mem Mem Mem I/O ctrl I/O ctrl Interconnect Interconnect Pr ocessor Pr ocessor Sequent Symmetry S-81 21/09/2012 42

NUMA Le temps d'accès dépend de la location de l'information en mémoire. 2 exemples 21/09/2012 43

NUMA:exemple 1 Une mémoire partagée peut être physiquement distribuée. L'adressage de la mémoire est global mais chaque processeur possède sa mémoire locale. Les accès à des adresses en mémoire locale sont plus rapides que ceux aux mémoires d'autres processeurs. 21/09/2012 44

Mémoire locale partagée LM P1 LM LM... P2 Pn Réseau d'inter connexion BBN Butterfly 21/09/2012 45

NUMA Exemple 2 On peut utiliser un système hiérarchisé de mémoires. Chaque processeur possède sa mémoire locale Les processeurs sont regroupés en cluster. Une mémoire est globalement partagée entre tous les clusters. 21/09/2012 46

NUMA 2 L'accès le plus rapide est local, Puis l'accès à la mémoire globale Enfin l'accès à une mémoire locale d'un autre processeur. 21/09/2012 47

NUMA (2) GSM GSM... GSM Global Interconnect Network P CSM P CSM P... P C I N Cluster 1 CSM... CSM... CSM: Cluster Shared Memory GSM: Global Shared Memory CIN: Cluster Inteconnect Network P... P Cedar System Univ Illinois C I N Cluster N CSM CSM 21/09/2012 48...

COMA Le modèle COMA est un cas particulier du modèle NUMA. Les mémoires locales sont remplacées par des mémoires caches. L'ensemble des caches forment l'espace d'adressage. 21/09/2012 49

COMA (suite) L'accès aux caches externes est assuré par un catalogue (directory) distribué sur l'ensemble des processeurs. ( Voir le cours sur les mémoires caches ) Les données vont migrer lors du calcul en fonction du processeur qui les utilise. 21/09/2012 50

COMA Interconnection Network Directory Directory Directory Cache Cache... Cache Proc Proc Proc KSR 1 21/09/2012 51

Autres modèles D'autres modèles ont été définis pour telle ou telle machine CC-NUMA : Cache Coherent Non Uniform Memory Access utilise une mémoire distribuée et des caches sur chaque processeur. (Ex Dash Stanford Whang Chap 9) 21/09/2012 52

Multicomputer à mémoire distribuée Un multicomputer est composé d'un certain nombre de noeuds interconnectés par un réseau à passage de messages. Il permet d'établir des liaisons point à point entre les noeuds de la machine. Les communications et synchronisations se font par l'envoi de messages entre les noeuds. 21/09/2012 53

Message-Passing Abstraction Match Receive Y, P, t Send X, Q, t Addr ess Y Addr ess X Local pr ocess addr ess space Local pr ocess addr ess space Pr ocess P Send spécifie un buffer à envoyer Pr ocess Q Recv spécifie une zone de rangement pour réception Mémoire à mémoire, identifier les processus Send/recv demande une synchronisation Beaucoup d overhead: copie, buffer, protection 21/09/2012 54

Mémoire des multicomputers Il n'y a pas d'accès à une mémoire autre que celle du noeud. Les mémoires locales sont dites mémoire privée. On parle alors de modèle NORMA: No Remote Memory Access. De nouvelles machines proposent actuellement des architectures équivalentes mais qui propose des mémoires partagées distribuées. ( Cray T3D ) 21/09/2012 55

Multicomputer message passing M P M P M M P P Message passing interconnection network P M P M P M P M 21/09/2012 56

Intel Paragon i860 L 1 $ i860 L 1 $ Intel Paragon node Memory bus (64-bit, 50 MHz) Mem ctrl DMA Sandia s Intel Paragon XP/S-based Super computer 4-way interleaved DRAM Driver NI 2D grid network with pr ocessing node attached to every switch 8 bits, 175 MHz, bidirectional 21/09/2012 57

DRAM IBM SP-2 Construction à partir de WS RS6000 Network interface intégrée au I/O bus (bw limité par le I/O bus) General inter connection network formed fr om 8-port switches Power 2 CPU Memory bus MicroChannel bus I/O L 2 $ Memory controller i860 IBM SP-2 node 4-way interleaved DRAM DMA NI NIC 21/09/2012 58