欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

软考系统架构设计师系列系统性能知识点(3)

最编程 2024-03-21 10:18:24
...

1. Dhrystone程序

Dhrystone是一个综合性的整数基准测试程序,它是为了测试编译器和CPU处理整数指令和控制功能的有效性,人为地选择一些典型指令综合起来形成的测试程序。Dhrystone基准程序用100条C语言语句(包括各种赋值语句、各种数据类型和数据区、各种控制语句、过程调用和参数传送、整数运算和逻辑操作)编写而成,这种基准程序当今很少使用

2. Linpack基准程序

Linpack是国际上最流行的用于测试高性能计算机系统浮点性能的测试。Linpack基准程序是一个用Fortran语言写成的子程序软件包,称为基本线性代数子程序包,此程序完成的主要操作是浮点加法和浮点乘法操作。测量计算机系统的Linpack性能时,让机器运行Linpack程序,测量运行时间,将结果用MFLOPS表示

Linpack通过对高性能计算机采用高斯消元法求解一元n次稠密线性方程组的测试,评价高性能计算机的浮点性能。Linpack测试包括三类:Linpack100、Linpack1000和高性能Linpack(High Performance Linpack,HPL)。

  • Linpack100

Linpack100求解规模为100阶的稠密线性方程组,它只允许采用编译优化选项进行优化,不得更改代码,甚至代码中的注释也不得更改。

  • Linpack1000

Linpack1000要求求解规模为1000阶的线性代数方程组,达到指定的精度要求,可以在不改变计算量的前提下做算法和代码上的优化。

  • HPL

HPL也称为高度并行计算基准测试,它对线性代数方程的阶数n没有限制,即求解问题的规模可以改变,除基本算法(计算量)不可改变外,可以采用其它任何优化方法。

前两种测试运行规模较小,已不是很适合现代计算机的发展

3. Whetstone基准程序

Whetstone是用Fortran语言编写的综合性测试程序,主要由执行浮点运算、功能调用、数组变址、条件转移和超越函数的程序组成。Whetstone的测试结果用Kwips表示,1 Kwips表示机器每秒钟能执行1000条Whetstone指令。这种基准程序当今已经很少使用

4. SPEC

系统性能评估机构(System Performance Evaluation Cooperative,SPEC)基准程序对计算机系统性能的测试有两种方法一种是测试计算机完成单项任务有多快,称为速度测试另一种是测试计算机在一定时间内能完成多少项任务,称为吞吐率测试。SPEC的两种测试方法又分为基本的和非基本的两类基本的是指在编译程序的过程中严格限制所用的优化选项非基本的是可以使用不同的编译器和编译选项以得到最好的性能,这就使得测试结果的可比性降低。

SPEC基准程序测试结果一般以SPECmark(SPEC分数)SPECint(SPEC整数)SPECfp(SPEC浮点数)等形式来表示,测定指标越高,则代表性能越好。SPEC还有针对多CPU系统的两组测试程序,称为SPECrate,用于衡量多处理器系统在整数处理(SPECint_rate)和浮点数处理(SPECfp_rate)方面的总体吞吐能力。

SPEC原来主要是测试CPU性能的现在强调开发能反映真实应用(例如,实际负载等)的基准测试程序,并已推广至多层结构计算、商业应用、I/O子系统等。例如,SPECjbb是一套Java基准测试程序,用于测试Java服务器性能;SPECweb用于评测Web服务器能够支持的最大连接数的基准测试。

要注意的是,SPEC的指标是随着计算机硬件水平的提高和应用要求的改变而不断更新的,每隔几年都会公布新的基准测试程序。

5. TPC

事务处理委员会(Transaction Processing Council,TPC)基准程序用以评测计算机在事务处理数据库处理企业管理与决策支持系统等方面的性能。该基准程序的评测结果用每秒完成的事物处理数TPC来表示。

  • TPC-A基准程序规范用于评价在OLTP环境下的数据库和硬件的性能,不同系统之间用性能/价格比进行比较;
  • TPC-B测试的是不包括网络的纯事务处理量,用于模拟企业计算环境;
  • TPC-C测试的是联机订货系统
  • TPC-D、TPC-H和TPC-R测试的都是决策支持系统,其中TPC-R允许有附加的优化选项;
  • TPC-E测试的是大型企业信息服务系统
  • TPC-W是基于Web应用的基准程序,用来测试一些通过Internet进行市场服务和销售的商业行为,因此TPC-W可以看作是一个服务器的测试标准