La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Objectif de lexposé. Programmation Mono-Threadée u Exécution séquentielle dun programme Instruction par instruction Instructions: Calcul, Mémoire, Branchement,

Présentations similaires


Présentation au sujet: "Objectif de lexposé. Programmation Mono-Threadée u Exécution séquentielle dun programme Instruction par instruction Instructions: Calcul, Mémoire, Branchement,"— Transcription de la présentation:

1 Objectif de lexposé

2 Programmation Mono-Threadée u Exécution séquentielle dun programme Instruction par instruction Instructions: Calcul, Mémoire, Branchement, appel de procédure,… u Processus, processus Lourd Structuration des systèmes dexploitation Multi-programmation, temps-partagé u Caractéristiques Entité active directement supportée par lOS Ù Flot dexécution Ù Pile des contextes de procédure Ù Espace dadressage privé Ù Ressources systèmes u Coût de gestion élevé Allocation des ressources (mémoire,…) Appels systèmes (Fork, exec, …)

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

4 Processeur SuperScalaire 4 Unités dexécution Interruption, exception, appel systèmeRetour dinterruption Processus 1Processus 2Changement de contexte Temps Ordonnanceur … u Réduire le temps des changements de contexte (cases grisées-bleues) u Accroître lutilisation des unités dexécution (cases blanches)

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

6 Les processus légers u Principe Détacher flot dexécution et ressources uIntroduits dans divers langages & systèmes Programmation concurrente Recouvrement des E/S Exploitation des architectures SMP thread ressources

7 Multithreading et Processeur SS Processeur SuperScalaire Interruption, exception, appel systèmeRetour dinterruption Thread 1Thread 2Context Switch Temps Scheduler …

8 Hyperthreading Evolution des architectures de processeurs

9 Phase 1: Processeurs Multithreadés (1) u Modification de larchitecture du processeur Incorporer au processeur deux (ou plus) jeux de registres pour les contextes des threads Ù Registres généraux Ù Program Counter (PC), registre dinstruction Ù 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 u Processeur IBM PowerPC RS 64 Recherche, non commercialisé

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

11 Phase 2: Processeurs Multithreads (1) u Modification de larchitecture du processeur Incorporer au processeur N jeux de registres pour les contextes des threads Ù Registres généraux Ù Program Counter (PC), registre dinstruction Ù 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) u Processeur TERA

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

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

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

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

16 Résumé


Télécharger ppt "Objectif de lexposé. Programmation Mono-Threadée u Exécution séquentielle dun programme Instruction par instruction Instructions: Calcul, Mémoire, Branchement,"

Présentations similaires


Annonces Google