Gelashvili, R;
Spiegelman, A;
Xiang, Z;
Danezis, G;
Li, Z;
Malkhi, D;
Xia, Y;
(2023)
Block-STM Scaling Blockchain Execution by Turning Ordering Curse to a Performance Blessing.
In:
Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP.
(pp. pp. 232-244).
ACM: Montreal, QC, Canada.
Preview |
Text
2203.06871v3.pdf - Accepted Version Download (813kB) | Preview |
Abstract
Block-STM is a parallel execution engine for smart contracts, built around the principles of Software Transactional Memory. Transactions are grouped in blocks, and every execution of the block must yield the same deterministic outcome. Block-STM further enforces that the outcome is consistent with executing transactions according to a preset order, leveraging this order to dynamically detect dependencies and avoid conflicts during speculative transaction execution. At the core of Block-STM is a novel, low-overhead collaborative scheduler of execution and validation tasks. Block-STM is implemented on the main branch of the Diem Blockchain code-base and runs in production at Aptos. Our evaluation demonstrates that Block-STM is adaptive to workloads with different conflict rates and utilizes the inherent parallelism therein. Block-STM achieves up to 110k tps in the Diem benchmarks and up to 170k tps in the Aptos Benchmarks, which is a 20x and 17x improvement over the sequential baseline with 32 threads, respectively. The throughput on a contended workload is up to 50k tps and 80k tps in Diem and Aptos benchmarks, respectively.
Type: | Proceedings paper |
---|---|
Title: | Block-STM Scaling Blockchain Execution by Turning Ordering Curse to a Performance Blessing |
Event: | 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming |
ISBN-13: | 9798400700156 |
Open access status: | An open access version is available from UCL Discovery |
DOI: | 10.1145/3572848.3577524 |
Publisher version: | https://doi.org/10.1145/3572848.3577524 |
Language: | English |
Additional information: | This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions. |
UCL classification: | UCL UCL > Provost and Vice Provost Offices > UCL BEAMS UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science |
URI: | https://discovery.ucl.ac.uk/id/eprint/10169042 |
Archive Staff Only
View Item |