欢迎来到“Geeki说”第三期——概述超算平台搭建实施之《性能(néng)测试篇》。看过前几期的小(xiǎo)伙伴们都知道,基于以往的项目案例和实施经验,我们精(jīng)心策划并开启了“Geeki说”专栏,用(yòng)来讲述我们奥工(gōng)工(gōng)程师的实践故事和技(jì )术體(tǐ)会。
前两期,我们通过部署管理(lǐ)节点和集群系统配置了集群。在集群配置好了之后,就需要对搭建的整个集群做一整套性能(néng)测试,也就是超算实施搭建的第三步——集群性能(néng)测试。 那什么叫性能(néng)测试?性能(néng)测试又(yòu)有(yǒu)什么作(zuò)用(yòng)呢(ne)? 「性能(néng)测试」是指通过自动化的测试工(gōng)具(jù)模拟多(duō)种正常峰值及异常负载条件来对系统的各项性能(néng)指标进行测试,用(yòng)于验证软件系统是否能(néng)够达到用(yòng)户提供的性能(néng)指标,同时发现存在的性能(néng)瓶颈,最后期望起到优化作(zuò)用(yòng)。性能(néng)测试可(kě)以评估系统的能(néng)力、识别體(tǐ)系中(zhōng)的弱点、对系统进行调优、检测软件中(zhōng)的问题、验证集群的稳定性和可(kě)靠性等等。 因此,性能(néng)测试在超算平台搭建实施过程中(zhōng)是至关重要的环节。 第一步是对于cpu性能(néng)的测试,即linpack测试。 「linpack」是一种用(yòng)于测试高性能(néng)计算机系统浮点性能(néng)的基准测试程序,通过利用(yòng)高斯消元法求解一元N次稠密線(xiàn)性代数方程组,以评价高性能(néng)计算机的浮点性能(néng)。 作(zuò)為(wèi)衡量计算机性能(néng)的指标,其原理(lǐ)是使用(yòng) CPU 做大量的矩阵计算。简而言之,可(kě)以把linpack测试理(lǐ)解成一个矩阵大小(xiǎo)的测试,通过不断调整每个矩阵得到最大值,最大值并不会超出集群的负载压力,所以一般会是内存大小(xiǎo)开根号乘以一万,得到最佳的矩阵大小(xiǎo)。 具(jù)體(tǐ)一点来说,linpack 测试包括三类:linpack100、linpack1000和HPL。linpack100求解规模為(wèi)100阶的稠密線(xiàn)性代数方程组,linpack1000要求求解1000阶的線(xiàn)性代数方程组,这两者目前使用(yòng)较少。现代多(duō)用(yòng)HPL进行测试,HPL即High Performance Linpack,也叫高度并行计算基准测试,它对数组大小(xiǎo)N没有(yǒu)限制,更适用(yòng)于现代高性能(néng)计算机集群。 接下来iozone性能(néng)测试。 「iozone」是一个文(wén)件系统的性能(néng)检测工(gōng)具(jù),可(kě)以测试不同操作(zuò)系统中(zhōng)文(wén)件系统的读写性能(néng)。我们也可(kě)以把iozone性能(néng)测试理(lǐ)解成对于我们后端存储读写性能(néng)的一个测试,包括8k/64k/128k/1M/4M/8M/16M这些存储大小(xiǎo),分(fēn)别对应我们的block size(磁盘的块大小(xiǎo))。 这里要说一下,磁盘是由盘片组成的,会分(fēn)成一个个扇區(qū),最大的硬盘一个扇區(qū)才4K。磁盘设备之上是文(wén)件系统,而文(wén)件系统不是一个扇區(qū)一个扇區(qū)的来读数据的,这样太慢了,所以文(wén)件系统就引入了block size这么一个概念,它是一个块一个块读取的。 文(wén)件系统的测试软件是针对文(wén)件系统层提供的功能(néng)进行测试,包括文(wén)件的打开关闭速度以及顺序读写,还有(yǒu)随机位置的读写以及进程并发数目等各个方面进行详细的测试。在测试文(wén)件的读写性能(néng)方面,iozone测试范围广,指标精(jīng)确。 另外值得一提的是,测试时候应注意设置的测试文(wén)件大小(xiǎo)一定要大过你的内存(最佳為(wèi)内存的两倍大小(xiǎo)),不然linux会给你的读写内容进行缓存,会使数值非常不真实。 然后是对内存的测试,即stream测试。 「stream」是综合性的内存带宽测试,测试成绩以MB每秒(miǎo)来衡量。随着处理(lǐ)器处理(lǐ)核心数量的增多(duō),内存带宽对于提升整个系统性能(néng)越来越重要,处理(lǐ)核心和内存带宽比对系统性能(néng)有(yǒu)着重大的影响,如果某个系统不能(néng)够足够迅速地将内存中(zhōng)的数据传输到处理(lǐ)器当中(zhōng),若干处理(lǐ)核心就会处于闲置状态,等待内存数据传输过来,而这其中(zhōng)所产(chǎn)生的闲置时间不仅会降低系统的效率还会抵消多(duō)核心和高主频所带来的性能(néng)提升因素。 stream在测试内存方面表现卓越,其通过fortran和C两种高级且高效的语言编写完成,由于这两种语言在数學(xué)计算方面的高效率, 使得 stream 测试例程可(kě)以充分(fēn)发挥出内存的能(néng)力。stream 具(jù)有(yǒu)良好的空间局部性,是对 tlb 友好、cache友好的一款测试,支持copy 、scale 、 add、 triad四种操作(zuò)。 需要注意的是,stream 测试得到的是可(kě)持续运行的内存带宽最大值,而并不是一般的硬件厂商(shāng)提供的理(lǐ)论最大值。 最后是iperf网络延迟的性能(néng)测试。 性能(néng)测试环节中(zhōng)对网络性能(néng)的评估必不可(kě)少,该评估主要是监测网络带宽的使用(yòng)率。 「iperf」作(zuò)為(wèi)一款基于tcp/ip和udp/ip的网络性能(néng)测试工(gōng)具(jù),它可(kě)以用(yòng)来测量网络带宽和网络质(zhì)量,还可(kě)以提供网络延迟抖动、数据包丢失率、最大传输单元等统计信息。我们可(kě)以根据这些信息了解并判断网络性能(néng)问题,从而找到HPC平台实施搭建中(zhōng)网络故障的原因。 保证网络性能(néng)的基础是将网络带宽实现最大化,但是由于网络设计不合理(lǐ)、网络存在安(ān)全漏洞等原因,都会导致网络带宽利用(yòng)率不高。為(wèi)了找到利用(yòng)率不高的原因,就需要对网络传输进行监控,监控需要使用(yòng)到iperf这样的网络带宽测试工(gōng)具(jù)。
OGSP(Ongineer Service Platform)是奥工(gōng)科(kē)技(jì )自主研发的一款面向终端计算用(yòng)户的、安(ān)全、可(kě)进化的密集计算服務(wù)平台。
OGSP秉承云原生设计理(lǐ)念,搭建密集计算场景中(zhōng)基础侧、平台侧、应用(yòng)侧的生态服務(wù)架构,谋求基础侧的稳定、健康、可(kě)扩展性;平台侧的高效、动态、易用(yòng)性;应用(yòng)侧的专业、交互、场景化。将服務(wù)产(chǎn)品化、产(chǎn)品场景化,為(wèi)用(yòng)户提供基于实际生产(chǎn)场景的一站式密集计算服務(wù)。
hwclould@ongineer.cn
南京市雨花(huā)台區(qū)锦绣街(jiē)绿地之窗C4栋326室
025-86738812
版权所有(yǒu) ©南京奥工(gōng)信息科(kē)技(jì )有(yǒu)限公(gōng)司 京ICP证000000号
技(jì )术支持:网站建设