Objets distribués à persistance limitée

par Adnane Khattabi riffi

Projet de thèse en Informatique

Sous la direction de Alessia Milani.

Thèses en préparation à Bordeaux , dans le cadre de École doctorale de mathématiques et informatique , en partenariat avec Laboratoire bordelais de recherche en informatique (laboratoire) et de Combinatoire et algorithmiques (equipe de recherche) depuis le 21-11-2019 .


  • Résumé

    Motivation / Contexte. Les données partagées sont au cœur des applications distribuées, en raison soit de la nature intrinsèque de l'application (par exemple, des réseaux sociaux destinés à partager du contenu), soit pour accélérer le calcul. Les données sont également souvent répliquées pour assurer la tolérance aux pannes. Dans toutes ces situations, plusieurs machines et plusieurs cœurs de traitement accèdent simultanément aux données. Cependant, pour simplifier la programmation distribuée ou concurrente, le système est souvent tenu de donner l'illusion qu'il existe une copie unique des données, à laquelle on accède de manière atomique, satisfaisant les conditions de cohérence, telles que la 'linéarisability' [HerlihyW1990]. Une autre exigence fondamentale est la persistance des données (durabilité dans le jargon des bases de données): une fois les données modifiées, cette modification doit être permanente, sauf si et jusqu'à ce qu'elle soit écrasée. Malheureusement, garantir la persistance tout en garantissant 'linéarisability' et la disponibilité des données est une tâche complexe et coûteuse, voire même impossible dans les réseaux sujets aux pannes [Brewer2000]. La persistance totale est fondamentale pour de nombreuses applications critiques (par exemple, les services bancaires), mais la persistance limitée des données est une fonctionnalité clé de certaines applications distribuées (par exemple, le réseau social de Snapchat attire les utilisateurs en partant du principe que les données des utilisateurs ne sont accessibles que par un utilisateur. période définie et est supprimée après [Snapchat]). En outre, certaines applications en temps réel, telles que la lecture en continu de vidéos, peuvent tolérer certaines pertes d'informations pour gagner en performance. Enfin, on craint de plus en plus que le fait de garder des données confidentielles pendant une période illimitée puisse avoir des effets néfastes sur la vie privée des utilisateurs. Cette préoccupation a incité la Commission européenne à reconnaître récemment le «droit à l'oubli en ligne» [EurCommission]. Objectif de la thèse. Motivés par ces préoccupations, les objectifs de la thèse de doctorat sont les suivants: définir des objets dont la persistance est limitée, étudier les techniques algorithmiques permettant de les implémenter et acquérir une compréhension théorique de leurs implications en termes de correction, de calculabilité et de complexité. Nous explorerons différentes manières de limiter la persistance. Par exemple, nous pouvons souhaiter qu'une séquence d'opérations de lecture d'une image stockée retourne des versions de plus en plus plus floues de l'image originale, jusqu'à un point où elle n'est plus reconnaissable. Pour d'autres applications, nous pouvons préférer une structure de données semblable à un ensemble (telle qu'une pile ou une file d'attente) qui ne conserve que les k dernières mises à jour (pour une valeur configurable k) qui lui est appliquée mais «oublie» les mises à jour plus anciennes. Nous étudierons ensuite les versions à persistance limitée d'objets distribués classiques, tels que les objets pile et instantané, et vérifierons la possibilité de les implémenter plus efficacement que leurs équivalents totalement persistants. Pour les techniques algorithmiques, notre approche algorithmique sera inspirée d'objets à usage restreint [AACE2015, ACAH2016]: il s'agit d'objets dont l'utilisation est limitée en limitant soit la valeur qu'ils peuvent prendre, soit le nombre d'opérations pouvant être appliquées. leur. Certains objets à utilisation restreinte admettent des implémentations dont la complexité en étapes est polylogarithmique dans le nombre de processus - une amélioration exponentielle par rapport à la version classique non restreinte de ces objets, pour laquelle une limite inférieure temps linéaire [JTT2000] s'applique.

  • Titre traduit

    Limited persistence distributed objects


  • Résumé

    Motivation/ Context. Shared data is at the core of distributed applications, either due to the intrinsic nature of the application (e.g., social networks intended for sharing content) or to scale computation. Data is also often replicated to ensure fault-tolerance. In all these situations, data is accessed concurrently by multiple machines and processing cores. However, to simplify distributed or concurrent programming, the system is often required to provide the illusion that there exists a single copy of the data, which is accessed in an atomic manner, satisfying consistency conditions such as linearizability [HerlihyW1990]. Another fundamental requirement is data persistence (durability in the database jargon): once data is changed, this change must be permanent unless and until it is overwritten. Unfortunately, guaranteeing persistence while ensuring linearizability and data availability is a complex and expensive task and may even be impossible in failure-prone networks [Brewer2000]. While full persistence is fundamental for many critical applications (e.g., banking), limited data persistence is a key functionality of some distributed applications (for instance, the Snapchat social network attracts users based on the premise that user data is accessible only for a user-defined period and is deleted after that [Snapchat]). Also some loss of information can be tolerated by real-time applications like video streaming to gain performance. Finally, there is a growing concern that keeping user-sensitive data for an unrestricted period may have adverse effects on users' privacy. This concern has motivated the European Commission to recently acknowledge the “right to be forgotten online” [EurCommission]. Objective of the PhD. Motivated by these concerns, the objectives of the Phd thesis are : to define objects with limited persistence, to investigate algorithmic techniques for implementing them and to gain a theoretical understanding of their implications on correctness, computability and complexity. We will explore different ways to restrict persistence. For example, we may want that a sequence of read operations of a stored picture return increasingly blurrier versions of the original picture, up to a point where it is not recognizable anymore. For other applications, we may prefer a set-like data structure (such as a stack or queue) that only maintains the last k updates (for a configurable value k) applied to it but “forgets” older updates. We will then investigate the limited-persistence versions of classical distributed objects, such as stack and snapshot objects and verify the possibility to implement them more efficiently than their fully persistent counterparts. For the algorithmic techniques our algorithmic approach will be inspired by restricted-use objects [AACE2015,ACAH2016] : these are objects whose usage is restricted by having a limit on either the value they may assume or on the number of operations that may be applied to them. Some restricted-use objects admit implementations whose step complexity is poly-logarithmic in the number of processes - an exponential improvement over the classical non restricted version of these objects, for which a linear time lower bound [JTT2000] applies.