机构地区:[1]大数据技术与系统国家地方联合工程研究中心,武汉430074 [2]服务计算技术与系统教育部重点实验室,武汉430074 [3]集群与网格计算湖北省重点实验室,武汉430074 [4]华中科技大学计算机科学与技术学院,武汉430074
出 处:《电子与信息学报》2024年第5期2111-2121,共11页Journal of Electronics & Information Technology
基 金:国家重点研发计划(2021YFB2700700);湖北省重点研发计划(2021BEA164)。
摘 要:基于有向无环图(DAG)的图式区块链能够显著提升系统性能,已成为近年来业界的研究热点。相较于传统串行化的链式区块链,图式区块链可在单位时间内并发处理大量事务从而提升吞吐量。随着事务量的激增,图式区块链面临事务执行效率低的瓶颈问题,即海量事务执行对状态数据访问的需求大幅增加,导致高昂的输入/输出(I/O)开销。实现低I/O访问主要包括两方面的全新挑战:一方面,图式区块链若直接采用传统的事务预取机制,将因执行逻辑不一致引入大量的陈旧读;另一方面,针对不同账户的状态访问会在默克尔树的高层节点中造成重复的I/O开销。为此,本文设计基于流水线的图式区块链高效事务执行机制—ErlangShen,包括Epoch粒度的状态预取机制和默克尔高层路径缓存机制来分别减少陈旧读的数量和重复的I/O开销。具体而言,ErlangShen充分分析并利用了事务访问频次的冷热特征,将访问热事务的逻辑执行与冷事务的状态预取并行化,以避免状态预取对事务执行的影响。此外,为了进一步提升事务执行的吞吐量,根据访问冷热状态事务的特性设计了定制化的并发控制方法。实验结果表明,ErlangShen机制能够减少约90%的陈旧读数量,与最新图式区块链事务处理机制Nezha相比,可将性能提升3~4倍。Directed Acyclic Graph(DAG)-based blockchain can significantly improve system performance and have become a research topic in both academia and industry.Compared with the traditional chain-based blockchains with serialization,DAG-based blockchains can process multiple blocks concurrently to package significant transactions into the chain.With the surge in transaction throughput,DAG-based blockchain faces the issue of low transaction execution efficiency,i.e.,the demand for state data access for massive transaction execution increases dramatically,resulting in high Input/Output(I/O)overhead.Enabling low I/O state access mainly encounters two new challenges.On the one hand,if DAG-based blockchain directly adopts the traditional state prefetch mechanism,it will introduce a large number of stale reads due to inconsistent execution logic.On the other hand,state access for different accounts causes duplicate I/O overhead in the upper nodes of the Merkle tree.To this end,an efficient transaction execution mechanism based on pipelining—ErlangShen is designed,including the epoch granularity state prefetch mechanism and Merkle high-level path buffer mechanism to reduce the number of stale reads and duplicate I/O overhead,respectively.Specifically,ErlangShen leverages the complicated logic and severe conflicts of transactions accessing hotspot states to parallelize the execution of hotspot transactions and the prefetch of states accessed by cold transactions,to avoid the implication of the state prefetching on the transaction execution.Furthermore,the customized concurrency control methods is designed according to the data access pattern of hotspot and cold states to further improve the system throughput.Experimental results show that ErlangShen can reduce the number of stale reads by about 90%and improve transaction processing performance by 3~4 times compared to Nezha,the state-of-the-art DAG-based blockchain transaction processing solution.
关 键 词:区块链 图式区块链 I/O优化 并发控制 状态树
分 类 号:TN915.08[电子电信—通信与信息系统] TP309[电子电信—信息与通信工程]
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...
正在载入数据...