Objectif de l’exposé.

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes dexploitation Le matériel des ordinateurs Revue Pt II (Tanenbaum 1.4)
Électronique de base du processeur
Le Concept du programme enregistré
Architecture de machines Le microprocesseur
Découverte de SQL Server par la pratique pour les administrateurs expérimentés Module 3 : Le serveur Patrick Guimonet Architecte Infrastructure Division.
Types des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitations
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Considération de temps.
GEF 435 Principes des systèmes d’exploitation
Plan du cours : 2ème Partie
Introduction aux systèmes d’exploitation
Le Grid Computing Par Frédéric ARLHAC & Jérôme MATTERA.
Présentation de l’Architecture Windows NT
PLAN du COURS Introduction Structure des Systèmes Informatiques
Le Concept du programme enregistré
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
Mémoire & Processus Cours SE - SRC
Architecture Systèmes
Informatique parallèle hautes performances
Système d’Exploitation
Thread Level Parallelism
Pourquoi MIPS Assembler ?
1 Threads et Lightweight Processes Chapitre 5 En français on utilise parfois flots ou fils pour threads. Votre manuel préfère le mot anglais thread : terminologie.
Système d’exploitation
Optimisation et parallélisation de code pour processeur à instructions SIMD multimedia François Ferrand.
Systèmes Superscalaires et VLIW
Module 51 Module 5 - Synchronisation de Processus (ou threads, ou fils ou tâches) Module 5 - Synchronisation de Processus (ou threads, ou fils ou tâches)
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Et maintenant, où allons-nous? Après toutes les techniques vues jusquici: Que peut-on faire.
Programmation concurrente
1 Module 3 - Fils (Threads) Lecture: Chapitre 4 Objectif: Comprendre le concept de fils et sa relation avec le processus Comprendre le concept de fils.
Chapitre 6 (Silberchatz)
Parallélisme des instructions
PROGRAMMATION MULTI-TÂCHES (MULTITHREADING)
IFT 6800 Atelier en Technologies d’information
Parallel Programming in C with MPI and OpenMP
Chap. 2 - Structure d’un ordinateur
Mécanismes d'exécution et de communication
Qu’est-ce qu’un système d’exploitation ?
L'Unité centrale (CPU) Le CPU doit être rapide (mesuré en temps de CPU) UNITE DE CONTROLE Générer les signaux de control/temps Contrôler le décodage/exécution.
Cours Architecture des Systèmes Informatiques
8INF856 Programmation sur architectures parallèles
André Seznec Caps Team IRISA/INRIA 1 Processeurs Hautes Performances Panorama et Nouveaux Défis André Seznec IRISA/INRIA
Un outil d’estimation du temps d’exécution au pire-cas par analyse statique de programmes IRISA - Projet Solidor Antoine COLIN.
L’architecture du processeur Xtensa de Tensilica
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Modélisation VHDL de.
ARPO: architecture des processeurs superscalaires,VLIW et optimisation André Seznec et François Bodin.
La programmation système
Programmation Système et Réseau
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
IRISA/INRIA. Processeurs Hautes Performances Panorama et Nouveaux Défis André Seznec IRISA/INRIA
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
PROJET CAPS Compilation, Architecture, Processeurs Superscalaires et Spécialisées.
PROJET CAPS Compilation, Architecture, Processeurs Superscalaires et Spécialisées.
ARPO: architecture des processeurs superscalaires,VLIW et optimisation André Seznec et François Bodin.
Micro contrôleurs M. Boutemeur
PROJET CAPS Compilation, Architecture, Parallélisme et Système.
Simulateur de microcontrôleur Intel 80C51
UE MAREP Cours 12 : Révisions
Patricia Renault UPMC 2005/2006
Cours Système LI324 Les Interruptions Cours Système LI324
Lancement du système Chapitre 3.
Les Processus.
1.1: notions de bases de l’informatique
CHAPITRE 10 Les sous-programmes 1. Sous-programme Suite d’instructions appelée de manière répétitive Par un programme Par plusieurs programmes distincts.
Algorithmes parallèles
Gestion des Tâches Les Processus. Un système multitâches La carte mère comporte Le Processeur (calcul et attente) Les jeux de composants spécialisés (entrées-sorties.
Visual Information Solutions Multithreading. Visual Information Solutions Qu’est-ce que le multithreading ? Un thread est une partie des instructions.
Transcription de la présentation:

Objectif de l’exposé

Programmation Mono-Threadée Exécution séquentielle d’un programme Instruction par instruction Instructions: Calcul, Mémoire, Branchement, appel de procédure,… Processus, processus Lourd Structuration des systèmes d’exploitation Multi-programmation, temps-partagé Caractéristiques Entité active directement supportée par l’OS Flot d’exécution Pile des contextes de procédure Espace d’adressage privé Ressources systèmes Coût de gestion élevé Allocation des ressources (mémoire,…) Appels systèmes (Fork, exec, …)

Instruction Level Parallelism Programme séquentiel N’y aurait-il pas des instructions indépendante qui pourraient être exécutées en parallèle? Comment générer de l’ILP? Pipe-line du processeur Recouvrement d’exécution d’instructions Limité par la divisibilité de l’instruction Superscalaire Plusieurs unités fonctionnelles Limité par le parallélisme intrinsèque du programme seq. Comment accroître l’ILP? Prédictions sur les branchements conditionnels Réordonnancer les instructions (Out of Order Execution) Recherche Domaines de l’Architecture-compilation

Processeur SuperScalaire 4 Unités d’exécution Processus 1 Processus 2 Changement de contexte … Ordonnanceur Temps Interruption, exception, appel système Retour d’interruption Réduire le temps des changements de contexte (cases grisées-bleues) Accroître l’utilisation des unités d’exécution (cases blanches)

Processus Légers/Threads Objectifs Mener plusieurs activités indépendantes au sein d’un processus Exploitation des architectures SMP Améliorer l’utilisation du processeurs (context-switch) Exemples Simulations Serveurs de fichiers Systèmes d’exploitation (!) Solution sans l’aide du multithreading Automate à états finis implanté « à la main » (sauvegardes d’états)

Les processus légers Principe Détacher flot d’exécution et ressources Introduits dans divers langages & systèmes Programmation concurrente Recouvrement des E/S Exploitation des architectures SMP thread ressources

Multithreading et Processeur SS Processeur SuperScalaire Thread 1 Context Switch Thread 2 … Scheduler Interruption, exception, appel système Retour d’interruption Temps

Evolution des architectures de processeurs Hyperthreading Evolution des architectures de processeurs

Phase 1: Processeurs Multithreadés (1) Modification de l’architecture du processeur Incorporer au processeur deux (ou plus) jeux de registres pour les contextes des threads Registres généraux Program Counter (PC), registre d’instruction Process Status Word (PSW), registre d’état A tout instant, un thread et son contexte sont actifs Changement du contexte courant instantané Appel système, IT Défaut de cache Processeur IBM PowerPC RS 64 Recherche, non commercialisé

Phase 1: Processeurs Multithreadés (2) Multithread à Gros Grain (Coarse-Grained Multi-threaded) Thread 1 Thread 2 Thread 3 Défaut de cache Appel Système Temps

Phase 2: Processeurs Multithreads (1) Modification de l’architecture du processeur Incorporer au processeur N jeux de registres pour les contextes des threads Registres généraux Program Counter (PC), registre d’instruction Process Status Word (PSW), registre d’état A tout instant, un thread et son contexte sont actifs Changement de contexte à chaque cycle Chaque thread dispose de son ratio du processeur (1/N) Processeur TERA

Phase 2: Processeurs Multithreadés (2) Multithread à Grain Fin (Fine-Grained Multi-threaded) 4 registres de threads : ¼ temps processeur par thread Thread 1 Thread 2 Thread 3 Thread 4 Temps

Processeurs HyperThreadés (1) Modification de l’architecture du processeur Incorporer au processeur N jeux de registres pour les contextes des threads Registres généraux Program Counter (PC), registre d’instruction Process Status Word (PSW), registre d’état A un instant donné, les unités du processeurs peuvent être partagées entre plusieurs threads Eviter de stresser les mêmes ressources Conflit d’accès à certaines unités d’exécution Processeur ALPHA EV8

Processeurs Hyper-Threadés (2) Thread 1 Thread 2 Thread 3 Thread 4 Temps

Architecture processeur Cray-TERA Applications 1 2 3 4 i=1 i=2 i=3 i=n … F (a) j=1 j=2 G(A) F (b) Threads concurrents j=3 … j=m Programme séquentiel Streams Pool d’instructions prêtes Pipeline d’instructions en cours d’exécution

Résumé