Stochastic Performance Analysis of Phase Decomposition in Hyperledger Fabric

Canhui Wang,Xiaowen Chu
DOI: https://doi.org/10.48550/arXiv.2309.09547
2023-09-18
Abstract:Hyperledger Fabric is one of the most popular permissioned blockchain platforms. Although many existing works on the overall system performance of Hyperledger Fabric are available, a decomposition of each phase in Hyperledger Fabric remains to be explored. Admittedly, the overall system performance of Hyperledger Fabric might provide an end-user with satisfied performance information when invoking a transaction; however, it is far from informative when deploying a distributed system with specific performance goals, except for understanding each phase in Hyperledger Fabric. In this paper, we develop a measurement framework to characterize each phase's transaction and block data in Hyperledger Fabric based on the Fabric SDK Nodejs, where we thoroughly analyze and open source the implementation details of the measurement framework. We evaluate the performance of Hyperledger Fabric and have some interesting observations; 1. The number of CPU cores has a linear impact on the throughput of an endorsing peer. 2. The Raft-based ordering service shows good scalability with the number of ordering service nodes. 3. The communication latencies between the client and service in Hyperledger Fabric are significant. We then identify each phase's dominant latency in Hyperledger Fabric via primitive operation analysis and propose a stochastic computation model for performance analysis. We also use the alpha-beta communication model to analyze the corresponding communication latency. Finally, we validate the accuracy of the performance model on both local and cloud clusters. The experiment results and the performance model help guide the deployment of the Hyperledger Fabric service.
Distributed, Parallel, and Cluster Computing,Networking and Internet Architecture,Performance
What problem does this paper attempt to address?
The problems that this paper attempts to solve mainly focus on the performance analysis of the Hyperledger Fabric blockchain platform, especially the performance breakdown of its various stages (execution, ordering, verification). Specifically: 1. **The relationship between the overall system performance and the performance of each stage**: Although many existing studies have analyzed the performance of Hyperledger Fabric from the perspective of the overall system, these studies have failed to go deep into each specific stage. Therefore, one of the goals of the paper is to develop a measurement framework that can analyze and break down the transaction and block data in each stage of Hyperledger Fabric in detail, thereby providing more detailed performance information for the deployment of distributed systems with specific performance goals. 2. **The scalability of the Raft consensus service**: In the Hyperledger Fabric 2.2 LTS version, the Raft consensus service is the only supported consensus mechanism, while others such as Kafka and Solo modes have been deprecated. Although there are some empirical studies exploring the scalability of the Raft consensus service, there is a lack of in - depth research on its performance model. The paper aims to study and model the scalability of the Raft consensus service by proposing an α - β communication model and verify the validity of this model in local and cloud clusters. 3. **Identifying the key resources in each stage**: Most of the existing studies focus on the impact of different resources on the overall system performance, while less research is done on the key resources in each stage. Through original operation analysis, the paper identifies the key resources in each stage, for example: - **Execution stage**: The key resource is the number of CPU cores. The paper finds that the number of CPU cores has a linear impact on the throughput of endorsing nodes. - **Ordering stage**: The key resource is the number of ordering service nodes. The paper finds that the Raft consensus service shows good scalability when increasing the number of ordering service nodes. - **Verification stage**: The key resource is disk I/O. The paper finds that the disk I/O in the verification stage has a significant impact on performance. 4. **Performance modeling**: In order to understand the performance of Hyperledger Fabric more deeply, the paper proposes a stochastic computing model and an α - β communication model. Specifically: - **Execution stage**: Endorsing nodes are modeled as M/D/c queues. - **Ordering stage**: The ordering service leader is modeled as G/G/1 queues. - **Verification stage**: Committing nodes are modeled as G/G/1 queues. Through these models, the paper not only provides theoretical performance analysis but also conducts experimental verification in local and cloud clusters to ensure the accuracy of the models. These research results are helpful for guiding the deployment of Hyperledger Fabric services, especially in scenarios where specific performance goals need to be met.