授课课件:华为昇腾智算中心测试方案与标准

 

本方案是企业内训课程《华为昇腾智算中心深度技术研修》的一部分授课课件的样例。方案内容中详细阐述了华为昇腾环境下智算中心的测试方案和标准,以确保硬件和软件系统在实际部署和运行中的高效性和稳定性。主要内容包括集群硬件清单、节点拓扑配置以及环境配置。硬件部分涵盖了CPU、GPU、内存、存储和网络等组件的具体型号、规格、性能指标和测试目标,如CPU的单核/多核性能、GPU的AI加速能力、内存的读写带宽、存储的IOPS等。

测试方案针对各组件及其组合进行了全面的基线测试和功能测试,涉及单节点及多节点的多种性能指标,包括计算能力、网络通信效率、存储系统性能等。同时,提供了测试工具的使用方法和流程,如sysbench、fio、iperf等,帮助用户准确评估系统性能,识别潜在瓶颈和优化空间。

此外,文件还详细介绍了如何通过配置集群管理工具(如Slurm和Kubernetes)来实现任务调度和负载均衡,确保系统资源的高效利用。整体方案全面覆盖了从基础设施搭建到性能优化的各个环节,提供了系统性的测试框架和参考标准,为构建高效、安全的智算中心提供了重要依据。

第一部分:智算集群整体测试方案

a.硬件测试的基本流程

硬件清单和测试目标内容

  1. 集群硬件清单:主要记录集群中的各类硬件组件,如CPUGPU、内存、存储、网络设备等。这张表着重于每个硬件的规格、性能基线和测试目标。

  2. 集群节点拓扑与配置清单:记录集群的整体架构,包括节点的数量、类型、硬件配置,以及它们的角色和网络拓扑结构。这张表主要用于分析和测试集群中各节点的布局、连接方式以及它们在分布式系统中的协同工作效率。

1:集群硬件清单

用于列出每个硬件的具体型号、测试目标以及厂商提供的性能基线。适用于单个节点或组件的详细测试。

硬件组件

型号/规格

测试目标

厂商提供的基线

其他重要指标

备注

CPU

华为鲲鹏920

测试单核/多核性能
 - 任务调度和多线程处理能力

单核性能:1,200 SPECint
多核性能:15,000 SPECint

指令集执行效率
功耗与热设计功耗(TDP)

厂商提供的SPEC CPU测试结果为参考

GPU

华为昇腾910

测试AI模型加速性能
并行计算性能

- AI加速:150 TFLOPS
训练性能:512 samples/second

- GPU温度与散热能力
- GPU利用率

基于MindSporeTensorFlow框架的AI基线测试

内存

512GB DDR4 2933MHz

测试内存读写速度、带宽
并发读写性能

带宽:45 GB/s
延迟:70ns

内存利用率
- NUMA效应

使用STREAM测试带宽,延迟基于厂商数据

网络

华为100Gbps 高速以太网卡

测试跨节点网络带宽
网络延迟与丢包率

带宽:98 Gbps
延迟:1.5ms

数据包丢失率
网络抖动

使用iperf/netperf测试网络带宽与延迟

存储

华为OceanStor存储系统

测试存储读写性能
大数据并发访问性能

- IOPS350,000
吞吐量:5 GB/s

读写延迟
热数据与冷数据分级管理

使用fio测试存储系统IOPS和吞吐量

GPU加速卡

华为Atlas 300 (昇腾310)

测试推理性能
单节点与多节点的GPU并行计算能力

推理速度:64 TOPS
并行性能:32,000 images/second

- GPU通信带宽
- GPU温度和功耗

推理加速基线基于NVIDIA NCCL等通信库测试

存储(SSD

2TB NVMe SSD

测试读写速度
随机IO性能

顺序读写:3.5 GB/s
随机IOPS350,000

- SSD耐久性(TBW
延迟

使用fio测试读写性能

2集群节点拓扑与配置清单 参考数据,以实际环境为准)

用于记录集群中每个节点的角色、硬件配置和网络拓扑。适用于评估集群的整体布局和节点间的协同工作。

节点类型

节点数量

节点硬件配置

角色

网络拓扑结构

其他重要信息

计算节点

10

CPU: 华为鲲鹏920 
 GPU: 昇腾910 
 内存: 512GB

主要用于计算任务,运行AI模型
执行分布式训练与推理

星形结构,通过高速网络交换机连接

各节点通信带宽
- GPU通信效率
负载均衡策略

存储节点

3

存储华为OceanStor 
 NVMe SSD: 2TB

主要用于存储数据集
提供高IOPS支持多任务并发读写

与所有计算节点连接

存储IOPS
并发访问性能
/冷数据分级管理

管理节点

2

CPU: 华为鲲鹏920 
 内存: 128GB

管理整个集群任务调度
监控集群状态与资源分配

环形结构,管理所有计算节点

集群资源调度效率
管理节点故障恢复

网络节点

1

Mellanox 100Gbps 高速网络设备

负责跨节点通信与负载均衡
管理节点间的网络连接

树形结构

网络延迟
网络抖动与丢包率
高并发下的带宽利用

环境配置说明:

智算中心环境配置表格(实际环境搭建后修改配置清单)

配置项

配置内容

版本/规格

配置工具/方法

备注

操作系统

Linux 发行版(如Ubuntu, CentOS, EulerOS

Ubuntu 20.04 / CentOS 8 / EulerOS

操作系统安装光盘或网络安装包

确保与硬件、驱动、AI框架兼容

CPU驱动

安装和配置CPU相关驱动

针对华为鲲鹏920的最新驱动

系统自带工具或厂商提供的驱动程序

确保多核CPU性能正常,支持多线程并行

GPU驱动

安装GPU的驱动程序

昇腾910/310 GPU驱动

Ascend Driver Installation (CANN)

支持深度学习和GPU加速的驱动程序,确保GPU正常工作

AI框架

安装AI框架(如TensorFlow, PyTorch, MindSpore

TensorFlow 2.6 / PyTorch 1.9 / MindSpore 1.3

通过pipconda安装

确保AI框架与GPU和计算资源兼容

集群管理工具

集群调度和管理工具

Slurm / Kubernetes

通过aptyum等包管理工具安装

确保任务调度与负载均衡功能正常

网络配置

配置节点间的网络连接,优化网络带宽和延迟

Mellanox 100Gbps 网络接口卡

使用网络配置工具,如ifconfig, iperf

确保节点间网络带宽最大化,延迟最小化

存储系统

配置分布式存储系统,确保高IOPS和低延迟

华为OceanStor / Ceph

Ceph部署工具,或厂商提供的配置工具

确保存储系统支持并发读写和大数据存储

硬盘分区与挂载

配置NVMe SSD和分布式存储的分区与挂载点

NVMe 2TB SSD 分区

使用fdiskmkfs等工具进行分区挂载

确保存储系统被正确挂载,支持大数据访问

文件系统

文件系统的格式化与优化配置

Ext4 / XFS / CephFS

mkfs工具进行文件系统格式化

根据需求选择最优的文件系统,支持高效读写

安全配置

安装和配置防火墙、权限控制等安全机制

Firewalld / iptables / SELinux

通过操作系统或独立安全工具配置

确保智算中心在进行测试时有安全的网络和访问控制

软件依赖环境

安装各种开发包、编译工具及测试所需依赖的库

gcc, g++, OpenMPI, CUDA

通过aptyumpip等安装

确保所有依赖包和编译环境正确安装和配置

监控工具

安装监控工具,实时监控硬件资源和任务运行状态

Grafana / Prometheus / NVIDIA-SMI

通过包管理工具安装和配置

确保系统在运行时,能够监控CPUGPU、内存等状态

系统时钟同步

确保集群中所有节点时钟同步

NTP / Chrony

通过系统时钟同步工具进行配置

保证分布式任务中各节点的时钟同步

配置项说明:

  1. 操作系统:智算中心通常基于Linux操作系统(如UbuntuCentOSEulerOS)。选择的操作系统版本需要和硬件兼容,尤其是CPUGPU和存储系统。

  2. CPU驱动:确保多核CPU的性能发挥正常,安装和配置合适的CPU驱动程序,特别是对于华为鲲鹏等高性能CPU

  3. GPU驱动:确保安装最新的GPU驱动程序(如华为昇腾910/310),支持深度学习模型的加速训练。常用工具如Ascend DriverCANNCompute Architecture for Neural Networks)。

  4. AI框架:安装AI框架(TensorFlowPyTorchMindSpore),用于模型训练和推理。确保框架版本和硬件、操作系统兼容,安装时可以通过pipconda等包管理工具。

  5. 集群管理工具:用于任务调度、负载均衡和集群管理。常用工具如SlurmKubernetes,确保所有节点任务调度和资源分配有效。

  6. 网络配置:配置智算中心的网络,使节点之间的通信效率最大化,确保数据传输带宽和延迟优化。测试工具如iperf等用于网络优化测试。

  7. 存储系统:配置分布式存储系统(如Ceph或华为OceanStor),确保高并发访问、大数据存储以及读写性能。

  8. 硬盘分区与挂载:配置NVMe SSD的分区与挂载点,确保存储系统能够快速访问和写入数据,特别是在高IOPS需求下。

  9. 文件系统:根据系统需求配置合适的文件系统(如Ext4XFSCephFS),确保支持高效的大数据读写操作。

  10. 安全配置:设置操作系统的安全防护(如防火墙、防病毒、SELinux等),确保测试环境的网络和数据安全。

  11. 软件依赖环境:安装各种依赖包和开发工具(如编译器、OpenMPICUDA等),确保智算中心在测试时拥有所需的软件支持。

  12. 监控工具:通过安装GrafanaPrometheus等监控工具,实时监控系统硬件资源(CPUGPU、内存等)和任务运行状态,确保在测试时能够及时发现问题。

  13. 系统时钟同步:使用NTPChrony确保集群中各个节点的时钟同步,避免分布式任务由于时间不同步而出现问题。   

基础功能测试清单表格

测试项目

测试目的

测试内容

测试工具

预期结果

操作系统健康检查

检查操作系统是否正常运行

操作系统版本检查
系统运行状态(CPU、内存使用情况)

uname, top, free

操作系统正常运行,资源使用无异常

CPU基本功能测试

确保CPU能够正常运行,且多核、多线程功能有效

检查CPU核数、线程
测试基础计算任务

lscpu, sysbench

CPU正常检测,所有核心和线程都能工作,多核性能正常

GPU基本功能测试

检查GPU的硬件状态并确保GPU驱动安装成功

确认GPU驱动是否正确安装
测试GPU硬件状态及利用率

nvidia-smi, Ascend Toolkit (CANN)

GPU驱动正确安装,硬件状态良好,GPU可被识别和正常使用

内存基本功能测试

确保内存读写功能正常,避免内存硬件故障

内存检测与读写测试
检查内存使用情况

memtest86, free, vmstat

内存读写无错误,内存分配和使用情况正常

存储设备检测

确认存储设备能够正确连接并识别,文件系统工作正常

检查存储设备挂载状态
测试基本读写操作

fdisk, lsblk, dd, fio

存储设备被正确识别并正常挂载,读写操作无错误

网络连接测试

确保集群内节点之间的网络连接正常,且带宽和延迟在合理范围内

测试节点间的网络连通性
检测网络带宽和延迟

ping, iperf

节点间网络连通性正常,带宽和延迟符合预期

文件系统功能测试

检查文件系统是否正常工作并支持大文件的读写

检查文件系统状态
基础读写测试

df, du, dd

文件系统正常挂载,支持大数据读写,读写性能无异常

硬盘分区和挂载

确认所有存储硬盘正确分区并挂载,文件系统格式化正常

检查分区状态
检测硬盘的读写速度

fdisk, mkfs, dd

所有硬盘分区正确,挂载状态良好,基础读写无问题

存储IO功能测试

确保存储设备在并发访问时性能稳定,支持大数据量的读写

检查IO性能
测试并发读写能力

fio, dd

IO性能稳定,支持并发读写操作,无明显性能下降

集群节点健康检查

确保所有节点均能正常启动和运行,硬件状态良好

检查所有节点的健康状态
确认节点配置和资源使用情况

ping, top, free

所有节点状态正常,硬件资源(CPU、内存)使用无异常

集群管理工具功能

确保集群管理工具(如SlurmKubernetes)能够正常运行,任务分配正常

检查管理工具的状态
提交简单任务进行分配测试

Slurm, Kubernetes, squeue, kubectl

管理工具运行正常,任务分配无误,调度系统工作正常

时钟同步功能测试

确保集群中各节点的系统时钟同步,避免分布式任务时钟不一致

检查节点的时钟同步状态

ntpstat, chrony

所有节点时钟同步,时间偏差在可接受范围内

安全与防火墙检查

检查安全配置,确保防火墙、SELinux等安全机制正确运行

检查防火墙状态
检查SELinux和权限设置

firewall-cmd, sestatus

防火墙和SELinux运行正常,安全配置合理,无不必要的开放端口

测试项目说明:

  1. 操作系统健康检查:验证操作系统是否正常运行,包括系统资源(CPU、内存等)使用情况是否异常,确保系统稳定。

  2. CPU基本功能测试:通过查看CPU的核心数和线程情况,确保CPU的多核、多线程功能有效,并通过基础的计算任务验证其运行正常。

  3. GPU基本功能测试:检查GPU是否正确安装和可用,验证GPU的基本状态和利用率是否正常,确保GPU能够支持深度学习和计算加速任务。

  4. 内存基本功能测试:使用memtest86等工具检查内存硬件是否有问题,确保内存的读写能力正常,避免内存模块损坏或安装不当导致的错误。

  5. 存储设备检测:验证所有存储设备是否能够正确识别并挂载,确保磁盘读写操作无误。可以通过查看分区和挂载状态确认设备连接是否正常。

  6. 网络连接测试:通过测试节点间的连通性(如使用ping)和带宽、延迟等网络性能(如使用iperf),确保集群内节点之间的网络连接正常。

  7. 文件系统功能测试:检查文件系统是否正常工作,支持大文件的读写,确保在后续的大数据存储和处理任务中,文件系统能够提供足够的性能。

  8. 硬盘分区和挂载:验证所有硬盘是否已正确分区和挂载,检查文件系统是否被正确格式化,并通过基础读写测试确认其正常工作。

  9. 存储IO功能测试:使用fio等工具对存储设备进行IO性能测试,验证存储系统在并发访问时的读写性能是否稳定,确保数据密集型任务能够顺利进行。

  10. 集群节点健康检查:确保所有集群节点能够正常启动、工作,硬件资源状态良好,所有节点的CPU、内存等资源使用无异常。

  11. 集群管理工具功能:检查集群管理工具(如SlurmKubernetes)是否运行正常,提交简单任务测试集群的任务调度和负载均衡功能。

  12. 时钟同步功能测试:确保集群中所有节点的系统时钟同步,避免在分布式任务中因为时钟不同步导致的问题。通过NTPChrony工具进行检查。

  13. 安全与防火墙检查:检查集群的安全配置,包括防火墙、SELinux、用户权限等,确保系统安全配置合理,无不必要的端口暴露。

基线测试(重点核心)

基线测试的目的是为集群硬件和系统设定一个性能参考标准,以便在后续的性能测试中有一个对比基准。通过基线测试,确保硬件和软件在正常情况下能够达到预期的性能标准,并为压力测试、扩展性测试等提供参考。基线测试不仅关注单个组件的性能,还可以涉及整个集群的综合性能,确保系统在不同负载下的正常表现。

基线测试清单表格

测试项目

测试目的

测试内容

测试工具

基线预期值

备注

CPU基线测试

测试CPU的单核和多核性能,确定计算能力基线

单核与多核性能测试
多线程任务执行能力

SPEC CPU, sysbench

单核:1,200 SPECint
多核:15,000 SPECint

基于厂商提供的基准数据

GPU基线测试

确定GPU的浮点运算能力和AI模型训练加速能力

测试GPU计算能力(FLOPS
- AI任务加速比

TensorFlow Benchmark, PyTorch

- AI加速:150 TFLOPS
训练性能:512 samples/sec

使用标准模型和数据集进行测试

内存基线测试

确保内存的读写带宽和延迟在预期范围内

测试内存带宽和延迟
多任务并发读写测试

STREAM, memtest86

带宽:45 GB/s
延迟:70ns

基于硬件规格和预期性能

存储基线测试

确定存储系统的IOPS、吞吐量和读写延迟,确保数据存取性能

测试存储IOPS
顺序和随机读写性能
读写延迟

fio, IOzone

- IOPS350,000
吞吐量:5 GB/s
延迟:5ms

存储系统在单节点与多节点下的表现对比

网络基线测试

确定节点间网络带宽和延迟,确保通信效率和稳定性

测试节点间带宽
延迟和丢包率
网络抖动

iperf, netperf, PingPlotter

带宽:98 Gbps
延迟:1.5ms

针对多节点的跨节点通信进行基线测试

存储并发访问测试

确保存储在多节点并发访问下的稳定性,确定并发处理能力

并发读写性能测试
存储延迟与吞吐量

fio, Ceph Benchmarks

并发IOPS300,000
吞吐量:4.5 GB/s

确保存储在高并发下性能稳定

分布式训练基线测试

测试多节点的分布式训练性能,确保分布式计算的加速比和通信效率

测试分布式训练的通信延迟
加速比与扩展性

NCCL, Horovod

加速比接近线性增长
通信延迟最低化

基于多GPU节点的模型训练进行测试

任务调度基线测试

确保集群任务调度系统(如Slurm)的任务分配效率和负载均衡效果

测试任务分配效率
负载均衡能力
资源利用率

Slurm, Kubernetes, squeue, kubectl

任务延迟在可接受范围内
资源利用率达90%以上

多任务并发情况下的调度表现

系统扩展性基线测试

测试增加节点后的性能扩展性,确保系统扩展性能线性增长

增加节点后的性能提升
资源利用率
负载分布情况

Linpack, MPI Benchmarks

性能扩展比接近线性
负载均衡良好

验证系统在增加节点时的性能扩展效果

系统能效基线测试

确保系统在不同负载下的能效比,优化功耗与计算能力的平衡

不同负载下的功耗与性能测试
计算能效比

lm-sensors, PowerTOP

在高负载下能效比优化
功耗与性能平衡合理

根据负载优化能效表现,确保功耗合理

测试项目说明:

  1. CPU基线测试:通过SPEC CPUsysbench测试CPU的单核与多核性能,确保系统的计算能力达到预期。基线数据可以参考厂商提供的CPU性能规格,或通过历史测试结果设定。

  2. GPU基线测试:针对深度学习或计算密集型任务,测试GPU的浮点运算性能(FLOPS)和AI任务加速能力。使用TensorFlow BenchmarkPyTorch进行标准模型的训练测试,确保GPU的利用率和加速效果符合预期。

  3. 内存基线测试:通过STREAMmemtest86测试内存的读写带宽和延迟,确保内存模块的读写性能符合硬件预期,特别是在多任务并发的情况下,确保延迟不会增加。

  4. 存储基线测试:使用fioIOzone工具测试存储设备的顺序和随机读写性能,确保IOPS、吞吐量和延迟符合预期。存储系统在高IOPS需求下,必须保持稳定的性能。

  5. 网络基线测试:通过iperf等工具测试节点间的网络带宽、延迟、抖动和丢包率,确保多节点集群在分布式任务中的通信效率达到要求。带宽和延迟的基线设定通常基于网络硬件的规格。

  6. 存储并发访问测试:评估在多节点并发访问时,存储系统的IO性能是否能够稳定提供高吞吐量,测试并发下的IOPS和延迟,确保存储系统在高负载下能够保持性能。

  7. 分布式训练基线测试:针对深度学习任务的分布式训练,测试多节点、多GPU的分布式训练性能,确保加速比接近线性增长,通信延迟最小化。

  8. 任务调度基线测试:通过SlurmKubernetes测试任务调度和负载均衡的效率,确保集群中的任务能够均衡分配,避免资源浪费或单一节点过载。

  9. 系统扩展性基线测试:测试系统的扩展性能,通过增加节点,验证集群是否能够线性扩展计算能力,并且确保负载均衡在扩展后保持稳定。

  10. 系统能效基线测试:通过测试不同负载下的系统功耗与性能,确保系统在高负载下仍能保持合理的能效比,优化计算能力与功耗的平衡。

测试工具的使用和流程

免费开源的基线测试工具清单(附下载链接)

昇腾环境优化的基线测试工具清单

测试项目

测试目的

测试内容

测试工具

工具说明

下载链接

CPU基线测试

测试鲲鹏CPU的单核和多核性能

单核与多核性能测试
多线程任务执行能力

1. sysbench
2. KML

sysbench:适用于鲲鹏CPU的基线测试工具
KML:华为鲲鹏数学库,优化数值计算和性能表现

sysbench GitHub
KML下载

GPU基线测试

测试昇腾AI处理器的性能和AI训练加速能力

测试GPU(昇腾)计算能力
- AI任务加速比

1. CANN Profiler
2. MindSpore Benchmark

CANN Profiler:华为昇腾专用性能分析工具
MindSpore:华为AI框架,完全适配昇腾环境

CANN下载
MindSpore下载

内存基线测试

测试系统内存的带宽和延迟

内存带宽和延迟测试
多任务并发读写测试

1. STREAM
2. CANN Profiler

STREAM:内存带宽测试工具,适配鲲鹏CPU
CANN Profiler:分析内存利用情况和性能瓶颈

STREAM
CANN下载

存储基线测试

测试存储系统的IOPS、吞吐量和延迟

测试存储IOPS
顺序和随机读写性能
读写延迟

1. fio
2. 华为OceanStor管理工具

fio:适用于存储设备的基准测试工具
OceanStor:华为的分布式存储管理工具,监控存储性能

fio
OceanStor下载

网络基线测试

测试集群节点间网络的带宽和延迟

测试节点间网络带宽
延迟和丢包率

1. iperf
2. 华为CloudEngine管理工具

iperf:测试网络带宽和延迟的标准工具
CloudEngine:华为交换机的性能监控与优化工具

iperf下载
CloudEngine下载

存储并发访问测试

测试存储系统在多节点并发访问下的稳定性和性能

并发读写性能测试
存储延迟与吞吐量

1. fio
2. Ceph Benchmarks

fio:适用于并发IO测试的开源工具
Ceph:分布式存储的性能基准测试工具

fio
Ceph Benchmarks

分布式训练基线测试

测试昇腾AI处理器在多节点下的分布式训练性能

测试分布式训练的通信延迟
加速比与扩展性

1. CANN Profiler
2. MindSpore

CANN Profiler:分析昇腾AI处理器的多节点分布式训练性能
MindSpore:华为AI框架,支持多节点分布式训练

CANN下载
MindSpore下载

任务调度基线测试

测试集群任务调度系统(如Slurm)的任务分配效率和负载均衡

测试任务分配效率
负载均衡能力
资源利用率

1. Slurm
2. 华为AI集群管理工具

Slurm:适用于集群管理的开源任务调度工具
华为AI集群管理工具:优化昇腾AI任务的调度

Slurm下载
华为AI集群管理工具下载

系统扩展性基线测试

测试增加节点后的系统扩展性能,确保系统扩展性良好

测试系统扩展性
资源利用率
负载分布情况

1. Linpack
2. MPI Benchmarks

Linpack:高性能计算基准测试工具,适合扩展性测试
MPI Benchmarks:测试多节点间的通信效率

Linpack
MPI Benchmarks

系统能效基线测试

确保系统在不同负载下的能效比,优化功耗与计算能力的平衡

不同负载下的功耗与性能测试
计算能效比

1. lm-sensors
2. PowerTOP

lm-sensors:监控硬件温度与功耗
PowerTOPLinux下的功耗优化工具

lm-sensors
PowerTOP下载

工具说明与适配性

  1. sysbench:适合用于鲲鹏CPU的基线测试,包括单核、多核性能的测试。但不适合直接测试昇腾AI处理器,建议使用CANN工具链来分析昇腾硬件。

  2. KMLKunpeng Math Library:华为鲲鹏的数学库,适合数值计算任务的优化与性能分析。推荐在鲲鹏CPU环境下使用。

  3. CANN Profiler:这是华为昇腾AI芯片的专用性能分析工具,强烈推荐在任何与昇腾AI加速相关的基线测试中使用,包括模型训练、推理和多节点分布式任务。

  4. MindSpore:华为的AI框架,完全适配昇腾AI硬件,并支持多节点分布式训练。适用于代替TensorFlowPyTorch在昇腾环境中的使用。

  5. STREAM:适用于鲲鹏CPU的内存带宽测试工具,可以帮助检测内存性能瓶颈,建议与CANN结合,分析AI训练任务中的显存和内存带宽。

  6. fio:适用于测试存储系统的IOPS和吞吐量,适配SATANVMe等存储设备。可以与华为OceanStor存储系统结合使用。

  7. iperf:标准的网络带宽和延迟测试工具,适合用于集群中节点间的网络测试,与华为CloudEngine交换机管理工具结合使用效果更好。

  8. Slurm:用于集群管理和任务调度,但针对昇腾AI任务,建议结合华为AI集群管理工具,以优化AI加速任务的调度。

  9. Linpack  MPI Benchmarks:适用于高性能计算中的扩展性测试,能够检测多节点的负载分布和通信效率。

免费开源基线测试工具的核心指标、参数页面和测试方法

1. sysbench

核心指标

  • 单核/多核性能:每秒处理的事件数(events per second)以及CPU的响应时间。

  • 线程并发性能:多线程任务的并行执行能力。

  • 内存性能:内存的读写速度和延迟。

关键参数页面

  • --threads=N:设置并发线程数,N为指定的线程数(如--threads=8用于测试多核性能)。

  • --cpu-max-prime=N:设置用于计算的最大素数,N越大,计算量越大,适用于CPU的浮点运算测试。

  • --test=cpu/memory:选择测试项,cpu用于CPU测试,memory用于内存测试。

测试方法

  • 单核/多核性能测试

  • sysbench --test=cpu --cpu-max-prime=20000 --threads=1 run  单核

  • sysbench --test=cpu --cpu-max-prime=20000 --threads=8 run  多核

  • 查看每秒处理事件数(events/sec)和执行时间,评估CPU性能。

  • 内存性能测试

  • sysbench --test=memory --memory-block-size=4K --memory-total-size=1G run

  • 查看内存读写性能,包括吞吐量和延迟。

2. KMLKunpeng Math Library

核心指标

  • 数值计算性能:评估鲲鹏CPU的数值计算效率。

  • 矩阵计算性能:测试大规模矩阵运算中的加速比和性能瓶颈。

  • 多线程性能:在多核场景下的并发计算能力。

关键参数页面

  • -i [number]:设置计算的迭代次数。

  • -t [threads]:指定线程数量,测试多线程并发性能。

  • -m:指定数学运算类型(如矩阵乘法)。

测试方法

  • 矩阵运算性能测试

  • kml-test -i 1000 -t 8 -m matrix_mul

  • 使用8个线程测试矩阵乘法运算的性能,分析鲲鹏CPU在高并发场景下的性能表现。

3. CANN Profiler

核心指标

  • AI核利用率AI处理器的利用率,关键性能指标为AI Core Utilization

  • 显存利用率:分析显存的使用情况,避免显存瓶颈。

  • 训练吞吐量:每秒处理的样本数(samples/sec)是衡量模型训练速度的重要指标。

  • 通信延迟:在多卡或多节点训练中,通信延迟会影响训练的整体性能。

关键参数页面

  • --batch_size:指定批处理大小,通常用于测试模型训练吞吐量。

  • --num_cards:指定使用的GPU或昇腾AI卡数量,测试单卡和多卡加速效果。

  • --model:指定模型类型(如resnet50bert等)。

测试方法

  • 模型训练性能测试

  • profiler start --model=resnet50 --batch_size=32 --num_cards=4

  • 启动CANN Profiler分析训练性能,查看AI核的利用率、显存使用情况和通信延迟,评估多卡训练效果。

4. MindSpore Benchmark

核心指标

  • 每秒处理样本数(Samples/Second:用于衡量模型训练或推理的效率。

  • 推理延迟:模型推理所需时间,通常以毫秒(ms)为单位。

  • 加速比:在多节点或多GPU/AI卡的场景下,分析加速效果。

关键参数页面

  • --arch:选择模型架构(如resnet50bert)。

  • --batch_size:设置批次大小,影响训练速度和显存占用。

  • --device_num:设置使用的设备数量,测试分布式训练时的性能。

测试方法

  • 单设备模型训练性能测试

  • python mindspore_benchmark.py --arch=resnet50 --batch_size=32 --epochs=1

  • 测试模型在单卡上的训练性能,查看每秒处理的样本数和模型训练时间。

  • 多设备分布式训练测试

  • mpirun -n 4 python mindspore_benchmark.py --arch=resnet50 --batch_size=64 --epochs=1 --device_num=4

  • 测试模型在多卡或多节点上的分布式训练性能,查看加速比。

5. STREAM

核心指标

  • 内存带宽:以GB/s为单位,测量内存的读写带宽。

  • 内存延迟:测试内存的访问延迟,通常以纳秒(ns)为单位。

关键参数页面

  • STREAM_ARRAY_SIZE:设置测试的数组大小,越大越能反映系统的内存性能。

  • NTIMES:设置测试的重复次数,通常设置为10次。

测试方法

  • 内存带宽测试
    编译并运行STREAM

  • gcc -O2 stream.c -o stream && ./stream

  • 查看读写带宽是否符合硬件规格(通常为几十GB/s),并评估内存延迟。

6. fio

核心指标

  • IOPS:每秒输入输出操作次数,用于衡量存储系统的读写能力。

  • 吞吐量:存储设备的顺序或随机读写性能,单位为MB/s

  • 延迟:存储设备的响应延迟,以毫秒(ms)为单位。

关键参数页面

  • --rw=read/write/randread/randwrite:设置读写模式(顺序或随机)。

  • --bs=[block size]:设置块大小,常用4K8K等。

  • --iodepth=N:指定并发深度,用于测试并发IO性能。

测试方法

  • 随机读写测试

  • fio --name=test --size=4G --rw=randread --bs=4k --iodepth=64

  • 测试存储系统的随机读写性能,查看IOPS和延迟情况。

  • 顺序写入测试

  • fio --name=test --size=4G --rw=write --bs=1M

  • 测试顺序写入的吞吐量,查看存储系统的最大写入速度。

7. iperf

核心指标

  • 网络带宽:两个节点之间的最大带宽,以Gbps为单位。

  • 网络延迟:数据包的往返延迟,通常以毫秒(ms)表示。

  • 数据包丢失率:测试网络通信的可靠性。

关键参数页面

  • -c:指定客户端的IP地址。

  • -P:设置并发连接数,模拟高并发网络环境。

  • -t:测试时长,以秒为单位。

测试方法

  • 网络带宽测试
    在服务器节点运行iperf -s,在客户端运行:

  • iperf -c <server_ip> -P 4 -t 30

  • 查看带宽是否达到预期,并通过多线程模拟高负载网络环境。

8. Slurm

核心指标

  • 任务等待时间:任务从提交到执行的延迟时间。

  • 资源利用率:集群中各节点CPUGPU等资源的利用率。

  • 负载均衡:集群中任务的分配均匀性,评估各节点的负载。

关键参数页面

  • sbatch:用于提交批量任务。

  • squeue:查看任务队列和执行状态。

  • sinfo:监控集群节点的状态和资源利用情况。

测试方法

  • 批量任务提交测试
    提交批量任务,监控任务调度情况:

   sbatch my

重点问题:

在进行软件基线测试时,我们需要重点注意的事项:

1. sysbench

重点发现的问题

  • 多核性能不均衡

    • 观察点:检查各核心的负载是否均衡,是否存在某些核心负载过重或过轻的情况。

    • 注意事项:在进行多核测试时,监控CPU核心利用率,避免其他后台任务影响测试结果。

  • 内存带宽瓶颈

    • 观察点:监测内存读写性能,特别是在高并发情况下是否出现带宽瓶颈。

    • 注意事项:注意内存带宽的上下限,避免因内存带宽限制导致测试结果偏低。

2. KMLKunpeng Math Library

重点发现的问题

  • 优化库兼容性

    • 观察点:检查KML库是否与其他数学库或应用程序兼容,是否出现计算错误或性能下降。

    • 注意事项:在测试前确认KML库的版本,并确保其与系统和其他软件兼容。

  • 测试覆盖范围不足

    • 观察点:测试是否覆盖了多种计算任务,包括复杂的数学运算。

    • 注意事项:扩展测试用例,确保测试结果能够反映实际应用中的复杂计算需求。

3. CANN Profiler

重点发现的问题

  • 性能瓶颈定位困难

    • 观察点:在多节点或多卡训练时,注意性能瓶颈的定位是否困难,是否有明显的性能下降点。

    • 注意事项:综合分析AI核利用率、显存使用情况等多个指标,查看性能瓶颈的表现。

  • 数据采集与分析延迟

    • 观察点:监控数据采集和分析是否导致额外的开销,是否影响测试的准确性。

    • 注意事项:注意测试过程中数据采集的频率和延迟对整体测试结果的影响。

4. MindSpore Benchmark

重点发现的问题

  • 分布式训练性能不稳定

    • 观察点:观察分布式训练过程中的性能波动,特别是在不同节点和不同卡上训练时的稳定性。

    • 注意事项:监控训练过程中各节点的负载情况,注意性能的不稳定现象。

  • 环境配置影响

    • 观察点:测试环境中的硬件和软件配置是否影响训练性能,特别是在不同配置下的测试结果。

    • 注意事项:记录和比较不同配置下的测试数据,评估环境对性能的影响。

5. STREAM

重点发现的问题

  • 测试数据量不足

    • 观察点:检查数据集大小是否足够,是否能够充分测试内存带宽。

    • 注意事项:使用大规模数据集进行测试,以确保带宽测试结果的准确性。

  • 系统干扰

    • 观察点:监控系统中是否有其他任务干扰内存带宽测试。

    • 注意事项:确保测试期间系统负载最低,避免其他任务影响测试结果。

6. fio

重点发现的问题

  • 存储设备性能不稳定

    • 观察点:在高负载条件下,监测存储设备性能的波动情况。

    • 注意事项:记录存储设备在不同负载下的表现,特别是在高并发读写操作中的稳定性。

  • 配置参数影响

    • 观察点:检查不同fio配置参数对测试结果的影响,如块大小和IO深度。

    • 注意事项:根据实际应用场景选择合适的参数,观察测试结果的变化。

7. iperf

重点发现的问题

  • 网络带宽测试不准确

    • 观察点:监测网络带宽测试中的实际带宽和理论带宽是否一致。

    • 注意事项:注意网络环境的稳定性,确保测试结果能够准确反映网络性能。

  • 丢包和延迟影响

    • 观察点:在测试过程中观察数据包丢失率和延迟情况。

    • 注意事项:记录网络丢包率和延迟,综合分析网络性能的真实表现。

8. Slurm

重点发现的问题

  • 任务调度延迟

    • 观察点:监测任务调度的延迟时间,是否存在较长的等待时间。

    • 注意事项:记录调度延迟的时间,分析是否影响集群资源的有效利用。

  • 资源利用不均

    • 观察点:观察集群中资源的分配和使用情况,是否存在资源利用不均的问题。

    • 注意事项:监控节点的负载情况,查看是否有资源闲置或过载现象。

关于TsingtaoAI
 
 
 
 
 
TsingtaoAI拥有一支高水平的产学研一体的AI产品开发团队,核心团队主要来自清华大学、北京大学、中科院、北京邮电大学、复旦大学、中国农业大学、美团、京东、百度、中国技术创业协会和三一重工等产研组织。TsingtaoAI核心团队专长于算力、行业LLM/AIGC应用的产品研发,面向企业的大语言模型应用落地等业务,如面向智能客服、教育、人力资源、电商和轨道交通等行业领域的LLM和AIGC应用开发。公司拥有近10项LLM/AIGC相关的知识产权。
TsingtaoAI自研基于LLM大模型代码能力的AIGC应用开发实训平台、面向CS专业的AI训练实训平台和基于大语言模型的AIGC案例学习平台,聚焦虚拟现实、金融科技、医药健康、高端装备、新能源、新材料、节能环保、文化创意、农业科技和食品科技等关键行业,通过链接全球数以千计的关键领域的AI科学家和工程师,为央国企、上市公司、外资企业、政府部门和高校提供AI企业内训和高校实训服务。
 
 

 

Product & Case.

产品与案例