Global-scale applications, such as virtual wallets, advertising platforms, social networks, online games, or collaboration networks, require consistency across distributed data items. As networked users, objects, devices, and sensors proliferate, the consistency issue is increasingly acute for the software industry. Both sides of the classical alternative, requiring to choose between consistency and availability, are unsatisfactory.

The goal of SyncFree is to close the gap between consistency and availability, enabling extreme-scale distributed applications without global synchronisation. The SyncFree project aims to develop both theoretical and practical understanding of large-scale synchronisation-free programming.   It  has advanced both the theory and practice of large-scale application architectures, leveraging the experience and requirements of the SyncFree industrial partners, and the research expertise of the academic partners.  

The starting point is the concept of Conflict-free Replicated Data Types (CRDTs). CRDTs allow unsynchronised concurrent updates, yet provably ensure convergence. The project develops CRDT specifications and implementations, programming platforms, languages and patterns, and tools for extreme-scale available systems.  Beyond CRDTs, the project explores global invariants in an extreme-scale environment to develop programming tools and patterns for extreme scale replication, and to experiment in vivo with extreme scale real applications.

The SyncFree research has proposed a number of innovative mechanisms to simplify the development of synchronisation-free software while ensuring correctness, scalablity and performance.  Remarkable contributions of SyncFree include BigSets, an efficient approach for implementing large (> 1Mb) CRDTs; Antidote, a cloud-scale CRDT database that combines high availability with strong guarantees; Bounded Counters, an extended CRDT encapsulating an available shared counter guaranteeing strong invariants; the Just-Right Consistency approach, that applies application analysis to tailoring the consistency protocol to application requirements; Lasp, a programming language for available systems; WombatOAM, a highly-available operation & maintenance platform; Legion, a P2P platform for sharing CRDTs, and so on.

Large-scale computation without synchronisation

 
Large-scale on-line services including social networks and multiplayer games handle huge quantities of frequently changing shared data. Maintaining its consistency is relatively simple in a centralised cloud, but no longer possible due to increased scalability requirements. Instead, data must replicated across several distributed data centres, requiring new principled approaches to consistency that will be explored by the SyncFree project.
 

Marc Shapiro - Encapsulating replication, high concurrency and consistency with CRDTs - Curry On 2015

 

Marc Shapiro & Nuno Preguiça - CRDTs in Practice - Code Mesh 2015

 

SyncFree is a European research project running October 2013 to December 2016. It is funded by the European Union, grant agreement n°609551.

Read more: Project Description

Featured


FAQ on CRDTs
SyncFree Software Repository  

SyncFree Technology
  • Bounded Counters: maintaining numeric invariants with high availability
  • Commander: Bug-Finding for Programs Running on Weakly Consistent Platforms
  • Verifico: CRDT-App Verification Framework for Isabelle

            

 This project is funded by the European Union, 7th Research Framework Programme, ICT call 10, grant agreement n°609551. 

Contact (Project Coordinator)

MARC dot SHAPIRO atsign ACM dot ORG