当前位置: X-MOL 学术arXiv.cs.PF › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Scaling Hyperledger Fabric Using Pipelined Execution and Sparse Peers
arXiv - CS - Performance Pub Date : 2020-03-11 , DOI: arxiv-2003.05113
Parth Thakkar, Senthil Nathan

Many proofs of concept blockchain applications built using Hyperledger Fabric, a permissioned blockchain platform, have recently been transformed into production. However, the performance provided by Hyperledger Fabric is of significant concern for enterprises due to steady growth in network usage. Hence, in this paper, we study the performance achieved in a Fabric network using vertical scaling (i.e., by adding more vCPUs) and horizontal scaling (i.e., by adding more nodes) techniques. We observe that network scales very poorly with both of these techniques. With vertical scaling, due to serial execution of validation & commit phases of transactions, the allocated vCPUs are underutilized. With horizontal scaling, due to redundant work between nodes, allocated resources are wasted though it is utilized. Further, we identify these techniques to be unsuited for dynamically scaling a network quickly to mitigate an overload situation, and hence, it results in a 30% drop in the performance. To increase the CPU utilization and hence the performance, we re-architect Fabric to enable pipelined execution of validation & commit phases by introducing dirty state management using a trie data structure. Additionally, we facilitated the validation phase to validate transactions in parallel by introducing a waiting-transactions dependency graph. To avoid redundant work performed between nodes and to quickly scale up a network, we propose a new type of peer node called sparse peer, which selective commits transactions. Overall, we improved the throughput by 3x and reduced the time taken to scale up a network by 96%.

中文翻译:

使用流水线执行和稀疏对等节点扩展 Hyperledger Fabric

许多使用许可区块链平台 Hyperledger Fabric 构建的概念区块链应用程序的证明最近已转化为生产。然而,由于网络使用量的稳步增长,Hyperledger Fabric 提供的性能是企业的重要关注点。因此,在本文中,我们研究了使用垂直扩展(即通过添加更多 vCPU)和水平扩展(即通过添加更多节点)技术在 Fabric 网络中实现的性能。我们观察到这两种技术的网络扩展性都很差。对于垂直扩展,由于事务的验证和提交阶段的串行执行,分配的 vCPU 未得到充分利用。对于水平扩展,由于节点之间的冗余工作,分配的资源虽然被利用但被浪费了。更多,我们发现这些技术不适合快速动态扩展网络以减轻过载情况,因此会导致性能下降 30%。为了提高 CPU 利用率并因此提高性能,我们重新构建了 Fabric,通过使用 trie 数据结构引入脏状态管理来启用验证和提交阶段的流水线执行。此外,我们通过引入等待交易依赖图促进了验证阶段以并行验证交易。为了避免节点之间执行的冗余工作并快速扩展网络,我们提出了一种称为稀疏对等的新型对等节点,它选择性地提交事务。总体而言,我们将吞吐量提高了 3 倍,并将网络扩展所需的时间减少了 96%。它导致性能下降 30%。为了提高 CPU 利用率并因此提高性能,我们重新构建了 Fabric,通过使用 trie 数据结构引入脏状态管理来启用验证和提交阶段的流水线执行。此外,我们通过引入等待交易依赖图促进了验证阶段以并行验证交易。为了避免节点之间执行的冗余工作并快速扩展网络,我们提出了一种称为稀疏对等的新型对等节点,它选择性地提交事务。总体而言,我们将吞吐量提高了 3 倍,并将网络扩展所需的时间减少了 96%。它导致性能下降 30%。为了提高 CPU 利用率并因此提高性能,我们重新构建了 Fabric,通过使用 trie 数据结构引入脏状态管理来启用验证和提交阶段的流水线执行。此外,我们通过引入等待交易依赖图促进了验证阶段以并行验证交易。为了避免节点之间执行的冗余工作并快速扩展网络,我们提出了一种称为稀疏对等的新型对等节点,它选择性地提交事务。总体而言,我们将吞吐量提高了 3 倍,并将网络扩展所需的时间减少了 96%。通过使用特里数据结构引入脏状态管理来提交阶段。此外,我们通过引入等待交易依赖图促进了验证阶段以并行验证交易。为了避免节点之间执行的冗余工作并快速扩展网络,我们提出了一种称为稀疏对等的新型对等节点,它选择性地提交事务。总体而言,我们将吞吐量提高了 3 倍,并将网络扩展所需的时间减少了 96%。通过使用特里数据结构引入脏状态管理来提交阶段。此外,我们通过引入等待交易依赖图促进了验证阶段以并行验证交易。为了避免节点之间执行的冗余工作并快速扩展网络,我们提出了一种称为稀疏对等的新型对等节点,它选择性地提交事务。总体而言,我们将吞吐量提高了 3 倍,并将网络扩展所需的时间减少了 96%。其中选择性提交事务。总体而言,我们将吞吐量提高了 3 倍,并将网络扩展所需的时间减少了 96%。其中选择性提交事务。总体而言,我们将吞吐量提高了 3 倍,并将网络扩展所需的时间减少了 96%。
更新日期:2020-03-12
down
wechat
bug