HPC-CAE应用场景下文件读写IO分析

在当前工作中,需要对CAE场景下的文件读写速度做一个分析,因而有了这篇简单的分析报告。首先介绍一下场景,A,B两台机器通过万兆交换机互联。我们需要分别测试三种条件下文件的写效率:

  1. 本地文件读写,本地都是SSD设备
  2. 万兆网络,通过NFS共享方式,A共享文件夹,B作为客户端向文件夹中写文件
  3. 万兆网络,通过Beegfs分布式存储,A提供存储空间,B作为客户端向存储中写入文件

测试工具:dd

测试一

写入1G数据,分1000次,每次1M
命令:

dd if=/dev/zero of=/root/mnttest/test_file bs=1000000 count=1000

测试结果

本地 NFS Beegfs
2.1 GB/s 291 MB/s 728 MB/s

测试二

写入1G数据,1次写入
命令:

dd if=/dev/zero of=/root/mnttest/test_file bs=1000000000 count=1

测试结果

本地 NFS Beegfs
1.6 GB/s 644 MB/s 802 MB/s

结论:

  • 虽然网络提供万兆,但由于在软件层受建立连接等过程影响,实际的NFS写入速度会降低,对于大文件写入,NFS在万兆网能达到600M/s的速度,但是对于很多小文件写入的场景,速度降到300MB/s。不幸的是,这正是CAE分析软件工作的方式。
  • Beegfs 正如所宣称的一样,是一个适合HPC场景的分布式文件系统。对于大量小文件的场景,能达到700MB/s

CAE应用读写分析

我们再从CAE软件这边来分析,CAE分析运算过程中,通过监控系统IO,每3秒记录一次,可以得到如下输出,注意第二列为IO写速度,这里只截取了部分

0.00 1255.76
0.00 907.51
0.00 941.25
0.00 982.08
0.00 983.75
0.00 961.88
0.00 970.42
0.00 1007.83
0.00 1010.39
0.00 744.61
0.00 0.00
0.00 0.13
0.00 0.00
0.00 0.00
0.00 0.00
... 省略 ...
0.00 0.00
0.00 0.00
0.00 0.00
0.00 0.06
0.00 0.00
0.00 1608.09
0.00 1041.26
0.00 1040.75
0.00 1038.50
0.00 1041.25
0.00 1043.71
0.00 1042.42
0.00 1044.05
0.00 865.76

从输出可以看到,分析软件每360秒会出现一次写入操作,持续30秒左右,写入速度在1000MB/s, 据此可推算,一个写入周期中,本地,NFS和Beegfs所花费的时间,以及进一步推测计算效率上的差别

本地 NFS Beegfs
1次写入 360秒 420秒 372秒
单位作业耗费时间 1 1.16 1.03
推算7小时作业耗费时间 7小时 8.12小时 7.21小时

结论:

对于此特定CAE软件的作业来说,由于写入延迟,NFS共享文件方式比本地方式要慢16%,对于长时间的计算,积累的更加明显,比如7小时的作业,会增加1个多小时的计算时间。
而beegfs则要表现好的多,针对此款CAE分析软件的场景,只会增加3%的计算时间。本地7小时的计算作业,转移到beegfs分布式系统只要7.21小时。相对提供的分布式存储能力来说,这点速度上的牺牲应该可以接受。

当然,以上只是理论上的分析,具体实践是不是符合,需要下一阶段通过实际的算例来验证。

你可能感兴趣的:(HPC-CAE应用场景下文件读写IO分析)