Page 291 - 《软件学报》2021年第8期
P. 291
蒲勇霖 等:Storm 平台下的线程重分配与数据迁移节能策略 2573
果.具体结果如图 9 所示.
WordCount WordCount WordCount
120 120 120
Sol Sol Sol
RollingSort RollingSort RollingSort
100 RollingCount 100 RollingCount 100 RollingCount
80 80 80
CPU占用率/% 60 40 网络带宽占用率/% 60 40 内存占用率/% 60
40
20 20 20
0 0 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
工作节点 工作节点 工作节点
(a) CPU 占用率 (b) 网络带宽占用率 (c) 内存占用率
Fig.9 Resources utilization of 16 work nodes after the cluster data migration
图 9 集群数据迁移后 16 个工作节点的资源占用率
如图 9 所示,数据迁移完成后,集群 16 个工作节点 3 类资源的平均占用率主要集中在 80%~100%.图 9 中缺
失的部分为非关键节点,表示非关键线程重分配后,非关键节点已不存在线程与数据,因此予以删除.此外,非关
键节点在集群拓扑中的分布并不相同,表示运行不同基准测试下的拓扑并不相同.
为确定集群在执行算法时,算法的响应时间对集群性能的影响,现通过测试一个元组从 Spout 出发到最终
被集群拓扑处理完成后所产生的时长,以此反映集群数据的处理效率.
图 10 统计了 WordCount、Sol 与 RollingSort 这 3 种基准测试在系统默认的调度策略与 ERDM 下的延迟.
4200 1400 800
3600 默认调度策略 1200 默认调度策略 700 默认调度策略
ERDM ERDM ERDM
600
3000 1000
500
2400 800
延迟/ms 1800 延迟/ms 600 延迟/ms 400
1200 400 300
200
600 200 100
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.10 Comparison of system latency under different benchmarks
图 10 在不同的基准测试下系统延迟的比较
如图 10 所示,3 种基准测试下集群执行 ERDM 的平均延迟为 801.33ms,279.28ms,131.02ms,与 Storm 默认
的调度策略相比,平均降低了 6.3%,8.7%,10.4%.这是由于节点间的通信开销降低而导致集群路径的延迟下降.
在 105s 前存在一个峰值,且 Storm 默认的调度策略与 ERDM 的延迟基本相同,表示集群在提交各拓扑时的部署
过程,并且 105s 前集群统一遵循 Storm 默认的调度策略.在 105s 时,集群触发数据迁移算法,数据的传输延迟出
现峰值.这是由于数据迁移算法根据集群 CPU、网络带宽与内存的负载以及线程间数据流的大小情况,对所有
包含线程的工作节点资源进行重新分配,相当于对集群的任务进行初始化分配,此时集群的开销较大,因此导致
数据流因无法被及时处理而使延迟急剧上升.根据图 10 可知,3 种基准测试下集群触发数据迁移算法后,其平均
延迟高于 Storm 默认的调度策略的时长为[105s,135s],共耗时约 30s;但是由于时间间隔相对较短,故对整个集群
拓扑数据处理性能造成的影响可忽略不计.此外,3 种基准测试的延迟并不相同,这是由于不同的基准测试,组件
中包含的线程数量并不相同,但对实验的结果不会造成影响.综上所述,数据迁移算法在执行过程中并不会对集