你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
High-Performance 计算(HPC)系统旨在处理大量数据,并高速执行复杂的计算。 了解和衡量其性能对于系统优化、采购决策以及确保应用程序满足性能要求至关重要。 本文档全面概述了 HPC 性能概念和基准测试方法。
关键性能指标
了解用于度量 HPC 系统性能的基本指标对于有意义的系统评估和比较至关重要。 它们提供用于比较的客观测量,识别系统瓶颈,从而进行性能优化,并帮助预测应用程序性能。 性能
HPC 系统的计算功能通过各种指标进行测量,以量化其执行计算和指令的能力。
- FLOPS(每秒Floating-Point次操作):用于测量系统的原始计算能力。
- 峰值性能:系统可实现的理论最大性能
- 持续性能:实际操作期间实现的实际性能
- IPS (每秒指令数):处理器执行指令的速率
基准类别
不同类型的基准用于评估系统性能,从测试特定组件到评估实际应用程序性能。
综合基准 (测试特定的系统组件或特征) |
应用程序基准 (实际应用程序或其代理) |
内核基准 (应用程序的小型、独立部分) |
---|---|---|
STREAM(内存带宽) | 天气研究和预报(WRF) | NAS 并行基准测试 |
Intel MPI 基准(网络性能) | GROMACS (分子动力学) | DOE CORAL 基准 |
LINPACK (密集线性代数) | NAMD (分子动力学) | ECP 代理应用程序 |
HPCG (稀疏线性代数) | MILC (量子色动力学) |
性能分析方法
各种技术用于收集详细的性能数据,并确定 HPC 系统和应用程序中的瓶颈。 最常用的方法是 分析 ,其中收集运行时数据以了解程序行为和资源利用率模式、 跟踪 方法,用于捕获有关程序执行的详细信息和系统行为以进行深入分析。
分析
- 基于时间的分析:定期对程序计数器进行采样
- 基于事件的分析:收集硬件计数器数据
- 通信概况分析:分析消息模式和时间安排
- I/O 分析:测量文件系统性能
追踪
- 时间线分析:记录事件的临时行为
- 消息跟踪:分析通信模式
- 硬件计数器跟踪:记录一段时间内的硬件事件
性能优化技术
这些策略有助于最大程度地提高 HPC 系统的不同方面的系统效率和应用程序性能。 最有效的技术通常结合了来自所有三个类别的元素,从而创建一个平衡的优化策略,该策略考虑了整个系统的性能特征。 成功通常来自确定这些技术最适合特定应用程序和系统体系结构的组合。
基准测试的最佳做法
以下是建立基准测试做法,可确保可靠且可重现的性能度量。
方法论
- 定义明确的目标和指标
- 选择代表性基准
- 确保一致的测试条件
- 记录所有测试参数
- 执行多次运行以实现统计有效性
要避免的常见陷阱
- 预热期不足
- 不一致的编译器选项
- 样本大小不足
- 不切实际的输入数据集
- 忽略系统可变性
报告要求
- 系统配置详细信息'
- 软件堆栈信息
- 基准参数
- 原始结果和统计分析
- 环境条件
- 优化设置