ARM架构集群上对比CentOS和OpenEuler操作系统的性能对比

概要

分享一篇关于ARM架构的论文,论文主要是讲解在ARM架构集群下,华为的OpenEuler操作系统和CentOS操作系统运行常规的基准程序(如:HPFG稀疏矩阵计算、OSU点对点通信等)的性能对比。简单记录一下论文中提到的有趣的测试方法和测试结果供大家参考学习。

整体架构流程

硬件架构:
单节点两片鲲鹏920-6426处理器,2600MHz,64核心,256GB内存,DDR4-2933 ,240GB硬盘,理论峰值1330TFLOPS/s

技术名词解释

  • 操作系统噪声:操作系统的噪声来自多个方面,包括日志信息、系统进程、后台服务、守护进程、网络波动等。
  • Hourglass:是Regehr提出的一个用于测量系统噪声的基准测试程序。通过在不断变化的时间间隔内周期性地运行高优先级的任务来模拟系统负载。这些任务会竞争系统资源,例如CPU时间片和内存带宽,以测试操作系统的调度器和硬件反应能力。(可以了解一下 Inferring Scheduling Behavior with Hourglass)
  • OSU MPI通信测试基准程序
  • HPL :大规模线性方程组计算系统浮点计算能力
  • HPCG :基于共轭梯度算法求解大规模稀疏线性方程
  • DGEMM:计算法复杂度非常高的矩阵乘法运算,是一个典型的计算密集型应用。

技术细节

  • OpenEuler在ARM架构的超级计算机上与多个典型科学计算应用具有良好的兼容性
  • OpenEuler相较于CentOS具有更低的操作系统噪声和更优的内存管理
  • OpenEuler 相比较于CentOS allreduce 集合通信性能低
  • 混合并行、手动优化集合通信问题,感觉有点鸡肋。

1、运行DGEMM、FFT、Multi Grid程序在单节点上的性能测试(计算密集型和通信密集型应用),旨在测试不同操作系统下相同应用在单节点内的运行情况。
2、ARM平台上,安装的OpenEuler系统,运行Lammps、Gromacs、OpenFOAM、BWA、Samtools等运行效果没有对比测试,比较遗憾。
3、CentOS 和 OpenEuler操作系统的噪声测试(比较有趣)。
点对点通信测试,单个socket内两者结果相近;
单个socket内的通信时延和通信带宽
跨socket的通信时延和通信带宽
总的来说,就是OpenEuler在节点内通信的性能要高于CentOS,大致提升了10%。
4、集合通信部分
测试Allreduce和reduce时,OpenEuler相比较于CentOS慢了 76%和25%。
怎么做的测试呢? 做了哪些测试?
首先对了了计算、访存、通信密集型应用在不同进程和线程组合下的测试结果
访存密集型应用
计算、访存密集型应用,OpenEuler上运行比CentOS运行效果好。
通信密集型应用
通信密集型应用这里采用的是SPEChpc2021套件,OpenEuler比CentOS性能低。
然后做了对应的优化:
MPI+OpenMP混合优化、替换GNU编译套件和OpenMPI,针对OpenEuler和鲲鹏920优化过的毕昇编译器和Hyper MPI,性能略有提升。

个人总结

华为在应用移植方面还是做的不错的。基于ARM架构,OpenEuler操作系统分别在流体力学(LBM)、高分子物理(SOMA)、高能物理(Tealeaf)、天体(SPH-EXA)、气象预测(miniWeather)等。文中分析的ARM架构上的两种操作系统噪声对比也比较有趣,但是总觉得在后面部分对通信密集型应用性能差的方面做的有点小缺失。虽然在通过更换毕昇库和做了混合优化之后有了一定的性能提升,但是我觉得本文应该更加关注与ARM架构之上,OpenEuler操作系统层面给应用带来的性能不足,也就是说应该在硬件层面或者操作系统驱动层面给出一些解释,而不是简单的分析毕昇所做的一些并行库层面的优化。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOSopenEuler是两个不同的Linux发行版,它们在操作上有一些区别。 1. 源代码和社区:CentOS是基于Red Hat Enterprise Linux (RHEL)的重新编译版本,而openEuler是华为主导的开源操作系统项目。CentOS开发和维护主要由社区贡献者和志愿者组成,而openEuler由华为组织并得到社区的支持。 2. 软件包管理:CentOS使用yum(Yellowdog Updater, Modified)作为主要的软件包管理工具,而openEuler则使用Docker、Kunpeng Package Manager (Kunlun)和EulerOS Package Manager (eopkg)等多种方式进行软件包管理。 3. 发布和更新策略:CentOS发布版本时通常以长期支持 (LTS) 的方式提供,每个版本都会得到长期的更新和维护支持。而openEuler则以滚动更新的方式进行发布,持续集成和持续交付新功能和修复。 4. 社区生态系统:CentOS有一个庞大的社区生态系统,有大量的用户和开发者参与其中。而openEuler在其生态系统中也在不断发展壮大,吸引了一些开发者和用户的关注。 5. 预装软件和默认设置:两者在预装软件和默认设置上可能会有一些差异。CentOS通常预装一些常用的服务器软件,如Apache、MySQL等,而openEuler可能更加注重云计算、大数据和人工智能等领域的软件和工具。 需要注意的是,这些区别可能会随着版本的更新和发展而有所改变。在选择使用哪个操作系统时,建议根据自己的需求和使用场景进行评估和比较。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值