crdt   732

« earlier    

Efficient synchronisation of state-based CRDTs
Efficient synchronisation of state-based CRDTs Enes et al., arXiv’18 CRDTs are a great example of consistency as logical monotonicity. They come in two main variations: operation-based CRDTs send operations to remote replicas using a reliable dissemination layer with exactly-once causal delivery. (If operations are idempotent then at-least-once is ok too). state-based CRDTs exchange information about…
10 days ago by vipom
Applied Monotonicity: A Brief History of CRDTs in Riak
"Our work is inspired by a problem we observed in LVars (Kuper and Newton 2013), Lasp, and BloomL: functions must be monotonic (or homomorphic, a special case of monotonicity) to ensure both correctness and convergence of the system; in each of these systems functions are assumed to be correctly implemented and annotated accordingly. As we demonstrated in this article, *this is very difficult to get right*. Not only is monotonicity difficult to get right in practice, for systems that use monotonicity, they must be high-performance and cheap. In the case of CRDTs, the Observed-Remove Set was much too expensive to actually use in practice, but it’s easy to implement and reason about. For any monotonic solution to gain adoption, it essential that the solutions be both easy to use and not prohibitively expensive."
crdt  riak  bloom  calm  2019  math  piperesearch 
15 days ago by mechazoidal
Solving Flight Monitoring with CRDTs | Freebird
At Freebird, we take flight status monitoring seriously because it can be the difference between snagging a last-minute flight home and sitting in the airport for hours. To make our product work, we need a system that can reason about the world given multiple potentially conflicting views of reality.

To solve this, we used CRDTs, a relatively new concept from distributed systems inspired by modern abstract algebra. CRDTs let us use our air travel domain knowledge to elegantly combine conflicting information from multiple status providers into a single cohesive view. Not only do CRDTs provide a straightforward framework for developing application logic, but simple CRDTs can be effortlessly composed into more powerful CRDTs. Beyond satisfying our basic requirements, CRDTs lend themselves well to extensions such as SQL analytics.
24 days ago by colin.jack

« earlier    

related tags

2019  acp  algorithm  algorithms  api  architecture  article  automatic  automerge  blockchain  bloom  browser  calm  cap  clj  cljs  clocks  clojure  clojurescript  cloudkit  collaboration  collaborative-systems  collaborative  comp-sci  compsci  computing  concurrency  conflict  consistency  coolstuff  cs  dat  data-structures  data  data_structure  database  datastructure  datastructures  datatypes  db  delta  design  differential  discussion  distributed-computing  distributed-systems  distributed  distributed_systems  distributedsystems  distrubuted  distsys  documents  dynamic  editing  editor  efficiency  elixir  erlang  essay  eventsourcing  eventual-consistency  example  flip  framework  free  git  github  google  googledocs  history  howto  implementation  interval  intro  ipfs  javascript  js  json  kleppmann  library  markdown  math  merge  merging  mirageos  model  network  notes  ocaml  op  opensource  operational-transform  operational  operational_transform  operational_transforms  ot  overview  p2p  paper  papers  pdf  performance  piperesearch  programming  reading  realtime  reliability  replication  research  riak  ron  rtc  rust  rustlang  serverless  software  softwaredevelopment  summary  swift  sync  synchronisation  synchronization  talk  text-editing  text-editor  text  tools  transform  tree  tutorial  vcs  vector  video  webrtc  writing 

Copy this bookmark: