simulation de traces réelles d’e/s disque de pc

18
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 Université de Versailles Saint Université de Versailles Saint Quentin Quentin Laboratoi re Perpi'2006 - Conférence CFSE'5

Upload: nyla

Post on 22-Jan-2016

48 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Simulation de traces réelles d’E/S disque de PC

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

Page 2: Simulation de traces réelles d’E/S disque de PC

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é

Page 3: Simulation de traces réelles d’E/S disque de PC

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.

Page 4: Simulation de traces réelles d’E/S disque de PC

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

Page 5: Simulation de traces réelles d’E/S disque de PC

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.

Page 6: Simulation de traces réelles d’E/S disque de PC

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

Page 7: Simulation de traces réelles d’E/S disque de PC

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.

Page 8: Simulation de traces réelles d’E/S disque de PC

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.

Page 9: Simulation de traces réelles d’E/S disque de PC

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.

Page 10: Simulation de traces réelles d’E/S disque de PC

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

Page 11: Simulation de traces réelles d’E/S disque de PC

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

Page 12: Simulation de traces réelles d’E/S disque de PC

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.

Page 13: Simulation de traces réelles d’E/S disque de PC

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 »

Page 14: Simulation de traces réelles d’E/S disque de PC

06/10/2006 [email protected] 14

Architectures testées

Page 15: Simulation de traces réelles d’E/S disque de PC

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

Page 16: Simulation de traces réelles d’E/S disque de PC

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 .

Page 17: Simulation de traces réelles d’E/S disque de PC

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

Page 18: Simulation de traces réelles d’E/S disque de PC

Merci de votre attention

Question ?

[email protected]

[email protected]

http://www.prism.uvsq.fr/~jboukh