Sites Inria

English version

Interview

23/09/2016

Rencontre avec Marc Shapiro et son projet européen SyncFree

© Inria / Photo J.-M. Ramès

Chercheur en sciences informatiques dans le domaine des systèmes distribués, Marc Shapiro travaille dans l’équipe-projet Regal, née d’une synergie entre le CNRS, Inria et l’UPMC. Il évoque ses travaux.

« MA THÉMATIQUE DE TRAVAIL : AUTOUR DU COMPROMIS ENTRE LA DISPONIBILITÉ ET LA COHÉRENCE DES DONNÉES »

> Pourriez-vous décrire en quelques mots votre équipe et le projet Regal ?

Regal (Répartition Et Gestion des Applications à Large échelle) est une équipe-projet d’une grosse vingtaine de personnes, dont huit permanents (deux chercheurs Inria, des maîtres de conférence et deux professeurs), des doctorants et des postdoctorants. L’équipe est dirigée par Pierre Sens.  Nous nous intéressons aux systèmes répartis tels que les nuages de données (cloud ), l’Internet, les systèmes pair-à-pair (P2P), les systèmes coopératifs, les jeux en ligne, ou même les essaims de robots. Bref, tout ce qui concerne la communication, l’interaction, et la coopération entre un grand nombre d’ordinateurs, de multicœurs et de processus. En tant qu’équipe orientée système, nous développons des algorithmes, nous vérifions leur exactitude, et nous testons dans la pratique leur efficacité et leur utilité.

> Et quelle est votre spécialité ?

Spécifiquement, les nuages de données et le partage sur le Web. Imaginons par exemple un jeu en ligne. L’espace de jeu constitue une base de données partagée par tous les utilisateurs. Pour que tout le monde voie le même état du jeu, on pourrait imaginer de centraliser toutes les données dans un serveur unique. Hélas, au-delà de quelques centaines d’utilisateurs, la charge est trop élevée, et les joueurs les plus éloignés sont désavantagés par le délai réseau. Nous préconisons donc de distribuer des répliques, ou serveurs-copies, près des utilisateurs. Ce qui engendre un nouveau problème, celui de la cohérence entre ces serveurs. Voilà ma thématique de travail : garantir la disponibilité des données et la vitesse de réponse tout en maintenant une cohérence des données entre ces serveurs.

> Comment résoudre cette contrainte ?

Classiquement, il existe deux classes de solutions, dites CP et AP. Les CP (consistent partitioned  ou cohérents sous partition) synchronisent les mises à jour afin d’être fortement cohérentes.  Elles sont  confortables pour les programmeurs, mais aussi coûteuses à cause du grand nombre de synchronisations (et plus difficiles à passer à l’échelle) et elles utilisent mal le matériel (qui reste en attente longtemps). En cas de panne réseau (partition), un système CP se bloque complètement. Les AP (available partitioned  ou disponibles sous partition) quant à eux acceptent les mises à jour en parallèle sans synchroniser, et sont donc toujours disponibles, répondent rapidement et peuvent être rapprochés des utilisateurs. Mais il arrive que les copies divergent, et à la base c’est au programmeur d’application d’éviter que la divergence ne corrompe les données.

La division entre CP et AP est inhérente, mais notre axe de recherche consiste à réduire l’écart entre les deux. Une technologie que nous développons avec nos partenaires depuis 2009, appelée CRDT (Conflict-Free Replicated Data Types ), garantit, grâce à ses propriétés mathématiques, qu’un système AP converge vers une valeur correcte (comme les opérations concurrentes d’un CRDT sont commutatives, elles n’ont pas besoin d’être ordonnées), sans effort du programmeur d’application.  Nos spécifications ont a été reprises par plusieurs industriels (dont Facebook, TomTom et la base de données Riak industrialisée par Basho).  Les CRDT constituent le point de départ du projet européen SyncFree, en réponse à l’intérêt des industriels.

> Quel est le gain en latence et en débit ? Comment se traduit-il concrètement en matière de retour sur investissement pour ces industriels ?

Nous avons mis en œuvre dans un même système plusieurs protocoles. Expérimentalement, nous mesurons en gros que, sur une même application, le protocole le plus faible répond quatre fois plus vite, et chaque serveur sert quatre fois plus de clients, qu’avec le protocole le plus fort. Un autre exemple est bet365, un site anglais de paris sportifs en ligne qui est passé d’une base de données Oracle (CP) à Riak avec CRDT. Au terme d’un match, il leur fallait auparavant près d’une demi-heure pour calculer la cote et les gains des parieurs. C’est désormais possible en quelques minutes, sans changer de matériel.

Les CRDT résolvent une partie du problème, celui de la convergence, mais pour de nombreuses applications cela n’est pas suffisant.  Pour aller plus loin, le projet SyncFree a développé Antidote.

> Quels sont les avantages d’Antidote ?

Antidote est une base de données en nuage, de type AP amélioré. Elle est disponible et passe à l’échelle, comme ses concurrents AP, mais s’en distingue par ses garanties beaucoup plus fortes. Déjà, elle permet de grouper les opérations en transactions atomiques et applique la cohérence forte à l’intérieur d’un centre de calcul.  Entre centres de calcul, elle offre la cohérence causale qui évite les ordonnancements anormaux tout en restant AP. Enfin, nous développons une nouvelle technologie « Just-Right Consistency  » qui consiste à « régler » finement la base de données aux besoins en cohérence d’une application particulière : l’analyse statique permet de déterminer quelles sont les quelques opérations critiques, qui ont besoin d’une synchronisation plus forte. Enfin, nous avons soigné l’aspect ingénierie : structure en couches, bonnes pratiques de développement, nombreux retours sur le code, suites de test. Je pense qu’Antidote est prête à être testée par des industriels qui auraient besoin de ses avantages.

Mots-clés : Marc Shapiro Projet européen SyncFree Interview Europe

Haut de page

Suivez Inria