Page 324 - 《软件学报》2025年第9期
P. 324

韩将 等: 面向跨信任域互联网场景的拜占庭容错访问控制架构                                                   4235


                 的优势, 实验   4  将分析  Super-Dumbo  中各个部分的时间占用率. 需要特别说明的是, 当            k = 1  时, 可以看作广播阶
                 段使用   RBC  或  PRBC, 即  Dumbo2  的广播阶段, 所以实验  2  主要是对  Dumbo2  和  Super-Dumbo  广播阶段进行性能
                 比较. 实验  1  和实验  2, 均进行了小规模     (PC  实验环境, 不多于   10  个仿真验证节点) 和大规模实验         (高性能服务器
                 实验环境, 最多    64  个仿真验证节点), 实验     3  和实验  4  仅进行小规模实验. 小规模实验环境为: 操作系统              Ubuntu
                 18.04 LTS, CPU  为  AMD Ryzen 7 6800H, RAM  大小  16 GB; 大规模实验环境为: 操作系统  Ubuntu 20.04 LTS, CPU
                 为  28-core Xeon Platinum 8280, RAM  大小  1 TB. 每个节点实例以线程进行, 通过  Python  库的  gevent. Queue 模拟
                 节点消息缓冲队列, 使用       socket 套接字进行网络通信, 并使用宽带限制和强制延迟模拟异步网络环境, 其中网络环
                 境分为良好的网络环境, 其带宽和延时分别设置为                 200 Mb/s 和  50 ms, 以及差的网络环境, 为   50 Mb/s 和  300 ms,
                 在实验中会按一定规律进行切换. 实验中单笔交易的大小固定为                     250 B.
                    实验  1. 在小规模实验中, 协议方节点数         n = 10, 腐化节点数  f = 3, 实验测试轮数为    500  轮. 变量为单批量交易
                 的大小, 从  1 000  笔交易变化到   10 000  笔交易. 实验数据如图    6  所示, 为叙述简洁期间, 基于      Dumbo2  同时进行循
                 环等待断言优化和       Opti-MVBA  优化后的共识协议记为       Dumbo2.5. 数据显示, 在小规模实验中, 即测试机器性能较
                 为有限的情况下, Opti-MVBA      优化明显较于循环等待断言优化更明显, 其中                 Opti-MVBA  优化在延迟上较于
                 Dumbo2  有  13.26%–24.94%  的下降, 验证优化有  1.46%–7.66%  的下降, Dumbo2.5  有  22.59%–27.85%  的下降; 在吞
                 吐量的上, Opti-MVBA   优化有   15.28%–33.23%  的增加, 循环等待断言优化有       1.47%–8.30%  的增加, Dumbo2.5  有
                 29.18%–38.59%  的增加.


                      0.55                                      18 000
                             Dumbo2  Dumbo2+循环等待断言                      Dumbo2  Dumbo2+循环等待断言
                             Dumbo2+Opti-MVBA  Dumbo2.5                 Dumbo2+Opti-MVBA  Dumbo2.5
                                                                15 000
                      0.50                                      12 000
                    平均共识时间 (s)  0.45                          平均吞吐量 (txs/s)  9 000

                      0.40

                      0.35                                      6 000
                                                                3 000
                      0.30                                         0
                           1 000  2 500  5 000  7 500  10 000          1 000  2 500  5 000  7 500  10 000
                                    单批量大小 (txs)                                单批量大小 (txs)
                                    图 6 Dumbo  平均共识时间和平均吞吐量随单批量大小的变化

                    在大规模实验中, 更注重对协议方规模的实验讨论: 单次交易批量固定为                          5 000  笔交易, 实验测试轮数为
                 500  轮. 变量为参与协议的节点数量, 从        n = 16  到  n = 64, 对应的腐化节点的数量满足     f = ⌊(n−1)/3⌋. 实验数据如
                 图  7  所示. 数据显示, 在节点数较多的情况下, 循环等待断言优化比               Opti-MVBA  优化的效果更明显, 具体表现在循
                 环等待断言优化较      Dumbo2 有  7.45%–64.43%  的延迟下降, 而  Opti-MVBA  有  4.57%–15.64%  的延迟下降, Dumbo2.5
                 有  23.65%–68.08%  的延迟下降; 在吞吐量上, 验证优化有         8.05%–181.13%  的增加, 置换优化有    4.79%–18.54%
                 的增加, Dumbo2.5  有  30.97%–213.26%  的增加.
                    实验  2. 在小规模实验中, 协议方节点数          n = 4, 腐化节点数  f = 1, 实验测试轮数为    500  轮. 变量为  k-RBC  的  k
                 值和单批次交易的大小. k 值从        2  到  4, 单批次交易大小从    25 000  笔交易到  500 000  笔交易. 实验数据如图   8  所示.
                 在实验结果中, 当     k = 3  时有更好的表现. 在吞吐量的表现上, 较于         PRBC, k = 2  有–0.03%~1.80%  的增加, k = 3  有
                 –2.62%~3.57%  的增加, k = 4  有–1.92%~3.31%  的增加. 较为明显的是, 当单批量的大小较小时, k-RBC       比  PRBC, 或
                 者是单实例    RBC  的吞吐量更小, 这是因为在单批量大小较小时, k-RBC             的多实例产生的额外开销, 较         k-RBC  带来
                 的网络利用的优化减少的开销更明显, 但在单批量大小较大时有优势.
   319   320   321   322   323   324   325   326   327   328   329