fec4cloud: pour la promotion des codes à effacement dans...

31
FEC4Cloud: pour la promotion des codes à effacement dans des architectures de stockage distribuées Journée Virtualisation et Cloud, GdR RSD 14/09/2015, Jussieu, LiP6 Benoît Parrein (Polytech Nantes, IRCCyN) Jérôme Lacan (ISAE-SupAéro) Nicolas Normand (Polytech Nantes, IRCCyN) Dimitri Pertin (Polytech Nantes, IRCCyN et RozoSystems) Jonathan Detchart (ISAE-SupAéro) Alexandre van Kempen (Polytech Nantes, IRCCyN)

Upload: others

Post on 01-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

FEC4Cloud: pour la promotion des codes à effacement dans des architectures de stockage distribuées

Journée Virtualisation et Cloud, GdR RSD

14/09/2015, Jussieu, LiP6

Benoît Parrein (Polytech Nantes, IRCCyN)

Jérôme Lacan (ISAE-SupAéro)

Nicolas Normand (Polytech Nantes, IRCCyN)

Dimitri Pertin (Polytech Nantes, IRCCyN et RozoSystems)

Jonathan Detchart (ISAE-SupAéro)

Alexandre van Kempen (Polytech Nantes, IRCCyN)

Page 2: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

2FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Les codes à effacement

k messages

n paquets

k paquetsreçus

k messages

EncodingEncoding

Decoding

Codage

Décodage

PerteTransmission / Stockage

(propriété MDS)

Page 3: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

3FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Les codes à effacement dans f4 (Facebook)

87 PB de moins à stocker [1]

730 serveurs en moins

42% de réduction de la taille de l'infrastructure

20 MW de consommation en moins pour un datacentre [2]

[1] Muralidhar, S., Lloyd, W., Roy, S., Hill, C., Lin, E., Liu, W., ... & Kumar, S. f4: Facebook’s Warm BLOB Storage System. In Proceedings of the 11th USENIX conference on Operating Systems Design and Implementation (OSDI) (pp. 383-398). USENIX Association, October, 2014.

[2] Orgerie, Anne-Cecile, Assuncao, Marcos Dias de, & Lefevre, Laurent . A survey on techniques for improving the energy efficiency of large-scale distributed systems. ACM Computing Surveys (CSUR), vol. 46, no 4, p. 47, 2014.

Page 4: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

4FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Limitation

Application uniquement sur des données “froides”

i.e 80 lectures par seconde max

Page 5: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

5FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Projet FEC4Cloud

ANR 2012 (appel Emergence)

Partenaires: IRCCyN (resp.), ISAE-SupAéro, SATT-Ouest Valorisation, Rozo Systems (prestataire)

Budget: 256 K€

Durée: 24+6 mois (orienté produit)

Page 6: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

6FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Objectifs du projet FEC4Cloud

Proposer des algorithmes de codages performants permettant de satisfaire un grand nombre d'entrées/sorties par seconde (pour des données chaudes)

Intégration dans RozoFS, solution logicielle de stockage distribué (Software Defined Storage)

Page 7: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

7FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Sommaire

Le code Mojette

Performances (micro-benchmark)

RozoFS

Expérimentations in vivo Grid5000

Conclusions

Page 8: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

8FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Le code à effacement Mojette

C E C I

E S T U

N E D O

N N E E

0 1 0 0

1 0 0 1

0 1 1 0

0 0 1 1

Page 9: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

9FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Le code à effacement Mojette

Proj(0,1)Proj(0,1)

C E C I

E S T U

N E D O

N N E E

1 0 0 0

0 1 0 0

1 0 0 1

0 1 1 0

0 0 1 1

(p,q)

Page 10: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

10FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Le code à effacement Mojette

Proj(0,1)

0 0

Proj(0,1)

Proj(1,1) Proj(-1,1)

C E C I

E S T U

N E D O

N N E E

1 0 0 0

0 1 0 0

1 0 0 1

0 1 1 0

0 0 1 1

Page 11: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

11FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Le code à effacement Mojette

Proj(0,1)

0 0 1 0

Proj(0,1)

Proj(1,1) Proj(-1,1)

C E C I

E S T U

N E D O

N N E E

1 0 0 0

0 1 0 0

1 0 0 1

0 1 1 0

0 0 1 1

Page 12: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

12FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Le code à effacement Mojette

Proj(0,1)

0 0 0 1 1 0

Proj(0,1)

Proj(1,1) Proj(-1,1)

C E C I

E S T U

N E D O

N N E E

1 0 0 0

0 1 0 0

1 0 0 1

0 1 1 0

0 0 1 1

Page 13: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

13FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Le code à effacement Mojette

Proj(0,1)

0 0 0 1 0 1 1 0

Proj(0,1)

Proj(1,1) Proj(-1,1)

C E C I

E S T U

N E D O

N N E E

1 0 0 0

0 1 0 0

1 0 0 1

0 1 1 0

0 0 1 1

Page 14: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

14FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Le code à effacement Mojette

Proj(0,1)

0 0 0 1 0 1 1 0 0 1 0 1 1 0

Proj(0,1)

Proj(1,1) Proj(-1,1)

C E C I

E S T U

N E D O

N N E E

1 0 0 0

0 1 0 0

1 0 0 1

0 1 1 0

0 0 1 1

Page 15: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

15FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Le code à effacement Mojette

0 0 1 0 0 0 0 0 0

0 1 1 0 0 0 1 0 1 1

0Proj(-2,1)

Proj(2,1)

Élément du message

Élément du code

Proj(0,1)

0 0 0 1 0 1 1 0 0 1 0 1 1 0

Proj(0,1)

Proj(1,1) Proj(-1,1)

C E C I

E S T U

N E D O

N N E E

1 0 0 0

0 1 0 0

1 0 0 1

0 1 1 0

0 0 1 1

Page 16: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

16FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Le code à effacement Mojette

0 0 1 0 0 0 0 0 0

0 1 1 0 0 0 1 0 1 1

0Proj(-2,1)

Proj(2,1)

Élément du message

Élément du code

Proj(0,1)

0 0 0 1 0 1 1 0 0 1 0 1 1 0

Proj(0,1)

Proj(1,1) Proj(-1,1)

C E C I

E S T U

N E D O

N N E E

1 0 0 0

0 1 0 0

1 0 0 1

0 1 1 0

0 0 1 1

Page 17: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

17FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Propriété du code Mojette

Code à effacement de type (1+є) MDS

Forme non systématique (par défaut) et systématique

Reconstruction asynchrone

Complexité linéaire [O(IN)]

Codage et décodage logicielle

Page 18: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

18FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Performances (codage) sur bloc 4K

Source : Pertin, D., Féron, D., Van Kempen, A., & Parrein, B. (2015). Performance evaluation of the Mojette erasure code for fault-tolerant distributed hot data storage. arXiv preprint arXiv:1504.07038 [cs.IT].

Page 19: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

19FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Performances (décodage) sur bloc 4K

Nbr. effacements

Réference memcopy

Source : Pertin, D., Féron, D., Van Kempen, A., & Parrein, B. (2015). Performance evaluation of the Mojette erasure code for fault-tolerant distributed hot data storage. arXiv preprint arXiv:1504.07038 [cs.IT].

Page 20: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

20FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Application au stockage distribué

Page 21: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

21FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Stockage avec haute disponibilité

99,999999....% accessiblede la réplication le plus souvent...une infrastructure capable de supporter la chargeune haute consommation énergétique...et des problèmes de Privacy

– les codes à effacements réduisent fortement la taille de l'infrastructure pour le même taux de disponibilité

Page 22: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

22FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Distributed File Systems (DFS)

HDFS (Hadoop)Facebook file system (f4)

Scality (basé sur Chord)CephFS, GlusterFS, ......Mélange de réplicats (données chaudes) et de codes à effacement (données froides)

– aucun DFS n'utilise aujourd'hui des codes pour des données soumises à des I/O intensives

Page 23: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

24FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

I/O Centric Distributed File System– Software Defined Storage (SDS)

– POSIX (based on FUSE)

– Commodity hardware

– Scale-Out NAS

– Fault tolerance (up to 4 failures)

– Based on erasure coding (Mojette coding)

– Dedicated to cold, warm and hot data

Open source project (dépôt Github)

Page 24: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

25FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

metadata

Rozofsmount

Client Node

Storaged

Storage Node

Metadata Server

exportd

Storaged

Storage Node

Storaged

Storage Node

Data p

athD

ata path

Control path

Pool of storage Nodes

Monitoring

...

Page 25: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

26FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Expérimentations in vivo sur GRID5K

sur cluster de Nantes@EMN – 18 nœuds, Intel Xeon 2.2Ghz, 64 GB RAM, 10GbE

Layout 1 i.e Mojette (6,4) vs triplication pour CephFS

10 Go de données, découpage fichier en blocs de 4Ko

Accès séquentiels et aléatoires en lecture et écriture (via IOZone)

40 essais par mesure (moyenne, écart-type)

Page 26: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

27FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Expérimentations in vivo sur GRID5K

● Cluster de Nantes (18 nœuds): Intel Xeon [email protected] GHz, 10GbE

● Layout 1 – code Mojette (6,4) vs triplication CephFS

● lecture aléatoire (blocs 4Ko) par IOZone

Page 27: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

28FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Expérimentations in vivo sur GRID5K

● Cluster de Nantes (18 nœuds): Intel Xeon [email protected] GHz, 10GbE

● Layout 1 – code Mojette (6,4) vs triplication CephFS

● écriture aléatoire (blocs 4Ko) par IOZone

Page 28: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

29FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Réduction de l'espace de stockage

Capacité de stockage pour 10 Go utile

Réduction d'un facteur 2 de l'espace de stockagePar l'usage des codes à effacement

Page 29: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

30FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Cas d'usage de RozoFS

Montage vidéo en ligne [Pertin et al., 2014]

Exécution de machines virtuelles (QEMU/KVM)

Exécution de bases de données distribuées PostgreSQL

Streaming vidéos distribuées sur Rasbperry PI (Fog Computing)

...

Page 30: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

31FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Conclusions

Le code Mojette proche de l'instruction memcpy

2 à 3 fois plus rapide que la librairie ISA-L

RozoFS: 1er DFS (I/O centric) utilisant un code FECCapacité de stockage réduite de moitiéRozo Systems emploie aujourd'hui 8 personnes (dont 5 en R&D) et s'ouvre à l'international (USA)

Page 31: FEC4Cloud: pour la promotion des codes à effacement dans ...people.rennes.inria.fr/Adrien.Lebre/PUBLIC/CloudDay2015/BenoitParr… · 3 FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN,

32FEC4Cloud, Benoît Parrein, Univ-Nantes/IRCCyN, Journée RSD, 14 Septembre 2015, LiP6

Merci de votre attention!