Top Banner
Le code à effacement Mojette : Applications dans les réseaux et dans le Cloud Soutenance de l'Habilitation à Diriger des Recherches Benoît Parrein (Université de Nantes, IRCCyN/équipe IVC) Mardi 16 Juin 2015, Amphi 1, Bâtiment IRESTE, Polytech Nantes
87

Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

Jun 28, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

Le code à effacement Mojette :Applications dans les réseaux et dans le Cloud

Soutenance de l'Habilitation à Diriger des Recherches

Benoît Parrein (Université de Nantes, IRCCyN/équipe IVC)

Mardi 16 Juin 2015, Amphi 1, Bâtiment IRESTE, Polytech Nantes

Page 2: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

2

Les codes à effacement chez Facebook, c'est....

87 PB (87000 TB!) 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 3: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

3

Limitation

Application uniquement sur des données “froides”

i.e 80 lectures par seconde max

Page 4: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

4

Les codes à effacement

k messages

n paquets

k paquetsreçus

k messages

EncodingEncoding

Decoding

Codage

Décodage

Perte

Page 5: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

5

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 6: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

6

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 7: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

7

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 8: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

8

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 9: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

9

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 10: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

10

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 11: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

11

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 12: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

12

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 13: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

13

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 14: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

14

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

C'est encore plus fun sur http://www.mojette.net/ !

Page 15: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

15

Questions

Comment positionner le code Mojette au sein de la théorie des codes correcteurs?

Intérêt pour le stockage distribué?

Intérêt pour les réseaux mobiles et P2P?

Quelles performances?

Page 16: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

16

“Ben's Time-line”

Travaux de thèse

1998

préparationHDR

2013

2015

ProjetSereadmo

2001

2006 2009

ProjetP2PWeb

ProjetFEC4Cloud

2015

2004 : recrutement MCF

Projet MatchSlide

Projet C2M

2001

2002 2004 2010

Page 17: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

17

“Ben's Time-line”

Travaux de thèse

1998

préparationHDR

2013

2015

ProjetSereadmo

2001

2006 2009

ProjetP2PWeb

ProjetFEC4Cloud

2015

2004 : recrutement MCF

Projet MatchSlide

Projet C2M

2001

2002 2004 2010

Page 18: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

18

Plan de la soutenance

Partie 1 : Le code à effacement Mojette– Définitions

– Performances

Partie 2 : Applications dans les réseaux auto-organisés– Les réseaux ad hoc (le projet SEREADMO)

– Les réseaux P2P (le projet P2PWeb)

Partie 3 : Le stockage distribué (le projet FEC4Cloud)– Le système de fichier distribué RozoFS

– Comparaison avec Ceph sur Grid5000

Conclusions :– Conclusions et perspectives

– Résumé des encadrements

– Responsabilités collectives

Page 19: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

19

Partie 1 : Le code Mojette

Page 20: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

20

Les codes à effacement (MDS)

MDS : Maximum Distance SeparableCode systématique i.e le message apparaît de manière explicite

k messages

n paquets

k paquetsreçus

k messages

EncodingEncoding

Decoding

Codage

Décodage

Perte

Page 21: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

21

Les codes Reed-Solomon (RS) (1960)

Sont des codes MDSUsage d'une matrice génératrice G (code linéaire)

– matrice de Cauchy ou Vandermonde

c=b .G

permet d'obtenir un code systématiqueG={I k∣Pk ,n−k}

Page 22: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

22

Mises en œuvre des codes RS

Reed-Solomon (matrice de Cauchy [Byers, 1995])

Reed-Solomon (matrice de Vandermonde [Rizzo, 1998], RFC5510)

...

[stockage] Cauchy “Good” [Planck, 2008] in Jerasure 1.2

[stockage] Intel ISA-L par matrices de Vandermonde (inclus instructions SSE)

Page 23: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

23

Le code à effacement Mojette

basé sur la transformation Mojette [Guédon, 1995]– Calcul d'un ensemble de projections 1D à partir d'un support 2D

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 24: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

24

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

Le code à effacement Mojette systématique

Exemple du code Mojette systématique (7,4)Brevet [David et al., 2013]

Page 25: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

25

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

Conditions de reconstruction

Critère de Myron Katz [Katz, 1978]

∑i

N

|p i|⩾Pou ∑

i

N

|qi|⩾Q

Q

P

Page 26: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

26

Conditions de reconstruction

Critère de Myron Katz [Katz, 1978]

Support de K lignes reconstructibles par K projections [Parrein, 2001]

Page 27: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

27

Conditions de reconstruction

Critère de Myron Katz [Katz, 1978]

Support de K lignes reconstructibles par K projections [Parrein, 2001]– usage d'angles Mojette de type (p, 1)

– chaque projection est équivalente pour la reconstruction

– N - K projections redondantes

Page 28: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

28

Décodage

Définition des chemins de reconstruction [Normand et al., 2006](une projection reconstruit une ligne, de la gauche vers droite)

Example on a 4 lines geometrical bufferwith 4 projections

+réduction du nombre d'écritures [Féron et al., 2014] (brevet Rozo Systems)

Page 29: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

29

Propriété du code Mojette

Code déterministe

Code à effacement de type (1+є) MDS

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

Reconstruction asynchrone

Pas de contrainte de primalité

Complexité linéaire [O(IN)]

Page 30: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

30

Performances (codage)

8192 4096

0

500

1000

1500

2000

2500

3000

3500

4000

4500

50004723

25602621

1152

Coding (k=4,m=6) [email protected]

ISA-L d 4+2 coding +memcpy

Mojette RozoFS 4+2 coding

blocksize (Bytes)

CP

U C

yc

les

Résultats : Didier Féron, Rozo Systems

Page 31: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

31

Performances (codage)

8192 4096

0

500

1000

1500

2000

2500

3000

3500

4000

4500

50004723

25602621

1152

Coding (k=4,m=6) [email protected]

ISA-L d 4+2 coding +memcpy

Mojette RozoFS 4+2 coding

blocksize (Bytes)

CP

U C

yc

les

Débit = 6,40 GB/s

Ccl : le code Mojette est 2 fois plus rapide que la librarie ISA-L

Résultats : Didier Féron, Rozo Systems

Page 32: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

32

Performances (décodage)

8192 4096

0

500

1000

1500

2000

2500

3000

3500

4000

4500

50004710

2496

1536

768832

542

Decoding (m=4,k=6) [email protected]

ISA-L d 4+2 decoding +memcpy

Mojette RozoFS 4+2 decoding

memcpy

Blocksize (Bytes)

CP

U c

yc

les

Résultats : Didier Féron, Rozo SystemsRésultats : Didier Féron, Rozo Systems

Débit = 9,60 GB/s

Ccl : le code Mojette est 3 fois plus rapide que la librarie ISA-L

Page 33: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

33

Plan de la soutenance

Partie 1 : Le code à effacement Mojette– Généralité sur les codes

– Le code Mojette

– Performances

Partie 2 : Applications dans les réseaux auto-organisés– Les réseaux ad hoc (le projet SEREADMO)

– Les réseaux P2P (le projet P2PWeb)

Partie 3 : Le stockage distribué (le projet FEC4Cloud)– Le système de fichier distribué RozoFS

– Comparaison avec Ceph sur Grid5000

Conclusions– Conclusions et perspectives

– Résumé des encadrements

– Responsabilité collectives

Page 34: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

34

Partie 2 : Applications dans les réseaux auto-organisés de type ad hoc et P2P

Page 35: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

35

Mobile Ad hoc NETworks (MANET)

A

B

Page 36: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

36

Problèmes

Le routage

La qualité de service

La sécurité

Page 37: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

37

MP-OLSR

basé sur OLSR (RFC3626)– modification de l'algorithme de Dijkstra + fonctions auxiliaires

application du code à effacement Mojette– chaque route convoie une projection

Page 38: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

38

2006-2009 : le projet SEREADMO

Projet collaboratif RNRT : – Thales (resp.), Université de Poitiers/IRCOM-SIC, IRCCyN, Keosys

Objectif : Sécurisation des réseaux ad hoc par la transformation Mojette

RNRT 2005

Page 39: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

39

2006-2009 : le projet SEREADMO

Principaux résultats :– Définition du protocole MP-OLSR (IETF ID, Manet WG

document)

– Simulation (réaliste)/expérimentation des protocoles MP-OLSR et OLSR

– Validation dans le cadre de transfert vidéo graduable (H.264/SVC) protégée de manière inégale par un code Mojette

Page 40: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

40

Expérimentation MP-OLSR

Polytech Nantes, le 2 juin 2009

Page 41: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

41

Les réseaux P2P

Sont des réseaux auto-organisés

Agissent au niveau de la couche application (couche 7)

Système distribué très large échelle

Applications dans le stockage et la diffusion liveAlternative au modèle centralisé client/serveur

Page 42: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

42

2010-2012: le projet P2PWeb

Projet collaboratif (Région PdL) : TMG (resp.), LINA, IRCCyN

Objectifs : – delester le modèle centralisé Client/Serveur (C/S) par un modèle

distribué (et auto-organisé) pair-à-pair (P2P)

– proposer une architecture hybride C/S et P2P

– inclure des codes à effacement (reste à faire!)

Page 43: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

43

Le protocole P2PWeb

Page 44: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

44

Validation du protocole P2PWeb

Page 45: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

45

Plan de la soutenance

Partie 1 : Le code à effacement Mojette– Généralité sur les codes

– Le code Mojette

– Performances

Partie 2 : Applications dans les réseaux auto-organisés– Les réseaux ad hoc (le projet SEREADMO)

– Les réseaux P2P (le projet P2PWeb)

Partie 3 : Le stockage distribué (le projet FEC4Cloud)– Le système de fichier distribué RozoFS

– Comparaison avec Ceph sur Grid5000

Conclusions– Conclusions et perspectives

– Résumé des encadrements

– Responsabilité collectives

Page 46: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

46

Partie 3 : Le stockage distribué haute disponibilité et tolérant aux pannes

Page 47: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

47

2001: Internet Distributed Image Information System

GUÉDON, J.; PARREIN, B. & NORMAND, N. : Internet Distributed Image Information System. In: Integrated Computer-Aided Engineering, 8 (2001), Nr. 3, p. 205-214

Page 48: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

48

Haute disponibilité signifie...

accessible à 99,999999....%de la réplication le plus souvent...une infrastructure capable de supporter la chargeune haute consommation énergétique...et des problèmes de droit à la vie privée

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

Page 49: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

49

Distributed File Systems (DFS)

HDFS (Hadoop)

Facebook file system (f4)

Scality (basé sur Chord)

CephFS, GlusterFS, ...

...

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

Page 50: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

50

Page 51: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

51

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

– Scale-Out NAS

– compatible POSIX

– pas de contrainte matérielle

– tolérant aux pannes (jusqu'à 4 pannes)

– code à effacement Mojette (sur blocs de 4Ko ou 8Ko)

– dédié données froides et chaudes

Projet Open source (licence GPL)

Page 52: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

52

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 53: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

53

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 Ceph

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

Résultats Alexandre van Kempen

Page 54: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

54

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 Ceph

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

Résultats Alexandre van Kempen

Page 55: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

55

Cas d'usage (validés) de RozoFS

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

Exécution de machines virtuelles (QEMU/KVM)

Déploiement de bases de données transactionnelles

...

Page 56: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

56

Réduction de l'espace de stockage

Capacité de stockage pour 10 Go utile

Résultats Bastien Confais

Page 57: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

57

Réduction de l'espace de stockage

Capacité de stockage pour 10 Go utile

Résultats Bastien Confais

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

Page 58: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

58

Le projet FEC4Cloud

ANR 2012 (appel Emergence)

Partenaires: IRCCyN (resp.), ISAE-SupAéro, SATT-OV

Objectif: valorisation et transfert

Résultats: – accompagnement de Rozo Systems à Nantes

– création de la start-up O'Fly Co à Toulouse

Page 59: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

59

Conclusions

Page 60: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

60

Conclusions et perspectives (1/4)

Code à effacement– code Mojette systématique et non systématique

– inscription dans la théorie des codes (algébriques)

– hautes performances à 10GB/s

Perspectives– Évaluation performance Mojette systématique

– Système de partage de secrets à base de codes linéaires (objectif du projet Privacy4Cloud)

Page 61: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

61

Conclusions et perspectives (2/4)

Stockage distribué– 1er DFS hautes performances basé sur des codes

– émergence de la société Rozo Systems

Perspectives

– Expérimentations large échelle (Grid5000)

– Comportement dans un contexte Big Data

– Décentralisation du modèle Cloud (le Fog!)

Page 62: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

62

Conclusions et perspectives (3/4)

Réseaux P2P– Protocole hybride client-serveur et P2P

– QoS/QoE pour diffusion live (voir CFIP 2015)

Perspectives– Recrutement Soufiane Rouibia en septembre!

– Couplage avec des codes à effacement

– Transport sans couture entre C/S et P2P (offre OTT de type MPEG-DASH)

Page 63: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

63

Conclusions et perspectives (4/4)

Réseaux ad hoc– Protocole de routage MP-OLSR (draft IETF)

– Couplage code MDS (tolérance aux pannes)

– Application pour la transmission vidéo

Perspectives

– Une RFC!

– Interaction avec une infrastructure (cf Internet des Objets)

– Implémentations embarquées (collab. Université Parana et LINA)

Page 64: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

64

Encadrements doctoraux (1/2)

Fadi Boulos– “Trafic audiovisuel à qualité d'usage garantie : caractérisation d'erreurs, de la

gêne associée et mécanismes de protection” (Directeur Patrick Lecallet)

Jiazi Yi– “Protocole de routage à chemins multiples pour réseaux auto-organisés”

(Directeur Jeanpierre Guédon)

Eddy Cizeron– “Routage multichemins et codage à description multiple dans les réseaux ad

hoc” (Directeur Jean-François Diouris)

Dan Radu– “Efficient communication strategies for mobile ad hoc networks”

(Directrice Adina Astilean)

Page 65: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

65

Encadrements doctoraux (2/2)

Dimitri Pertin (soutenance prévue avril 2016)– “Code à effacement par géométrie discrète pour le stockage

distribué” (Directeur Nicolas Normand) CIFRE Rozo Systems

Bastien Confais (demande de financement en cours)– “Du Cloud storage au Fog storage : transition énergétique et intérêt pour

l'Internet des Objets”

Page 66: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

66

Chronologie des soutenances de thèses

Travaux de thèse

1998

préparation HDR

2013

2015

ProjetSereadmo

2001

2006 2009

ProjetP2PWeb

ProjetFEC4Cloud

2015

2004 : recrutement MCF

Projet MatchSlide

Projet C2M

2001

2002 2004 2010

Eddy

Fadi

Jiazi

Dan

Dimitri

Bastien

Page 67: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

67

Chronologie des soutenances de thèses

Travaux de thèse

1998

préparation HDR

2013

2015

ProjetSereadmo

2001

2006 2009

ProjetP2PWeb

ProjetFEC4Cloud

2015

2004 : recrutement MCF

Projet MatchSlide

Projet C2M

2001

2002 2004 2010

Eddy

Fadi

Jiazi

Dan

Dimitri

Bastien

+ 21 stages masters depuis 2004

Page 68: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

68

Encadrements post-doctoraux

Asmaa Hassiba Adnane– projet Sereadmo

Majd Ghareeb– projet P2PWeb

Alexandre van Kempen– projet FEC4Cloud

Page 69: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

69

Responsabilités collectives

Enseignant en informatique (~250H par an)

Co-responsable de l'option Réseaux-Système-Cloud (RSC) à Polytech/INFO depuis 2011

Responsable des stages de fin d'étude à Polytech/INFO entre 2008-2011

Responsable de la formation doctorale entre 2008-2012 (ED-STIM)

Membre du GT “Innovation et valorisation de la recherche” auprès du Vice-Président Valorisation et Transfert de l'Université de Nantes depuis décembre 2014

Participation à la rédaction des documents cadres du RFI Numérique et du RFI Electronique (volet Innovation) pour la région Pays de la Loire

Membre du GT Science dans le cadre de la fusion IRCCyN – LINA

Page 70: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

70

Projet de création d'équipe de recherche

Stockage distribué : système de fichier distribué, Software Defined Storage, système large échelle, Cloud/Fog Computing, bilan énergétique, expérimentations in vivo

Réseaux : réseaux ad hoc, Internet des Objets, QoS, Software Defined Networks, simulations et expérimentations

Sécurité : tolérance aux pannes, résilience, droit à la vie privée, sécurité des systèmes et des réseaux, situation critique, plan de reprise d'activité

Page 71: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

71

Merci de votre attention!

Page 72: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

72

Bonus

Page 73: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

73

Liste publications 2010-2015 (1/2)

Page 74: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

74

Liste publications 2010-2015 (2/2)

Page 75: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

75

Formulation Mojette-Dirac

Page 76: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

76

Performance du code (#cycles CPU)

encodage(6,4) décodage (6,4)

Bloc 4K

Bloc 8K

Source :Dimitri Pertin, Didier Féron, Alexandre Van Kempen, Benoît Parrein, Performance evaluation of the Mojette erasure code for fault-tolerant distributed hot data storage, arXiv:1504.07038 [cs.IT], 5 pages, Avril 2015.

Page 77: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

77

MP-OLSR+FEC

Page 78: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

78

MP-OLSR+FEC

Page 79: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

GigE infrastructure

(data storage and metadata)

+

Standard GigE Infrastructure

Niveau clients/applications

ExternalNetworkExternalNetwork

Rozofsmount

Exportd

RozoFS

Rozofsmount Storage

Rozofsmount Storage

Rozofsmount Storage

Rozofsmount Storage

Preuve de concept Rozo Systems

Page 80: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

80

RozoFS et HDFS

Résultats Pauline FolzJeu de données 'Twitter' de 700 Mo

Page 81: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

81

Encadrements Masters

20 stages master depuis 2004

(…) (1) Xiang Zhu (2008), Polytech Nantes, Master SEGE, 100%, routage ad hoc, aujourd'hui Ingénieur HP China (2) Sylvain David (2009), Polytech Nantes, Ing. Informatique, 100%, routage ad hoc et code FEC, Ingénieur R&D Fizians (3) Wissam Hamdach (2010), Polytech Nantes, Master SEGE, 100%, routage ad hoc, ingénieur Télécom à Dubaï (4) Thibaut Perret (2011), Polytech Nantes, Ing. Informatique, 100%, réseau P2P, thèse au Canada (5) Jean-Daniel Fischer (2011), Polytech Nantes, Ing. Informatique, 50%, network time protocol (NTP) and RadClock, ingénieur Bouygues Télécom (6) Giulio d’Ippolito (2011), Université Roma Tre, Master, 50%, code à effacement, Ingénieur Système en Italie (7) Dimitri Pertin (2012), Polytech Nantes, Ing. Informatique, 50%, code à effacement, thèse CIFRE avec moi et l'entreprise Fizians (8) Nassima Bouzakaria (2012), Master Réseaux et Télécom, Université Paul Sabatier Toulouse, 50%, transport vidéo et P2P (9) Pauline Folz (2013), Université de Nantes, Master ALMA, 100 %, traitement distribué dans le Cloud, thèse CIFRE à Nantes Métropole (10) Vikram Runthla (2014), Polytech Nantes, Master international MDM, 100 %, optimisation de services sur réseaux à faible bande-passante (11) Chen Chao (2015), Polytech Nantes, Master international MDM, 50 %, Internet of Thing and Cloud infrastructure, collaboration avec Prof. Jinlong Hu, South China University of Technology (SCUT)...

Page 82: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

82

P2PWeb-Live (soumission CFIP 2015)

Technologies WebRTC et HLS

Ccl : Ça marche ! avec un allégement de charge pour le serveur de contenu de 50 %

Page 83: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

83

Facebook f4 cells (pour données “chaudes”) : 14 racks de 15 serveurs, 6.3K de disques (de 4TB chacun) soit 25 PB par cell (1EB = 1000PB = 1018 octets par datacentre)

[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.

Stockage distribué tolérant aux pannes:l'exemple de Facebook

Page 84: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

84

Système d'information Facebook

Extrait de [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.

Page 85: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

85

C E C I

E S T U

N E D O

N N E E

G N C T Proj(0,1)

C H H S K S E N A M B L W I

Proj(0,1)

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

N N R I H G V Y C

C E G A G Y Q B E E

IProj(-2,1)

Proj(2,1)

Élément de la donnée

Élément du code

Le code Mojette lettre

Page 86: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

101

Expérimentations in vivo sur GRID5K

Lecture séquentielle (en Mo/s)

Page 87: Le code à effacement Mojette : Applications dans les ...33 Plan de la soutenance Partie 1 : Le code à effacement Mojette – Généralité sur les codes – Le code Mojette – Performances

102

Expérimentations in vivo sur GRID5K

Écriture séquentielle (en Mo/s)