Dtection automatique danomalies de performance Mohamed Said Mosli - - PowerPoint PPT Presentation

d tection automatique d anomalies de performance
SMART_READER_LITE
LIVE PREVIEW

Dtection automatique danomalies de performance Mohamed Said Mosli - - PowerPoint PPT Presentation

Dtection automatique danomalies de performance Mohamed Said Mosli Bouksiaa, Franois Trahay, Gal Thomas Introduction Matriel complexe : NUMA, caches hirarchiques, GPU, etc Logiciels complexes : MPI+OpenMP, MPI+CUDA, etc


slide-1
SLIDE 1

Détection automatique d’anomalies de performance

Mohamed Said Mosli Bouksiaa, François Trahay, Gaël Thomas

slide-2
SLIDE 2

Mohamed Said Mosli Bouksiaa 2

Introduction

Matériel complexe : NUMA, caches hiérarchiques,

GPU, etc

Logiciels complexes : MPI+OpenMP, MPI+CUDA,

etc → Outils d'analyse de performance

slide-3
SLIDE 3

Mohamed Said Mosli Bouksiaa 3

Analyse de performance : les outils de trace

Lancer l'application

(#82) 5292 Enter: function 14, process 7, source 0 (#83) 5387 Leave: function 1, process 7, source 0 (#84) 5540 Enter: function 14, process 3, source 0 (#85) 5631 Leave: function 1, process 3, source 0 (#86) 5767 Enter: function 14, process 5, source 0 (#87) 5801 Leave: function 1, process 5, source 0 (#88) 5995 Counter: process 8, counter 1, value 14829 (#89) 6062 Counter: process 8, counter 1, value 14573 (#90) 6747 Enter: function 14, process 9, source 0 (#91) 6764 Counter: process 6, counter 1, value 14829 (#92) 6796 Leave: function 1, process 9, source 0 (#93) 6806 Counter: process 6, counter 1, value 14573

 Intercepter les événements

intéressants (appels de fonctions, messages, etc)

 Générer une trace d'exécution

slide-4
SLIDE 4

Mohamed Said Mosli Bouksiaa 4

Visualisation des traces

État = Réception de message État = Envoi de message Flèche = un message

slide-5
SLIDE 5

Mohamed Said Mosli Bouksiaa 5

Visualisation de grosses traces

Visualiser une grosse

trace est difficile

  • Millions d'événements

Comment détecter les

parties intéressantes d'une trace ?

NPB CG classe A 16 Processus MPI – 426 000 événements

slide-6
SLIDE 6

Mohamed Said Mosli Bouksiaa 6

Visualisation de grosses traces

Une trace est souvent

structurée

  • Boucles
  • Fonctions

Beaucoup

d'informations qui se ressemblent

NPB CG classe A 16 Processus MPI – 426 000 événements

slide-7
SLIDE 7

Mohamed Said Mosli Bouksiaa 7

Proposition : Repérer les parties à examiner en priorité

 Détecter les similarités dans une trace : les motifs

récurrents

  • Les phases de l'application qui se répètent

 Sélectionner les points intéressants dans la trace

  • Repérer des instances représentatives
  • Analyse comparative : repérer des anomalies

100 x { MPI_SEND (src=0 dest=1 len=16 tag=0) MPI_RECV (src=1 dest=0 len=16 tag=0) } MPI_Barrier 10000 x { MPI_SEND (src=0 dest=1 len=16 tag=0) MPI_RECV (src=1 dest=0 len=16 tag=0) } MPI_Barrier

slide-8
SLIDE 8

Mohamed Said Mosli Bouksiaa 8

Récapitulation

Problème : inexploitabilité des grosses traces à l'état

brut

Idée : trouver les motifs récurrents localiser des

⇒ zones d'intérêt (de petite taille) que l'humain peut examiner

Contributions :

  • Détecter les motifs récurrents
  • Détecter des anomalies de performance
  • Détecter les relations de causalité entre anomalies
slide-9
SLIDE 9

Mohamed Said Mosli Bouksiaa

9

Détection des motifs récurrents

slide-10
SLIDE 10

Mohamed Said Mosli Bouksiaa 10

Représentation d'une trace

 Une trace peut être représentée comme une liste

d'événements

 Objectif : trouver des motifs dans cette liste

  • Peut être vu comme une factorisation
slide-11
SLIDE 11

Mohamed Said Mosli Bouksiaa 11

Algorithme de factorisation

Première étape : trouver des petits motifs

 Trouver un couple d'événements (e1, e2) qui apparaît plusieurs fois

→ motifs à 2 événements

 Parcourir la liste des événements à la recherche d'un couple qui se répète

slide-12
SLIDE 12

Mohamed Said Mosli Bouksiaa 12

Algorithme de factorisation

Première étape : trouver des petits motifs

 Trouver un couple d'événements (e1, e2) qui apparaît plusieurs fois

→ motifs à 2 événements

 Parcourir la liste des événements à la recherche d'un couple qui se répète

slide-13
SLIDE 13

Mohamed Said Mosli Bouksiaa 13

Algorithme de factorisation

Deuxième étape : trouver des boucles de ces motifs

 Une boucle est la concaténation de plusieurs occurrences d'un motif

  • Chaque itération a été détectée comme occurrence du motif

 Parcourir la liste des événements à la recherche d'occurrences consécutives du

même motif

slide-14
SLIDE 14

Mohamed Said Mosli Bouksiaa 14

Algorithme de factorisation

Deuxième étape : trouver des boucles de ces motifs

 Une boucle est la concaténation de plusieurs occurrences d'un motif

  • Chaque itération a été détectée comme occurrence du motif

 Parcourir la liste des événements à la recherche d'occurrences consécutives du

même motif

slide-15
SLIDE 15

Mohamed Said Mosli Bouksiaa 15

Algorithme de factorisation

Deuxième étape : trouver des boucles de ces motifs

 Une boucle est la concaténation de plusieurs occurrences d'un motif

  • Chaque itération a été détectée comme occurrence du motif

 Parcourir la liste des événements à la recherche d'occurrences consécutives du

même motif

slide-16
SLIDE 16

Mohamed Said Mosli Bouksiaa 16

Algorithme de factorisation

Deuxième étape : trouver des boucles de ces motifs

 Une boucle est la concaténation de plusieurs occurrences d'un motif

  • Chaque itération a été détectée comme occurrence du motif

 Parcourir la liste des événements à la recherche d'occurrences consécutives du

même motif

slide-17
SLIDE 17

Mohamed Said Mosli Bouksiaa 17

Algorithme de factorisation

Troisième étape : Essayer d'étendre les motifs

 Est-ce un motif à 2 événements ou à 3 événements ?

slide-18
SLIDE 18

Mohamed Said Mosli Bouksiaa 18

Algorithme de factorisation

Troisième étape : Essayer d'étendre les motifs

 Est-ce un motif à 2 événements ou à 3 événements ?  1er cas : le motif P#1 est toujours suivi par l'événement C

slide-19
SLIDE 19

Mohamed Said Mosli Bouksiaa 19

Algorithme de factorisation

Troisième étape : Essayer d'étendre les motifs

 Est-ce un motif à 2 événements ou à 3 événements ?  1er cas : le motif P#1 est toujours suivi par l'événement C

→ P#1 est un motif à 3 événements (au moins)

slide-20
SLIDE 20

Mohamed Said Mosli Bouksiaa 20

Algorithme de factorisation

Troisième étape : Essayer d'étendre les motifs

 Est-ce un motif à 2 événements ou à 3 événements ?  2ème cas : le motif P#1 n'est suivi par l'événement C que quelques fois

→ créer le motif P#2 qui englobe le motif P#1

slide-21
SLIDE 21

Mohamed Said Mosli Bouksiaa 21

Algorithme de factorisation

Troisième étape : Essayer d'étendre les motifs

 Est-ce un motif à 2 événements ou à 3 événements ?  2ème cas : le motif P#1 n'est suivi par l'événement C que quelques fois

→ créer le motif P#2 qui englobe le motif P#1

slide-22
SLIDE 22

Mohamed Said Mosli Bouksiaa 22

Algorithme de factorisation

Troisième étape : Essayer d'étendre les motifs

 Est-ce un motif à 2 événements ou à 3 événements ?  3ème cas : le motif P#1 n'est suivi par l'événement C qu'une seule fois

→ ne rien faire

slide-23
SLIDE 23

Mohamed Said Mosli Bouksiaa 23

Motifs détectés

Définition :

motif #1234 { séquence 1 3 x séquence 2 séquence 3 }

Nombre d'occurrences, durées des occurrences,

etc

slide-24
SLIDE 24

Mohamed Said Mosli Bouksiaa

24

Détection des anomalies

slide-25
SLIDE 25

Mohamed Said Mosli Bouksiaa 25

Courbe de distribution des durées

slide-26
SLIDE 26

Mohamed Said Mosli Bouksiaa 26

Courbe de distribution des durées

~ 99 % ~ 1 %

slide-27
SLIDE 27

Mohamed Said Mosli Bouksiaa 27

Courbe de distribution des durées

Probablement des anomalies !

État de référence

Chercher des anomalies ici

slide-28
SLIDE 28

Mohamed Said Mosli Bouksiaa 28

q : taille de l'ensemble de référence

q = 75 %

slide-29
SLIDE 29

Mohamed Said Mosli Bouksiaa 29

q : taille de l'ensemble de référence

q = 99 %

slide-30
SLIDE 30

Mohamed Said Mosli Bouksiaa 30

Courbe de distribution des durées

État de référence

Chercher des anomalies ici

Différence de 3 %

slide-31
SLIDE 31

Mohamed Said Mosli Bouksiaa 31

Courbe de distribution des durées

État de référence

Chercher des anomalies ici

Différence de 3 % Introduire un état de transition

slide-32
SLIDE 32

Mohamed Said Mosli Bouksiaa 32

Courbe de distribution des durées

État de référence

Chercher des anomalies ici

État indécis

slide-33
SLIDE 33

Mohamed Said Mosli Bouksiaa 33

s : seuil d'anomalie

État de référence

Chercher des anomalies ici

État indécis

x=d x=s*d

slide-34
SLIDE 34

Mohamed Said Mosli Bouksiaa 34

(Motifs + Anomalies) détectés

Définition :

motif #1234 { séquence 1 3 x séquence 2 séquence 3 }

Durée de référence : 20 Liste des occurrences anormales :

  • Occ 11, t = 123.45, durée = 2438
  • Occ 54, t = 9999.87, durée = 570
  • etc
slide-35
SLIDE 35

Mohamed Said Mosli Bouksiaa

35

Détection des sources d’anomalies

slide-36
SLIDE 36

Mohamed Said Mosli Bouksiaa 36

Des anomalies… à leurs sources

Concentration d'anomalies Des relations de causalité ?

slide-37
SLIDE 37

Mohamed Said Mosli Bouksiaa 37

Recherche des causes racines : motivation

Attente trop longue Cause de l'attente

Exemple d'anomalie racine (i.e. source de problème)

slide-38
SLIDE 38

Mohamed Said Mosli Bouksiaa 38

Recherche des causes racines : motivation

D'autres processus sont affectés...

slide-39
SLIDE 39

Mohamed Said Mosli Bouksiaa 39

Recherche des causes racines : motivation

D'autres processus sont affectés...

Il faut détecter ce genre de « cascades »

slide-40
SLIDE 40

Mohamed Said Mosli Bouksiaa 40

Détection des sources d’anomalies

message Événement « à l'heure » : début de l'émission Événement en retard : fin de la réception Processus B Processus A

slide-41
SLIDE 41

Mohamed Said Mosli Bouksiaa 41

Détection des sources d’anomalies

message Événement « à l'heure » : début de l'émission Événement en retard : fin de la réception Processus B Processus A

slide-42
SLIDE 42

Mohamed Said Mosli Bouksiaa 42

Détection des sources d’anomalies

message Événement « à l'heure » : début de l'émission Événement en retard : fin de la réception Processus B Processus A

slide-43
SLIDE 43

Mohamed Said Mosli Bouksiaa 43

Détection des sources d’anomalies

message Autre problème Problème

  • bservé

initialement Processus B Processus A

slide-44
SLIDE 44

Mohamed Said Mosli Bouksiaa 44

Détection des sources d’anomalies

message Autre problème Problème

  • bservé

initialement Processus B Processus A relation par « précédence »

slide-45
SLIDE 45

Mohamed Said Mosli Bouksiaa 45

Détection des sources d’anomalies

message Autre problème Problème

  • bservé

initialement Processus B Processus A relation par « message »

slide-46
SLIDE 46

Mohamed Said Mosli Bouksiaa 46

Détection des sources d’anomalies

 Relations de causalité

: relation par « précédence »

Pr1

: relation par « message » Processus C Processus B

Pr2 Pr3 Pr4

Événement qui arrive à la date attendue Événement qui arrive en retard Processus A

Pr1 Pr2 Pr3 Pr4

slide-47
SLIDE 47

Mohamed Said Mosli Bouksiaa

47

Détection d’anomalies : Évaluation préliminaire

slide-48
SLIDE 48

Mohamed Said Mosli Bouksiaa 48

Évaluation préliminaire

Objectifs :

  • Tester la détection des motifs
  • Tester la détection d'anomalies
  • Tester la détection des causes racines

Implémentation dans eztrace Application sur des traces NAS Parallel Benchmark (NPB)

  • Version MPI
  • Classe A, 16 processus
slide-49
SLIDE 49

Mohamed Said Mosli Bouksiaa 49

Évaluation préliminaire

slide-50
SLIDE 50

Mohamed Said Mosli Bouksiaa 50

Détection des motifs

⇒ temps de détection des motifs < 5 s ⇒ # motifs détectés varie de quelques dizaines à quelques centaines

slide-51
SLIDE 51

Mohamed Said Mosli Bouksiaa 51

Détection des anomalies

⇒ # anomalies détectées varie de quelques dizaines à quelques milliers

slide-52
SLIDE 52

Mohamed Said Mosli Bouksiaa 52

Détection des anomalies

Nombre d'anomalies en fonction de s (NPB-MG, classe A, 16 processus)

2 32 64 128 1000 2000 3000 4000 5000 6000 MG

slide-53
SLIDE 53

Mohamed Said Mosli Bouksiaa 53

Détection des sources d'anomalies

⇒ nombre non négligeable d'anomalies qui se propagent ⇒ chemins problématiques assez longs

slide-54
SLIDE 54

Mohamed Said Mosli Bouksiaa 54

Cas d'utilisation : trace sous forme brute

Application : NPB-CG, 32 processus, classe B Affichage brut : tous les processus, tous les

événements

Les 32 processus

slide-55
SLIDE 55

Mohamed Said Mosli Bouksiaa 55

Cas d'utilisation : aperçu des résultats de l'analyse

 On repère un chemin problèmatique long

  • Chaque ligne représente une séquence problématique

id du processus Date de l'événement anormal Date de l'événement suivant Longueur du chemin

slide-56
SLIDE 56

Mohamed Said Mosli Bouksiaa 56

Cas d'utilisation : vue restreinte

Sélection des processus impliqués et de la fenêtre

temporelle adéquate

slide-57
SLIDE 57

Mohamed Said Mosli Bouksiaa 57

Cas d'utilisation : visualisation du chemin problématique

 les points de synchronisation exacts qui ont permis à

l'anomalie de se propager

slide-58
SLIDE 58

Mohamed Said Mosli Bouksiaa 58

Conclusion

Héritage : outils de traces Idée : détection de motifs détection d'anomalies

⇒ ⇒ détection d'anomalies sources

Résultats expérimentaux encourageants Travaux futurs :

  • Faux positifs, faux négatifs
  • Extension à d'autres applications (e.g. architectures

client/serveur)