Certification of linear algebra operations on large scale

Transcription

Certification of linear algebra operations on large scale
Introduction ABFT Certification Apps Questions
Certification de résultat sur des systèmes de calculs
globaux
Jean-Louis Roch et Thomas Roche
Laboratoire LIG, Grenoble, France.
Communications and Systems, Le Plessis Robinson, France.
Workshop APRETAF, 23 Janvier 2009, Grenoble
T.Roche
Certification de résultats
1/ 24
Introduction ABFT Certification Apps Questions
Systèmes de calcul globaux
Exemples
BOINC (1.2 PFLOPS).
SETI@Home
World Community Grid
Roseta@home
Folding@home (4.3 PFLOPS).
T.Roche
Certification de résultats
2/ 24
Introduction ABFT Certification Apps Questions
Notion de confiance
Problème
Quelle confiance peut-on avoir dans le résultat d’un calcul sur de tels
systèmes ?
Entrée
x
y
Sortie
Réponse
A priori Aucune ! !
T.Roche
Certification de résultats
3/ 24
Introduction ABFT Certification Apps Questions
Notion de confiance
Problème
Quelle confiance peut-on avoir dans le résultat d’un calcul sur de tels
systèmes ?
Zone de
Non fiables
Zone de
confiance
confiance
Entrée
x
y
Sortie
Réponse
A priori Aucune ! !
T.Roche
Certification de résultats
3/ 24
Introduction ABFT Certification Apps Questions
Applications
Applications considérées : opérations d’algèbre linéaire simple dans de
grandes dimensions.
Les applications de simulations, de calculs de prédictions se réduisent
souvent en une ou plusieurs opérations d’algèbre linéaire tel que le
produit itéré de matrices de grandes tailles, la résolution de systèmes
d’équations, etc. ...
T.Roche
Certification de résultats
4/ 24
Introduction ABFT Certification Apps Questions
Outline
1
Tolérances aux fautes
Modèle de fautes
ABFT
2
Certification et tolérance aux fautes
Modèle de fautes
Méthode de certification
3
Applications
Produit de Matrices
Produit matrice-vecteurs
T.Roche
Certification de résultats
5/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes ABFT
Outline
1
Tolérances aux fautes
Modèle de fautes
ABFT
2
Certification et tolérance aux fautes
Modèle de fautes
Méthode de certification
3
Applications
Produit de Matrices
Produit matrice-vecteurs
T.Roche
Certification de résultats
6/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes ABFT
Modèle de fautes : Aléatoires
Une application s’exécutant sur un système distribué de grande taille
doit tolérer un certain nombre de fautes. Ces fautes peuvent avoir
plusieurs formes :
Panne par valeurs.
Panne franche.
La probabilité d’apparition d’une telle faute est dépendante du
système considéré (taille, type de réseau, type machines, etc ...).
T.Roche
Certification de résultats
7/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes ABFT
Algorithm-Based Fault Tolerance
Introduits par KUANG-HUA HUANG et ABRAHAM J. A. en 1984.
Initialement créés pour les opérations matricielles sur HPC à l’aide de
checksums.
Théorie des codes
Les ABFTs utilisent des codes correcteurs comme source de
redondance efficace.
Ce travaille est adapté aux systèmes de type grille de calculs
[Chen Dongarra 96].
Approche similaire étudiée pour les caculs sur ordinateurs quantiques
[Aharonov Ben-or 97]
T.Roche
Certification de résultats
8/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes ABFT
Codes linéaires, rappels
Soit C (k, n) un code linéaire sur un corps K , soit φ l’application
d’encodage associée.
φ : Kk → Kn
Quelques définitions :
Matrice génératrice G : ∀x ∈ K k , x.G = φ(x) ∈ C ⊂ K n
distance minimale d : d = minx∈C ,x6=0 ω(x)
C est dit (d − 1)-détecteur, d−1
-correcteur
2
Borne du singleton : d ≤ n − k + 1
T.Roche
Certification de résultats
9/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes ABFT
Intégration de l’ABFT à notre problème 1/2
Le choix de codage est dépendant de l’infrastructure et de
l’application
Zone de
Non fiables
Zone de
confiance
confiance
x
Codage
x’
y’
Décodage
y
Entrée
Sortie
T.Roche
Certification de résultats
10/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes ABFT
Intégration de l’ABFT à notre problème 1/2
Le choix de codage est dépendant de l’infrastructure et de
l’application
Zone de
Non fiables
Zone de
confiance
confiance
x
Codage
x’
y’
Décodage
y
Entrée
Sortie
T.Roche
Certification de résultats
10/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes ABFT
Intégration de l’ABFT à notre problème 1/2
Le choix de codage est dépendant de l’infrastructure et de
l’application
Zone de
Non fiables
Zone de
confiance
confiance
x
Codage
x’
y’
Décodage
y
Entrée
Sortie
T.Roche
Certification de résultats
10/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes ABFT
Intégration de l’ABFT à notre problème 1/2
Le choix de codage est dépendant de l’infrastructure et de
l’application
Zone de
Non fiables
Zone de
confiance
confiance
x
Codage
x’
y’
Décodage
Entrée
y
Sortie
T.Roche
Certification de résultats
10/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes ABFT
Intégration de l’ABFT à notre problème 2/2
Zone de
Non fiables
Zone de
confiance
confiance
x
Codage
x’
y’
Décodage
Entrée
y
Sortie
Confiance en notre résultat ?
Meilleure ...
T.Roche
Certification de résultats
11/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes Méthode de certification
Outline
1
Tolérances aux fautes
Modèle de fautes
ABFT
2
Certification et tolérance aux fautes
Modèle de fautes
Méthode de certification
3
Applications
Produit de Matrices
Produit matrice-vecteurs
T.Roche
Certification de résultats
12/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes Méthode de certification
Modèle de fautes : Byzantines
Les fautes malicieuses sont bien plus difficiles a déjouer, dans le
modèle de fautes Byzantines, l’attaquant a une puissance
pratiquement infini. Contre une telle menace corriger les erreurs
devient impossible (à moins de refaire tout le calcul dans une zone de
confiance).
Deux solutions
Contraindre la capacité de l’attaquant
→ résolution efficace du problème
→ certification sous conditions
Certification sans correction
→ Certification ”absolue”
→ Déni de service
T.Roche
Certification de résultats
13/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes Méthode de certification
Modèle de fautes : Byzantines
Les fautes malicieuses sont bien plus difficiles a déjouer, dans le
modèle de fautes Byzantines, l’attaquant a une puissance
pratiquement infini. Contre une telle menace corriger les erreurs
devient impossible (à moins de refaire tout le calcul dans une zone de
confiance).
Deux solutions
Contraindre la capacité de l’attaquant
→ résolution efficace du problème
→ certification sous conditions
Certification sans correction
→ Certification ”absolue”
→ Déni de service
T.Roche
Certification de résultats
13/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes Méthode de certification
Modèle de fautes : Byzantines
Les fautes malicieuses sont bien plus difficiles a déjouer, dans le
modèle de fautes Byzantines, l’attaquant a une puissance
pratiquement infini. Contre une telle menace corriger les erreurs
devient impossible (à moins de refaire tout le calcul dans une zone de
confiance).
Deux solutions
Contraindre la capacité de l’attaquant
→ résolution efficace du problème
→ certification sous conditions
Certification sans correction
→ Certification ”absolue”
→ Déni de service
T.Roche
Certification de résultats
13/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes Méthode de certification
Modèle de fautes : Byzantines
Les fautes malicieuses sont bien plus difficiles a déjouer, dans le
modèle de fautes Byzantines, l’attaquant a une puissance
pratiquement infini. Contre une telle menace corriger les erreurs
devient impossible (à moins de refaire tout le calcul dans une zone de
confiance).
Deux solutions
Contraindre la capacité de l’attaquant
→ résolution efficace du problème
→ certification sous conditions
Certification sans correction
→ Certification ”absolue”
→ Déni de service
T.Roche
Certification de résultats
13/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes Méthode de certification
Modèle de fautes : Byzantines
Les fautes malicieuses sont bien plus difficiles a déjouer, dans le
modèle de fautes Byzantines, l’attaquant a une puissance
pratiquement infini. Contre une telle menace corriger les erreurs
devient impossible (à moins de refaire tout le calcul dans une zone de
confiance).
Deux solutions
Contraindre la capacité de l’attaquant
→ résolution efficace du problème
→ certification sous conditions
Certification sans correction
→ Certification ”absolue”
→ Déni de service
T.Roche
Certification de résultats
13/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes Méthode de certification
Certification par post-condition
Définition Post-Condition
Soit A un problème et Best le meilleur algorithme connu résolvant A
(on note C (Best) le coût de Best).
Alors A possède une post-condition si et seulement si il existe un
algorithme V , tel que C (V ) << C (Best) et pour tout x de l’ensemble
des entrées des A, tout y de l’ensemble des sorties de A,
Vrai ssi A(x) = y
V (x, y ) =
faux sinon
Certains problèmes possède naturellement une post-condition
(fonctions à sens unique par exemple).
T.Roche
Certification de résultats
14/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes Méthode de certification
Certification par post-condition
Définition Post-Condition
Soit A un problème et Best le meilleur algorithme connu résolvant A
(on note C (Best) le coût de Best).
Alors A possède une post-condition si et seulement si il existe un
algorithme V , tel que C (V ) << C (Best) et pour tout x de l’ensemble
des entrées des A, tout y de l’ensemble des sorties de A,
Vrai ssi A(x) = y
V (x, y ) =
faux sinon
Certains problèmes possède naturellement une post-condition
(fonctions à sens unique par exemple).
T.Roche
Certification de résultats
14/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes Méthode de certification
Certification par post-condition probabiliste
Définition Post-Condition Probabiliste
Soit A un problème et Best le meilleur algorithme connu résolvant A
(on note C (Best) le coût de Best).
Alors A possède une post-condition probabiliste si et seulement si il
existe un algorithme V , tel que C (V ) << C (Best) et pour tout x de
l’ensemble des entrées des A, tout y de l’ensemble des sorties de A,
Pr(A(x) = y | V (x, y ) = Vrai) = pV
Pr(A(x) 6= y | V (x, y ) = Faux) = pF
T.Roche
Certification de résultats
15/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes Méthode de certification
Intégration de la certification à notre infrastructure
Zone de
Non fiables
Zone de
confiance
confiance
x
Codage
x’
y’
Décodage
y
Verif.
y
Entrée
Sortie
Vrai/Faux
T.Roche
Certification de résultats
16/ 24
Introduction ABFT Certification Apps Questions
Modèle de fautes Méthode de certification
Intégration de la certification à notre infrastructure
Zone de
Non fiables
Zone de
confiance
confiance
x
Codage
x’
y’
Décodage
y
Verif.
y
Entrée
Sortie
Vrai/Faux
T.Roche
Certification de résultats
16/ 24
Introduction ABFT Certification Apps Questions
Produit de Matrices Produit matrice-vecteurs
Outline
1
Tolérances aux fautes
Modèle de fautes
ABFT
2
Certification et tolérance aux fautes
Modèle de fautes
Méthode de certification
3
Applications
Produit de Matrices
Produit matrice-vecteurs
T.Roche
Certification de résultats
17/ 24
Introduction ABFT Certification Apps Questions
Produit de Matrices Produit matrice-vecteurs
Produit de matrices 1/2
Données
Entrées : A ∈ Mk,m (K ) et B ∈ Mm,p (K )
Sortie : C ∈ Mk,p (K ) telle que C = A × B
e
Certification indépendante du codage, une fois décodée, la matrice C
e − A × B.
obtenue est certifiée en évaluant C
Tirer aléatoirement un vecteur u à valeurs dans E (K j E ).
e − A × B).u.
Calculer v = (C
e − A × B).u
v = (C
e=
Si v 6= 0 alors C
6 C
e
Si v = 0 alors C = C
Perreur = 0
Perreur =
T.Roche
(#{E })dim(Ker (C −A×B))
(#{E })p
e
Certification de résultats
≤
1
#{E }
18/ 24
Introduction ABFT Certification Apps Questions
Produit de Matrices Produit matrice-vecteurs
Produit de matrices 2/2
Zone de
Non fiables
Zone de
confiance
confiance
x
Codage
x’
y’
Décodage
y
Verif.
y
Entrée
Sortie
Vrai/Faux
A ∈ Mk,m (K )
B ∈ Mm,p (K )
T.Roche
Certification de résultats
19/ 24
Introduction ABFT Certification Apps Questions
Produit de Matrices Produit matrice-vecteurs
Produit de matrices 2/2
Zone de
Non fiables
Zone de
confiance
confiance
x
Codage
x’
y’
Décodage
y
Verif.
y
Entrée
Sortie
Vrai/Faux
A ∈ Mk,m (K )
B ∈ Mm,p (K )
A0 = G × A
A0 ∈ Mn,m (K )
Full Redun.
O(nm)
CheckSum.
O(nm)
O(nm)
LDPC
ReedSol.
C 0 = A0 × B
O(nmp)
e = Decode(C 0)
C
Complexitée equivalente
au codage
O(nmlog (n))
T.Roche
Certification de résultats
19/ 24
Introduction ABFT Certification Apps Questions
Produit de Matrices Produit matrice-vecteurs
Produit de matrices 2/2
Zone de
Non fiables
Zone de
confiance
confiance
x
Codage
x’
y’
Décodage
y
Verif.
y
Entrée
Sortie
Vrai/Faux
A ∈ Mk,m (K )
B ∈ Mm,p (K )
A0 = G × A
A0 ∈ Mn,m (K )
Full Redun.
O(nm)
CheckSum.
O(nm)
O(nm)
LDPC
ReedSol.
C 0 = A0 × B
O(nmp)
e = Decode(C 0)
C
1. Choisir u
e − AB).u
2. Calculer (C
Complexitée equivalente
au codage
O(kp)+ O(mp)+ O(km)
e .u)
(C
(B.u)
(A.(B.u))
O(nmlog (n))
T.Roche
Certification de résultats
19/ 24
Introduction ABFT Certification Apps Questions
Produit de Matrices Produit matrice-vecteurs
Produit matrice-vecteurs 1/4
Données
Entrées : A ∈ Mk,m (K ), x ∈ K m
Sortie : y ∈ K k tel que y = A.x
=0
)
≥d
Tirer aléatoirement une coordonnée i du vecteur ỹ .
Décoder
y0
∈
Kn
en ỹ ∈
Kn
(Nerreurs (ỹ )
Calculer v = ỹi − (GA.x)i .
v = ỹi − (GA.x)i
Si v 6= 0 alors ỹ =
6 y
Si v = 0 alors ỹ = y
T.Roche
Perreur = 0
Perreur = n−d
n ≥
Certification de résultats
k−1
n
20/ 24
Introduction ABFT Certification Apps Questions
Produit de Matrices Produit matrice-vecteurs
Produit matrice-vecteurs 2/4
Données
Entrées : A ∈ Mk,m (K ), x ∈ K m
Sortie : y ∈ K k tel que y = A.x
=0
)
≥d
Tirer aléatoirement l coordonnées ci du vecteur ỹ .
Décoder
y0
∈
Kn
en ỹ ∈
Kn
(Nerreurs (ỹ )
Calculer pour tout i, 0 ≤ i < l, vi = ỹci − (GA.x)ci .
v = {ỹci − (GA.x)ci }i=0..l−1
Si v 6= 0 alors ỹ =
6 y
Si v = 0 alors ỹ = y
Perreur = 0
k−1 l
l
Perreur = ( n−d
n ) ≥( n )
T.Roche
Certification de résultats
21/ 24
Introduction ABFT Certification Apps Questions
Produit de Matrices Produit matrice-vecteurs
Produit matrice-vecteurs 3/4
v = {ỹci − (GA.x)ci }i=0..l−1
Si v 6= 0 alors ỹ =
6 y
Si v = 0 alors ỹ = y
Perreur = 0
k−1 l
l
Perreur = ( n−d
n ) ≥( n )
Le code prend part à la certification, il est sujet à de nouvelles
contraintes
→ Le code doit avoir une grande distance minimale pour limiter le
nombre de tirages tout en restant efficace.
Les codes de Reed-Solomon respectent ces contraintes.
codage/décodage en O(nlogn)
Ce sont des codes MDS (i.e ils atteignent la borne du singleton)
T.Roche
Certification de résultats
22/ 24
Introduction ABFT Certification Apps Questions
Produit de Matrices Produit matrice-vecteurs
Produit matrice-vecteurs 4/4
Zone de
Non fiables
Zone de
confiance
confiance
x
Codage
x’
y’
Décodage
Verif.
ỹ
y
Entrée
Sortie
Vrai/Faux
A ∈ Mk,m (K )
x ∈ Km
A0 = G × A
A0 ∈ Mn,m (K )
ReedSol.
O(mnlog (n))
y 0 = A0.x
O(nm)
ỹ = Decode(y 0)
ReedSol.
Faire l fois :
1. Choisir i
2. Calculer (ỹi − (GA.x)i )
O(nlog (n))
l × (O(nlogn) + O(m))
((GA)i )
T.Roche
Certification de résultats
((GA)i .x)
23/ 24
Introduction ABFT Certification Apps Questions
Merci !
T.Roche
Certification de résultats
24/ 24