E-HPC用戶端提供了可視化的頁面來配置HPL、iPerf和FIO應用,可以快速提交相關作業,測試叢集benchmark效能,包括浮點計算能力、頻寬效能和讀寫能力。
背景資訊
測試叢集benchmark效能主要使用以下幾個軟體:
-
HPL:一個測試高效能運算叢集系統浮點效能的基準程式。HPL通過對高效能運算叢集採用高斯消元法求解一元N次稠密線性代數方程組的測試,評價高效能運算叢集的浮點計算能力。
-
iPerf:一個網路效能測試工具,支援設定協議、時間等相關參數,可以報告頻寬、資料包丟失等。
-
FIO:一個開源的I/O壓力測試工具,主要用於測試磁碟的IO效能,支援多引擎和多情境測試。
準備工作
使用用戶端運行HPL、iPerf和FIO測試叢集效能,請確保已在叢集中安裝HPL、iPerf和FIO軟體及其依賴。需安裝的軟體及其相關依賴如下:
-
HPL:需安裝intel-mpi 2018、linpack 2018、 openmpi 3.0.0。
-
iPerf:需安裝iPerf、intel-mpi 2018。
-
FIO:需安裝fio 3.1、intel-mpi 2018。
其中,iPerf需要在每個節點上執行yum install -y iperf命令安裝;其他軟體可以通過控制台安裝,具體操作,請參見安裝軟體。
操作步驟
-
開啟並登入用戶端。
-
在左側導覽列,單擊應用中心。
-
測試算力。
-
單擊hpl應用。
-
在彈出面板配置相關參數,單擊提交。
參數類型
參數
樣本值
描述
基礎參數
作業名稱
hpltest
自訂設定。
作業隊列
workq
運行該作業的隊列。
CPU核心數
2
單個節點的CPU核心數。
節點數
1
運行該作業所需的計算節點數。
輸出日誌
hpl_test.log
作業作業記錄的輸出路徑。
應用參數
求解規模
10000
求解的矩陣規模(N)。規模越大,有效計算所佔的比例越大,則系統浮點處理效能越高。但矩陣規模越大會導致記憶體消耗量越多,如果系統實際記憶體空間不足,使用緩衝、效能會大幅度降低。矩陣佔用系統總記憶體的80%左右為最佳,即N×N×8=系統總記憶體×80%(其中總記憶體的單位為位元組)。
分塊大小
192 256
求解矩陣過程中矩陣分塊的大小(NB)。NB值的選擇主要是通過實際測試得出最優值。
-
-
測試頻寬。
-
單擊iperf應用。
-
在彈出面板配置相關參數,單擊提交。
參數類型
參數
樣本值
描述
基礎參數
作業名稱
iperftest
自訂設定。
作業隊列
workq
運行該作業的隊列。
CPU核心數
2
單個節點的CPU核心數。
節點數
1
運行該作業所需的計算節點數。
輸出日誌
iperf_test.log
作業作業記錄的輸出路徑。
應用參數
HostName
login0
要測試的節點主機名稱。
主機網卡
eth0
要測試的節點主機網卡。
-
-
測試讀寫能力。
-
單擊fio應用。
-
在彈出面板配置相關參數,單擊提交。
參數類型
參數
樣本值
描述
基礎參數
作業名稱
fiotest
自訂設定。
作業隊列
workq
運行該作業的隊列。
CPU核心數
2
單個節點的CPU核心數。
節點數
1
運行該作業所需的計算節點數。
輸出日誌
fio_test.log
作業作業記錄的輸出路徑。
應用參數
ioengine
psync
I/O引擎使用的測試方式。可選項:
-
psync
-
libaio
讀寫方式
rw
測試的讀寫方式。可選項:
-
read:順序讀
-
write:順序寫
-
rw:順序讀寫
-
randread:隨機讀
-
randwrite:隨機寫
-
randrw:隨機讀寫
IO塊大小
4K
單次I/O測試的塊檔案大小,可配置為4K或16K。
線程數
1
測試線程數。
測試時間
100s
測試時間。
讀寫資料量
1024M
要測試的資料量。
測試檔案
/home/username
存放系統產生的測試檔案的路徑。
-
-
查看結果
-
在用戶端的左側導覽列,單擊作業查詢。
-
找到HPL、iPerf和FIO作業,分別確認作業狀態並擷取結果。
當作業狀態變為FINISHED時,單擊作業對應的詳情,在作業詳情頁面單擊作業輸出檔案與路徑後的查看,即可查看結果。結果樣本如下:
-
HPL
- The matrix A is randomly generated for each test. - The following scaled residual check will be computed: ||Ax-b||_oo / ( eps * ( || x ||_oo * || A ||_oo + || b ||_oo ) * N ) - The relative machine precision (eps) is taken to be 1.11022 - Computational tests pass if scaled residuals are less than compute000 : Column=000192 Fraction=0.005 Kernel= 0.00 Mflops=15756 ============================================================================ T/V N NB P Q Time G ---------------------------------------------------------------------------- WC00C2R2 256 192 1 1 0.00 5.9646 HPL_pdgesv() start time Fri Sep 30 10:23:44 2022 HPL_pdgesv() end time Fri Sep 30 10:23:44 2022 ---------------------------------------------------------------------------- ||Ax-b||_oo/(eps*(||A||_oo*||x||_oo+||b||_oo)*N)= 0.0110876 ...... P ============================================================================ Finished 1 tests with the following results: 1 tests completed and passed residual checks, 0 tests completed and failed residual checks, 0 tests skipped because of illegal input values. -
iPerf
Client connecting to 192.xxx.xxx.xxx TCP port 5001 TCP window size: 604 KByte (default) ------------------------------------------------------------ [ 12] local 192.168.xxx.1 port 47930 connected with 192.168.1.xxx port 5001 [ 4] local 192.168.xxx port 5001 connected with 192.168.1.xxx port 47930 [ ID] Interval Transfer Bandwidth [ 4] 0.0- 1.0 sec 1.16 GBytes 9.94 Gbits/sec [ ID] Interval Transfer Bandwidth [ 12] 0.0- 1.0 sec 1.16 GBytes 9.95 Gbits/sec [ 12] 1.0- 2.0 sec 795 MBytes 6.67 Gbits/sec [ 4] 1.0- 2.0 sec 797 MBytes 6.68 Gbits/sec [ 12] 2.0- 3.0 sec 1.10 GBytes 9.48 Gbits/sec [ 4] 2.0- 3.0 sec 1.10 GBytes 9.47 Gbits/sec [ 12] 3.0- 4.0 sec 1.18 GBytes 10.1 Gbits/sec [ 4] 3.0- 4.0 sec 1.17 GBytes 10.1 Gbits/sec [ 12] 4.0- 5.0 sec 1.00 GBytes 8.59 Gbits/sec [ 4] 4.0- 5.0 sec 1022 MBytes 8.57 Gbits/sec [ 12] 5.0- 6.0 sec 1.22 GBytes 10.5 Gbits/sec [ 4] 5.0- 6.0 sec 1.23 GBytes 10.5 Gbits/sec [ 4] 6.0- 7.0 sec 1.04 GBytes 8.93 Gbits/sec [ 12] 6.0- 7.0 sec 1.04 GBytes 8.91 Gbits/sec -
FIO
clat percentiles (usec): | 99.99th=[11338] bw ( KiB/s): min= 479, max= 1608, per=100.00%, avg=1238.62, stdev=163. iops : min= 119, max= 402, avg=309.64, stdev=40.98, samples=206 write: IOPS=309, BW=1240KiB/s (1270kB/s)(121MiB/100001msec) clat (usec): min=1695, max=84691, avg=2203.84, stdev=1582.55 lat (usec): min=1695, max=84691, avg=2203.97, stdev=1582.55 clat percentiles (usec): | 1.00th=[ 1827], 5.00th=[ 1893], 10.00th=[ 1909], 20.00th=[ 1958], | 30.00th=[ 1975], 40.00th=[ 2008], 50.00th=[ 2040], 60.00th=[ 2073], | 70.00th=[ 2114], 80.00th=[ 2147], 90.00th=[ 2278], 95.00th=[ 2573], | 99.00th=[ 5866], 99.50th=[ 7832], 99.90th=[23725], 99.95th=[33424], | 99.99th=[63177] bw ( KiB/s): min= 472, max= 1448, per=100.00%, avg=1239.76, stdev=136. iops : min= 118, max= 362, avg=309.93, stdev=34.15, samples=206 lat (usec) : 750=0.41%, 1000=36.82% lat (msec) : 2=30.29%, 4=31.00%, 10=1.29%, 20=0.14%, 50=0.05% lat (msec) : 100=0.01% cpu : usr=0.16%, sys=0.49%, ctx=61973, majf=0, minf=30 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, >=64=0 submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0 complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0 issued rwts: total=30969,30999,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=1 Run status group 0 (all jobs): READ: bw=1239KiB/s (1268kB/s), 1239KiB/s-1239KiB/s (1268kB/s-1268kB/s), io=121MiB (127MB), run=100001-100001msec WRITE: bw=1240KiB/s (1270kB/s), 1240KiB/s-1240KiB/s (1270kB/s-1270kB/s), io=121MiB (127MB), run=100001-100001msec
-