HPC高性能计算项目IOZONE测试报告_第1页
HPC高性能计算项目IOZONE测试报告_第2页
HPC高性能计算项目IOZONE测试报告_第3页
HPC高性能计算项目IOZONE测试报告_第4页
HPC高性能计算项目IOZONE测试报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、HPC高性能计算项目IOZONE测试报告目 录 TOC o 1-3 h z u HYPERLINK l _Toc529044656 1 IOZONE简介 IOZONE简介IOZONE是文件系统的Benchmark工具。可以测试不同的操作系统中文件系统的读写性能。可以测试Read, write, re-read, re-write, read backwards, read strided, fread, fwrite, random read, pread ,mmap, aio_read, aio_write 等等不同的模式下的存储的性能。测试定义Write: 测试向一个新文件写入的性能。当一

2、个新文件被写入时,不仅仅是那些文件中的数据需要被存储,还包括那些用于定位数据存储在存储介质的具体位置的额外信息。这些额外信息被称作“元数据”。它包括目录信息,所分配的空间和一些与该文件有关但又并非该文件所含数据的其他数据。这些额外信息会导致Write的性能通常会比Re-write的性能低。Re-write:测试向一个已存在的文件写入的性能。当一个已存在的文件被写入时,所需工作量较少,因为此时元数据已经存在。Re-write的性能通常比Write的性能高。Read: 测试读一个已存在的文件的性能。Re-Read: 测试读一个最近读过的文件的性能。Re-Read性能会高些,因为操作系统通常会缓存最

3、近读过的文件数据。这个缓存可以被用于读以提高性能。Random Read: 测试读一个文件中的随机偏移量的性能。许多因素可能影响这种情况下的系统性能,例如:操作系统缓存的大小,磁盘数量,寻道延迟和其他。Random Write: 测试写一个文件中的随机偏移量的性能。同样,许多因素可能影响这种情况下的系统性能,例如:操作系统缓存的大小,磁盘数量,寻道延迟和其他。Random Mix: 测试读写一个文件中的随机偏移量的性能。同样,许多因素可能影响这种情况下的系统性能,例如:操作系统缓存的大小,磁盘数量,寻道延迟和其他。这个测试只有在吞吐量测试模式下才能进行。每个线程/进程运行读或写测试。这种分布式

4、读/写测试是基于round robin 模式的。最好使用多于一个线程/进程执行此测试。Backwards Read: 测试使用倒序读一个文件的性能。这种读文件方法可能看起来很可笑,事实上,有些应用确实这么干。MSC Nastran是一个使用倒序读文件的应用程序的一个例子。它所读的文件都十分大(大小从G级别到T级别)。尽管许多操作系统使用一些特殊实现来优化顺序读文件的速度,很少有操作系统注意到并增强倒序读文件的性能。Record Rewrite: 测试写与覆盖写一个文件中的特定块的性能。这个块可能会发生一些很有趣的事。如果这个块足够小(比CPU数据缓存小),测出来的性能将会非常高。如果比CPU数

5、据缓存大而比TLB小,测出来的是另一个阶段的性能。如果比此二者都大,但比操作系统缓存小,得到的性能又是一个阶段。若大到超过操作系统缓存,又是另一番结果。Strided Read: 测试跳跃读一个文件的性能。举例如下:在0偏移量处读4Kbytes,然后间隔200Kbytes,读4Kbytes,再间隔200Kbytes,如此反复。此时的模式是读4Kbytes,间隔200Kbytes并重复这个模式。这又是一个典型的应用行为,文件中使用了数据结构并且访问这个数据结构的特定区域的应用程序常常这样做。许多操作系统并没注意到这种行为或者针对这种类型的访问做一些优化。同样,这种访问行为也可能导致一些有趣的性能

6、异常。一个例子是在一个数据片化的文件系统里,应用程序的跳跃导致某一个特定的磁盘成为性能瓶颈。Fwrite: 测试调用库函数fwrite()来写文件的性能。这是一个执行缓存与阻塞写操作的库例程。缓存在用户空间之内。如果一个应用程序想要写很小的传输块,fwrite()函数中的缓存与阻塞I/O功能能通过减少实际操作系统调用并在操作系统调用时增加传输块的大小来增强应用程序的性能。Fread: 测试调用库函数fread()来读文件的性能。这是一个执行缓存与阻塞读操作的库例程。缓存在用户空间之内。如果一个应用程序想要读很小的传输块,fwrite()函数中的缓存与阻塞I/O功能能通过减少实际操作系统调用并在

7、操作系统调用时增加传输块的大小来增强应用程序的性能。Freread: 这个测试与上面的fread 类似,除了在这个测试中被读文件是最近才刚被读过。这将导致更高的性能,因为操作系统缓存了文件数据。Mmap:许多操作系统支持mmap()的使用来映射一个文件到用户地址空间。映射之后,对内存的读写将同步到文件中去。这对一些希望将文件当作内存块来使用的应用程序来说很方便。一个例子是内存中的一块将同时作为一个文件保存在于文件系统中。mmap文件的语义和普通文件略有不同。如果发生了对内存的存储,并不是立即发生相应的文件I/O操作。使用MS_SYNC和MS_ASYNC标志位的 msyc()函数调用将控制内存和

8、文件的一致性。调用msync() 时将MS_SYNC置位将强制把内存里的内容写到文件中去并等待直到此操作完成才返回。而MS_ASYNC 置位则告诉操作系统使用异步机制将内存刷新到磁盘,这样应用程序可以直接返回而不用等待此操作的完成。Async I/O: 许多操作系统支持的另外一种I/O机制是POSIX 标准的异步I/O。本程序使用POSIX标准异步I/O接口来完成此测试功能。例如:aio_write(), aio_read(), aio_error()。这个测试测量POSIX异步I/O机制的性能。测试模式IOZONE的测试过程中可以使用-i参数指定多个测试模式,例如-i 0 -i 1 -i 2

9、。0=write/rewrite1=read/re-read2=random read/random write3=backwards read4=re-write-record5=stride-read6=fwirte/re-fwrite7=fread/re-fread8=random mix9=pwrite/re-pwrite10=pread/re-pread11=pwritev/re-pwritev12=preadv/re-preadv一些常见参数-a 自动模式(花费很长时间,注意),测试记录块大小从4k到16M,测试文件从64k到512M.文件大于32MB时停止使用低于64k以下记录块

10、以节省时间-y 设置自动模式下的记录块最小值,-q设置自动模式下的记录块最大值-n 设置自动模式下的文件最小值,-g设置自动模式下的文件最大值-B 使用mmap()接口来创建并访问测试文件.即以读写内存的方式访问那个块来完成文件I/O-i 指定运行于哪种测试模式.可以使用-i 0 -i 1 -i 2进行多个测试-I 对所有文件操作使用DIRECT I/O.通知文件系统所有操作跳过缓存直接在磁盘上操作-R 将结果导出到Excel文件-b 指定导出结果的Excel文件名-f 指定测试的文件名-F 进程throughput模式(多线程)测试时的文件名,请注意,有多少个线程,后面就应该跟多个个文件名-

11、c 计算时间时包含close()参数,对于NFS3分区将非常有用-G 对mmap文件使用msync(MS_SYNC)。告诉操作系统在mmap空间的所有数据需要被同步的写到磁盘上-D 对mmap文件使用MSYNC(MS_ASYNC)。告诉操作系统在mmap空间的所有数据需要被异步的写到磁盘上-o 写操作都同步写入到磁盘中,即强制写入完成以后再返回benchmark-r 设置记录块大小-s 设置测试文件大小(建议是内存的2倍)-I 对所有文件操作使用DIRECT I/O,通知文件系统所有操作跳过缓存直接在磁盘上操作-t 使用throughput模式(多线程),并指定线程或进程数-l 设置最小进程数

12、.在测试过程允许用户设置的最小进程或线程数.需要配合-u选项使用-u 设置最大进程或线程数,需要配合-l参数使用HPC集群测试环境注释:报告完成后请删除1、本节以某项目配置,包括存储拓扑结构,IO节点数量、功能,存储容量等为例说明,具体项目请修改;某项目集群系统采用的存储系统(ParaStor200)包含2台索引控制器(两台双活冗余,负责元数据访问请求,同时负责存储系统的监控管理),6台数据控制器,系统管理、登陆、计算节点等客户端通过FDR InfiniBand网络访并行存储系统。ParaStor200采用元数据和数据分离的非对称式结构,这也是国际主流的并行存储系统架构,元数据和数据分离有助于

13、提升存储系统的性能和扩展性。ParaStor200的多台索引控制(默认配置2台)采用多活冗余集群结构元数据存储采用RAID6保护的SSD高速磁盘以提高元数据访问性能。Lustre等并行文件系统的元数据IO节点也支持冗余配置,但只支持一主一备的热备模式,正常工作时只有主节点响应并行文件系统元数据请求,另一台完全闲置,无论主节点负载多高备节点都无法帮助分担;当主节点故障时,元数据服务切换到备节点,切换时间通常达到5-10分钟,切换期间文件系统服务停止,会造成计算节点上正在运行的程序报错退出。而ParaStor200采用更高级的元数据冗余策略。ParaStor200的元数据控制器默认配置2台,同时支

14、持更多的元数据控制器组成元数据集群,每台元数据控制器均为Active在线状态,正常工作时负载均衡并行文件系统客户端的元数据访问请求,一台元数据控制器出现故障时,其它元数据控制器分担其工作负载,接管时间非常短,且为在线切换,不中断正在进行的IO请求,不影响并行文件系统的业务运行。除了元数据多活冗余,ParaStor200的数据传输网络也支持多活冗余,多套数据网络支持故障切换和负载均衡。某项目集群系统的存储采用8+2:1的保护策略,即8个数据对象匹配2个校验对象,这10个对象根据哈希算法分布在不同数据控制的不同硬盘上,这10块硬盘为一组,可以容忍2块硬盘同时失效而不至于数据丢失;整套存储系统可以容

15、忍1台数据控制器失效而不至于数据丢失。在这种配置下,存储系统空间利用率可达到80%ParaStor200分布式存储系统具备简易的部署和运维管理功能,提供基于Web的统一监控管理平台,直观易懂的图形界面方便用户管理和监控系统的软硬件资源。存储架构图2.2 文件系统协议存储设备IO节点挂载点备注parastor200parastor200索引节点opara1(01)opara2(02)数据节点ostor1(103), ostor2(04), ostor3(05), os

16、tor4(06), ostor5(07), ostor6(08)/public采用N+M:B的方式,8+2:1分配方式,有效利用率达80%测试方法及结果测试方案并行存储系统聚合带宽测试用于测试存储系统的性能。包括读写测试,其结果反映多用户并发读写作业时并行存储系统所能提供的读写速率,是并行存储系统的性能关键指标。影响并行存储测试性能优劣的因素很多。只有其中涉及的所有环节配置合理,才可以发挥出并行存储系统的最佳性能,否则任何一个环节都可能成为瓶颈。磁盘类型(SATA SAS.),RAID类型,业务接口配置,聚合网卡系能

17、和兼容性,交换机,链路,网络设置,客户端主机性能,测试软件的设置,这些都是影响测试性能的重要因素。本测试采用IOZONE对Parastor200并行存储系统进行聚合带宽测试。测试用命令:./iozone-Recblog.xls-t200-r2048k-s 1.8g-i0-i1-+mnodelist-C|teeiozone-20160424.logIOZONE测试参数数值节点数20进程数/节点10块大小1M/2M/4M/8M文件大小1.8G/4G测试目录/public/software/benchmark/iozone测试结果2.2.1 单客户端单流性能测试测试项目测试单客户端单流IO性能测试步

18、骤使用Linux客户端挂载文件系统;在存储目录下执行以下命令:iozone -s 360g -t 1 -r 1M -i 0 -i 1 -+n记录测试结果(单位:KB/sec)。测试结果写:1233094KB/s读:330545KB/s结果分析测试结果与预期相符备注测试结果见截图测试截图2.2.2 单客户端多流性能测试测试项目测试单客户端多流IO性能测试步骤Linux客户端挂载文件系统。在存储目录下执行以下测试iozone -s 12g -t 10 -r 1M -i 0 -i 1 -+n记录测试结果(单位:KB/sec)测试结果写:1550958KB/s读:1519083KB/s结果分析测试结果

19、与预期相符备注测试结果见截图测试截图2.2.3 多客户端多流性能测试测试随机抽取集群系统中的20个计算节点(一般抽取等同于IO节点数量即可)作为并行存储聚合带宽的测试节点,用于对并行存储系统进行读写操作。文件大小为1.8G, 测试结果(GB/s)如下:文件块大小1M2M4M8M读带宽4.5写带宽7.1文件大小为2G, 测试结果(GB/s)如下:文件块大小1M2M4M8M读带宽4.0写带宽6.6文件大小为3G, 测试结果(GB/s)如下:文件块大小1M2M4M8M读带宽3.9写带宽6.56.06.46.3文

20、件大小为4G, 测试结果(GB/s)如下:文件块大小1M2M4M8M读带宽3.6写带宽5.4测试结论单客户端单流测试聚合带宽达到1.2GB/s, 单个客户端多流测试读写聚合带宽达到1.5GB/s, 说明并行文件系统具有良好的读写性能;多客户端多流测试结果,显示聚合写带宽达到7.1GB/s,每个ostor有1.1GB/s的写速率,读带宽达到4.6GB/s,重复读带宽达到12.0GB/s, 说明P200并行文件系统的具有良好的并发读写性能,符合预期效果。附录由于输出信息量较大,此处仅列出20客户端10流测试结果,文件大小1.8G,文件块大小为4M:Iozone:

21、 Performance Test of File I/O Version $Revision: 3.420 $Compiled for 64 bit mode.Build: linux-AMD64 Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague,

22、Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa.Run began: Sun Apr 24 11:37:04 2016Excel chart generation

23、 enabledInclude fsync in write timingInclude close in write timingRecord Size 4096 KBFile size set to 1048576 KBNetwork distribution mode enabled.Command line used: /public/software/benchmark/iozone/3.420/gnu/iozone -Recb log.xls -t 200 -r 4096k -s 1.8g -i 0 -i 1 -+m iozone-list-20 -COutput is in Kb

24、ytes/secTime Resolution = 0.000001 seconds.Processor cache size set to 1024 Kbytes.Processor cache line size set to 32 bytes.File stride size set to 17 * record size.Throughput test with 200 processesEach process writes a 1048576 Kbyte file in 4096 Kbyte recordsTest running:Children see throughput for 200 initial writers = 7128661.41 KB/secMin throughput per process = 19086.90 KB/sec Max throughput per process = 65314.52 KB/secAvg throughput per process = 35643.31 KB/secMin xfer = 389120.00 KBChild0 xfer count = 524288.00 KB, Th

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论