基准测试程序的认知与分析 —— SPEC基准测试程序集的深入探索

基准测试程序的认知与分析 —— SPEC基准测试程序集的深入探索

一、实验目的:

  • 了解和掌握Spec基准程序测试
  • 对基准程序测试结果进行分析和比较

二、实验准备知识:

  • 计算机系统设计和分析的量化原则。

    计算机系统设计和分析的量化原则是指导计算机系统架构设计与评估的一系列准则,它们帮助工程师和设计师做出基于数据和性能考量的决策。包含大概率事件优先原则Amdahl定律程序的局部性原理

  • 性能分析指标的计算方法。

    性能分析指标的计算方法是计算机系统设计、优化和评估中的关键组成部分,它们帮助理解和量化系统在执行任务时的表现。包含CPU执行时间(CPU Execution Time)、CPI(Clock Cycles Per Instruction)、MIPS(Million Instructions Per Second)、FLOPS(Floating Point Operations Per Second)、IPC(Instructions Per Cycle)、SPEC Rate、吞吐量(Throughput)、响应时间(Response Time)、效率(Efficiency)、能耗(Energy Consumption)、 性能功耗比(Performance per Watt)。

三、实验内容与步骤:

1. 打开网站,查看benchmark

在这里插入图片描述

SPEC(Standard Performance Evaluation Cooperation)基准测试程序集是用于评估计算机系统性能的一系列标准化测试。这些测试旨在提供公正的比较,帮助用户根据不同的应用需求选择合适的计算机系统。

(1)下面是比较不同版本的SPEC基准测试程序集的特点:
SPEC89
  • 特点:SPEC的第一版,包含10个测试程序,主要用于测试当时的计算机系统。
  • 测试特性:早期的CPU性能测试,包括整数和浮点运算。
SPEC92
  • 特点:SPEC92扩大了测试范围,共有20个测试程序,包括6个整数测试程序(SPECint92)和14个浮点测试程序(SPECfp92)。
  • 测试特性:提供了更全面的CPU性能评估,涵盖了更广泛的计算任务。
SPEC95
  • 特点:进一步扩展和改进了测试程序集,提高了测试的多样性和复杂性。
  • 测试特性:评估了包括科学计算在内的更多应用领域的性能。
SPEChpc96
  • 特点:专注于高性能计算领域的测试。
  • 测试特性:用于评估超级计算机和高性能工作站的性能。
SPECweb96
  • 特点:首次引入了专门用于评估Web服务器性能的测试程序集。
  • 测试特性:模拟Web服务器处理多个并发请求的能力。
SPEC2000
  • 特点:更新了测试程序集,以反映当时的技术发展。
  • 测试特性:评估了现代工作站和服务器的性能,包括整数和浮点运算。
SPECCPU2006
  • 特点:这一版本增加了更多的测试程序,提高了对现代处理器和编译器的覆盖。
  • 测试特性:评估了桌面系统和单处理器服务器的性能,包括整数(CINT2006)和浮点(CFP2006)运算。
SPECCPU2017
  • 特点:最新版本,进一步扩展了测试范围,包括了43个测试程序,分为Int Speed、FP Speed、Int Rate和FP Rate四个套件。
  • 测试特性:涵盖了更广泛的计算任务,包括人工智能、生物医学、图像处理等领域。
(2)SPEC其他测试程序集

除了CPU性能测试,SPEC还推出了针对不同应用领域的测试程序集,例如:

  • SPECviewperf:用于测试可视化计算性能。
  • SPECapc:基于应用的图形性能测试。
  • SPECMPI2007:测试MPI并行性能。
  • SPECCOMP2001:测试共享存储器并行处理系统的性能。
  • SPECjAppServer:评估Java应用服务器性能。
  • SPECjbb:使用典型Java商业应用测试服务器性能。
  • SPECjms:测试基于JMS的消息中间件服务器性能。
  • SPECjvm:Java运行时环境性能测试。
  • SPECmail:企业级邮件服务器性能测试。
  • SPECsfs:文件服务器性能测试。
  • SPECpower ssj2008:服务器级别的计算机功耗和性能测试。
  • SPECweb:Web服务器性能测试。

每个版本的SPEC基准测试程序集都反映了当时计算机技术和应用的发展趋势,它们被设计用于评估不同类型的工作负载,从科学计算到商业应用,再到网络服务和图形处理。随着技术的进步,新的测试程序集被开发出来以更准确地反映现代计算机系统的性能特征。

2. 查看result table,分析SPEC2017的测试方法、测试组建类型和评价指标的含义

在这里插入图片描述

SPEC CPU 2017(简称SPEC2017)是Standard Performance Evaluation Corporation(SPEC)推出的一套用于评估和比较计算机系统中CPU子系统性能的基准测试套件。SPEC2017的设计目标是提供一个全面的、可重复的、客观的性能测量工具,能够反映实际应用的负载。

测试方法

SPEC2017的测试方法主要包括两部分:Speed和Rate。Speed测试衡量的是单个任务的完成时间,而Rate测试则衡量在单位时间内能够完成的任务数量,即吞吐量。

Speed测试
  • Speed测试关注的是完成一个给定任务的速度,即运行时间越短,性能越高。它反映了系统在执行单个任务时的性能。
Rate测试
  • Rate测试关注的是单位时间内系统能够处理的任务数量,即吞吐量。它反映了系统在并行处理多个任务时的性能。
测试组件类型

SPEC2017包括四种主要的测试组件类型:

  1. Int Speed

    • 这是整数运算的Speed测试。
  2. FP Speed

    • 这是浮点运算的Speed测试。
  3. Int Rate

    • 这是整数运算的Rate测试。
  4. FP Rate

    • 这是浮点运算的Rate测试。
评价指标

SPEC2017的评价指标通常以SPEC rate或SPEC speed的形式给出,它们的含义如下:

  • SPEC rate:表示在单位时间内可以完成的基准测试任务数量,是一个吞吐量指标,通常以每分钟完成的测试数量来表示(如SPECint_rate2017_base、SPECfp_rate2017_base)。

  • SPEC speed:表示完成单个基准测试任务所需的时间,是一个速度指标,通常以完成测试所需的时间来表示(如SPECint_speed2017_base、SPECfp_speed2017_base)。

SPEC2017的测试结果提供了对CPU性能的深入洞察,可以帮助用户和制造商在不同系统之间进行客观的性能比较。

在这里插入图片描述

对于图上的base和peak代表的含义仍有疑惑,根据参考文献感觉含义应当大致如此

在这里插入图片描述

3. 得出一些结论:

  1. 横向对比:

    • 运行基准测试时启用的核心数量多,性能越好
    • 配置编译选项更全时,性能表现略高于标准简单配置
  2. 纵向对比,从上到下为float rate;float speed;integer rate,integer rate;

    在这里插入图片描述

    同一台电脑,float rate<integer rate;float speed > integer speed

参考文献:

  1. 杜琦, 黄卉, 龚盛, 刘新娃, 黄春. Intel Cascadelake架构 CPU SPEC CPU2017评测[J/OL]. 计算机工程与科学, 2020.
  2. 吕超, 戴晨, 张为华. 计算机体系结构基准测试程序集的研究[J]. 计算机应用与软件, 2013, 30(10).
  3. 徐洁, 王华, 吴晓华, 王雁东. 浅析 SPEC基准测试程序集及评价指标[J]. 实验科学与技术, 2010, 8(6).

网址:

  • SPEC官方网站:www.spec.org
  • 相关学术论文数据库:CNKI

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/758472.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

一篇就够了,为你答疑解惑:锂电池一阶模型-离线参数辨识(附代码)

锂电池一阶模型-参数离线辨识 背景模型简介数据收集1. 最大可用容量实验2. 开路电压实验3. 混合动力脉冲特性实验离线辨识对应模型对应代码总结下期预告文章字数有点多,耐心不够的谨慎点击阅读。 下期继续讲解在线参数辨识方法。 背景 最近又在开始重新梳理锂电池建模仿真与S…

【保姆级教程+配置源码】在VScode配置C/C++环境

目录 一、下载VScode 1. 在官网直接下载安装即可 2. 安装中文插件 二、下载C语言编译器MinGW-W64 三、配置编译器环境变量 1. 解压下载的压缩包&#xff0c;复制该文件夹下bin目录所在地址 2. 在电脑搜索环境变量并打开 3. 点击环境变量→选择系统变量里的Path→点击编…

羊了个羊:羊、羊、羊

一、I am me&#xff0c;羊羊羊 英文中的 我就是我&#xff08;I am me&#xff09;&#xff0c;其实就是&#xff1a;羊 羊 羊&#xff0c;为什么会有这么一个结论呢&#xff1f; 请往下看&#xff1a; I&#xff0c;就是羊 am&#xff08;是&#xff09;&#xff0c;也是羊 …

『MySQL 实战 45 讲』22 - MySQL 有哪些“饮鸩止渴”提高性能的方法?

MySQL 有哪些“饮鸩止渴”提高性能的方法&#xff1f; 需求&#xff1a;业务高峰期&#xff0c;生产环境的 MySQL 压力太大&#xff0c;没法正常响应&#xff0c;需要短期内、临时性地提升一些性能 短连接风暴 短连接模式&#xff1a;执行很少的 SQL 语句就断开&#xff0c;…

等保测评练习卷15

等级保护初级测评师试题15 姓名&#xff1a; 成绩&#xff1a; 判断题&#xff08;10110分&#xff09; 1. 防火墙应关闭不需要的系统服务、默认共享和高危端口&#xff0c;可以有效降低系统遭受攻击的可能性。&am…

学会整理电脑,基于小白用户(无关硬件升级)

如果你不想进行硬件升级&#xff0c;就要学会进行整理维护电脑 基于小白用户&#xff0c;每一个操作点我都会在后续整理出流程&#xff0c;软件推荐会选择占用小且实用的软件 主要从三个角度去讨论【如果有新的内容我会随时修改&#xff0c;也希望有补充告诉我&#xff0c;我…

【数据结构】详解二叉树之堆

失败只是暂时停止成功&#xff0c;假如我不能&#xff0c;我就一定要&#xff1b;假如我要&#xff0c;我就一定能&#xff01;&#x1f493;&#x1f493;&#x1f493; 目录 ✨说在前面 &#x1f34b;知识点一&#xff1a;树的概念和结构 • &#x1f330;1.什么是树&#x…

什么是自然语言处理(NLP)?详细解读文本分类、情感分析和机器翻译的核心技术

什么是自然语言处理&#xff1f; 自然语言处理&#xff08;Natural Language Processing&#xff0c;简称NLP&#xff09;是人工智能的一个重要分支&#xff0c;旨在让计算机理解、解释和生成人类的自然语言。打个比方&#xff0c;你和Siri对话&#xff0c;或使用谷歌翻译翻译一…

h5兼容table ,如何实现h5在app内使用h5渲染table表格而且实现横屏预览?

压图地址 横屏div 通过css 实现 transform: rotate(90deg); transformOrigin: 50vw 50vw ; height: 100vw; width: 100vh;<divclass"popup-box":style"{transform: originSet 0 ? rotate(90deg) : ,transformOrigin: originSet 0 ? 50vw 50vw : ,height…

正版软件 | R-Studio T80+:数据恢复与取证分析的专业之选

在数据恢复和数字取证领域&#xff0c;专业人士需要一款强大、可靠的工具来应对复杂和高要求的任务。R-Studio T80 由 R-TT 公司推出的新型许可软件&#xff0c;以其年度付费订阅模式&#xff0c;为专家提供了成本效益更高的解决方案。 全面功能&#xff0c;专业服务 R-Studio …

如何在 Linux 中后台运行进程?

一、后台进程 在后台运行进程是 Linux 系统中的常见要求。在后台运行进程允许您在进程独立运行时继续使用终端或执行其他命令。这对于长时间运行的任务或当您想要同时执行多个命令时特别有用。 在深入研究各种方法之前&#xff0c;让我们先了解一下什么是后台进程。在 Linux 中…

秋招突击——6/28、6.29——复习{数位DP——度的数量}——新作{}

文章目录 引言复习数位DP——度的数量个人实现参考实现 总结 引言 头一次产生了那么强烈的动摇&#xff0c;对于未来没有任何的感觉的&#xff0c;不知道将会往哪里走&#xff0c;不知道怎么办。可能还是因为实习吧&#xff0c;再加上最近复习也没有什么进展&#xff0c;并不知…

AI助力校园安全:EasyCVR视频智能技术在校园欺凌中的应用

一、背景分析 近年来&#xff0c;各地深入开展中小学生欺凌行为治理工作&#xff0c;但有的地方学生欺凌事件仍时有发生&#xff0c;严重损害学生身心健康&#xff0c;引发社会广泛关注。为此&#xff0c;教育部制定了《防范中小学生欺凌专项治理行动工作方案》进一步防范和遏…

2,linux服务器使用学习

目录 服务器使用-SSH 介绍 使用 OpenSSH-Linux FinalShell-Windows 阿里云服务器使用示例 领取免费账号 进行登录 服务器使用-SSH 介绍 Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登…

拆分盘投资策略解析:机制、案例与风险考量

一、引言 随着互联网技术的迅猛发展和金融市场的不断创新&#xff0c;拆分盘这一投资模式逐渐崭露头角&#xff0c;成为投资者关注的焦点。它基于特定的拆分策略&#xff0c;通过调整投资者持有的份额和单价&#xff0c;实现了看似稳健的资产增长。本文旨在深入探讨拆分盘的运…

Meven

目录 1.简介2.Maven项目目录结构2.1 约定目录结构的意义2.2 约定大于配置 3. POM.XML介绍3.2 依赖引用3.3 属性管理 4 Maven生命周期4.1 经常遇到的生命周期4.1 全部生命周期 5.依赖范围&#xff08;Scope&#xff09;6. 依赖传递6.1 依赖冲突6.2 解决依赖冲突6.2.1 最近依赖者…

【wsl2】升级wsl及ubuntu22.04

y9kp的wsl2 还是用的自己的子网 很久没用wsl2的ubutnu22.04系统 发现无法启动 等待了挺久&#xff0c;启动了 但同时我也在升级wsl中&#xff1a; 升级wsl wsl --update 这个升级是对ubuntu22.04的运行没影响。 apt-get update 然后upgrade wsl2的升级一直在90%多不动 然…

算法 —— 双指针

目录 移动零 复写零 快乐数 盛最多水的容器 有效三角形的个数 查找总价格为目标值的两个商品 三数之和 四数之和 移动零 下图以样例1为例&#xff0c;看下图如何做到保证非零元素相对顺序前提下&#xff0c;移动零元素。 代码实现如下&#xff1a; class Solution {…

数据结构—判断题

1.数据的逻辑结构说明数据元素之间的顺序关系&#xff0c;它依赖于计算机的存储结构。 答案&#xff1a;错误 2.(neuDS)在顺序表中逻辑上相邻的元素&#xff0c;其对应的物理位置也是相邻的。 答案&#xff1a;正确 3.若一个栈的输入序列为{1, 2, 3, 4, 5}&#xff0c;则不…

加密与安全_三种方式实现基于国密非对称加密算法的加解密和签名验签

文章目录 国际算法基础概念常见的加密算法及分类签名和验签基础概念常见的签名算法应用场景 国密算法对称加密&#xff08;DES/AES⇒SM4&#xff09;非对称加密&#xff08;RSA/ECC⇒SM2&#xff09;散列(摘要/哈希)算法&#xff08;MD5/SHA⇒SM3&#xff09; Code方式一 使用B…