Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Hengfeng Wei

dblp:80/11360 · DBLP profile ↗
← Back
26ranked-venue papers
7as first author
16since 2021 · last 2025
0000-0002-0427-9710ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 10 · 3 first-author · 5 since 2021Databases, data management, data science and information retrieval · 6 · 1 first-author · 6 since 2021Software engineering, systems software and programming languages · 5 · 4 since 2021Security and privacy · 3 · 1 first-author · 1 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Databases, data mining, and information retrieval
7 papers
Transaction processing and concurrency control · 100%
Computer architecture, parallel and distributed computing, and storage systems
7 papers
Distributed systems · 82% Storage systems · 18%
Theoretical computer science
3 papers
Distributed computing theory · 96% Logic in computer science · 4%
Software engineering, system software, and programming languages
3 papers
Program verification · 89% Program analysis · 11%

Topics — the 30 heaviest of 35, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Transaction processing and concurrency control
isolation level verification
3.342025
Boosting End-to-End Database Isolation Checking via Mini-Transactions · ICDE 2025
Online Timestamp-Based Transactional Isolation Checking of Database Systems · ICDE 2025
IsoVista: Black-box Checking Database Isolation Guarantees · Proc. VLDB Endow. 2024
Transaction processing and concurrency control › isolation level verification
black-box isolation checking
1.622025
Boosting End-to-End Database Isolation Checking via Mini-Transactions · ICDE 2025
IsoVista: Black-box Checking Database Isolation Guarantees · Proc. VLDB Endow. 2024
Distributed systems
consistency models
1.642021
Achieving Probabilistic Atomicity With Well-Bounded Staleness and Low Read Latency in Distributed Datastores · IEEE Trans. Parallel Distributed Syst. 2021
UniStore: A fault-tolerant marriage of causal and strong consistency · USENIX ATC 2021
Brief Announcement: Specification and Implementation of Replicated List: The Jupiter Protocol Revisited · PODC 2018
Transaction processing and concurrency control › isolation levels
snapshot isolation
1.522025
Online Timestamp-Based Transactional Isolation Checking of Database Systems · ICDE 2025
Efficient Black-box Checking of Snapshot Isolation in Databases · Proc. VLDB Endow. 2023
Transaction processing and concurrency control
isolation levels
1.122025
Boosting End-to-End Database Isolation Checking via Mini-Transactions · ICDE 2025
Efficient Black-box Checking of Snapshot Isolation in Databases · Proc. VLDB Endow. 2023
Transaction processing and concurrency control
serializability
0.912025
Online Timestamp-Based Transactional Isolation Checking of Database Systems · ICDE 2025
Transaction processing and concurrency control › serializability
strict serializability
0.912025
Boosting End-to-End Database Isolation Checking via Mini-Transactions · ICDE 2025
Transaction processing and concurrency control
transaction isolation
0.912025
Fast Verification of Strong Database Isolation · Proc. VLDB Endow. 2025
Distributed systems › replication
replicated data types
0.912025
A Generic Specification Framework for Weakly Consistent Replicated Data Types · IEEE Trans. Parallel Distributed Syst. 2025
Distributed computing theory
consistency model
0.912025
A Generic Specification Framework for Weakly Consistent Replicated Data Types · IEEE Trans. Parallel Distributed Syst. 2025
Transaction processing and concurrency control › consistency
transactional consistency
0.812024
Plume: Efficient and Complete Black-Box Checking of Weak Isolation Levels · Proc. ACM Program. Lang. 2024
Program verification › model checking
bounded model checking
0.812024
LLM Meets Bounded Model Checking: Neuro-symbolic Loop Invariant Inference · ASE 2024
Program verification › invariant generation
loop invariant generation
0.812024
LLM Meets Bounded Model Checking: Neuro-symbolic Loop Invariant Inference · ASE 2024
Distributed systems › distributed database
distributed transactions
0.812024
NOC-NOC: Towards Performance-optimal Distributed Transactions · Proc. ACM Manag. Data 2024
Storage systems › i/o optimization
write optimization
0.812024
NOC-NOC: Towards Performance-optimal Distributed Transactions · Proc. ACM Manag. Data 2024
Distributed systems
replication
0.622021
UniStore: A fault-tolerant marriage of causal and strong consistency · USENIX ATC 2021
Probabilistically-Atomic 2-Atomicity: Enabling Almost Strong Consistency in Distributed Storage Systems · IEEE Trans. Computers 2017
Storage systems
distributed storage
0.532021
Probabilistically-Atomic 2-Atomicity: Enabling Almost Strong Consistency in Distributed Storage Systems · IEEE Trans. Computers 2017
Achieving Probabilistic Atomicity With Well-Bounded Staleness and Low Read Latency in Distributed Datastores · IEEE Trans. Parallel Distributed Syst. 2021
Verifying Pipelined-RAM Consistency over Read/Write Traces of Data Replicas · IEEE Trans. Parallel Distributed Syst. 2016
Distributed systems › consistency models
causal consistency
0.512021
UniStore: A fault-tolerant marriage of causal and strong consistency · USENIX ATC 2021
Distributed systems
fault tolerance
0.512021
UniStore: A fault-tolerant marriage of causal and strong consistency · USENIX ATC 2021
Distributed computing theory › shared memory
atomic registers
0.412020
Fine-grained Analysis on Fast Implementations of Distributed Multi-writer Atomic Registers · PODC 2020
Distributed computing theory
impossibility results
0.412020
Fine-grained Analysis on Fast Implementations of Distributed Multi-writer Atomic Registers · PODC 2020
Distributed computing theory
shared memory
0.412020
Fine-grained Analysis on Fast Implementations of Distributed Multi-writer Atomic Registers · PODC 2020
Distributed systems › distributed interactive applications › collaborative computing
distributed collaborative editing
0.312018
Brief Announcement: Specification and Implementation of Replicated List: The Jupiter Protocol Revisited · PODC 2018
Distributed systems
distributed data structures
0.312018
Brief Announcement: Specification and Implementation of Replicated List: The Jupiter Protocol Revisited · PODC 2018
Distributed systems
consistency verification
0.212016
Verifying Pipelined-RAM Consistency over Read/Write Traces of Data Replicas · IEEE Trans. Parallel Distributed Syst. 2016
Distributed systems › replication
data replication
0.212016
Verifying Pipelined-RAM Consistency over Read/Write Traces of Data Replicas · IEEE Trans. Parallel Distributed Syst. 2016
Distributed systems › consistency models
weak consistency
0.212016
Verifying Pipelined-RAM Consistency over Read/Write Traces of Data Replicas · IEEE Trans. Parallel Distributed Syst. 2016
Distributed systems
consistency-latency tradeoff
0.222021
Achieving Probabilistic Atomicity With Well-Bounded Staleness and Low Read Latency in Distributed Datastores · IEEE Trans. Parallel Distributed Syst. 2021
Probabilistically-Atomic 2-Atomicity: Enabling Almost Strong Consistency in Distributed Storage Systems · IEEE Trans. Computers 2017
Program analysis
dynamic analysis
0.212024
Plume: Efficient and Complete Black-Box Checking of Weak Isolation Levels · Proc. ACM Program. Lang. 2024
Storage systems
key-value storage
0.112021
UniStore: A fault-tolerant marriage of causal and strong consistency · USENIX ATC 2021

Methods — techniques the papers use, named apart from their topics

formal specification · 1.7vector clocks · 1.5anomaly patterns · 1.5timestamp-based checking · 0.9randomized testing · 0.9mini-transactions · 0.9incremental dependency graph construction · 0.9probabilistic analysis · 0.8tree clocks · 0.8tree clock · 0.8large language model · 0.8SMT solving · 0.8generalized polygraph · 0.7constraint encoding · 0.7SMT solver · 0.7instrumentation · 0.5indistinguishability argument · 0.4chain argument · 0.4
YearPublicationVenuePosition
2025 Online Timestamp-Based Transactional Isolation Checking of Database Systems
abstract
Serializability (SER) and snapshot isolation (SI) are widely used transactional isolation levels in database systems. The isolation checking problem asks whether a given execution history of a database system satisfies a specified isolation level. However, existing SER and SI checkers, whether traditional black-box checkers or recent timestamp-based white-box ones, operate offline and require the entire history to be available to construct a dependency graph, making them unsuitable for continuous and ever-growing histories. This paper addresses online isolation checking by extending the timestamp-based isolation checking approach to online settings. Specifically, we design Chronos, an efficient timestamp-based offline SI checker. Chronos is incremental and avoids constructing a start-ordered serialization graph for the entire history, making it well-suited for online scenarios. We further extend Chronos into an online SI checker, Aion, addressing several key challenges unique to online settings. Additionally, we develop Aion-SER for online SER checking. Experiments highlight that Chronos processes offline histories with up to one million transactions in seconds, greatly outperforming existing SI checkers. Furthermore, Aion and Aion-ser sustain a throughput of approximately 12K transactions per second, demonstrating their practicality for online isolation checking.
Hexu Li, Hengfeng Wei, Hongrong Ouyang, Yuxing Chen 0003, Ruohao Zhang, Anqun Pan
ICDE2
2025 Boosting End-to-End Database Isolation Checking via Mini-Transactions
abstract
Transactional isolation guarantees are crucial for database correctness. However, recent studies have uncovered numerous isolation bugs in production databases. The common black-box approach to isolation checking stresses databases with large, concurrent, randomized transaction workloads and verifies whether the resulting execution histories satisfy specified isolation levels. For strong isolation levels such as strict serializability, serializability, and snapshot isolation, this approach often incurs significant end-to-end checking overhead during both history generation and verification. We address these inefficiencies through the novel design of Mini-Transactions (MTs). MTs are compact, short transactions that execute much faster than general workloads, reducing overhead during history generation by minimizing database blocking and transaction retries. By leveraging MTs' read-modify-write pattern, we develop highly efficient algorithms to verify strong isolation levels in linear or quadratic time. Despite their simplicity, MTs are semantically rich and effectively capture common isolation anomalies described in the literature. We implement our verification algorithms and an MT workload generator in a tool called MTC. Experimental results show that MTC outperforms state-of-the-art tools in both history generation and verification. Moreover, MTC can detect bugs across various isolation levels in production databases while maintaining the effectiveness of randomized testing with general workloads, making it a cost-effective solution for black-box isolation checking.
Hengfeng Wei, Si Liu 0003, Zijing Yin, Yuxing Chen 0003, Anqun Pan
ICDE1
2025 Fast Verification of Strong Database Isolation
Zhiheng Cai, Si Liu 0003, Hengfeng Wei, Yuxing Chen 0003, Anqun Pan
Proc. VLDB Endow.3
2025 A Generic Specification Framework for Weakly Consistent Replicated Data Types
abstract
Burckhardt et al. proposed a formal specification framework for eventually consistent replicated data types, denoted$(vis, ar)$, based on the notions of visibility and arbitration relations. However, being specific to eventually consistent systems, this framework has two limitations. First, it does not cover non-convergent consistency models since arbitration$ar$is a total order over events. Second, it does not cover the consistency models in which each event is required to be aware of the return values of some events that are visible to it when justifying its return value. These limitations make the$(vis, ar)$framework not generic enough to specify and reason about important weak consistency models such as Causal Memory and PRAM. In this article, we extend this framework to a more generic one called$(vis, ar, V)$for weakly consistent replicated data types. To specify non-convergent consistency models as well, we relax the arbitration relation$ar$to be a partial order. To overcome the second limitation, we allow to specify for each event$e$, a subset$V(e)$of its visible set whose return values cannot be ignored when justifying the return value of$e$. To make it practically feasible, we provide candidates for the visibility and arbitration relations and the$V$function. By combining candidates for these three components, we are able to specify not only existing consistency models but also new ones that are reasonable and promising for practical usefulness. We then show how to specify consistency models in our framework, and provide three case studies.
Hengfeng Wei, Yu Huang 0002, Yuxing Chen 0003, Anqun Pan
IEEE Trans. Parallel Distributed Syst.2
2024 LLM Meets Bounded Model Checking: Neuro-symbolic Loop Invariant Inference
abstract
Loop invariant inference, a key component in program verification, is a challenging task due to the inherent undecidability and complex loop behaviors in practice. Recently, machine learning based techniques have demonstrated impressive performance in generating loop invariants automatically. However, these methods highly rely on the labeled training data, and are intrinsically random and uncertain, leading to unstable performance. In this paper, we investigate a synergy of large language models (LLMs) and bounded model checking (BMC) to address these issues. The key observation is that, although LLMs may not be able to return the correct loop invariant in one response, they usually can provide all individual predicates of the correct loop invariant in multiple responses. To this end, we propose a "query-filter-reassemble" strategy, namely, we first leverage the language generation power of LLMs to produce a set of candidate invariants, where training data is not needed. Then, we employ BMC to identify valid predicates from these candidate invariants, which are assembled to produce new candidate invariants and checked by off-the-shelf SMT solvers. The feedback is incorporated into the prompt for the next round of LLM querying. We expand the existing benchmark of 133 programs to 316 programs, providing a more comprehensive testing ground. Experimental results demonstrate that our approach significantly outperforms the state-of-the-art techniques, successfully generating 309 loop invariants out of 316 cases, whereas the existing baseline methods are only able to tackle 219 programs at best. The code is publicly available at https://github.com/SoftWiser-group/LaM4Inv.git.
Guangyuan Wu, Weining Cao, Yuan Yao 0001, Hengfeng Wei, Taolue Chen 0001, Xiaoxing Ma
ASE4
2024 NOC-NOC: Towards Performance-optimal Distributed Transactions
abstract
Substantial research efforts have been devoted to studying the performance optimality problem for distributed database transactions. However, they focus just on optimizing transactional reads, and thus overlook crucial factors, such as the efficiency of writes, which also impact the overall system performance. Motivated by a recent study on Twitter's workloads showing the prominence of write-heavy workloads in practice, we make a substantial step towards performance-optimal distributed transactions by also aiming to optimize writes, a fundamentally new dimension to this problem. We propose a new design objective and establish impossibility results with respect to the achievable isolation levels. Guided by these results, we present two new transaction algorithms with different isolation guarantees that fulfill this design objective. Our evaluation demonstrates that these algorithms outperform the state of the art.
Si Liu 0003, Luca Multazzu, Hengfeng Wei, David A. Basin
Proc. ACM Manag. Data3
2024 Plume: Efficient and Complete Black-Box Checking of Weak Isolation Levels
abstract
Modern databases embrace weak isolation levels to cater for highly available transactions. However, weak isolation bugs have recently manifested in many production databases. This raises the concern of whether database implementations actually deliver their promised isolation guarantees in practice. In this paper we present Plume, the first efficient, complete, black-box checker for weak isolation levels. Plume builds on modular, fine-grained, transactional anomalous patterns, with which we establish sound and complete characterizations of representative weak isolation levels, including read committed, read atomicity, and transactional causal consistency. Plume leverages a novel combination of two techniques, vectors and tree clocks, to accelerate isolation checking. Our extensive assessment shows that Plume can reproduce all known violations in a large collection of anomalous database execution histories, detect new isolation bugs in three production databases along with informative counterexamples, find more weak isolation anomalies than the state-of-the-art checkers, and efficiently validate isolation guarantees under a wide variety of workloads.
Si Liu 0003, Long Gu, Hengfeng Wei, David A. Basin
Proc. ACM Program. Lang.3
2024 IsoVista: Black-box Checking Database Isolation Guarantees
abstract
Transactional isolation is critical to the functional correctness of database management systems (DBMSs). Much effort has recently been devoted to finding isolation bugs and validating isolation fulfilment in production DBMSs. However, there are still challenges that existing isolation checkers have not yet fully addressed. For instance, they may overlook bugs, incur high checking overhead, and return hard-to-understand counterexamples. We present IsoVista, the first black-box isolation checking system that encompasses all the following features. It builds on faithful characterizations of a range of isolation levels, ensuring the absence of both false positives and missed bugs in collected DBMS execution histories. IsoVista exhibits superior checking efficiency, compared to the state-of-the-art, and visualizes violation scenarios, facilitating the understanding of bugs found. It also supports profiling and benchmarking the performance of isolation checkers under various workloads, assisting developers of both DBMSs and checkers. We showcase all these features through user-friendly interfaces.
Long Gu, Si Liu 0003, Tiancheng Xing, Hengfeng Wei, Yuxing Chen 0003, David A. Basin
Proc. VLDB Endow.4
2024 Model-checking-driven explorative testing of CRDT designs and implementations
abstract
Abstract Internet‐scale distributed systems often replicate data at multiple geographic locations to provide low latency and high availability, despite node and network failures. According to the CAP theorem, low latency and high availability can only be achieved at the cost of accepting weak consistency. The conflict‐free replicated data type (CRDT) is a framework that provides a principled approach to maintaining eventual consistency among data replicas. CRDTs have been notoriously difficult to design and implement correctly. Subtle deep bugs lie in the complex and tedious handling of all possible cases of conflicting data updates. We argue that the CRDT design should be formally specified and model checked, to uncover deep bugs which are beyond human reasoning. The implementation further needs to be systematically tested. On the one hand, the testing needs to inherit the exhaustive nature of the model checking and ensures the coverage of testing. On the other hand, the testing is expected to find coding errors which cannot be detected by design level verification. Toward the challenges above, we propose the model‐checking‐driven explorative testing ( MET ) framework. At the design level, MET uses TLA+ to specify and model check CRDT designs. At the implementation level, MET conducts model‐checking‐driven explorative testing, in the sense that the test cases are automatically generated from the model‐checking traces. The system execution is controlled to proceed deterministically, following the model‐checking trace. The explorative testing systematically controls and permutes all nondeterministic choices of message reorderings. We apply MET in our practical development of CRDTs. The bugs in both designs and implementations of CRDTs are found. As for bugs which can be found by traditional testing techniques, MET greatly reduces the cost of fixing the bugs. Moreover, MET can find subtle deep bugs which cannot be found by existing techniques at a reasonable cost. Based on our practical use of MET , we discuss how MET provides us with sufficient confidence in the correctness of our CRDT designs and implementations. Conflict‐free replicated data type (CRDT) is a framework that provides a principled approach to maintaining eventual consistency among data replicas in distributed systems. CRDTs have been notoriously difficult to design and implement correctly. We propose model‐checking‐driven explorative testing ( MET ) framework for dealing with such problem. We apply MET in our practical development of CRDTs. MET successfully finds subtle deep bugs and provides us with sufficient confidence in the correctness of our CRDT designs and implementations.
Yu Huang 0002, Hengfeng Wei, Xiaoxing Ma
J. Softw. Evol. Process.3
2023 Efficient Black-box Checking of Snapshot Isolation in Databases
abstract
Snapshot isolation (SI) is a prevalent weak isolation level that avoids the performance penalty imposed by serializability and simultaneously prevents various undesired data anomalies. Nevertheless, SI anomalies have recently been found in production cloud databases that claim to provide the SI guarantee. Given the complex and often unavailable internals of such databases, a black-box SI checker is highly desirable. In this paper we present PolySI, a black-box checker that efficiently checks SI and provides understandable counterexamples upon detecting violations. PolySI builds on a characterization of SI using generalized polygraphs (GPs), for which we establish its soundness and completeness. PolySI employs an SMT solver and also accelerates SMT solving by utilizing a compact constraint encoding of GPs and domain-specific optimizations for pruning constraints. As our extensive assessment demonstrates, PolySI successfully reproduces all of 2477 known SI anomalies, detects novel SI violations in three production cloud databases, identifies their causes, outperforms the state-of-the-art black-box checkers under a wide range of workloads, and can scale up to large workloads.
Kaile Huang, Si Liu 0003, Zhenge Chen, Hengfeng Wei, David A. Basin, Haixiang Li, Anqun Pan
Proc. VLDB Endow.4
2022 Tunable Causal Consistency: Specification and Implementation
abstract
To achieve high availability and low latency, dis-tributed data stores often geographically replicate data at multiple sites called replicas. However, this introduces the data consistency problem. Due to the fundamental tradeoffs among consistency, availability, and latency in the presence of network partition, no a one-size-fits-all consistency model exists. To meet the needs of different applications, many popular data stores provide tunable consistency, allowing clients to specify the consistency level per individual operation. In this paper, we propose tunable causal consistency (TCC). It allows clients to choose the desired session guarantee for each operation, from the well-known four session guarantees, i.e., read your writes, monotonic reads, monotonic writes, and writes follow reads. Specifically, we first propose a formal specffication of TCC in an extended (vis, ar) framework originally proposed by Burckhardt et al. Then we design a TCC protocol and develop a prototype distributed key-value store called TCCSTORE. We evaluate TCCSTORE on Aliyun. The latency is less than 38ms for all workloads and the throughput is up to about 1900 operations per second. We also show that TCC achieves better performance than causal consistency and requires a negligible overhead when compared with eventual consistency.
Hengfeng Wei, Yu Huang 0002
ICPADS2
2022 Incremental Causal Consistency Checking for Read-Write Memory Histories
abstract
Causal consistency is one of the strongest consistency models that can be implemented to ensure availability under network partition in distributed systems. The problem of causal consistency checking asks whether a given history of some system is causally consistent. Recently Bouajjani et al. showed that for read-write memory histories in which writes assign unique values to each variable, this can be solved in polynomial time. The algorithm searches for bad patterns of causal consistency, which are defined using various relations derived from history. However, the high time complexity of the algorithm makes it not so practical. In this paper, we show how to improve this checking algorithm by incrementally computing the relations underlying the bad patterns. We also demonstrate its efficiency by conducting experiments on both random histories and those generated by MongoDB.
Hengfeng Wei
Internetware2
2021 Remove-Win: a Design Framework for Conflict-free Replicated Data Types
abstract
Distributed storage systems employ replication to improve performance and reliability. To provide low latency data access, replicas are often required to accept updates without coordination with each other, and the updates are then propagated asynchronously. This brings the critical challenge of conflict resolution among concurrent updates. Conflict-free Replicated Data Type (CRDT) is a principled approach to addressing this challenge. However, existing CRDT designs are tricky, and hard to be generalized to other data types. A design framework is in great need to guide the systematic design of new CRDTs. To address this challenge, we propose RWF - the Remove-Win design Framewerk for CRDTs. RWF leverages the simple but powerful remove-win strategy to resolve conflicting updates, and provides generic design for a variety of data container types. Two exemplar implementations following RWF are given over the Redis data type store, which demonstrate the effectiveness of RWF. Performance measurements of our implementations further show the efficiency of CRDT designs following RWF.
Hengfeng Wei, Yu Huang 0002
ICPADS2
2021 Byz-GentleRain: An Efficient Byzantine-Tolerant Causal Consistency Protocol
Kaile Huang, Hengfeng Wei, Yu Huang 0002, Haixiang Li, Anqun Pan
SSS2
2021 UniStore: A fault-tolerant marriage of causal and strong consistency
Manuel Bravo, Alexey Gotsman, Borja de Régil, Hengfeng Wei
USENIX ATC4
2021 Achieving Probabilistic Atomicity With Well-Bounded Staleness and Low Read Latency in Distributed Datastores
abstract
Although it has been commercially successful to deploy weakly consistent but highly-responsive distributed datastores, the tension between developing complex applications and obtaining only weak consistency guarantees becomes more and more severe. The almost strong consistency tradeoff aims at achieving both strong consistency and low latency in the common case. In distributed storage systems, we investigate the generic notion of almost strong consistency in terms of designing fast read algorithms while guaranteeing Probabilistic Atomicity with well-Bounded staleness (PAB). This problem has been explored in the case where only one client can write the data. However, the more general case where multiple clients can write the data has not been studied. In this article, we study the fast read algorithm for PAB in the multi-writer case. We show the bound of data staleness and the probability of atomicity violation by decomposing inconsistent reads into the read inversion and the write inversion patterns. We implement the fast read algorithm and evaluate the consistency-latency tradeoffs based on the instrumentation of Cassandra and the YCSB benchmark framework. The theoretical analysis and the experimental evaluations show that our fast read algorithm guarantees PAB, even when faced with dynamic changes in the computing environment.
Lingzhi Ouyang, Yu Huang 0002, Hengfeng Wei, Jian Lu 0001
IEEE Trans. Parallel Distributed Syst.3
2020 Checking Causal Consistency of MongoDB
abstract
MongoDB is one of the first commercial distributed databases that support causal consistency. Its implementation of causal consistency combines several research ideas for achieving scalability, fault tolerance, and security. Given its inherent complexity, a natural question arises: Has MongoDB correctly implemented causal consistency as it claimed?
Hongrong Ouyang, Hengfeng Wei, Yu Huang 0002
Internetware2
2020 Fine-grained Analysis on Fast Implementations of Distributed Multi-writer Atomic Registers
abstract
Distributed multi-writer atomic registers are at the heart of a large number of distributed algorithms. While enjoying the benefits of atomicity, researchers further explore fast implementations of atomic reigsters which are optimal in terms of data access latency. Though it is proved that multi-writer atomic register implementations are impossible when both read and write are required to be fast, it is still open whether implementations are impossible when only write or read is required to be fast. This work proves the impossibility of fast write implementations based on a series of chain arguments among indistiguishable executions. We also show the necessary and sufficient condition for fast read implementations by extending the results in the single-writer case. This work concludes a series of studies on fast implementations of distributed atomic registers.
Kaile Huang, Yu Huang 0002, Hengfeng Wei
PODC3
2020 A Generic Specification Framework for Weakly Consistent Replicated Data Types
abstract
Recently Burckhardt et al. proposed a formal specification framework for eventually consistent replicated data types, denoted (vis, ar), based on the notions of visibility and arbitration relations. However, being specific to eventually consistent systems, this framework has two limitations. First, it does not cover non-convergent consistency models since arbitration ar is defined to be a total order over events in a computation. Second, it does not cover the consistency models in which each event is required to be aware of the return values of some or all events that are visible to it.In this paper, we extend the (vis, ar) specification framework into a more generic one called (vis, ar, V) for weakly consistent replicated data types. To specify non-convergent consistency models as well, we simply relax the arbitration relation ar to be a partial order. To overcome the second limitation, we allow to specify for each event e, a subset V(e) of its visible set whose return values cannot be ignored when justifying the return value of e. To make it practically feasible, we provide candidates for the visibility and arbitration relations and the V function. By combining these candidates, we demonstrate how to specify various existing consistency models in the (vis, ar, V) framework. Moreover, it helps to discover new consistency models. As a case study, we prove that the causal consistency protocol of MongoDB database satisfies Causal Memory Convergence, a new causal consistency variant discovered in our framework.
Hengfeng Wei, Yu Huang 0002
SRDS2
2018 Specification and Implementation of Replicated List: The Jupiter Protocol Revisited
abstract
The replicated list object is frequently used to model the core functionality of replicated collaborative text editing systems. Since 1989, the convergence property has been a common specification of a replicated list object. Recently, Attiya et al. proposed the strong/weak list specification and conjectured that the well-known Jupiter protocol satisfies the weak list specification. The major obstacle to proving this conjecture is the mismatch between the global property on all replica states prescribed by the specification and the local view each replica maintains in Jupiter using data structures like 1D buffer or 2D state space. To address this issue, we propose CJupiter (Compact Jupiter) based on a novel data structure called $n$-ary ordered state space for a replicated client/server system with $n$ clients. At a high level, CJupiter maintains only a single $n$-ary ordered state space which encompasses exactly all states of each replica. We prove that CJupiter and Jupiter are equivalent and that CJupiter satisfies the weak list specification, thus solving the conjecture above.
Hengfeng Wei, Yu Huang 0002, Jian Lu 0001
OPODIS1
2018 Brief Announcement: Specification and Implementation of Replicated List: The Jupiter Protocol Revisited
abstract
The replicated list object is frequently used to model the core functionality of replicated collaborative text editing systems. Recently, Attiya et al. proposed the strong/weak list specification and conjectured that the well-known Jupiter protocol satisfies the weak list specification. The major obstacle to proving this conjecture is the mismatch between the global property on all replica states prescribed by the specification and the local view each replica maintains in Jupiter using data structures like 1D buffer or 2D state space. To address this issue, we propose CJupiter (Compact Jupiter) based on a novel data structure called n-ary ordered state space for a replicated client/server system with n clients. At a high level, CJupiter maintains only a single n-ary ordered state space which encompasses exactly all states of each replica. We prove that CJupiter and Jupiter are equivalent and that CJupiter satisfies the weak list specification, thus solving the conjecture above.
Hengfeng Wei, Yu Huang 0002, Jian Lu 0001
PODC1
2017 Parameterized and Runtime-Tunable Snapshot Isolation in Distributed Transactional Key-Value Stores
abstract
Several relaxed variants of Snapshot Isolation (SI) have been proposed for improved performance in distributed transactional key-value stores. These relaxed variants, however, provide no specification or control of the severity of the anomalies with respect to SI. They have also been designed to be used statically throughout the whole system life cycle. To overcome these drawbacks, we propose the idea of parameterized and runtime-tunable snapshot isolation. We first define a new transactional consistency model called Relaxed Version Snapshot Isolation (RVSI), which can formally and quantitatively specify the anomalies it may produce with respect to SI. To this end, we decompose SI into three "view properties", for each of which we introduce a parameter to quantify one of three kinds of possible anomalies: k1-BV (k1-version bounded backward view), k2-FV (k2-version bounded forward view), and k3-SV (k3-version bounded snapshot view). We then implement a prototype partitioned replicated distributed transactional key-value store called Chameleon across multiple data centers. While achieving RVSI, Chameleon allows each transaction to dynamically tune its consistency level at runtime. The experiments show that RVSI helps to reduce the transaction abort rates when applications are willing to tolerate certain anomalies. We also evaluate the individual impacts of k1-BV, k2-FV, and k3-SV on reducing the transaction abort rates in various scenarios. We find that it depends on the issue delays between clients and replicas which of k1 and k2 plays a major role in reducing transaction abort rates.
Hengfeng Wei, Yu Huang 0002, Jian Lu 0001
SRDS1
2017 Probabilistically-Atomic 2-Atomicity: Enabling Almost Strong Consistency in Distributed Storage Systems
abstract
A consistency/latency tradeoff arises as soon as a distributed storage system replicates data. For low latency, distributed storage systems often settle for weak consistency conditions, providing little guarantee on data consistency. In this paper, we propose the notion of almost strong consistency as an option for the consistency/latency tradeoff. It provides both deterministically bounded staleness of data versions for reads and probabilistic quantification on the rate of “reading stale data”, while achieving low latency. We then investigate almost strong consistency in terms of probabilistically-atomic 2-atomicity. Our PA2AM algorithm for the single-writer model completes each read in one communication round-trip, and guarantees that each read obtains the value of within the latest two versions. To quantify the rate of “reading the stale version”, we decompose the so-called “old-new inversion” anomaly into long-lived write concurrency patterns and non-monotonic read-write patterns, and propose a queueing model and a timed balls-into-bins model to analyze them, respectively. The probabilistic analysis not only demonstrates that old-new inversions rarely occur, but also reveals that the read-write pattern dominates in preventing them from occurring. These are then supported by our experiments. To further demonstrate the benefits of probabilistically-atomic 2-atomicity, we also compare it to weak consistency conditions.
Hengfeng Wei, Yu Huang 0002, Jian Lu 0001
IEEE Trans. Computers1
2016 Enabling Mobile Device Coordination over Distributed Shared Memory
abstract
Distributed shared memory-based coordination has the advantage of simplifying the coordination logic to read/write operations over the illusionary local memory. However, it is notoriously challenging to come up with a cost-effective implementation of the distributed shared memory. The implementation becomes more challenging in mobile environments, due to the resource constraints and the more rapid changes in the computing context. To this end, we propose the Mobile Distributed Shared Memory (MDSM) middleware to facilitate the development of mobile coordination applications. The key constructs in the shared memory are shared registers. Shared registers with different read/write patterns are implemented to facilitate flexible coordination. The registers also have different consistency semantics, to enable efficient tradeoff between data consistency and data access cost. An application framework is proposed to simplify the implementation of mobile coordination, relying on the middleware support from MDSM. A case study is conducted to demonstrate the usage of MDSM, where a soccer game application for the mobile phone is developed. Experimental evaluation is conducted to quantify different options of the consistency-latency tradeoff in the case study. The performance measurements show the cost-effectiveness of eventual consistency in this game. We also verify the read/write traces to further explain why eventual consistency practically performs better than it can guarantee.
Maosen Huang, Hengfeng Wei, Yu Huang 0002
ICPADS2
2016 Verifying Pipelined-RAM Consistency over Read/Write Traces of Data Replicas
abstract
Data replication technologies in distributed storage systems introduce the problem of data consistency. For high performance, data replication systems often settle for weak consistency models, such as Pipelined-RAM consistency. To determine whether a data replication system provides Pipelined-RAM consistency, we study the problem ofverifying Pipelined-RAM consistencyover read/write traces (VPC, for short). Four variants of VPC (labeled VPC-SU, VPC-MU, VPC-SD, and VPC-MD) are identified according to whether there are Multiple shared variables (or one Single variable) and whether write operations can assign Duplicate values (or only Unique values) to each shared variable. We prove that VPC-SD is$\sf {NP}$-complete (so is VPC-MD) by reducing the strongly$\sf {NP}$-complete problem3-Partitionto it. For VPC-MU, we present theRead-Centricalgorithm with time complexity$O(n^4)$, where$n$is the number of operations. The algorithm constructs an operation graph by iteratively applying a rule which guarantees that no overwritten values can be read later. It incrementally processes all the read operations one by one, and exploits the total order between the dictating writes on the same variable to avoid redundant applications of the rule. The experiments have demonstrated its practical efficiency and scalability.
Hengfeng Wei, Marzio De Biasi, Yu Huang 0002, Jiannong Cao 0001, Jian Lu 0001
IEEE Trans. Parallel Distributed Syst.1
2012 Formal specification and runtime detection of temporal properties for asynchronous context
abstract
Formal specification and runtime detection of temporal properties for pervasive context is one of the primary approaches to achieving context-awareness. Though temporal logics have been widely used in specification of temporal properties, they are faced with severe challenges in Pervasive Computing (PvC) scenarios. First, temporal logics are traditionally defined over infinite traces of possible system behavior. However in PvC scenarios, applications observe finite prefixes of (potentially infinite) traces of environment state evolution, and adapt their behavior accordingly. Second, specification and detection of temporal properties are challenged by the intrinsic asynchrony of PvC environments. Discussions above necessitate a systematic approach to formal specification and runtime detection of temporal properties for asynchronous context. To this end, we propose CTL3(3-valued Computation Tree Logic), which i) adopts 3-valued semantics to capture the inconclusiveness when applications only observe finite prefixes of environment state evolution; ii) inherits the notion of branching time to capture the uncertainty resulting from the asynchrony of PvC environments. A case study is conducted to demonstrate how CTL3supports context-awareness in PvC scenarios. The runtime checking algorithm of CTL3is implemented and evaluated over MIPA - the open-source context-aware middle-ware we developed. The case study demonstrates the necessity of adopting CTL3in PvC scenarios, while the performance measurements show the cost-effectiveness of runtime checking contextual properties in CTL3.
Hengfeng Wei, Yu Huang 0002, Jiannong Cao 0001, Xiaoxing Ma, Jian Lu 0001
PerCom1