simulation de traces réelles d’e/s disque de pc
DESCRIPTION
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 [email protected] Perpignan le 06/10/2006. Plan de la présentation. Motivations - PowerPoint PPT PresentationTRANSCRIPT
Simulation de traces réelles d’E/S disque de PC.
Jalil Boukhobza, Claude Timsit{nom.prenom}@[email protected]
Perpignan le 06/10/2006
Université de Versailles Saint QuentinUniversité de Versailles Saint Quentin
Laboratoire
Perpi'2006 - Conférence CFSE'5
06/10/2006 [email protected] 2
Plan de la présentation
1. Motivations
2. Aperçu des E/S disque sous Windows
3. Le simulateur: architecture de WinIOSim
4. Les stratégies du cache de fichiers
5. Configuration du simulateur
6. Validation
7. Résumé
06/10/2006 [email protected] 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.
06/10/2006 [email protected] 4
2. Aperçu des E/S disque sous Windows
Possibilité d’une FASTIO ?
oui
Copie des données du cache vers la mémoire du processus
oui
Bloc de données présent dans le cache ?
oui
non
Génération d’une IRP (I/O Request Packet)
non
Cache du disque
Disque dur
non
Initialisation du cache
Pilote du système de fichiers
Gestionnaire du cache
Pilote du système de stockage (disque dur)
IRP non- caché
Gestionnaire de mémoire virtuelle
Défaut de page
Possibilité d’utilisation du cache de fichiers ?
Lecture/écriture de fichier
Fonctions Win32 ReadFile(), WriteFile()
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 »
Bras du disque
Temps de seek
Temps de rotation
06/10/2006 [email protected] 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.
06/10/2006 [email protected] 6
Le simulateur: architecture de WinIOSim [2]
File d’attente
Processus Application
Processus Système Ordonnanceur d’E/S
Mémoire du processus
Cache de fichiers
Cache du disque
Disque
Générateur de requêtes 1 Générateur de requêtes 2
Fichiers de trace réelle
06/10/2006 [email protected] 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.
06/10/2006 [email protected] 8
Les modules du simulateur [2]
Processus application et processus systè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.
06/10/2006 [email protected] 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.
06/10/2006 [email protected] 10
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:
Une requête: 3 blocs de 64ko
Bloc de 64ko chargé par le processus système
Bloc de 64ko chargé par le processus application
Quelles sont les réactions du cache du disque?
Va-t-il charger une partie des données ?
B1 B2 B3 B4
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, ..
1 2 3 1 2 3 1 2 3
06/10/2006 [email protected] 11
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.
Bloc de 64ko copié sur le disque
Bloc de 64ko copié sur le cache de fichiers puis vidé sur le disque
Exemple avec des blocs de 320ko
Cache de fichiers
Disque
flush
Req 4 Req 5
Req 6 Req 7 Req 8
Req 2
Req 1
Req 3normal mode write 320KB
0
50
100
150
200
250
0 20 40 60 80 100 120
Request number
Resp
onse
tim
e (m
s)
1
06/10/2006 [email protected] 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.
06/10/2006 [email protected] 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 »
06/10/2006 [email protected] 14
Architectures testées
06/10/2006 [email protected] 15
Résultats Pourcentage d'erreurs entre la mesure et la simulation pour
la lecture séquentielle en mode "sans buffer"
05
101520253035404550
32 64 128 256 512Taille de requête (Ko)
% d
'err
eu
r
mesu
re/s
imu
lati
on
Dell
Asus
HP
Pourcentage d'erreurs entre la mesure et la simulation pour la lecture aléatoire en mode "sans buffer"
0
1
23
4
5
6
78
9
10
32 64 128 256 512Taille de requête (Ko)
% d
'err
eu
r
mesu
re/s
imu
lati
on
Dell
Asus
HP
Pourcentage d'erreurs entre la mesure et la simulation pour la lecture séquentielle en mode "normal"
05
10152025
3035404550
32 64 128 256 512Taille de requête (Ko)
% d
'err
eu
r m
es
ure
/sim
ula
tio
n
Dell
Asus
HP
Pourcentage d'erreurs entre la mesure et la simulation pour la lecture aléatoire en mode "normal"
012
34567
89
10
32 64 128 256 512
Taille de requête (Ko)%
d'e
rreu
r
mesu
re/s
imu
lati
on
Dell
Asus
HP
Pourcentage d'erreurs entre la mesure et la simulation pour l'écriture en mode "sans buffer"
012
34567
89
10
32 64 128 192 256 320 384 448 512
Taille de requête (Ko)
% d
'err
eu
r
mesu
re/s
imu
lati
on
Dell
Asus
HP
Pourcentage d'erreurs entre la mesure et la simulationpour l'écriture en mode "normal"
0
1
2
3
4
56
7
8
9
10
32 64 128 192 256 320 384 448 512
Taille de requête (Ko)
% d
'err
eu
r
mesu
re/s
imu
lati
on
Dell
Asus
HP
06/10/2006 [email protected] 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 .
06/10/2006 [email protected] 17
Reste des outils développés
Architecture Architecture existanteexistante
Liste des Liste des paramètres de paramètres de l’architecture à l’architecture à
simulersimuler
Définition des Définition des générateurs générateurs de requêtesde requêtes
WioTesterWioTester
Simulateur d’accès aux Simulateur d’accès aux fichiers WinIOSimfichiers WinIOSim
Liste des Liste des paramètres de paramètres de l’architecture à l’architecture à simuler (si non simuler (si non
existante)existante)
Résultats de la Résultats de la simulation : temps de simulation : temps de réponse, débits, etc.réponse, débits, etc.
Résultats des mesures Résultats des mesures de performances.de performances.
Traces réellesTraces réelles
Merci de votre attention
Question ?
http://www.prism.uvsq.fr/~jboukh