摘 要:本文探討如何在Platform HPC界面下定制非集成的應(yīng)用程序模板,讓所有只關(guān)注計(jì)算的用戶能夠透明地利用您的集群,使其無需任何集群專業(yè)知識(shí)而順利完成計(jì)算任務(wù),同時(shí)也為運(yùn)維Platform HPC的管理人員提供參考。
關(guān)鍵詞:Platform HPC;仿真分析;高性能計(jì)算集群;應(yīng)用程序模板;LSF BSUB ACTRAN
中圖分類號(hào):TP393.01
名詞解釋 Platform HPC:即Platform 公司推出的高性能計(jì)算集群系統(tǒng)。模板:這里指HPC界面下為仿真分析應(yīng)用軟件提供的配置腳本,管理人員可以通過定制或修改腳本,滿足自己要求。LSF:Platform公司開發(fā)的作業(yè)調(diào)度軟件。BSUB:LSF下提交作業(yè)的執(zhí)行程序。ACTRAN:仿真分析軟件。
Platform HPC是一個(gè)高性能計(jì)算集群套件,它包好LSF作業(yè)調(diào)度系統(tǒng)、PMC Web門戶界面,各行業(yè)的仿真分析用戶能夠通過WEB界面部署、管理集群和完成作業(yè)調(diào)度,使其專注于計(jì)算,而不是基礎(chǔ)架構(gòu)。Platform HPC界面包含主流仿真分析應(yīng)用的作業(yè)模板,簡化了應(yīng)用程序集成,并使您能夠透明地利用您的集群,提高應(yīng)用程序工作負(fù)載。但還有眾多的應(yīng)用軟件沒有被集成,只能使用命令行提交作業(yè),無法利用Web界面的優(yōu)勢(shì),阻礙用戶的普及率。下面就探討如何定制作業(yè)模板,把所有仿真分析應(yīng)用集成進(jìn)Web門戶,提高用戶的使用率。
1 Platform HPC作業(yè)提交模板
定制Platform HPC作業(yè)提交模板,有兩種方式:
(1)編寫自己的模板腳本,使其滿足新應(yīng)用程序要求。這種方式需要熟練掌握腳本語言和了解Platform HPC界面接口,適合商業(yè)應(yīng)用公司來開發(fā)、定制復(fù)雜應(yīng)用。
(2)簡單調(diào)整、定制現(xiàn)有應(yīng)用程序的模板,使其適用于其它應(yīng)用。這種方式適合有讀和簡單編寫腳本程序能力,大多數(shù)的HPC管理人員,這里就采用此方式來實(shí)現(xiàn)。
以編寫Actran軟件作業(yè)提交模板為例:選擇Platform HPC界面集成的Abaqus應(yīng)用程序模板,另存為Actran模板。圖形編輯新生成的模板,結(jié)果如下圖1:
圖1
定制ACTRAN模板提交腳本。部分內(nèi)容如下:
(1)應(yīng)用程序參數(shù)
#Actran軟件路徑及變量
PATH_OF_PRODUCTLINE=\"--apl=/FFT/Actran_13.0\"
#每個(gè)計(jì)算節(jié)點(diǎn)的核數(shù)
SPAN=\"span[ptile=12]\"
export SPAN
#作業(yè)名選項(xiàng)同Abaqus
#內(nèi)存選項(xiàng)
if [ \"x$MEMORY\" != \"x\" ] ; then
ACTRAN_OPTIONS=\"$ACTRAN_OPTIONS -m $MEMORY\"
fi
#并行選項(xiàng),空為串行,為ACTRAN特有,也是整個(gè)腳本部分的難點(diǎn)
if [ \"x$PARALLEL\" != \"x\" ]; then
PARALLEL_OPT=\"--parallel=$PARALLEL\"
ACTRAN_CMD=\"actranpy_mp\"
else
PARALLEL_OPT=\"\"
ACTRAN_CMD=\"actranpy\"
Fi
#Actran額外選現(xiàn)同Abaqus
(2)集群參數(shù)
#提醒選現(xiàn)同Abaqus
#CPU選項(xiàng)
if [ \"x$NCPU\" != \"x\" ]; then
NCPU_OPT=\"-n $NCPU\"
else
NCPU_OPT=\"\"
fi
#隊(duì)列選項(xiàng)
if [ \"x$QUEUE\" != \"x\" ]; then
SUB_QUEUE_OPT=\"-q $QUEUE\"
else
SUB_QUEUE_OPT=\"\"
fi
#輸入文件及選項(xiàng),簡單替換或修改Abaqus
if [ \"x$EDAT_INPUT_FILE\" = \"x\" ]; then
echo \"You must specify an input (.edat) data file to submit an ACTRAN job.\" 1>2
exit 1
else
EDAT_INPUT_FILE=`echo $EDAT_INPUT_FILE | tr -d \\"`
if [ \"x$ACTRAN_OPTIONS\" = \"x\" ]; then
ACTRAN_OPTIONS=\"-i \\"$EDAT_INPUT_FILE\\"\"
else
ACTRAN_OPTIONS=\"$ACTRAN_OPTIONS -i \\"$INP_INPUT_FILE\\"\"
fi
fi
#BSUB執(zhí)行命令參數(shù)組合,注意各參數(shù)的順序,可參考應(yīng)用文檔。
JOB_RESULT=`/bin/sh -c \"bsub -B -N ${NCPU_OPT} ${OUTPUT_FILE_LOCATION_OPT} ${CWD_DIR} ${JOB_NAME_OPT} ${SUB_QUEUE_OPT} ${RUNHOST_OPT} ${MEMARC_OPT} ${EXTRA_PARAMS} ${ACTRAN_CMD} ${PATH_OF_PRODUCTLINE} ${ACTRAN_OPTIONS} ${PARALLEL_OPT} ${OTHER_OPTS} 2>1\"`
#執(zhí)行
export JOB_RESULT OUTPUT_FILE_LOCATION
${GUI_CONFDIR}/application/job-result.sh
其它部分如:輸出文件和位置,運(yùn)行主機(jī)等選項(xiàng)基本同abaqus,只是替換ABAQUS字符為ACTRAN,因此這些部分的內(nèi)容略。
在Platform HPC界面里可以提交測(cè)試作業(yè),看最后產(chǎn)生的JOB_RESULT變量輸出的結(jié)果是否同命令行相同,如不同可以根據(jù)實(shí)際情況增減相應(yīng)變量或選項(xiàng)。這樣一個(gè)全新的Actran作業(yè)提交模板就形成了。
2 總結(jié)
Platform HPC界面作業(yè)提交模板,實(shí)際上就是把BSUB命令與仿真分析應(yīng)用軟件的腳本圖形化。定制的過程比較簡單,但也需要花費(fèi)點(diǎn)兒時(shí)間,一個(gè)個(gè)參數(shù)測(cè),直到最后滿足要求。定制后的模板,使用方便、簡單,計(jì)算用戶不再需要了解計(jì)算軟件各種環(huán)境變量和參數(shù),只需在界面添相應(yīng)的內(nèi)容即可,達(dá)到了使其更好地專注于計(jì)算的目的。
參考文獻(xiàn):
[1]Actran 13.0 User’s Guide.Actran官方電子文檔.
[2]Platform HPC Guides.Platform官方電子文檔.
作者單位:長客股份,長春 201311