在當(dāng)前工作中,需要對CAE場景下的文件讀寫速度做一個分析,因而有了這篇簡單的分析報告。首先介紹一下場景,A,B兩臺機器通過萬兆交換機互聯(lián)。我們需要分別測試三種條件下文件的寫效率:
- 本地文件讀寫,本地都是SSD設(shè)備
- 萬兆網(wǎng)絡(luò),通過NFS共享方式,A共享文件夾,B作為客戶端向文件夾中寫文件
- 萬兆網(wǎng)絡(luò),通過Beegfs分布式存儲,A提供存儲空間,B作為客戶端向存儲中寫入文件
測試工具:dd
測試一
寫入1G數(shù)據(jù),分1000次,每次1M
命令:
dd if=/dev/zero of=/root/mnttest/test_file bs=1000000 count=1000
測試結(jié)果
| 本地 | NFS | Beegfs |
|---|---|---|
| 2.1 GB/s | 291 MB/s | 728 MB/s |
測試二
寫入1G數(shù)據(jù),1次寫入
命令:
dd if=/dev/zero of=/root/mnttest/test_file bs=1000000000 count=1
測試結(jié)果
| 本地 | NFS | Beegfs |
|---|---|---|
| 1.6 GB/s | 644 MB/s | 802 MB/s |
結(jié)論:
- 雖然網(wǎng)絡(luò)提供萬兆,但由于在軟件層受建立連接等過程影響,實際的NFS寫入速度會降低,對于大文件寫入,NFS在萬兆網(wǎng)能達(dá)到600M/s的速度,但是對于很多小文件寫入的場景,速度降到300MB/s。不幸的是,這正是CAE分析軟件工作的方式。
- Beegfs 正如所宣稱的一樣,是一個適合HPC場景的分布式文件系統(tǒng)。對于大量小文件的場景,能達(dá)到700MB/s
CAE應(yīng)用讀寫分析
我們再從CAE軟件這邊來分析,CAE分析運算過程中,通過監(jiān)控系統(tǒng)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秒會出現(xiàn)一次寫入操作,持續(xù)30秒左右,寫入速度在1000MB/s, 據(jù)此可推算,一個寫入周期中,本地,NFS和Beegfs所花費的時間,以及進(jìn)一步推測計算效率上的差別
| 本地 | NFS | Beegfs | |
|---|---|---|---|
| 1次寫入 | 360秒 | 420秒 | 372秒 |
| 單位作業(yè)耗費時間 | 1 | 1.16 | 1.03 |
| 推算7小時作業(yè)耗費時間 | 7小時 | 8.12小時 | 7.21小時 |
結(jié)論:
對于此特定CAE軟件的作業(yè)來說,由于寫入延遲,NFS共享文件方式比本地方式要慢16%,對于長時間的計算,積累的更加明顯,比如7小時的作業(yè),會增加1個多小時的計算時間。
而beegfs則要表現(xiàn)好的多,針對此款CAE分析軟件的場景,只會增加3%的計算時間。本地7小時的計算作業(yè),轉(zhuǎn)移到beegfs分布式系統(tǒng)只要7.21小時。相對提供的分布式存儲能力來說,這點速度上的犧牲應(yīng)該可以接受。
當(dāng)然,以上只是理論上的分析,具體實踐是不是符合,需要下一階段通過實際的算例來驗證。