Dodo: A scalable optimistic deterministic concurrency control protocol
Deterministic concurrency control is able to avoid the expensive two-phase commit in distributed databases and can solve the single-thread bottleneck of transaction processing in blockchain systems. Most existing deterministic concurrency control protocols rely on prior knowledge of the transaction’...
Uloženo v:
| Vydáno v: | Future generation computer systems Ročník 159; s. 15 - 26 |
|---|---|
| Hlavní autoři: | , , , |
| Médium: | Journal Article |
| Jazyk: | angličtina |
| Vydáno: |
Elsevier B.V
01.10.2024
|
| Témata: | |
| ISSN: | 0167-739X, 1872-7115 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Shrnutí: | Deterministic concurrency control is able to avoid the expensive two-phase commit in distributed databases and can solve the single-thread bottleneck of transaction processing in blockchain systems. Most existing deterministic concurrency control protocols rely on prior knowledge of the transaction’s read-write set, which is impractical in most cases. The state-of-the-art deterministic concurrency control protocols Aria and DOCC break this limitation. However, they do not perform well in multi-node and multi-core scalability.
To solve the scalability issues, we propose Dodo, a novel deterministic concurrency control protocol. Dodo processes transactions in multi-batches, and each batch is divided into three phases. In the first phase, transactions are executed as read committed and staged. In the second phase, transactions are validated for the read-write conflict. In the third phase, only the continuous un-conflicted transactions at the head of the batch can be committed. For the aborted transaction that will be rerun in the next batch, we utilize its write set in the previous execution to reduce the read-write conflicts in the next batch. In this way, Dodo has the following benefits. First, Dodo does not rely on the prior knowledge of the read-write set. Second, Dodo commits transactions in pre-determined orders (TIDs) providing high multi-node scalability. Third, Dodo runs transactions in each phase concurrently, and the aborted transactions are re-executed in a conflict-less manner, enabling high multi-core scalability. Besides, we propose two optimism-based improvements, lazy decision and early-write visibility, to reduce aborts and blocking. Our evaluation shows that Dodo outperforms Aria and DOCC by up to 16.5x and 8.0x in a single-node setting and scales well in a multi-node setting.
•We propose a novel deterministic concurrency control protocol Dodo.•Dodo solves the scalability issue of state-of-the-art protocols (Aria and DOCC).•Dodo outperforms Aria and DOCC by up to 16.5x in multi-core settings.•Dodo has better multi-node scalability than Aria. |
|---|---|
| ISSN: | 0167-739X 1872-7115 |
| DOI: | 10.1016/j.future.2024.05.004 |