1 / 18

Simulation de traces réelles d’E/S disque de PC.

Laboratoire. Université de Versailles Saint Quentin. Perpi'2006 - Conférence CFSE'5. Simulation de traces réelles d’E/S disque de PC. Jalil Boukhobza , Claude Timsit {nom . prenom} @prism.uvsq.fr boukhobza@univ-brest.fr Perpignan le 06/10/2006. Plan de la présentation . Motivations

nyla
Download Presentation

Simulation de traces réelles d’E/S disque de PC.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Laboratoire Université de Versailles Saint Quentin Perpi'2006 - Conférence CFSE'5 Simulation de traces réelles d’E/S disque de PC. Jalil Boukhobza, Claude Timsit {nom.prenom}@prism.uvsq.fr boukhobza@univ-brest.fr Perpignan le 06/10/2006

  2. Plan de la présentation • Motivations • Aperçu des E/S disque sous Windows • Le simulateur: architecture de WinIOSim • Les stratégies du cache de fichiers • Configuration du simulateur • Validation • Résumé jalil.boukhobza@prism.uvsq.fr

  3. 1. Motivations • Accès aux fichiers : encore et toujours un goulet d’étranglement • Complexité des systèmes de stockage : • Architecture : Plusieurs niveaux → plusieurs stratégies d’optimisation indépendantes Les performances → pas toujours optimales → difficilement prévisibles / paramètres masqués à l’utilisateur • Application : performances dépendant de la stratégie d’accès Exemple : CreateFile (pour Windows) et open (pour Unix/Linux) • Mode d’accès / Taille des requêtes : Variations importantes des performances • Windows → peu étudié / très utilisé • But: permettre à l’utilisateur de prédire les performances d’une charge d’E/S sur une machine donnée. jalil.boukhobza@prism.uvsq.fr

  4. Lecture/écriture de fichier Fonctions Win32 ReadFile(),WriteFile() IRP non- caché Pilote du système de stockage (disque dur) Possibilité d’utilisation du cache de fichiers ? Génération d’une IRP (I/O Request Packet) non oui Défaut de page non Possibilité d’une FASTIO ? Bloc de données présent dans le cache ? Gestionnaire de mémoire virtuelle oui oui non Copie des données du cache vers la mémoire du processus Cache du disque Initialisation du cache Disque dur 2. Aperçu des E/S disque sous Windows • Quatre modes d’accès spécifiques à la fonction CreateFile()sont testés: • Mode « sans buffer » (sans cache de fichiers) • Mode normal, séquentiel et  mode d’écriture immédiate ou « write through » Pilote du système de fichiers Bras du disque Temps de seek Temps de rotation Gestionnaire du cache jalil.boukhobza@prism.uvsq.fr

  5. 3. Le simulateur: architecture de WinIOSim • But: • Optimisation de l’application: identifier la meilleure stratégie d’E/S sur une machine donnée. • Optimisation de l’architecture: Identifier la meilleure architecture pour une charge d’E/S donnée. • Quoi de neuf ? • Implémentation des algorithmes de cache spécifiques à Windows (modes d’accès) identifiés par un travail d’ingénierie inversé. • La séquence des requêtes envoyées au disque dépend du mode d’accès et de la séquence envoyée par l’utilisateur. • Réactions du sous système de stockage à ces algorithmes • La réaction dépend de la séquence de requêtes et donc des algorithmes. jalil.boukhobza@prism.uvsq.fr

  6. Générateur de requêtes 1 Générateur de requêtes 2 Fichiers de trace réelle File d’attente Processus Application Mémoire du processus Processus Système Ordonnanceur d’E/S Cache de fichiers Cache du disque Disque Le simulateur: architecture de WinIOSim [2] jalil.boukhobza@prism.uvsq.fr

  7. Les modules du simulateur • Les générateurs de requêtes: • Générateur de requêtes synthétiques: • Type des requêtes, taille, nombre, temps d’inter arrivée, mode d’accès, adresse des données. • Différentes distributions possibles pour chaque paramètre (Poisson, uniforme, exponentiel, etc) → Omnet++. • Requêtes synchrones et asynchrones. • Traces réelles extraites avec Filemon (www.sysinternals.com) • Module de la mémoire du processus et du cache de fichiers: simulent les copies de données, les politiques de mise à jour, etc. jalil.boukhobza@prism.uvsq.fr

  8. Les modules du simulateur [2] • Processus application et processussystème: • Contrôlent le flux des requêtes → sous système disque. • Groupent et divisent les requêtes • Algorithmes du cache de fichiers: lecture anticipée, écriture retardée, écriture immédiate par rapport aux modes d’accès. • Différents bus: débits, délais, partage. jalil.boukhobza@prism.uvsq.fr

  9. Les modules du simulateur [3] • Ordonnanceur d’E/S disque • Files d’attente: Fifo, Scan, Look, etc. • Cache du disque • Segmentation, algorithmes de lecture anticipée, écriture retardée et écriture immédiate, algorithmes de mise jour du cache, etc. • Disque • Mapping, zoning, secteurs de secours, nombre de plateaux, vitesse de rotation, temps de positionnement (seek), etc. jalil.boukhobza@prism.uvsq.fr

  10. Une requête: 3 blocs de 64ko Bloc de 64ko chargé par le processus système Bloc de 64ko chargé par le processus application 1 1 1 2 2 2 4. Les stratégies du cache de fichiers (exemple en lecture) • Algorithmes de lecture anticipée du cache (Windows): No buffer mode • Opérations de lecture: • Mode séquentiel: chargement séquentiel des données Bn, Bn+1, Bn+2, Bn+3, etc. • Mode normal (défaut) processus système: B1 B2 B3 B4 3 3 3 Quelles sont les réactions du cache du disque? Va-t-il charger une partie des données ? Séquence finale des blocs demandés: B1,1,B1,2, B1,3, B3,1, B2,1, B3,2,B2,2, B3,3,B2,3,B4,1 ,B4,2, .. jalil.boukhobza@prism.uvsq.fr

  11. Req 1 Req 3 Req 2 Req 4 Req 5 Req 6 Req 7 Req 8 Les stratégies du cache de fichiers (exemple en écriture). • Opérations d’écriture: • Modes normal et séquentiel : pour une requête donnée, quelques blocs sont vidés sur le disque et les autres dans le cache de fichiers (par la suite vidés sur le disque). • Mode d’écriture immédiate: • Chaque bloc écrit -> cache de fichiers -> cache du disque -> disque + modification du fichier système (FAT, $logfile) -> acquittement. Exemple avec des blocs de 320ko 1 Bloc de 64ko copié sur le disque Disque Bloc de 64ko copié sur le cache de fichiers puis vidé sur le disque Cache de fichiers flush jalil.boukhobza@prism.uvsq.fr

  12. 5. Configuration du simulateur • Entrées: • Configuration des générateurs d’E/S • Modélisés par l’utilisateur • Traces réelles d’E/S disque • Définition de l’architecture simulée • Si celle-ci existe: • Paramètres obtenues d’après les manuels des fabricants • Paramètres obtenues avec l’aide de l’outil d’extraction de paramètres de stockage que nous avons développé (WioTester) • Sorties: • Temps de réponse et débits (les deux métriques les plus importantes en E/S disque) • L’état de chaque module à chaque étape de la simulation. jalil.boukhobza@prism.uvsq.fr

  13. 6. Validation • Comparaison des mesures et des simulations. • Mesures → Sqlio (Microsoft) et WioTester (PRiSM) • Opérations de lecture: • Accès séquentiel en mode • « sans buffer » • « normal » • Accès aléatoire en mode • « sans buffer » • « normal » • Opérations d’écriture: • Mode « normal » • Mode « sans buffer » jalil.boukhobza@prism.uvsq.fr

  14. Architectures testées jalil.boukhobza@prism.uvsq.fr

  15. Résultats jalil.boukhobza@prism.uvsq.fr

  16. 7. Résumé • Simulateur d’E/S disque très précis (~6% en moyenne) → traces réelles ou/et générateurs de requêtes modélisés. • Simule l’interaction entre les différents niveaux de cache. • Il permet l’optimisation des architectures, du système et des applications → prédiction des performances des E/S. • Résout en partie le problème de représentativité (des charges d’E/S) des outils de benchmarking . jalil.boukhobza@prism.uvsq.fr

  17. Résultats de la simulation : temps de réponse, débits, etc. Résultats des mesures de performances. Reste des outils développés Liste des paramètres de l’architecture à simuler (si non existante) Architecture existante WioTester Liste des paramètres de l’architecture à simuler Définition des générateurs de requêtes Simulateur d’accès aux fichiers WinIOSim Traces réelles jalil.boukhobza@prism.uvsq.fr

  18. Merci de votre attention Question ? Jalil.boukhobza@prism.uvsq.fr boukhobza@univ-brest.fr http://www.prism.uvsq.fr/~jboukh

More Related