Page 292 - 《软件学报》2021年第8期
P. 292
2574 Journal of Software 软件学报 Vol.32, No.8, August 2021
群数据传输与处理的实时性造成影响.
此外,可通过使用布隆过滤器对集群拓扑内的数据进行预处理,删除数据集内的重复数据,导致集群拓扑单
位时间内处理及传输的数据量减少,从而降低了在执行 ERDM 过程中集群拓扑数据传输延迟过长的问题.
4.3 节能策略的实验结果与分析
ERDM 的评估标准主要体现在集群性能与能耗两个指标.
(1) 集群性能
集群执行 ERDM 后的性能由集群节点间的通信开销判断,集群性能可通过单位时间内数据的传输与处理
速率决定.具体结果如图 11 所示.此外,集群性能也可由 Storm UI(Storm 平台提供)进行计算.引入 TMSH-Storm
与 ERDM 作对比,以验证 ERDM 的实际效果.
120000 120000
110000 110000 80000
100000 100000 70000
数据传输与处理速率/(tuple/s) 70000 默认调度策略 数据传输与处理速率/(tuple/s) 70000 默认调度策略 数据传输与处理速率/(tuple/s) 50000 默认调度策略
90000
90000
60000
80000
80000
60000
60000
40000
50000
50000
30000
40000
40000
30000
20000
20000
TMSH-Storm
TMSH-Storm
TMSH-Storm
10000
10000 ERDM 30000 ERDM 20000 ERDM
10000
0 0 0
0 50 100 150 200 250 300 0 50 100 150 200 250 300 0 50 100 150 200 250 300
时间/s 时间/s 时间/s
(a) WordCount (b) Sol (c) RollingSort
Fig.11 Comparison of data processing and transmission rate under different benchmarks
图 11 在不同的基准测试下比较数据传输与处理速率
如图 11 所示,集群在执行 ERDM 后,各基准测试(WordCount、SOL、RollingSort)在单位时间内的数据传输
与处理速率得到了改善.执行 ERDM 后,集群中数据传输与处理速率的平均值为 77 572(tuple/s),76 471(tuple/s)
和 59 763(tuple/s),与 Storm 默认的调度策略相比提高了 13.7%,13.3%和 18.2%.其原因为:与 Storm 默认的调度
策略相比,由于执行 ERDM 减少了节点间的通信开销,降低了路径的计算延迟,从而导致集群数据传输与处理的
总时间减少.因此,集群中数据传输与处理的速率得到了改善,单位时间内使集群增加了数据流的大小.集群执
行 TMSH-Storm 后,数据传输与处理速率的平均值为 80 170(tuple/s),81 639(tuple/s)和 62 647(tuple/s),与 ERDM
相比提高了 3.3%,4.9%和 5.3%.但是执行 TMSH-Storm 时,集群数据传输与处理速率的波动较大.这是由于
TMSH- Storm 在任务迁移过程中并未考虑线程迁移出现扎堆现象,导致任务并未按照原定计划进行迁移,从而
增加了额外的节点间通信开销,故对集群数据传输与处理的速率造成了一定的影响.此外,从优化的角度来看,
拓扑内线程的总数为 326 个、286 个和 318 个.执行 ERDM 后,集群重新分配非关键线程的个数为 17 个、21 个
和 15 个,其中,从节点间的数据传输改变为线程之间数据传输的线程个数为 14 个、18 个和 12 个,且平均完成
一次线程之间数据传输的改变可降低节点间的通信成本为 0.8%,1.1%和 1.5%.因此,集群平均节约的通信成本
为 11.2%,19.8%和 18%.图 12 显示了在实际应用场景下集群拓扑内数据传输与处理速率.
如图 12 所示,在执行 ERDM 运行 RollingCount 后,集群中数据传输与处理速率的平均值为 57 530(tuple/s),
与 Storm 默认的调度策略相比提高了 12.5%.在执行 TMSH-Storm 运行 RollingCount 后,由于集群数据传输与处
理速率波动较大的原因,其平均值为 59 800(tuple/s),相比于 Storm 默认的调度策略提高了 15.8%.两种策略的差
距较小,但是 ERDM 的稳定性更佳.此外,拓扑内线程的总数为 266 个,执行 ERDM 后,集群重新分配非关键线程
的个数为 14 个,其中,从节点间的数据传输改变为线程之间数据传输的线程个数为 11 个,且平均完成一次线程
之间数据传输的改变可降低节点间的通信成本为 1.3%,则集群平均节约的通信成本为 14.3%.因此,相比于
Storm 默认的调度策略,本文提出的 ERDM 具有更好的集群性能.