Forerunner: Constraint-based Speculative Transaction Execution for Ethereum

被引:13
作者
Chen, Yang [1 ]
Guo, Zhongxin [1 ]
Li, Runhuai [1 ,2 ]
Chen, Shuo [1 ]
Zhou, Lidong [1 ]
Zhou, Yajin [2 ]
Zhang, Xian [1 ]
机构
[1] Microsoft Res, Redmond, WA 98052 USA
[2] Zhejiang Univ, Hangzhou, Peoples R China
来源
PROCEEDINGS OF THE 28TH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, SOSP 2021 | 2021年
关键词
speculative execution; blockchain; Ethereum; transaction throughput; MEMOIZATION;
D O I
10.1145/3477132.3483564
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Ethereum is an emerging distributed computing platform that supports a decentralized replicated virtual machine at a large scale. Transactions in Ethereum are specified in smart contracts, disseminated through broadcast, accepted into the chain of blocks, and then executed on each node. In this new Dissemination-Consensus-Execution (DiCE) paradigm, the time interval between when a transaction is known (during the dissemination phase) to when the transaction is executed (after the consensus phase) offers a window of opportunity to accelerate transaction processing through speculative execution. However, the traditional speculative execution, which hinges on the ability to predict the future accurately, is inadequate because of DiCE's many-future nature. Forerunner proposes a novel constraint-based approach for speculative execution on Ethereum. In contrast to the traditional approach of predicting a single future and demanding it to be perfectly accurate, Forerunner speculates on multiple futures and can leverage speculative results based on imperfect predictions whenever certain constraints are satisfied. Under these constraints, a transaction execution is substantially accelerated through a novel multi-trace program specialization enhanced by a new form of memoization. The fully implemented Forerunner is evaluated as a node connected to the worldwide Ethereum network. When processing 13 million transactions live in real time, Forerunner achieves an effective average speedup of 8.39x on the transactions that it hears during the dissemination phase, which accounts for 95.71% of all the transactions. The end-to-end speedup over all the transactions is 6.06x. The code and data sets are publicly available.
引用
收藏
页码:570 / 587
页数:18
相关论文
共 118 条
[1]   Selective memoization [J].
Acar, UA ;
Blelloch, GE ;
Harper, R .
ACM SIGPLAN NOTICES, 2003, 38 (01) :14-25
[2]   Fuzzy memoization for floating-point multimedia applications [J].
Alvarez, C ;
Corbal, J ;
Valero, M .
IEEE TRANSACTIONS ON COMPUTERS, 2005, 54 (07) :922-927
[3]   Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains [J].
Androulaki, Elli ;
Barger, Artem ;
Bortnikov, Vita ;
Cachin, Christian ;
Christidis, Konstantinos ;
De Caro, Angelo ;
Enyeart, David ;
Ferris, Christopher ;
Laventman, Gennady ;
Manevich, Yacov ;
Muralidharan, Srinivasan ;
Murthy, Chet ;
Binh Nguyen ;
Sethi, Manish ;
Singh, Gari ;
Smith, Keith ;
Sorniotti, Alessandro ;
Stathakopoulou, Chrysoula ;
Vukolic, Marko ;
Cocco, Sharon Weed ;
Yellick, Jason .
EUROSYS '18: PROCEEDINGS OF THE THIRTEENTH EUROSYS CONFERENCE, 2018,
[4]  
[Anonymous], 1997, Advanced Compiler Design and Implementation
[5]  
Bach LM, 2018, 2018 41ST INTERNATIONAL CONVENTION ON INFORMATION AND COMMUNICATION TECHNOLOGY, ELECTRONICS AND MICROELECTRONICS (MIPRO), P1545, DOI 10.23919/MIPRO.2018.8400278
[6]   Prism: Deconstructing the Blockchain to Approach Physical Limits [J].
Bagaria, Vivek ;
Kannan, Sreeram ;
Tse, David ;
Fanti, Giulia ;
Viswanath, Pramod .
PROCEEDINGS OF THE 2019 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'19), 2019, :585-602
[7]   Dynamo: A transparent dynamic optimization system [J].
Bala, V ;
Duesterwald, E ;
Banerjia, S .
ACM SIGPLAN NOTICES, 2000, 35 (05) :1-12
[8]   SoK: Consensus in the Age of Blockchains [J].
Bano, Shehar ;
Sonnino, Alberto ;
Al-Bassam, Mustafa ;
Azouvi, Sarah ;
McCorry, Patrick ;
Meiklejohn, Sarah ;
Danezis, George .
AFT'19: PROCEEDINGS OF THE 1ST ACM CONFERENCE ON ADVANCES IN FINANCIAL TECHNOLOGIES, 2019, :183-198
[9]  
Bauman S, 2015, PROCEEDINGS OF THE 20TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON FUNCTIONAL PROGRAMMING (ICFP'15), P22, DOI 10.1145/2784731.2784740
[10]   SPUR: A Trace-Based JIT Compiler for CIL [J].
Bebenita, Michael ;
Brandner, Florian ;
Fahndrich, Manuel ;
Logozzo, Francesco ;
Schulte, Wolfram ;
Tillmann, Nikolai ;
Venter, Herman .
ACM SIGPLAN NOTICES, 2010, 45 (10) :708-725