Page 262 - 《软件学报》2021年第11期
P. 262
3588 Journal of Software 软件学报 Vol.32, No.11, November 2021
会不可用.对于时长为 T w 的窗口 W i ,其中包含的元组数 N w 与 t delay 正相关,因此窗口内包含的元组数存在上限
N max ,对应的数据流速 N max /T W 即为索引所能承受的最大流速.同理,下层索引发布时长 t releaseLower 与网络传输带
宽 N B 相关,也会影响整体构建时延,因此也有带宽下限约束.带宽与数据流流速应成正相关关系,其联系由公式
(17)决定.
5 实验评价
5.1 实验环境
本次实验选用阿里云平台,集群环境由 20 个 ECS 实例节点组成.分布式索引选用 JAVA 语言实现.表 3 为
ECS 实例详细配置.为了便于描述,用 ECS01~ECS20 对节点编号,各节点具体安排见表 4,其中,将负载较小的节
点类型部署在一起,以最大化资源利用率.
Table 3 ECS instance’s software/hardware configuration
表 3 ECS 实例软硬件配置
类别 配置
系统 Ubuntu 16.04,64bit
CPU 4 cores Intel Xeon Platinum 8163@2.50GHz
内存 32GB
网络 1Gbps
磁盘 100GB
Table 4 Types of nodes in WB-Index cluster
表 4 WB-Index 集群节点构成
编号 类型
ECS01 构建节点
ECS02,ECS03 查询节点,协调节点
ECS04 控制节点,协调节点,查询节点
ECS05~ECS14 查询节点
ECS15~ECS20 存储节点
实验使用 TPC-H 生成的 1 亿条 Line Item 数据集,数据格式为〈K,V〉,其中,V 的大小为 100B.实验中,实时从
内存加载数据来模拟接收一个数据流,并通过改变加载量来模拟不同的数据流速.WB-Index 中,B+树节点阶数
m=3000.
5.2 下层索引构建性能评估
由第 4.4 节的理论分析可得,下层索引构建性能是影响分布式索引构建性能的重要因素.下层索引构建中
的分片排序阶段,通过并行排序法加速排序.通过预实验得到:
• 当前机器配置下,分片元组数量小于 150 万时,传统快速排序性能更好.
• 超过该数据量时,用 2 个线程并行排序性能较好.实验中,按照此规则选用合适的排序方式.
由第 4.1 节的理论分析可得,分片数 N slice 直接决定了下层索引的构建性能.本实验在 20s 的时间窗口内,模
拟 100 万/s 的数据流,评估分片数对下层索引的影响.
图 9 为具体实验结果,从中可得:
• 随着分片数的增加,下层索引构建性能先升后降;
• 分片数量达到 25 个时,构建性能趋于稳定,并在 35 个时性能最优.
这与第 4.1 节的分析结论相符.实验对比了下层索引构建中各阶段耗时,由图 9 可得,排序是最主要的时间
开销.因此,将构建节点部署在高性能主机上,能有效提高下层索引构建效率.
数据流流速存在波动性,本实验在 20s 的时间窗口内,通过模拟不同数据流速,评估下层索引构建的稳定性,
实验设置窗口分片数 N slice =35.