SwiftCloud: Fault-Tolerant Geo-Replication Integrated all the Way to the Client Machine - Inria - Institut national de recherche en sciences et technologies du numérique
Reports (Research Report) Year : 2013

SwiftCloud: Fault-Tolerant Geo-Replication Integrated all the Way to the Client Machine

Abstract

Client-side logic and storage are increasingly used in web and mobile applications to improve response time and availability. Current approaches tend to be ad-hoc and poorly integrated with the server-side logic. We present a principled approach to integrate client- and server-side storage. We support mergeable and strongly consistent transactions that target either client or server replicas and provide access to causally-consistent snapshots efficiently. In the presence of infrastructure faults, a client-assisted failover solution allows client execution to resume immediately and seamlessly access consistent snapshots without waiting. We implement this approach in SwiftCloud, the first transactional system to bring geo-replication all the way to the client machine. Example applications show that our programming model is useful across a range of application areas. Our experimental evaluation shows that SwiftCloud provides better fault tolerance and at the same time can improve both latency and throughput by up to an order of magnitude, compared to classical geo-replication techniques.
Afin d'améliorer le temps de réponse et la disponibilité, les applications web et mobiles s'appuient fréquemment sur l'exécution de code et le stockage de données côté machine cliente. Cependant, les solutions existantes sont " bricolées " et s'intégrent mal avec la logique côté serveur. Nous présentons une approche méthodique, visant à intégrer le stockage côté client et côté serveur. Elle s'appuie sur des transactions hybrides (permettant aussi bien les mises à jour sans conflit que fortement cohérentes), qui accèdent aux données, soit du côté client soit côté serveur, et qui lisent un instantané causalement cohérent de façon efficace. Si une faute se produit dans l'infrastructure, le client peut changer de serveur et reprendre immédiatement l'exécution, tout en continuant à accéder sans interruption à son instantané cohérent. Cette approche a été mise en {\oe}uvre dans \SwiftCloud{}, le premier système transactionnel à proposer la géo-réplication jusqu'à la machine cliente. Quelques exemples montrent que notre modèle de programmation est adapée à divers domaines d'application. Notre évaluation expérimentale montre que l'approche \SwiftCloud améliore la tolérance aux fautes, et que la latence et le débit sont améliorés d'un ordre de grandeur, par rapport aux approches de géo-réplication classiques.
Fichier principal
Vignette du fichier
RR-8347.pdf (906.94 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-00870225 , version 1 (11-10-2013)

Identifiers

Cite

Marek Zawirski, Annette Bieniusa, Valter Balegas, Sérgio Duarte, Carlos Baquero, et al.. SwiftCloud: Fault-Tolerant Geo-Replication Integrated all the Way to the Client Machine. [Research Report] RR-8347, INRIA. 2013. ⟨hal-00870225⟩
1437 View
1093 Download

Altmetric

Share

More