在當前工作中,需要對CAE場景下的文件讀寫速度做一個分析酿箭,因而有了這篇簡單的分析報告。首先介紹一下場景趾娃,A七问,B兩臺機器通過萬兆交換機互聯。我們需要分別測試三種條件下文件的寫效率:
- 本地文件讀寫茫舶,本地都是SSD設備
- 萬兆網絡械巡,通過NFS共享方式,A共享文件夾饶氏,B作為客戶端向文件夾中寫文件
- 萬兆網絡讥耗,通過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場景的分布式文件系統(tǒng)。對于大量小文件的場景箭启,能達到700MB/s
CAE應用讀寫分析
我們再從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秒會出現一次寫入操作,持續(xù)30秒左右淀零,寫入速度在1000MB/s, 據此可推算膛壹,一個寫入周期中驾中,本地唉堪,NFS和Beegfs所花費的時間,以及進一步推測計算效率上的差別
本地 | NFS | Beegfs | |
---|---|---|---|
1次寫入 | 360秒 | 420秒 | 372秒 |
單位作業(yè)耗費時間 | 1 | 1.16 | 1.03 |
推算7小時作業(yè)耗費時間 | 7小時 | 8.12小時 | 7.21小時 |
結論:
對于此特定CAE軟件的作業(yè)來說肩民,由于寫入延遲唠亚,NFS共享文件方式比本地方式要慢16%,對于長時間的計算持痰,積累的更加明顯灶搜,比如7小時的作業(yè),會增加1個多小時的計算時間工窍。
而beegfs則要表現好的多割卖,針對此款CAE分析軟件的場景,只會增加3%的計算時間患雏。本地7小時的計算作業(yè)鹏溯,轉移到beegfs分布式系統(tǒng)只要7.21小時。相對提供的分布式存儲能力來說淹仑,這點速度上的犧牲應該可以接受丙挽。
當然,以上只是理論上的分析匀借,具體實踐是不是符合颜阐,需要下一階段通過實際的算例來驗證。