Julien Sopena

Activités de recherche

Positionnement :

Problématique :

Algorithmes de communication et de gestion de ressources. L’ensemble de mes travaux prend pour cadre les systèmes distribués à grande échelle et porte plus particulièrement sur les problèmes de communication et de gestion des ressources. Ces derniers sont, en effet, des briques de base sur lesquelles reposent toutes applications réparties : de leur fonctionnement, dépend la validité de ces applications; et sans solution efficace à ces problèmes, on ne peut envisager d’obtenir des applications performantes.

Contexte :

Systèmes répartis à grande échelle. Si ces deux classes de problèmes ont depuis longtemps été étudiées, l'originalité de mes travaux réside dans la conception d’algorithmes adaptés aux contraintes des systèmes répartis modernes. Ainsi, il s'attachent à proposer des solutions spécifiques, s’appuyant sur une étude détaillée des propriétés, tant formelles (graphes de communication, hypothèses temporelles, classes de fautes, ...) que pratiques (bande passante, dynamicité des besoins applicatifs, cohérence des caches matérielles, ...), des systèmes visés.

Approche :

Formelle et expérimentale. Dans l'ensemble de mes travaux, j'ai choisi de considérer ces problèmes tant sous un aspect formel, en proposant et en prouvant de nouveaux algorithmes, que d’un point de vue système en implémentant et en étudiant la mise en œuvre de ces services dans des cadres réels.

Principales contributions :

Mutex :

Les algorithmes d'exclusion mutuelle permettent de garantir l'unicité d'accès à une ressource partagée. Dans le cadre de nos recherches nous avons proposé : un algorithme en O(log n) tolérant les pannes [SRDS-2006], un algorithme générique composition permettant de former une nouvelle solution hiérarchique adaptée aux grilles de calcules [ICPP-2007, EUROPAR-2008], plusieurs algorithmes garantissant le respect de qualités de service (priorités, délais d'obtention, ...) [CCGRID-2012, CCGRID-2013, ICPP-2013].

Gossip :

Si le flooding est une solution simple pour diffuser de l'information, il génère un grand nombre de messages inutiles. De nombreuses solutions probabilistes ont été proposées pour permettre de résoudre ce problème dans les réseaux large échelle. Nous avons proposé une méthodologie de comparaison et étudié l'impact des propriétés des topologies sous-jacente sur ces algorithmes [SRDS-2012]. À partir de cette étude nous avons proposé un nouvel algorithme de gossip adapté aux réseaux sociaux [ICPP-2013b].

CoreToCore :

Les nouveaux processeurs ressemblent de plus en plus à des systèmes distribués. La communication entre les différents cœurs devient un facteur limitant. Nous avons proposé un nouvelle algorithme de communication BatchQueue n'utilisant qu'une seule variable de synchronisation et limitant fortement les défauts de caches [SBAC-2010]. En utilisant cet algorithme au sein d'OpenMP nous avons obtenu jusqu'à 80% d'accélération dans le cadre du pipeline paralelisme [ICPADS-2012].

GC :

Les langages de programmation modernes s'appuient sur un mécanisme de gestion automatique de la mémoire, dit ramasse-miettes (GC), qui désalloue automatiquement les zones de mémoire lorsqu'elles ne sont plus utilisées. Dans une première étude nous avons montré précisément comment le GC limitaient l'efficacité des machines virtuelles dans les environnements multi-cœurs [PLOS-2011]. Puis nous avons proposé un ensemble d'améliorations basées sur la modification des mécanismes de synchronisations et de partage du travail, de manière à prendre en compte les spécificités des architectures NUMA. Ces résultats ont ainsi montré qu'il était possible d'assurer un passage à l'échelle du GC sans changement de paradigme [ASPLOS-2013].

Designed by OWSD.org. Valid CSS & XHTML
Ce site et l'ensemble de son contenu est mis à disposition sous un contrat Creative Commons.
Creative Commons License