什么是基准性能?
基准性能是指使用一组整数和浮点程序(统称为基准)来测试被测计算系统(s)的不同性能方面。基准程序的设计应该能够对高性能计算系统进行公平有效的比较。为了使基准测试有意义,它应该忠实地评估系统的预期用途的性能。
基准测试的例子包括 Dhrystone 和 Whetstone 基准测试。这些是旨在测量真实机器性能的合成(非真实)基准测试。
Dhrystone 基准测试用于处理整数性能。它由 100 条语句组成,不使用浮点运算或数据。从 Dhrystone 获得的速率用于计算 MIPS 指数作为性能度量。这使得 Dhrystone 作为性能度量的来源相当不可靠。
另一方面,Whetstone 是一个内核程序,用于处理算术运算、数组索引、条件分支和子程序调用的浮点性能。使用 Whetstone 获得的执行速度仅用于确定系统性能。这导致单一数字的性能度量,使其不可靠。
合成基准测试已被反映真实工程和科学应用的几个应用程序软件部分所取代。这些包括 PERFECT(经济有效的转换性能评估)、数据库 I/O 性能的 TPC 度量以及 SPEC(标准性能评估公司)度量。
SPEC 是一家非营利性公司,成立的目的是“建立、维护和认可一套可以应用于最新一代高性能计算机的相关标准基准”。
第一个 SPEC 基准套件于 1989 年发布 (SPEC89)。它由十个工程/科学程序组成。从 SPEC89 中得出两个度量。SPECmark 测量十个程序的执行率,而 SPECthruput 则检查系统的吞吐量。由于其结果令人不满意,SPEC89 在 1992 年被 SPEC92 取代。
SPEC92 包含两个套件,即 CINT92 和 CFP92。CINT92 包含六个整数密集型 C 程序。CFP92 包含 14 个浮点密集型 C 和 FORTRAN 程序。
在 SPEC92 中,度量 SPECratio 表示给定程序的实际执行时间与预定参考时间的比率。此外,SPEC92 使用度量 SPECint92 作为 CINT92 中程序的 SPECratio 的几何平均值。
类似地,度量 SPECfp92 是 CFP92 中程序的 SPECratio 的几何平均值。在使用 SPEC 进行性能度量时,必须采取三个主要步骤:构建工具、准备辅助文件和运行基准套件。这些工具用于编译、运行和评估基准。
编译信息(例如优化标志和对替代源代码的引用)保存在所谓的 makefile 包装器和配置文件中。然后使用这些工具和辅助文件来编译和执行代码并计算 SPEC 指标。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP