Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
stages:start [2018/10/29 10:13]
ecoquery [Sujet en collaboration avec le CC-IN2P3]
stages:start [2018/10/29 14:11] (Version actuelle)
ecoquery
Ligne 1: Ligne 1:
 ====== Sujets de stage / TER / POM ====== ====== Sujets de stage / TER / POM ======
 +
 +
 +===== Prédiction de suites temporelles =====
 +
 +En collaboration avec le [[https://cc.in2p3.fr/|CC-IN2P3]].
 +
 +Le Centre de Calcul de l’Institut national de physique nucléaire et de physique des particules (CC-IN2P3) est une unité de service et de recherche du CNRS. Classé parmi les grandes infrastructures françaises de recherche, il a pour vocation de fournir des moyens de calcul et de stockage de données aux chercheurs impliqués dans les expériences de physique corpusculaire.
 +
 +**Contexte**
 +
 +
 +Le CCIN2P3 collecte tous les jours un milliard de métriques : données de performances du kernel Linux, compteurs applicatifs, jauges hygrométriques de salle informatique pour n'en citer que quelques-unes. Certaines de ces données temporelles sont surveillées régulièrement et des notifications informent les administrateurs de services lorsque des seuils prédéfinis sont dépassés. La définition de ces limites est parfois arbitraire, et ne prend pas en compte les spécificités de chaque indicateur : variance, saisonnalité, etc. En outre, aucune prédiction n'est réalisée, et la notification ne prend donc pas compte la date prévisionnelle de la panne.
 +Le but à terme est d'implémenter plusieurs modèles de prédiction des données, correspondant à des comportements réels de métriques dans le temps. L'un de ces modèles est le triple lissage exponentiel ou "Holt Winters Forecasting", qui couvre plusieurs cas de figure.
 +
 +**Sujet**
 +
 +
 +Le travail proposé consiste en l'implémentation de l'algorithme de triple lissage exponentiel formalisé en 1957 par Holt [1] et en 1960 par Winters [2].
 +L'implémentation devra être réalisée en [[https://clojure.org/|Clojure]], qui est un langage de programmation fonctionnelle. Le choix de ce [[https://fr.wikipedia.org/wiki/Lisp|LISP]] est motivé par les impératifs de production, dont l'un est l'utilisation du logiciel [[http://riemann.io/|Riemann]] dans l'architecture de collecte des métriques au CCIN2P3.
 +
 +**Prérequis**
 +
 +  * Connaissance voire notions de programmation fonctionnelle
 +  * Autonomie de travail
 +  * La connaissance de Java est un plus
 +
 +**Références**
 +
 +
 +[1] Holt, C. E. (1957). Forecasting seasonals and trends by exponentially weighted averages (O.N.R. Memorandum No. 52). Carnegie Institute of Technology, Pittsburgh USA. https://doi.org/10.1016/j.ijforecast.2003.09.015\\
 +[2] Winters, P. R. (1960). Forecasting sales by exponentially weighted moving averages. Management Science, 6, 324–342. https://doi.org/10.1287/mnsc.6.3.324
 +
 +===== Reconnaissance automatisée de motifs dans des messages non structurés =====
 +
 +En collaboration avec le [[https://cc.in2p3.fr/|CC-IN2P3]].
 +
 +Le Centre de Calcul de l’Institut national de physique nucléaire et de physique des particules (CC-IN2P3) est une unité de service et de recherche du CNRS. Classé parmi les grandes infrastructures françaises de recherche, il a pour vocation de fournir des moyens de calcul et de stockage de données aux chercheurs impliqués dans les expériences de physique corpusculaire.
 +
 +**Contexte**
 +
 +Le CCIN2P3 collecte tous les jours 100 millions de journaux système. Ces messages non structurés représentent une mine d'informations sur les deux salles informatiques contenant de milliers de serveurs Linux, appareillages électriques et climatiques, sans parler des dizaines de milliers de composantes logicielles et matérielles en faisant partie. Ces événements sont analysés par des algorithmes de comparaison de motifs, enrichis de métadonnées, puis routés vers divers systèmes, dont l'infrastructure responsable de la notification des personnels, en cas de panne ou de dysfonctionnement.
 +Actuellement la base de motifs est gérée manuellement, ce qui pose un problème de scalabilité et de maintenance : à chaque nouvelle mise à jour logicielle, les événements changent potentiellement et les motifs existants doivent aussi être revus. Seuls 25% des messages générés par les deux salles informatiques correspondent à une entrée dans la base des motifs. En d'autres termes, 75% des événements sont inconnus, et contiennent potentiellement des informations qui nous échappent.
 +
 +**Sujet**
 +
 +Le travail proposé consiste en l'implémentation d'un algorithme de reconnaissance de motifs à partir d'un flux de messages. Le logiciel [[http://sequencer.io/|SEQUENCE]] implémenté en langage [[https://golang.org/|Go]] semble répondre à ce besoin, mais le projet est orphelin. Dans la mesure où il est opensource, il s'agit d'évaluer le logiciel et de l'adapter aux besoins du CCIN2P3. Il sera notamment demandé de l'intégrer au workflow du logiciel responsable de la gestion des "logs" à savoir [[https://syslog-ng.com/|syslog-ng]]. Si toutefois SEQUENCE s'avère insuffisant ou mal adapté, il sera nécessaire de réécrire entièrement une implémentation.
 +
 +**Prérequis**
 +
 +  * Connaissance voire notions de Golang souhaitée, mais non obligatoire
 +  * Autonomie de travail
 +  * Aisance dans le workflow de contributions github
 +  * Connaissance de syslog-ng est un plus
 +
  
 ===== Interface Web pour gestionnaire de flux ===== ===== Interface Web pour gestionnaire de flux =====
Ligne 24: Ligne 78:
  
 Si le temps le permet, on pourra faire évoluer la brique de rejeu du système en la portant vers le langage RUST (elle est actuellement codée en Scala), ce qui permettrait de s'affranchir des aléas du ramasse-miettes (garbage collector) de la JVM. Si le temps le permet, on pourra faire évoluer la brique de rejeu du système en la portant vers le langage RUST (elle est actuellement codée en Scala), ce qui permettrait de s'affranchir des aléas du ramasse-miettes (garbage collector) de la JVM.
- 
-===== Sujets en collaboration avec le CC-IN2P3 ===== 
- 
-  * Prédiction de suites temporelles (description à venir) 
-  * Reconnaissance automatisée de motifs dans des messages non structurés (description à venir)