Scheduling in Distributed Storage Systems
Ordonnancement dans les systèmes de stockage distribués
Résumé
Distributed key-value databases, where each entry is associated with a unique partition key, are central components of modern architectures, thanks in particular to their scalability and fault-tolerance properties. Given their versatility, these systems must have sufficient performance to service huge numbers of requests. In particular, throughput and latency depend on a wide variety of factors. In this thesis, we focus on the scheduling of requests within the cluster, with the aim of obtaining theoretical guarantees on the objective functions specific to these systems. We model this scheduling problem in the first work by taking into account data replication, which implies a strong spatial constraint on query execution, and the real-time aspect, which prevents a priori knowledge of the workload. From this theoretical framework, we develop several optimality and approximation results for simplified variants, and bound the maximum weighted latency based on a state-of-the-art optimal algorithm. The calculation of this lower bound allows us to evaluate the quality of several heuristics based on simulations. The second work focuses on inapproximability results, and we show that these depend on the data replication strategy used within the system. We also give a method for calculating the maximum throughput theoretically achievable under a fixed data access frequency regime. The third work is dedicated to optimizing the execution of so-called multi-get queries, which can read several keys at once. In the last work, we propose Hector, a framework based on the Apache Cassandra system to facilitate the implementation and evaluation of scheduling algorithms in practice.
Les bases de données distribuées de type clé-valeur, où chaque entrée est associée à une clé de partition unique, sont des composants centraux des architectures modernes, notamment grâce à leurs propriétés de passage à l’échelle et de tolérance aux pannes. Étant donnée leur versatilité, ces systèmes doivent disposer des performances suffisantes pour assurer le service d’énormes quantités de requêtes. En particulier, le débit et la latence dépendent d’une grande diversité de facteurs. Dans cette thèse, nous nous intéressons à l’ordonnancement des requêtes au sein du cluster, avec l’objectif d’obtenir des garanties théoriques sur les fonctions objectives propres à ces systèmes. Nous modélisons ce problème d’ordonnancement dans le premier travail en prenant en compte la réplication des données, qui implique une contrainte spatiale forte sur l’exécution des requêtes, et l’aspect temps réel, qui empêche la connaissance a priori de la charge de travail. À partir de ce cadre théorique, nous développons plusieurs résultats d’optimalité et d’approximation pour des variantes simplifiées, et nous bornons la latence maximale pondérée en nous basant sur un algorithme optimal de l’état de l’art. Le calcul de cette borne inférieure nous permet d’évaluer la qualité de plusieurs heuristiques à partir de simulations. Le second travail porte sur des résultats d’inapproximabilité, et nous montrons que ceux-ci dépendent de la stratégie de réplication des données utilisée au sein du système. Nous donnons en outre une méthode permettant de calculer le débit maximal théoriquement atteignable sous un régime fixé de fréquence d’accès aux données. Le troisième travail est dédié à l’optimisation de l’exécution des requêtes dites multi-get, qui permettent de lire plusieurs clés à la fois. Dans le dernier travail, nous proposons Hector, un framework basé sur le système Apache Cassandra permettant de faciliter l’implémentation et l’évaluation des algorithmes d’ordonnancement en pratique.
Origine | Version validée par le jury (STAR) |
---|