原解決方案由 HPC 高級合作伙伴解決方案架構師 Dnyanesh Digraskar 和高級合作伙伴開發經理 Amit Varde 撰寫發布在 AWS HPC Blog
本文在速石平臺FCC-E環境中復現.
先說結論 : 同樣運行10個Job,每個144個MPI任務. 通過 lsdyna-spotless 執行的任務相比按需集群, 作業總時長增加了7%, 但成本降低了63%.

解決方案簡述
lsdyna-spotless 是一組工具包, 用來在AWS Spot實例上運行LS-DYNA仿真. Github地址 : lsdyna-spotless 它的架構如下 :

任務按以下步驟執行 :
- 用戶在Head Node 上提交一個/一組 Ansys LS-DYNA作業
- 手動指定拆分為多個MPI任務
- 在每個計算節點都存活一個 poll , 用來輪訓所有MPI任務的EC2元數據中的實例中斷信號
- 在接收到中斷信號時, 正在進行的模擬/仿真會創建一個檢查點(checkpoint)并將其保存到共享位置 /shared 中, 這里head節點和compute節點都能夠訪問
- 作業守護進程, job-restarter, 能夠在計算資源恢復(重新申請)后, 重新將任務提交到隊列中
環境設置
- 下載安裝最新的Ansys LS-DYNA版本
- 從lsdyna-spotless的github地址下載工具包并解壓
- 在 env-vars.sh 中配置自定義選項
- 講 MPPDYNA 變量設置為Ansys LS-DYNA 可執行文件的路徑
- 在環境變量中配置License服務器以及Slurm隊列
export LSTC_LICENSE_SERVER="IP-address-license-server"
export SQQUEUE="your-SLURM-queue-name"
- 使其它相關環境變量生效
source env-vars.sh
- 將解壓后的lsdyna-spotless工具包復制到以下目錄
cp * /shared/ansys/bin
提交任務
假設每個作業都位于其自己的唯一命名目錄中,并具有自己的 SLURM 作業腳本, Ansys LS-DYNA 的main input deck 為 main.k 提交作業命令 :
start-jobs 2 72 spotq.slurm job-1 job-2 job-3
提交的作業 spotq.slurm 示例為:
#!/bin/bash
#SBATCH -J job # Job name
#SBATCH -o job.%j.out # Name of stdout output file
INPUTDECK="main.k"
if ls d3dump* 1>/dev/null 2>&1; then
mode="r=$(ls -t d3dump* | head -1 | cut -c1-8)"
op="restart"
else
mode="i=$INPUTDECK"
op="start"
fi
# create/overwrite checkpoint command file
echo "sw1." >switch
# launch monitor tasks
job_file=$(scontrol show job $SLURM_JOB_ID | awk -F= '/Command=/{print $2}')
srun --overcommit --ntasks=$SLURM_JOB_NUM_NODES --ntasks-per-node=1 $SQDIR/bin/poll "$SLURM_JOB_ID" "$SLURM_SUBMIT_DIR" "$job_file" &>/dev/null &
# Launch MPI-based executable
echo -e "$SLURM_SUBMIT_DIR ${op}ed: $(date) | $(date +%s)" >>$SQDIR/var/timings.log
srun --mpi=pmix_v3 --overcommit $MPPDYNA $mode
echo -e "$SLURM_SUBMIT_DIR stopped: $(date) | $(date +%s)" >>$SQDIR/var/timings.log
如果需要停止任務,請執行:
stop-jobs
統計由于Spot中斷造成的時間開銷
利用calc-timing 統計任務的完成時間, 本次在2臺c5.18xlarge Spot上啟用了一組10個job,每個job包含144個MPI任務, 以下是10個job運行時間輸出 :

結論
通過合理的配置, 在Spot實例上運行Ansys LS-DYNA仿真, 能夠節約高達60%的成本
參考文檔
Amazon EC2 Spot 實例
Spot 白皮書
LS-DYNA spotless Github
Cost-optimization on Spot Instances using checkpoint for Ansys LS-DYNA
關于fastone云平臺在EDA及其他行業應用上的具體表現,可以點擊以下應用名稱查看:
- END -
我們有個為應用定義的EDA云平臺
集成多種EDA應用,大量任務多節點并行
應對短時間爆發性需求,連網即用
跑任務快,原來幾個月甚至幾年,現在只需幾小時
5分鐘快速上手,拖拉點選可視化界面,無需代碼
支持高級用戶直接在云端創建集群
掃碼免費試用,送300元體驗金,入股不虧~
