Introducing Incremental Consistency Guarantees
My read of this is that the authors believe they have a &quot;novel&quot; candidate set of universal semantics and an API to encapsulate what seems to be well known patterns in this space.<p>I think this approach is viable in conjunction with reusable components and radically swappable backends: ICG would be the non-moving interface that (per the claims) would allow perfect reuse without modification due to changed storage model.<p>However the typical consumer of products in this space is building high performance and tightly integrated systems. And in terms of contributions to formal definitions, it seems they are introducing neologisms that fairly match one to one to existing terminology and concepts.<p>&gt; To  program  with  ICG,  applications  need  to  wait  asynchronously  for  multiple  replies  to  an  operation  (where each reply encapsulates a different guarantee on the result)  while  doing  useful  work,  i.e.,  speculate. To  the best of our knowledge, no abstraction fulfills these criteria. [1]<p>Operating on (possibly stale) snapshots of an MVCC store? Making changes to a local copy (e.g. pull) of a blockchain (e.g. git)?<p>&gt; Correctables<p>Merge conflict?<p>&gt; Speculate<p>Optimistic commit?<p>[1]: referenced preprint at <a href="https:&#x2F;&#x2F;arxiv.org&#x2F;pdf&#x2F;1609.02434v1.pdf" rel="nofollow">https:&#x2F;&#x2F;arxiv.org&#x2F;pdf&#x2F;1609.02434v1.pdf</a>