• Aucun résultat trouvé

M´emoire de masse Structure des disques Ordonnancement de disques RAID Structure des SSD

N/A
N/A
Protected

Academic year: 2022

Partager "M´emoire de masse Structure des disques Ordonnancement de disques RAID Structure des SSD"

Copied!
24
0
0

Texte intégral

(1)

M ´emoire de masse

Structure des disques

Ordonnancement de disques RAID

Structure des SSD

(2)

Structure d’un disque

Structure tridimensionnelle: plateaux, secteurs, cylindres

Piste = plateau

cylindre Bloc = piste

secteur

T ˆetes volent sur les plateaux De 3600tpm `a 15000tpm

T ˆetes se d ´eplacent radialement

seek time: temps de d ´eplacement de la t ˆete

rotational latency: temps de d ´eplacement du bloc par rotation

(3)

Performance d’un disque

Capacit ´e: de l’ordre de 2TB en 2016, en blocs de 4kB

rotational latency moyenne:

temps pour 12 tour

3600tpm 8.3ms 7200tpm 4.2ms 15000tpm 2ms

seek time moyen:

temps pour

e 1

3 du rayon

3ms − 12ms

moyen

e 1

2

ms

piste `a piste Changement de t ˆete:

e

1ms

Bande passante (bandwidth):

100

MB

/s

(4)

Vue externe d’un disque

Les d ´etails physiques sont cach ´es

Le SE ne voit qu’un tableau de N blocs logiques de taille fixe

Rec¸oit des requ ˆetes read et write sur ces blocs

Acc `es s ´equentiels cens ´es obtenir meilleure performance Notion de secteur peut- ˆetre invalide

Blocs endommag ´es cach ´es par remapping Le disque inclus une m ´emoire cache

Maintient une queue de requ ˆetes en cours (command queuing)

(5)

SAN, NAS, Storage arrays

Storage array

contr ˆoleur connect ´e `a plusieurs/beaucoup disques

Vu de l’ext ´erieur comme un autre ensemble de disques Storage area network (SAN)

R ´eseau sp ´ecialis ´e pour connecter des disques et des machines

Disques d ´edi ´es. Facilit ´e d’ajouter ou enlever disques Network attached storage (NAS)

Disques vus soit comme des disques ou des syst `emes de fichiers

R ´eseau standard. Disques peuvent ˆetre partag ´es.

(6)

Ordonnancement de disques

Temps d’acc `es fortement influenc ´e par les d ´eplacements de t ˆetes L’ordre des acc `es influence fortement le temps total

Une queue de requ ˆetes par disque (dans le SE et/ou le disque) Si la queue est vide: pas de diff ´erence

Sinon, choix d’algorithmes d’ordonnancement

(7)

First Come First Serve (FCFS/FIFO)

Garde l’ordre d’arriv ´ee des requ ˆetes

D ´eplacement total sur cet exemple: 640 unit ´es

(8)

Shortest Seek Time First (SSTF)

Choisi toujours la requ ˆete la plus proche de la position actuelle Similaire `a Shortest Job First: peut souffrir de famine

D ´eplacement total sur cet exemple: 236 unit ´es

(9)

SCAN

La t ˆete parcourt toute la surface dans un sens puis dans l’autre Aussi appel ´e algorithme de l’ascenceur

D ´eplacement total sur cet exemple: 208 unit ´es

(10)

SCAN circulaire (C-SCAN)

La t ˆete parcourt la surface toujours dans le m ˆeme sens Diminue l’attente maximum par rapport `a SCAN

D ´eplacement total plus grand, mais: 1x200

<

2x100

(11)

LOOK circulaire (C-LOOK)

LOOK = SCAN sans aller vraiment jusqu’au bout

C-LOOK = C-SCAN en ´evitant aussi les d ´eplacements inutiles

(12)

Fonctionnement de l’ordonnanceur

Le SE ne peut pas vraiment tenir compte de la latence Le disque a son propre ordonnanceur

Nombre de requ ˆetes limit ´e dans la queue du disque D ´ependances entre requ ˆetes

L’ordre des ´ecritures visible en cas de panne

L’ordonnancement doit en tenir compte

(13)

Gestion des disques

Un “disque” est une notion abstraite: un tableau de blocs cons ´ecutifs Un disque est divis ´e en partitions

On peut aussi joindre deux disques en un grand disque virtuel On peut voir les partitions comme des disques

(14)

RAID: Redundant Array of Inexpensive Disks

Tr `es difficile d’acc ´el ´erer les disques ou augmenter leur fiabilit ´e Utiliser plusieurs disques `a la place

Copies redondantes sur plusieurs disques, pour la fiabilit ´e Acc `es parall `eles `a plusieurs disques, pour la performance Plusieurs structures possibles, selon les besoins

(15)

RAID-0: Striping

Combiner

N

disques

P D

i en un grand disque

LD

Donn ´ees r ´eparties finement sur tous les disques

Divis ´e en stripes. Stripe S plac ´ee sur disque

S

mod

N

taille

(LD) = P

taille

(P D

i

)

bande passante

(LD) ' P

brande passante

(P D

i

)

IOPS

(LD) ' P

IOPS

(P D

i

)

Mais:

latence

(LD) '

latence

(P D

i

)

fiabilit ´e

(LD) '

N1

×

fiabilit ´e

(P D

i

)

(16)

RAID-1: Mirroring

Combiner

N

disques

P D

i en un disque

LD

de m ˆeme taille

Donn ´ees copi ´ees N fois: chaque disque est une copie des autres fiabilit ´e

(LD) ' N ×

fiabilit ´e

(P D

i

)

bande passante RD

(LD) ' P

brande passante RD

(P D

i

)

IOPS RD

(LD) ' P

IOPS RD

(P D

i

)

latence

(LD) <

latence

(P D

i

)

Mais:

bande passante WR

(LD) <

brande passante WR

(P D

i

)

IOPS WR

(LD) '

IOPS WR

(P D

i

)

taille

(LD) '

taille

(P D

i

)

(17)

RAID-4: Parity

Striping sur N disques plus un disque suppl ´ementaire de parit ´e En lecture: comme RAID-0 avec le disque de parit ´e inutilis ´e

Fiabilit ´e bien meilleure que RAID-0: un disque peut mourir sans perte Degraded mode: fonctionnement avec un disque en moins

Mais, en ´ecriture: pire que RAID-1

Chaque ´ecriture touche au disque de parit ´e

bande passante WR

(LD) <

bande passante WR

(P D

i

)

Le calcul de la parit ´e peut n ´ecessiter des lectures suppl ´ementaires IOPS WR

(LD) '

12

×

IOPS WR

(P D

i

)

(18)

RAID-5: Distributed parity

Comme RAID-4, mais avec stripes de parit ´e r ´eparties sur les disques En lecture: NN+1 fois mieux que RAID-4 (tous les disques participent) Fiabilit ´e identique `a RAID-5: un disque peut mourir sans perte

Degraded mode: un peu plus complexe que RAID-4

En ´ecriture: beaucoup mieux que RAID-4

Le co ˆut de la parit ´e r ´eparti entre tous les disques

bande passante WR

(LD) '

N2

×

bande passante WR

(P D

i

)

Le calcul de la parit ´e peut n ´ecessiter des lectures suppl ´ementaires IOPS WR

(LD) '

N4

×

IOPS WR

(P D

i

)

(19)

Plus sur les RAIDs

RAID-6: comme RAID-5 mais avec un deuxi `eme bit de “parit ´e”

Hot spare: disque inutilis ´e pr ˆet `a remplacer un autre

RAID-nm: un RAID-m constitu ´es de disques logiques de type RAID-n RAID-01: un mirroir de deux RAID-0 (striping) identiques

RAID-10: un striping de deux RAID-1 (mirroring)

RAID-10 donne la meilleure performance apr `es RAID-0

(20)

Solid State Disks (SSD)

Disque constitu ´e de m ´emoire non-volatile `a semi-conducteur De nos jours: NAND-Flash ou NOR-Flash

NOR: performance et long ´evit ´e; NAND: densit ´e et co ˆut Une USB-key est un SSD qui vise le meilleur prix par MB Un vrai SSD vise une meilleure performance par $

Performance beaucoup plus ´elev ´ee qu’un HDD:

Bande passante:

e500MB/s

Latence:

<

0.1ms

Meilleure fiabilit ´e m ´ecanique; basse consommation

(21)

NAND-Flash

M ´emoire divis ´ee en erasure blocs (e.g. 128kB) erasure blocs subdivis ´e en pages (e.g. 8kB) Op ´erations:

read page

: pas de surprise

write page

: ne peut que changer des bits `a 0

erase bloc

: met tous les bits `a 1 Ph ´enom `ene d’usure: un bloc survit `a

e10’000

erase bloc

Caract ´eristiques tr `es variables

(22)

Flash-Transation-Layer (FTL)

SSDs habituellement cachent leur NAND derri `ere une couche magique

Expose un tableau de N blocs logiques de taille fixe (e.g. 4kB)

Avec seulement

read bloc

et

write bloc

Performance en ´ecriture pas toujours pr ´evisible:

Un

write bloc

peut devoir lire+effacer+r ´e ´ecrire un erasure bloc

Wear-leveling: Le FTL doit r ´epartir les erase bloc uniform ´ement

En fait,

write bloc

va g ´en ´eralement ´ecrire ailleurs!

Table auxiliaire garde position physique d’un bloc logique Blocs devenus inutilis ´es, r ´ecup ´er ´es par une sorte de GC

(23)

Exemple de FTL

Chaque bloc logique correspond `a une page

Chaque erasure bloc contient un descripteur de ses bloc logiques En m ´emoire:

Une table de traduction bloc logique

page

Une table des pages libres

read bloc

simple et efficace:

1. Utilise la table pour trouver la page 2. Lis la page

Au d ´emarrage: lire tous les descripteurs pour reconstruire les tables

(24)

Exemple de FTL: ´ecriture

Un erasure bloc courant en cours d’ ´ecriture Lors d’un write bloc

Ecrit dans la prochaine´ page libre du erasure bloc courant

Met `a jour les tables des blocs et des pages libres Quand erasure bloc courant est plein:

Ecrire le´ descripteur

Choisir un autre erasure bloc

Lire ses pages non-vides;

erase bloc

; R ´e ´ecrire ses pages

Références

Documents relatifs

[r]

Cet adaptateur double M.2 vers SATA permet d'installer deux SSD M.2 dans une seule baie de disque 2,5 pouces afin de configurer une puissante matrice RAID.. Vous obtiendrez une

 Tapez ensuite le chiffre 1 pour redémarrer votre ordinateur puis cliquez sur ENTRÉE.  Éjectez votre disque et appuyez

Un fichier regroupe un ensemble de donn´ ees appel´ e contenu Un fichier est associ´ e ` a des m´ eta-donn´ ees stock´ ees ou non dans la table d’allocation : un nom, une date,

Avant toute modification, ´ecrire une description de la modification Le journal (ou log) garde la description des modifications en cours Modifications compl ´et ´ees peuvent ˆetre

Telle polyphonie à huit voix, le Credidi pour double chœur nous reporte à l'ancien style d'église, alors que la Plainte de la Madonne (Il Pianto délia Madona), adaptation du

Comme la parité RAID nécessite un disque par ensemble RAID, la capacité utilisable correspond toujours à un disque de moins par rapport au nombre de disques disponibles dans

Nous contacter pour modèles