国产CPU执行SPL实现数据库运算的性能实用性测试
海光 | 龙芯 | 飞腾 | |
CPU | 2颗7285, 共64核 | 4颗3C5000, 共64核 | 2颗2500, 共128核 |
RAM | 256G | 256G | 256G |
硬盘 | SSD | SSD | SSD |
OS | 麒麟V10 | Loongnix | 麒麟V10 |
SPL | 开源社区版 202208 |
测试一
常规查询,TPCH 100G
海光 | 龙芯 | 飞腾 | Intel+Oracle | |
Q1 | 25 | 40 | 33 | 131 |
Q2 | 2 | 4 | 3 | 27 |
Q3 | 8 | 19 | 15 | 222 |
Q4 | 4 | 12 | 9 | 207 |
Q5 | 15 | 20 | 27 | 225 |
Q6 | 3 | 7 | 8 | 135 |
Q7 | 11 | 18 | 21 | 184 |
Q8 | 13 | 20 | 28 | 192 |
Q9 | 31 | 63 | 58 | 234 |
Q10 | 10 | 19 | 16 | 215 |
Q11 | 2 | 5 | 4 | 33 |
Q12 | 7 | 19 | 13 | 184 |
Q13 | 97 | 195 | 152 | 37 |
Q14 | 6 | 22 | 20 | 157 |
Q15 | 12 | 22 | 24 | 155 |
Q16 | 9 | 19 | 15 | 13 |
Q17 | 9 | 13 | 25 | 165 |
Q18 | 7 | 21 | 14 | 344 |
Q19 | 9 | 16 | 16 | 154 |
Q20 | 7 | 12 | 16 | 175 |
Q21 | 19 | 24 | 24 | 326 |
Q22 | 23 | 37 | 33 | 48 |
AVG | 14.95 | 28.5 | 26.09 | 161.95 |
AVG-G | 9.68 | 19.22 | 18.36 | 125.56 |
2.AVG 行是 22 个题的平均时间;AVG-G 行是几何平均数,这样能反应出性能差距的倍数关系,规避某些题因为普遍都慢在简单平均时权重太大的问题。
3. 最右边对比列,硬件环境:2 颗 Intel 3014 1.7G 共 12 核,64G 内存;Oracle 运行 12 线程。因 CPU 主频及并行数不同,没有直接可比性,但仍有参考价值。
4.SPL 的 Q13 的表现有点特殊,因为 Q13 在这个线程数时,会占用过大内存;而 SPL 用 Java 实现,内存不足时会导致大量的垃圾收集时间。本次测试目标不是调出每个题的最优性能,就没有刻意再优化它。
测试二
离线数据准备,国家天文台聚类计算
这是国家天文台的实际业务,测试也采用了真实数据。
共 11 张照片,每张有 500 万天体,将位置(天文距离)邻近的天体聚合成一个计算属性。期望计算时间在数小时内,因为每天都会有新的照片拍摄出来,必须当天处理完。
本任务的数据量不大(<10G),但计算量非常大,和规模的平方成正比。
用某分布式数据库动用 100 个 CPU,仅处理 50 万天体也需要 3.8 小时,处理 500 万目标规模预计需要 15 天,不具有实用性。
详情可参考 SPL 提速天体聚类任务 2000 倍
测试结果(单位:小时)
并行数 | 16 | 32 | 64 |
海光 | 3.91 | 2.39 | 2.21 |
龙芯 | 6.65 | 4.04 | 3.96 |
飞腾 | 9.27 | 5.33 | 3.64 |
更高并行没有表现出线性加速,主要是因为这个问题的特殊性,运算步骤之间有依赖关系,各个线程会有重复计算,无法做到线性提速。
测试三
在线查询,电商漏斗计算
并行数 | 32 | 16 | 8 | 4 |
海光 | 16 | 18 | 29 | 59 |
龙芯 | 32 | 41 | 59 | 101 |
飞腾 | 25 | 30 | 44 | 76 |
三款芯片在 32 线程时的运算性能可以达到或接近用户的期望值。
微信扫码关注该文公众号作者
戳这里提交新闻线索和高质量文章给我们。
来源: qq
点击查看作者最近其他文章