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