【组成原理】计算机系统性能评价

计算机系统性能评价


前言
用户在评价一台计算机系统时需要考虑多种因素,如价格,服务,应用软件,质量,功能,升级能力,性能等。其他因素都较好把握,只有性能对于用户来说难以明确判断,计算机系统的性能评价也是信息技术的一个重要研究方向。当前,一般计算机系统分成客户端桌面系统和服务器系统,对于PC,工作站等桌面系统来说,评价性能较为简单,查看他们的处理器主频,内存大小和总线带宽,I/O总线带宽,显卡的指标,或运行Winbeach等测试软件,用户就能基本判断其性能是否满足需要,服务器系统的性能评价要复杂得多,而SMP,CC-NUMA,Cluster,MPP等体系结构的大型计算机系统的性能评价就更加复杂了。


评价的基本方法

大部分服务器厂商都会提供基本的Benchmark数据,如SPECint95,SPECfp95,SPECWeb96,tpmC等,但是这些数据都是厂家用最好的系统,最佳配置由专家精心优化得到的,常常和用户的实际应用的性能大相径庭,作为一个普通用户,如何进行计算机系统的性能评价呢?下面介绍一些评论服务器性能的基本方法。

3阶段评测

一般,系统完整的性能评价应分成3个阶段,而基本性能参数、核心benchmark、实际因用、基本性能参数测试,是获取计算机硬件和系统软甲的重要性能指标,通过这些指标结合应用的特征可以大致评价出系统的总体性能,核心benchmark测试时针对具体的应用类以最常用的模式操作计算机系统,评价系统就在这类应用下的性能,能叫准确的评价出用户可以得到的具体性能,实际应用测试是在较真时的硬件配置和软件环境下,用实际应用或简化的,规模缩小的实际应用评价系统的真实性能,三类评测是相辅相成的性能评价不仅要获取系统的性能指标,更重要的是对性能表现能够进行解释,从而优化系统以使实际应用获得较好性能。

基本性能参数测试包括cpu、内存、I/O、网络、操作系统、文件系统、编译器、数据库的性能指标。cpu性能指标除主频、运算部件数、流水线长度、定点性能、浮点性能外,还要重视一、二级缓存的大小和带宽。现代体系结构和编译器都是针对应用的数据局部性,努力提高cache的命中率,二级cache性能尤为重要,标准benchmark可以测试出缓存操作(包括TLB)的延迟,在评价浮点性能时,尤其时RISC结构和向量结构,要关注应用程序能否利用编译器和优化数学库将浮点部件充满。

内存性能是至关重要而又常常被忽视的,性能指标包括内存总线数据宽度,存取频率,不同数据模式下读写操作的延迟和带宽。对于交叉开关类型的内存结构,要弄清分别到CPU,存储体。I/O总线的性能,计算密集型或I/O密集型应用对此由不同的要求,另一个重要的方面是内存性能的可扩展性,即随着处理器数目、内存容量、I/O总线数目的增多,分配给每个部件的内存性能应该爆出基本恒定,如一个处理器内存拷贝带宽是180MB/s带宽,4个处理器同时进行内存拷贝每个都要获得160MB/s带宽。

I/O性能指标包括I/O总线数目和带宽、磁盘通道的数目和带宽、C盘的性能(转速、寻道时间、cache大小等),以及它们的链接方式,I/O性能非常依赖于硬件实现和文件系统,数据库的实现,硬件峰值指标常常不能说明具体性能,虽有Andrew、Bonnie测试,到目前为止尚缺乏很好的I/O密集型应用性能评价标准,尤其是并行I/O方面,用户要区分文件系统性能和I/O物理性能,文件系统性能受各种缓冲、延迟写等策略的影响很大。

网络性能指标中除服务器方的TCP、UDP点到点的带宽和吞吐量外,还包括scatter(一对多)、gather(多对一)、bi-section(多对多)带宽,测试网络系统总的容量,对于有系统高速网络的分布式计算机系统,内部网络总带宽更为重要。

操作系统是所有软件的基础,它的性能评价不仅仅反映系统的性能,还有助于我们调整系统配置和参数,,以使系统更适合于具体应用,操作系统benchmark能得到许多基本性能参数,而系统调用、中断、进程切换、线程调度开销、存储映射性能是十分依赖操作系统实现的,对特定应用至关重要,文件系统虽是操作系统的一部分,但具有特殊的重要性,主要指标包括读写带宽、文件缓冲区性能,文件操作吞吐量,石油应用十分依赖于文件读带宽,可用少量大文件、大数据块读取模式测得,web应用依赖缓冲区实现性能,可用lmbeach测得,NFS文件服务器依赖于文件操作吞吐量,可用Andrew benchmark测得,文件系统性能受应用I/O模式、硬件配置影响很大,对测评结果要仔细分析,编译器性能对计算类应用最为重要,尤其是多条浮点流水线的系统,应用的性能取决于编译器的编译器是否能很好的对应用源程序进行优化。用户测评时要选择合适的应用,以反映编译器的各项优化策略的能力,如循环交换、数据局部性、寄存器分配,好的编译器相当于给千里马配一副好鞍。数据库性能指标较复杂,简单的性能评价包括create,index,join,scan等基本操作的性能,但无法反映出应用的真实性能。

系统性能参数需要专业知识分析,实际应用测试受软硬件条件限制,核心应用测试时较为现实的方式,它较能真实的反映应用的实际性能,厂商一般会提供SPECweb,TCP-C,TCP-D,linpack值,可作为比较之用,要特别注意得到这些性能指标时的软硬件配置,如得到tpmC值时的服务器的处理器,内存,磁盘控制器,磁盘配置,客户端,网络,数据库,操作系统,中间件,用户数等的配置,还要关注S/tmpC值,以判定这样的构成和成本是否满足用户的实际情况。不同的SPECweb测试表示不同的应用模式,同时系统配置也至关重要,linpack测试要注意问题的规模,内存大小,编译器,优化数学库或其他优化手段,理想的方式是按用户的实际情况让厂商提供测试环境,用户自行开发特定的核心应用测试,如计算机类应用各行业都有典型的评测应用,例如,气象领域的MM5,石油领域的三维叠前深度偏移,数学领域的FFT、偏微分方程、特征值求解,化学领域的Guess98,生物领域的分子动力学等。另外,要注意评测系统的可扩展性,包括处理器、内存、磁盘、网络、分布式系统的节点增加对benchmark性能的影响。

实际应用评测要求真实性,尤其是系统的配置,benchmark的数据数量和运行时间可以缩小,但处理过程一定要真实同时要有专业人员帮助调节系统的性能,同样,要关注系统的可扩展性和长期运行时性能的稳定性。

总结计算机系统性能评价是非常复杂的,依赖于系统的多种因素和应用的特征,一个认真的银行信息中心在购买一台大型服务器前,可能要求厂商按真实应用运行两周不间断的benchmark测试和性能优化,并行对计算机系统的性能评价更是一个重要的研究方向,对于用户来说,有3点要牢记在心,第一,系统性能要均衡,均衡也是一个好的计算机系统努力的目标,第二,要仔细分解实际应用的性能因素,没有适合所有应用的系统,一个应用也不可能在所有系统上都有好的性能,抓住最重要的性能因素是至关重要的,第三,要做权衡与折衷,同时与价格,服务等其他因素一起折衷。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值