Une énorme quantité de données est désormais générée et stockée : 300 millions de photos sont téléchargées sur Facebook chaque jour et 156 millions de courriels sont envoyés chaque minute. Par ailleurs, près de 90% des données dans le monde ont été produites au cours de deux dernières années. Cette quantité colossale de données est typiquement hébergée dans des centres de données situés en régions géographiques différentes, et doit être servie promptement sur demande. Raison pour laquelle une propriété fondamentale pour les systèmes de stockage répartis est la fiabilité. Une fiabilité qui ne peut être garantie en cas de panne réseau qu’en ajoutant de la redondance. Pour atteindre cet objectif, des techniques telles que les codes d’effacement qui optimisent le compromis entre le coût de stockage et la tolérance aux pannes ont été utilisées dans les systèmes en production depuis de nombreuses années, bien qu’ils ne soient pas complètement adaptés aux environnements répartis.<br> Seulement au cours de la dernière décennie, une multitude de techniques avancées adaptées aux systèmes répartis ont été développées. À titre d’exemple, Microsoft Azure déploie depuis 2012 un code avec des propriétés de reconstruction locale. Les architectes systèmes prennent désormais en compte des paramètres portant sur les coûts de maintenance en plus du coût de stockage et de la tolérance aux pannes, tels que la localité ou les coûts en bande passante et en lecture/écriture. Puisqu’il est impossible d’optimiser tout cela en même temps, le code optimal dépend de l’application concernée. <br> Cette thèse s’inscrit dans ce domaine foisonnant de la recherche de codes optimaux dans les environnement répartis. D’abord, nous examinons différentes métriques ainsi que les techniques de codage de pointe qui satisfont à ces métriques. Ensuite, nous étudions comment la localité, c’est-à-dire le nombre de nœuds impliqués dans les opérations de reconstruction, influe sur l’utilisation de ressources. Par la suite, nous nous penchons sur le problème de la distribution des données et ses effets sur des propriétés critiques telles que la latence. Enfin, nous examinons comment l’enchevêtrement des données au-dessus d’un code d’effacement peut renforcer des propriétés du système comme la résistance à la censure et la fiabilité.
Yong GanZhijie HuangYulong ShiXiao ZhangNannan Zhao