Synchronizing shared abstract types
ACM Transactions on Computer Systems (TOCS)
Consistency in a partitioned network: a survey
ACM Computing Surveys (CSUR)
The Escrow transactional method
ACM Transactions on Database Systems (TODS)
Optimistic concurrency control for abstract data types
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
Exploiting virtual synchrony in distributed systems
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Semantics based transaction management techniques for replicated data
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
Commutativity-Based Concurrency Control for Abstract Data Types
IEEE Transactions on Computers
Inference of monotonicity constraints in datalog programs
PODS '89 Proceedings of the eighth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Using semantic knowledge of transactions to increase concurrency
ACM Transactions on Database Systems (TODS)
Linearizability: a correctness condition for concurrent objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implementing fault-tolerant services using the state machine approach: a tutorial
ACM Computing Surveys (CSUR)
Semantics-based concurrency control: beyond commutativity
ACM Transactions on Database Systems (TODS)
Understanding the limitations of causally and totally ordered communication
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
Very concurrent mark-&-sweep garbage collection without fine-grain synchronization
Proceedings of the 1st international symposium on Memory management
Garbage collecting the Internet: a survey of distributed garbage collection
ACM Computing Surveys (CSUR)
Using semantic knowledge for transaction processing in a distributed database
ACM Transactions on Database Systems (TODS)
Testing implications of data dependencies
ACM Transactions on Database Systems (TODS)
The serializability of concurrent database updates
Journal of the ACM (JACM)
Concurrency Control in Distributed Database Systems
ACM Computing Surveys (CSUR)
The demarcation protocol: a technique for maintaining constraints in distributed database systems
The VLDB Journal — The International Journal on Very Large Data Bases
Exploiting Punctuation Semantics in Continuous Data Streams
IEEE Transactions on Knowledge and Data Engineering
A distributed algorithm for detecting resource deadlocks in distributed systems
PODC '82 Proceedings of the first ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Total order broadcast and multicast algorithms: Taxonomy and survey
ACM Computing Surveys (CSUR)
Strong stable properties in distributed systems
Distributed Computing
Allocating isolation levels to transactions
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Dynamo: amazon's highly available key-value store
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
Communications of the ACM - Rural engineering development
PNUTS: Yahoo!'s hosted data serving platform
Proceedings of the VLDB Endowment
Toward a cloud computing research agenda
ACM SIGACT News
Provenance in Databases: Why, How, and Where
Foundations and Trends in Databases
Boom analytics: exploring data-centric, declarative programming for the cloud
Proceedings of the 5th European conference on Computer systems
Comet: an active distributed key-value store
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Replicated abstract data types: Building blocks for collaborative applications
Journal of Parallel and Distributed Computing
Relational transducers for declarative networking
Proceedings of the thirtieth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Transactional storage for geo-replicated systems
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Don't settle for eventual: scalable causal consistency for wide-area storage with COPS
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Conflict-free replicated data types
SSS'11 Proceedings of the 13th international conference on Stabilization, safety, and security of distributed systems
Dedalus: datalog in time and space
Datalog'10 Proceedings of the First international conference on Datalog Reloaded
Spanner: Google's globally-distributed database
OSDI'12 Proceedings of the 10th USENIX conference on Operating Systems Design and Implementation
Logic and lattices for distributed programming
Proceedings of the Third ACM Symposium on Cloud Computing
The potential dangers of causal consistency and an explicit solution
Proceedings of the Third ACM Symposium on Cloud Computing
Confluence analysis for distributed programs: a model-theoretic approach
Datalog 2.0'12 Proceedings of the Second international conference on Datalog in Academia and Industry
Getting Started with Storm
Stronger semantics for low-latency geo-replicated storage
nsdi'13 Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation
TAO: Facebook's distributed data store for the social graph
USENIX ATC'13 Proceedings of the 2013 USENIX conference on Annual Technical Conference
F1: a distributed SQL database that scales
Proceedings of the VLDB Endowment
SRDS '13 Proceedings of the 2013 IEEE 32nd International Symposium on Reliable Distributed Systems
Hi-index | 0.00 |
Distributed consistency is a perennial research topic; in recent years it has become an urgent practical matter as well. The research literature has focused on enforcing various flavors of consistency at the I/O layer, such as linearizability of read/write registers. For practitioners, strong I/O consistency is often impractical at scale, while looser forms of I/O consistency are difficult to map to application-level concerns. Instead, it is common for developers to take matters of distributed consistency into their own hands, leading to application-specific solutions that are tricky to write, test and maintain. In this paper, we agitate for the technical community to shift its attention to approaches that lie between the extremes of I/O-level and application-level consistency. We ground our discussion in early work in the area, including our own experiences building programmer tools and languages that help developers guarantee distributed consistency at the application level. Much remains to be done, and we highlight some of the challenges that we feel deserve more attention.