Rechercher

Paramétrage

Thèmes

Accessibilité

Accessibilité

Anne-Cecile Caron

Maîtresse de conférences CNU : SECTION 27 - INFORMATIQUE Laboratoire / équipe

Axes de recherche

Systèmes Multi-agents pour le traitement de données

Après avoir travaillé en informatique théorique, je suis maintenant membre de l'équipe SMAC du laboratoire CRIStAL depuis janvier 2016.

Avec Maxime Morge et Jean-Christophe Routier, nous travaillons dans le domaine des Systèmes Multi-agents (SMA) pour le traitement des données massives.

La science des données vise à traiter de grands volumes de données pour y extraire de nouvelles connaissances. Ces connaissances peuvent aider les entreprises à prendre des décisions et les cas d’utilisation sont très nombreux : moteurs de recommandation, détermination de cibles marketing, analyse comportementale des clients, analyse de l’e-réputation, etc.

Sur le plan informatique, cette nouvelle problématique entraîne la création de nouveaux algorithmes et de plateformes adaptées au traitement de grands volumes de données (par exemple, Hadoop, Spark, etc). Ces technologies promues par les géants du web sont adoptées par les grands comptes du retail, du e-commerce, de la banque et des assurances. Néanmoins elles sont difficiles à optimiser, et l’un de nos objectifs est de rendre ces systèmes plus adaptatifs et intelligents, laissant l’utilisateur se concentrer sur l’analyse des résultats des calculs et non pas l’optimisation de l’exécution de ceux-ci.

Dans le cadre de la thèse de Quentin Baert, nous avons commencé notre travail par la répartition de tâches Reduce dans un job map-reduce, mais ce contexte se généralise à des tâches quelconques qui doivent traiter des données distribuées sur plusieurs noeuds. Les SMA étant par nature adaptatifs, ils permettent de traiter des tâches efficacement, même si les données et/ou les tâches ne sont pas réparties équitablement au départ (leur volume ne permet pas d'en avoir une vision globale), et même si le nombre de noeuds ou les performances des noeuds évoluent dans le temps. Nous avons ainsi montré qu’une approche centrée individu peut fournir des solutions de calcul plus efficaces pour répartir l’allocation des tâches par négociation entre les processus. La négociation entre agents et donc la réallocation se fait en même temps que l'exécution des tâches ce qui permet au système de s'adapter aux performances d'exécution des noeuds de calcul.

Quentin Baert a soutenu sa thèse le 13 septembre 2019, thèse intitulée : Négociation multi-agents pour la réallocation dynamique de tâches et application au patron de conception MapReduce.

Ces travaux ont donné lieu à l'implémentation en Scala d'un système distribué multi-agents appelé MAS4Data, qui permet de déployer le patron de conception MapReduce sur plusieurs noeuds de calcul - grappe de PC ou cluster - grâce au soutien du CPER Data.

Aujourd'hui, nous travaillons à l'extension de notre modèle formel. Dans le cadre de la thèse d'Ellie Beauprez, nous étudions la prise en charge des jobs concurrents : dans ce cas, plusieurs ensembles de tâches sont traités simultanément par les agents et un nouvel ensemble de tâches peut entrer dans le système à tout moment. Ces extensions impliquent de considérer d’autres modes de négociation et de mixer compétition et coopération. Un nouveau prototype en Scala appelé SMASTA+ est en cours de développement. Ce prototype réalise l'exécution de plusieurs jobs (d'où la compétition) en cherchant à minimiser la durée moyenne de réalisation (mean flowtime) des jobs. Pour cela, les noeuds qui exécutent les tâches peuvent déléguer leurs tâches ou les échanger (d'où la coopération) afin de diminuer la durée moyenne de réalisation de l'ensemble des jobs. Le système va chercher à appliquer le principe de localité. En effet, comme le déplacement d'une donnée distante est coûteuse, l'évaluation du temps d'exécution des tâches tient compte de la localité des données. Encore une fois, la négociation des tâches se faisant en même temps que l'exécution, le système est adaptatif aux performances réelles des noeuds de calcul.