Page 289 - 《软件学报》2021年第8期
P. 289
蒲勇霖 等:Storm 平台下的线程重分配与数据迁移节能策略 2571
设置为 16,表示各基准测试运行时,一个工作节点内仅分配一个工作进程;topology.acker.executors 统一设置
为 16,表示保证集群内数据流的可靠传输;此外,为防止数据传输因超时而发生重传,需要通过多次实验验
证结果,实验结果为 topology.max.spout.pending 统一设置为 200;最后,统一设置每个 message.size 等于一个
tuple 的大小.
Table 3 Configuration of benchmarks
表 3 基准测试参数配置
基准侧试 参数 数值
component.spout_num 50
component.split_bolt_num 100
component.count_bolt_num 100
WordCount
topology.works 16
topology.acker.executors 16
topology.max.spout.pending 200
component.spout_num 50
component.sort_bolt_num 100
RollingSort emit.frequency 10
chunk.size 2 000 000
message.size 100 000
topology.level 3
message.size 2 000
Sol
component.spout_num 50
component.bolt_num 100
component.spout_num 50
component.split_bolt_num 100
RollingCount component.rolling_count_bolt_num 100
window.length 150
emit.frequency 30
为了验证 ERDM 的效果,本文还与 TMSH-Storm [18] 、LEEDSP [35] 和 WNDVR-Storm [37] 进行了对比实验.其中,
• TMSH-Storm 的核心思想是:对集群的任务调度进行优化,继而达到提高集群性能的目的.
• LEEDSP 的核心思想是:弹性调节集群节点的资源,并通过 DVFS 技术动态调节节点 CPU 的电压,以此
达到节能的效果.且该策略为流式处理节能策略的主要代表,适用于大多数流式处理平台(如 Storm、
Flink [10] 以及 Spark Streaming [11] 等).
• WNDVR-Storm 的核心思想为:通过动态调节工作节点的内存电压而达到节能的效果,且 WNDVR-
Storm 由非关键路径内存电压调节(DRAM voltage regulation on non-critical path,简称 DVRNP)与关键
路径内存电压调节(DRAM voltage regulation on critical path,简称 DVRCP)两种算法组成.
此外,为保证在同等条件下验证本文策略的效果,TMSH-Storm、LEEDSP 以及 WNDVR-Storm 的相关参数
与 ERDM 保持一致.
为选择合适的时间窗口用于监控集群内各节点资源的负载信息,本文以 WordCount 为例,在系统默认调度
策略下,根据额外增加的网络开销与系统延迟为条件选择合适的时间窗口取值,具体的结果见表 4.
Table 4 Choose of time windows
表 4 时间窗口的选择
时间窗口取值(s) 额外增加的网络开销(%) 额外增加的系统延迟(ms)
10 17.4 7.5
20 10.3 13.3
30 6.1 27.1
40 4.6 51.8
50 3.2 94.7
根据表 4 可知,当时间窗口为 10s 与 20s 时,集群内额外增加的网络开销较大.其原因为:时间窗口取值较低
而导致集群内数据库的读写过于频繁,读写数据库产生的网络开销相对较大,从而影响集群拓扑内任务的正常
执行,造成无法触发 ERDM 的问题.当时间窗口为 40s 和 50s 时,集群内额外增加的系统延迟较高,已影响到集群