NAJAFZADEH Mahsa
Direction de recherche : Marc SHAPIRO
L’analyse et co-design des applications faiblement-cohérentes
Afin d’assurer disponibilité et réactivité, de nombreux systèmes distribués reposent sur des bases de données répliquées qui maintiennent des copies (répliques) des données sur différents serveurs. Un utilisateur peut accéder à une réplique locale et agir sans devoir se synchroniser avec les autres répliques. Ces accès locaux évitent les coûts liés aux latence réseau entre les répliques, et ne sont pas sujets à des fautes telles que la déconnexion des répliques. La cohérence constitue un défi important dans la mise en oeuvre des bases de données répliquées. La cohérence forte fournit un modèle d’accès séquentiel, familier aux développeurs d’applications, mais nécessite un ordre total, pour toutes les répliques, sur l’exécution des opéra- tions (réplication synchrone). A l’inverse, un modèle à cohérence faible, comme la cohérence à terme, guarantit des réponses immédiates, mais favorise l’apparition de bugs applicatifs, comme la divergence d’états ou la violation d’invariants. Les concepteurs de bases de données repliquées doivent faire un choix difficile entre une cohérence forte, qui guarantit une large gamme d’invariants applicatifs, mais qui est lente et fragile, et une réplication asynchrone, qui assure un bon niveau de disponibilité et de réactivité, mais laisse le programmeur face à de possibles anomalies liées à la concurrence. Pour résoudre ce dilemme, des bases de données commerciales et recherche fournissent une cohérence hybride qui permet au programmeur d’exiger une cohérence forte pour certaines opérations, et d’ainsi permettre une synchronisation. Cependant, utiliser des modèles de cohérence hybride est loin d’être trivial. Exiger une cohérence forte trop souvent peut affecter négativement les performances et la disponibilité, et l’exiger trop peu souvent peut causer des erreurs. Trouver le juste équilibre implique pour le programmeur d’appréhender le comportement de l’application confronté à la sémantique com- plexe du modèle de cohérence, prenant en compte quelles anomalies peuvent être évitées par un renforcement local de la cohérence, et quelles anomalies éviter pour assurer l’abscence d’erreur. Cette thèse étudie l’analyse et la mise en oeuvre d’une application et de la cohérence asso- ciée, de manière à assurer les invariants de cette application avec un minimum d’éxigences de cohérence. Les trois principales contributions de cette thèse sont :
- Nous proposons le premier outil d'analyse statique destiné à prouver la validité d'invariants d'applications de base de données à modèle de cohérence hybride.
- Nous présentons la mise en application de notre outil d'analyse dans le cadre de la conception d'un système de fichiers dont la sémantique permet un comportement similaire à POSIX et à un coût raisonnable.
- Nous proposons un ensemble de patterns utiles, susceptibles d'aider les développeurs d'application dans l'implémentation d'invariants les plus communs.
Soutenance : 22/04/2016
Membres du jury :
Mme.Carla Ferreirai, Universidade Nova de Lisboa [Rapporteur]
M.Vivien Quéma, Grenoble INP / ENSIMAG [Rapporteur]
M.Vianney Rancurel, Scality, Paris
M.Philippe Pucheral, University of Versailles Saint-Quentin en Yvelines
M.Pierre-Evariste Dagand, LIP6, Paris
Mme .Béatrice Bérard, LIP6, Paris
M. Pascal Molli, Université de Nantes
M. Marc Shapiro, LIP6, Paris
Publications 2013-2018
-
2018
- M. Najafzadeh, M. Shapiro, P. Eugster : “Co-Design and Verification of an Available File System”, VMCAI 2018 - International Conference on Verification, Model Checking, and Abstract Interpretation, vol. 10747, Lecture Notes in Computer Science, Los Angeles, CA, United States, pp. 358-381, (Springer) (2018)
-
2016
- M. Najafzadeh : “The Analysis and Co-design of Weakly-Consistent Applications”, soutenance de thèse, soutenance 22/04/2016, direction de recherche Shapiro, Marc (2016)
- M. Najafzadeh, A. Gotsman, H. Yang, C. Ferreira, M. Shapiro : “The CISE Tool: Proving Weakly-Consistent Applications Correct”, PaPoC 2016 - 2nd Workshop on the Principles and Practice of Consistency for Distributed Data, Londres, United Kingdom, (ACM) (2016)
- V. Balegas, Ch. Li, M. Najafzadeh, D. Porto, A. Clement, S. Duarte, C. Ferreira, J. Gehrke, J. Leitão, N. Preguiça, R. Rodrigues, M. Shapiro, V. Vafeiadis : “Geo-Replication: Fast If Possible, Consistent If Necessary”, Bulletin of the Technical Committee on Data Engineering, vol. 39 (1), IEEE Data Engineering Bulletin, Special Issue on Data Consistency across Research Communities, pp. 12, (IEEE Computer Society) (2016)
- M. Najafzadeh, A. Gotsman, H. Yang, C. Ferreira, M. Shapiro : “The CISE Tool: Proving Weakly-Consistent Applications Correct”, (2016)
- A. Gotsman, H. Yang, C. Ferreira, M. Najafzadeh, M. Shapiro : “’Cause I’m Strong Enough: Reasoning about Consistency Choices in Distributed Systems”, Symposium on Principles of Programming Languages, Saint Petersburg, FL, United States, pp. 371–384 (2016)
-
2015
- M. Shapiro, M. Najafzadeh : “CISE Safety Tool”, (2015)
- V. Balegas, S. Duarte, C. Ferreira, R. Rodrigues, M. Najafzadeh, M. Shapiro, N. Preguiça : “Towards Fast Invariant Preservation in Geo-replicated Systems”, Operating Systems Review, vol. 49 (1), ACM SIGOPS Operating Systems Review - Special Issue on Repeatability and Sharing of Experimental Artifacts, pp. 5, (Association for Computing Machinery) (2015)
- V. Balegas, S. Duarte, C. Ferreira, R. Rodrigues, N. Preguiça, M. Najafzadeh, M. Shapiro : “Putting Consistency back into Eventual Consistency”, European Conference on Computer Systems (EuroSys), Bordeaux, France, pp. 6:1-6:16, (ACM) (2015)
-
2014
- V. Balegas, M. Najafzadeh, S. Duarte, C. Ferreira, M. Shapiro, R. Rodrigues, N. Preguiça : “Putting the Consistency Back Into Eventual Consistency”, Large-Scale Distributed Systems and Middleware (LADIS) 2014, Large-Scale Distributed Systems and Middleware (LADIS) 2014, Cambridge, United Kingdom (2014)
- V. Balegas, N. Preguiça, S. Duarte, C. Ferreira, R. Rodrigues, M. Najafzadeh, M. Shapiro : “The Case for Fast and Invariant-Preserving Geo-Replication”, SRDSW 2014 - 33rd International Symposium on Reliable Distributed Systems Workshops, Reliable Distributed Systems Workshops (SRDSW), 2014 IEEE 33rd International Symposium on, Nara, Japan, pp. 5, (IEEE) (2014)
-
2013
- M. Najafzadeh, M. Shapiro, V. Balegas, N. Preguiça : “Improving the scalability of geo-replication with reservations”, DCC 2013 : Workshop on Distributed Cloud Computing, Dresden, Germany, pp. 441-445, (IEEE Computer Society) (2013)