SkyForm任務調度系統技術速遞(第一期)
Apptainer容器作業
Apptainer是專為HPC設(she)計的(de)容器技術(shu),是(shi)Singularity容器技術(shu)的(de)一個分支(zhi)。它管(guan)理簡便(bian),不像Docker那樣需要啟動Linux服務(wu)(docker)。普通用戶可(ke)以簡(jian)便地(di)上傳容器鏡像文件,讓后直接使用。
AIP對(dui)Apptainer/Singularity作業的(de)支(zhi)持(chi),尤其是MPI的(de)支(zhi)持(chi)進(jin)行了優(you)化,保證多節點(dian)(dian)MPI作業在每個節點(dian)(dian)上(shang)只有一個容器。
Apptainer/Singularity的容器鏡像(xiang)可以輕(qing)易從Docker鏡像(xiang)庫下拉。
對于Enterprise Linux (RHEL、CentOS、Oracle Linux、Rocky Linux等),Apptainer安裝(zhuang)包下(xia)載路徑為:
確保每臺需要運行Apptainer作(zuo)業的(de)(de)節(jie)點上都安裝了以上的(de)(de)Apptainer軟件包(bao)。
制作鏡像(xiang)文件
鏡像文件(jian)制(zhi)作需要root權限。系統管(guan)理員可以自行制作,然后(hou)把鏡像文件(jian)放到共享文件(jian)系統中。用戶也(ye)可在自己有root訪問權(quan)限的Linux服務器上(shang)制作鏡像(xiang),然后上(shang)傳到(dao)自己的HOME目錄中(zhong)。
apptainer build centos7.sif docker:centos:7
容器制作(zuo)的方法(fa)請參考Apptainer文檔:
遞交Apptainer簡(jian)單作業
csub -I apptainer run /opt/containers/centos7.sif id
Job 4362 has been submitted to the default queue [medium].
Job 4362 is waiting to be started...
Job 4362 has started on host linux7.
uid=997(cadmin) gid=1006(grp_admin) groups=1006(grp_admin),1005(admin)
遞交(jiao)Apptainer MPI作業
AIP的(de)MPI集成腳本impi-mpirun(支持Intel MPI、MPICH、MVAPICH)和ompi-mpirun(支持OpenMPI和IBM MPI)同時(shi)支持Apptainer容器(qi)作業。遞交(jiao)作業時有(you)三個環境變(bian)量或csub參數可(ke)以(yi)使(shi)用:
環境變量 |
csub參數(shu) |
描述 |
CB_SINGULARITY_IMAGE |
-Si |
指定(ding)Apptainer鏡像文(wen)件絕(jue)對路(lu)徑 |
CB_SINGULARITY_OPTIONS |
-So |
指定apptainer run命(ming)令行可選參數 |
APPTAINER_BIND |
-Sb |
指定(ding)容器中(zhong)掛載主機上的目錄(HOME不用掛載) |
例子(zi):遞交OpenMPI Apptainer作業,共(gong)需128個核,每個節點32個核(he),交互式作業, 作業(ye)輸出文件為: 作業(ye)號(hao).out:
source /opt/openmpi/openmpi.env
csub -Si /opt/containers/centos7.sif -Sb /opt/openmpi -n 128 -R map[perhost=32] -I -o %J.txt ompi-mpirun ./mympi_prog
同樣(yang)的方法也可用于Intel MPI、MPICH、MVAPICH,只需(xu)把ompi-mpirun改成impi-mpirun。
在以上(shang)的例子(zi)中,AIP會(hui)用(yong)兩個容器來運行作業,每(mei)個節點上一個apptainer容器,每(mei)個(ge)容器中運行32個MPI任務。
與普通MPI作業(ye)類似,AIP對整個作(zuo)業(ye)在所有節(jie)點(dian)上的(de)進(jin)程(cheng)都進(jin)行監控,在殺死作(zuo)業(ye)是(shi)確(que)保所有節(jie)點(dian)上屬于這個作(zuo)業(ye)的(de)進(jin)程(cheng)都殺掉。
— 推(tui)薦閱(yue)讀 —
- 2022-03-22
- 2022-03-22
- 2022-03-22
- 2022-03-22
- 2022-03-18
- 2022-03-18
在線咨詢(xun) MESSAGE