CNAM. Principes des Caches. Ivan Boule

Documents pareils
SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

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

Structure fonctionnelle d un SGBD

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Croisière au cœur d un OS Étape 4 : Mise en place de la pagination

Architecture des ordinateurs

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

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

Gestion répartie de données - 1

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

Concept de machine virtuelle

Initiation au HPC - Généralités

Cours Informatique 1. Monsieur SADOUNI Salheddine

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Tests de performance du matériel

Architecture des calculateurs

CAHIER DES CHARGES D IMPLANTATION

Chapitre 4 : Les mémoires

GESTION DE LA MEMOIRE

Compilation (INF 564)

Manuel de System Monitor

Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP

Architecture des ordinateurs

La technologie Java Card TM

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Limitations of the Playstation 3 for High Performance Cluster Computing

KoinKoin. Système d exploitation à architecture basée micro-noyau. Antoine Castaing Nicolas Clermont Damien Laniel

Matériel & Logiciels (Hardware & Software)


«clustering» et «load balancing» avec Zope et ZEO

Manuel d'installation de GESLAB Client Lourd

PG208, Projet n 3 : Serveur HTTP évolué

IV- Comment fonctionne un ordinateur?

Systèmes d exploitation

Capacité de mémoire Tablettes

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

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Partie 7 : Gestion de la mémoire

ESXi: Occupation RAM avec VM_Windows et VM_Linux. R. Babel, A. Ouadahi April 10, 2011

VMware vsphere 5 Préparation à la certification VMware Certified Professional 5 Data Center Virtualization (VCP5-DCV) - Examen VCP510

Architecture des ordinateurs Introduction à l informatique

GCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1

Cours A7 : Temps Réel

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

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

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan

Exigences système Commercial & Digital Printing

Exigences système Commercial & Digital Printing

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Vous êtes bien à la bonne présentation, c est juste que je trouvais que le titre de cette présentation étais un peu long,

Pourquoi OneSolutions a choisi SyselCloud

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

Présentation d HyperV

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Architectures d implémentation de Click&DECiDE NSI

Programmation C. Apprendre à développer des programmes simples dans le langage C

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

Conventions d écriture et outils de mise au point

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

Informatique pour scientifiques hiver Plan général Systèmes d exploitation

LIVRE BLANC Pratiques recommandées pour l utilisation de Diskeeper sur les réseaux SAN (Storage Area Networks)

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Exigences système Edition & Imprimeries de labeur

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Exécution des instructions machine

Rappels d architecture

Configurations maximales

Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.

Encryptions, compression et partitionnement des données

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Technologie SDS (Software-Defined Storage) de DataCore

Audit activité base Oracle / SAP

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

VNX MCx. Multicore Everything. Livre blanc

1 Introduction au codage

Guide de Tarification. Introduction Licence FD Entreprise Forfaits clé en main SaaS SaaS Dédié SaaS Partagé. Page 2 Page 3 Page 4 Page 5 Page 8

Le Network File System de Sun (NFS)

Éléments d'architecture des ordinateurs

Programmation parallèle et distribuée

Cours 3 : L'ordinateur

Gestion de la mémoire

Les méthodes de sauvegarde en environnement virtuel

Initiation à la sécurité

Introduction à la Programmation Parallèle: MPI

Linux embarqué: une alternative à Windows CE?

Introduction aux SGBDR

THÈSE. Pour obtenir le grade de. Spécialité : Informatique. Arrêté ministériel : 7 août Présentée et soutenue publiquement par.

Architecture matérielle des systèmes informatiques

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Architecture et Extensions d ArcGIS Server

Module : Virtualisation à l aide du rôle Hyper-V

Structure et fonctionnement d'un ordinateur : hardware

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

Transcription:

Principes des Caches 1

Plan Principes des caches Caches mémoire Translation Lookaside Buffer (TLB) Caches de fichiers (Buffer Cache) Caches de Pages 2

Principes des Caches Accélérer accès (lecture et/ou écriture) aux informations les plus fréquemment utilisées Hiérarchie de supports de stockage Lent, grande capacité, pas cher Rapide, capacité réduite, onéreux Hiérarchie «géographique» Serveurs intermédiaires proches d'un sousensemble de clients dans un réseau 3

Exemples de Caches Caches matériels Mémoire Translation Lookaside Buffer Caches disque dans contrôleurs Caches logiciels système Caches de fichiers Caches de pages Caches logiciels applicatifs Caches de contenu de fichiers (éditeurs) Caches de page Web 4

Principes des Caches A chaque accès, donnée cherchée dans cache à partir : D'un identificateur - recherche par clé(s) De sa valeur - recherche par contenu Si trouvée, opération d'accès effectuée dans le cache Sinon, «cache miss» Donnée lue dans cache depuis stockage de plus bas niveau Cache mis à jour, si écriture 5

Principes des Caches Caches décomposés en blocs de données Bloc = unité de mise à jour du cache Taille bloc dépend Type de cache (matériel/logiciel) Type de stockage secondaire Latence opération de lecture d'un bloc Taille cache Compromis entre taux de réussite (hit rate) et latence des accès 6

Plan Principes des caches Caches mémoire Translation Lookaside Buffer (TLB) Caches de fichiers (Buffer Cache) Caches de Pages 7

Caches Mémoire Processeur Accès mot, byte lent Mémoire principale Processeur Lent RapideCache Lent RapideWrite Buffer Mémoire principale Accès mot, byte lent 8

Cache Logique Bus d'adresses Base Traduction MMU Processeur Cache Mémoire principale Bus de Données 9

Cache Physique Bus d'adresses Base Traduction MMU Processeur Cache Mémoire principale Bus de Données 10

Composition d'un Cache Cache décomposé en «lignes de cache» Ligne chargée avec des "blocs" Zones contiguës de mots mémoire Lignes identifiées à partir de l'adresse États Ligne valide ou non Ligne modifiée ou non 11

Caches - Politique de gestion Writethrough Toute modification est immédiatement répercutée en mémoire centrale => lent Writeback (utilisation du dirty bit) Écrit dans une ligne de cache valide Ligne contient des données plus récentes Ligne écrite quand nécessité de la remplacer Politiques de remplacement Round-robin ou pseudo aléatoire 12

Architecture d'un cache 31 12 11 4 3 0 T a g I n d e x = Hit Miss Cache-tagvd Mot3 Mot2 Mot 1 Mot 0 Cache-tagvd Mot3 Mot2 Mot 1 Mot 0 Cache-tagvd Mot3 Mot2 Mot 1 Mot 0 Cache-tagvd Mot3 Mot2 Mot 1 Mot 0 Cache-tagvd Mot3 Mot2 Mot 1 Mot 0 Cache-tagvd Mot3 Mot2 Mot 1 Mot 0 Cache-tagvd Mot3 Mot2 Mot 1 Mot 0 V = valide D = dirty (modifié) 13

Caches Associatifs 31 12 11 4 3 0 T a g I n d e x Compare Miss Hit Way 3 Cache-tagvd Mot3 Mot2 Mot 1Way Mot 02 Cache-tag vd vd Mot3 Mot3Mot2 Mot2 Mot Mot 1 Mot 1Way Mot 0 01 Cache-tag vd vd Mot3 vd Mot3 Mot3 Mot2 Mot2 Mot2 Mot Mot 1 Mot 1 Mot 1 Mot 0Way 0 0 0 Cache-tag vd vd Mot3 vd Mot3 Mot3 Mot2 Mot2 Mot2 Mot Mot 1 Mot 1 Mot 1 Mot 0 0 0 Cache-tag vd vd Mot3 Mot3Mot2 Mot2 Mot Mot 1 Mot 1 Mot 0 0 Cache-tag Cache-tag vd Mot3 vdmot2 Mot3 Mot2 1 Mot 01 Mot 0 Cache-tag vd vd Mot3 Mot3Mot2 Mot2 Mot Mot 1 Mot 1 Mot 0 0 Cache-tag vd vd Mot3 vd Mot3 Mot3 Mot2 Mot2 Mot2 Mot Mot 1 Mot 1 Mot 1 Mot 0 0 0 Cache-tag vd vd Mot3 vd Mot3 vd Mot3 Mot2 Mot3 Mot2 Mot2 Mot2 Mot 1 Mot 1 Mot 1 Mot 01 Mot 0 0 0 Cache-tag vd vd Mot3 vd Mot3 Mot3 Mot2 Mot2 Mot2 Mot Mot 1 Mot 1 Mot 1 Mot 0 0 0 Cache-tag vd vd Mot3 Mot3Mot2 Mot2 Mot Mot 1 Mot 1 Mot 0 0 Cache-tagvd Mot3 Mot2 Mot 1 Mot 0 14

Opérations de Contrôle Flush: vider tout le contenu Clean: écrire toutes les données modifiées en mémoire Possibilité d'effectuer ces opérations par portion, avec une granularité par ligne Distinction entre cache d'instructions et cache de données Possibilité de verrouiller du code et/ou des données en cache 15

Plan Principes des caches Caches mémoire Translation Lookaside Buffer (TLB) Caches de fichiers (Buffer Cache) Caches de Pages 16

Translation Lookaside Buffer Cache pour accélérer la translation adresses virtuelles -> adresses physiques Nombre fixe d'emplacements contenant des «Page Table Entry» (PTE) Clé de recherche : adressse virtuelle Résultat adresse physique contenue dans PTE si OK Sinon, PTE pas trouvée => TLB miss TLB miss : chercher PTE dans table de pages 17

Hardware-Managed TLB TLB miss géré par CPU (Intel) CPU parcours table de pages (à partir du registre cr3 sur Intel x86, par exemple) Si exite PTE associée à adresse virtuelle, Copie PTE dans TLB (round-robin, LRU) Recommence instruction Sinon, déclenche exception «page fault» 18

Software-Managed TLB TLB miss déclenche exception (PowerPC, MIPS) Système parcours table de pages Si existe PTE associée à adresse virtuelle Système copie PTE dans TLB Relance instruction «fautive» Sinon, système invoque le traitement de «page fault» 19

Changement de contexte En général, PTE du processus précédent ne sont pas partagées avec PTE du nouveau processus PTE non valides dans nouveau ou associées à pages différentes TLB vidé entièrement => pénalise changement de contexte Optimisation : «Address Space Id.» (ASID) associé à chaque entrée du TLB TLB contient ASID courant 20

Plan Principes des caches Caches mémoire Translation Lookaside Buffer (TLB) Caches de fichiers (Buffer Cache) Caches de Pages 21

Buffer Cache (Cache SGF) Contient parties des fichiers explicitement accédés par appels système read/write Taille bloc fixe (512 ou 1024 octets) Bloc identifié par couple (numéro vnode associé à fichier, offset dans fichier) Opérations d'entrées/sorties disque effectuées vers/depuis buffer cache 22

Buffer Cache - Fonctionnement Appel système read/write Cherche bloc (File Vnode, File offset) dans buffer cache Si trouvé, attend fin opération E/S éventuelle Sinon, alloue nouveau bloc mémoire dans buffer cache associé à (File Vnode, File offset) Garantir cohérence (éviter allocations multiples du «même» bloc) Copie données entre buffer application et bloc du buffer cache 23

Buffer Cache - Cohérence Thread système de basse priorité met à jour périodiquement sur disque les blocs modifiés Libére blocs pour réaffectation rapide Minimise dégats en cas d'arrêt brutal Commande système pour forcer mise à jour des disques Mise à jour effectuée automatiquement lors de l'arrêt normal du système 24

Plan Principes des caches Caches mémoire Translation Lookaside Buffer (TLB) Caches de fichiers (Buffer Cache) Caches de Pages 25

Cache de Pages Contient pages des fichiers mappés par des processus Binaires exécutés, bibliothèques partagées Fichiers de données explicitement mappés Page identifiée par (objet fichier, offset page dans fichier) Objet fichier : Identificateur fichier Table fonctions d'i/o Liste pages propres, modifiées, verrouillées 26

Cache de Pages Pages appartiennent à espace mémoire utilisateur Pages potentiellement partagées entre processus «Reverse mapping» Facile de démapper une page de tous les espaces d'adressage Optimise remplacement de page (parcours basé sur pages physiques) 27

Page Reverse Mapping PROC 1 PROC 2 PROC 3 Page physique 28