Master 2013 2014
Stages de la spécialité SAR
Dynamique des processus et threads dans le système Linux


Lieu :LIP6
Encadrant : Matthieu Latapy, Frédéric Peschanski, Tewfik Ziadi
Dates :du 01/04/2014 au 15/09/2014
Rémunération :ndemnité de stage standard
Mots-clés : Parcours SAR, aussi pour STL


Description

Dans le cadre de ce stage, nous souhaitons étudier comment les processus et threads (processus légers) sont ordonnancés dans un système réel en cours d’utilisation. Il s’agira en un premier temps d’instrumenter le noyau du système d’exploitation Linux pour permettre d’observer le comportement des processus et \threads. Cette première partie fera donc appel à des compétences en programmation C de bas niveau. Les observations seront enregistrées sous forme de traces dites flots de liens, essentiellement des séquences de triplets (t,a,b) décrivant une interaction entre a et b à un temps t donné. Par exemple, il peut s’agir de la préemption par l’ordonnanceur du système du thread a pour donner la main au thread b à l’instant t. Cela peut aussi correspondre au relâchement d’un verrou par a et (donc) au réveil de b au temps t. Une fois qu’on aura rendu le noyau capable d’enregistrer de telles traces, il s’agira de les capturer effectivement dans plusieurs contextes ; on pense notamment à des machines utilisateurs, mais aussi des serveurs de calcul, et on pourra également mener des attaques factices (mais réalistes) sur ces machines pour en étudier ultérieurement l’impact sur les traces. On attachera la plus grande attention à l’obtention de traces à grande échelle (couvrant par exemple plusieurs semaines d’utilisation) et dans des contextes différents, rigoureusement documentés, afin de construire un dataset de référence qui sera mis à disposition de la communauté scientifique. Le stagiaire travaillera ensuite, en étroite collaboration avec les chercheurs participant au projet, sur l’analyse des flots de liens obtenus. Les outils d’analyse seront fournis, mais il s’agira de les appliquer et d’en interpréter les résultats. On obtiendra ainsi une description statistique et structurelle des flots de liens concernés, puis on pourra pousser plus loin. Un exemple type concernera la synthèse automatique de modèles comportementaux à partir des flots de liens, l’étude de l’impact des attaques sur les propriétés observées, ou l’extension du formalisme des flots de liens pour capturer des propriétés spécifiques au contexte de ce travail. Le stage sera encadré conjointement par les trois porteurs du projet, qui sont tous trois fortement concernés par le sujet du stage et apportent des compétences complémentaires.