国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

安徽大學(xué)HPC平臺資源管理優(yōu)化策略

2022-12-21 03:02:18段運(yùn)生
中國教育網(wǎng)絡(luò) 2022年8期
關(guān)鍵詞:配置文件進(jìn)程高性能

文/段運(yùn)生

隨著信息技術(shù)的飛速發(fā)展,高性能計算HPC得到眾多科研領(lǐng)域的青睞,如生物基因、材料設(shè)計、金融計算、計算機(jī)科學(xué)等領(lǐng)域[1]。高性能計算是計算機(jī)科學(xué)的分支之一,其采用并行化技術(shù),將計算復(fù)雜度較高的計算任務(wù)分解成眾多小型計算任務(wù),將其分配給眾多處理器同時計算,以實(shí)現(xiàn)高性能計算的目的[2]。目前,高性能計算已成為繼理論科學(xué)和實(shí)驗(yàn)科學(xué)之后科學(xué)探索的第三范式,被廣泛應(yīng)用在高能物理學(xué)、材料科學(xué)、航天航空飛行器設(shè)計、國民經(jīng)濟(jì)預(yù)測與決策、能源勘探、衛(wèi)星圖像處理、情報分析、互聯(lián)網(wǎng)服務(wù)、工業(yè)仿真等領(lǐng)域,對國民經(jīng)濟(jì)發(fā)展和國防建設(shè)具有重要價值。

高性能計算平臺一般由管理節(jié)點(diǎn)、登錄節(jié)點(diǎn)、網(wǎng)絡(luò)管理節(jié)點(diǎn)、計算節(jié)點(diǎn)和存儲資源構(gòu)成,其中計算節(jié)點(diǎn)一般包括CPU計算節(jié)點(diǎn)和GPU計算節(jié)點(diǎn)[3]。此外,高性能計算平臺還可以擴(kuò)展公有云的校外計算資源,由此構(gòu)成一套完整的異構(gòu)化的混合計算平臺。高性能計算平臺中各計算節(jié)點(diǎn)由高性能網(wǎng)絡(luò)(InfiniBand/ OPA)相互連接,構(gòu)成一個高性能計算集群。

Slurm是可用于高性能計算集群的開源集群管理器和作業(yè)調(diào)度系統(tǒng),維護(hù)待處理的作業(yè)隊列并管理此集群的整體資源[4,5]。針對Slurm的調(diào)度軟件的應(yīng)用,眾多學(xué)者在其基礎(chǔ)上提出了許多適應(yīng)于自身平臺的優(yōu)化改進(jìn)策略。例如,為應(yīng)對超大規(guī)模計算系統(tǒng)帶來的大量監(jiān)控數(shù)據(jù),文獻(xiàn)[6]提出了超大規(guī)模計算系統(tǒng)的監(jiān)控、調(diào)度及網(wǎng)絡(luò)優(yōu)化實(shí)踐,使集群節(jié)點(diǎn)數(shù)量可以達(dá)到上萬。針對Slurm的計費(fèi)功能,文獻(xiàn)[7]提出了一種基于Slurm作業(yè)調(diào)度系統(tǒng)的預(yù)計費(fèi)裝置和方法,通過將Slurm調(diào)度系統(tǒng)與GOLD機(jī)時記賬系統(tǒng)集成,將作業(yè)使用機(jī)時從用戶可用機(jī)時中預(yù)約,作業(yè)結(jié)束后扣除機(jī)時。此外,文獻(xiàn)[8]還提出一種基于Slurm作業(yè)管理的可視化調(diào)度系統(tǒng),通過Web前端實(shí)現(xiàn)了用戶以可視化方式使用作業(yè)調(diào)度系統(tǒng)。

Slurm系統(tǒng)也存在不足,Slurm調(diào)度系統(tǒng)默認(rèn)實(shí)現(xiàn)用戶在各節(jié)點(diǎn)間的無障礙跳轉(zhuǎn),也就是說用戶可以通過登錄節(jié)點(diǎn)直接SSH登錄任意計算節(jié)點(diǎn),并在此節(jié)點(diǎn)直接繞過Slurm調(diào)度軟件進(jìn)行作業(yè)計算[9]。這將導(dǎo)致用戶可以不再受Slurm資源管理的限制,隨意使用計算資源,造成管理和運(yùn)維的不便。此外,Slurm在登錄節(jié)點(diǎn)的監(jiān)管方面也存在嚴(yán)重缺陷,用戶可以直接無限制使用資源,而這將增加平臺登錄節(jié)點(diǎn)宕機(jī)的可能性。

針對上述問題,本文提出一套基于Slurm的智能化高性能計算資源管理方法,該方法包含一系列的控制功能:限制節(jié)點(diǎn)訪問、智能化管理資源、資源異常查殺等,為平臺的有效運(yùn)行提供了一套完備的管理手段和策略。

Slurm簡介

Slurm資源調(diào)度工具是面向Linux、Unix類似內(nèi)核的免費(fèi)和開源工作調(diào)度程序,由世界上許多超級計算機(jī)和計算機(jī)集群使用。它提供了三個關(guān)鍵功能:首先,它在一段時間內(nèi)為用戶分配對資源(計算機(jī)節(jié)點(diǎn))獨(dú)占和/或非獨(dú)占的訪問權(quán)限,以便他們可以執(zhí)行工作;其次,它提供了一個框架,用于在一組分配的節(jié)點(diǎn)上啟動、執(zhí)行和監(jiān)視工作(通常是并行作業(yè),例如MPI);最后,它通過管理待處理作業(yè)隊列來仲裁資源爭用。

Slurm的設(shè)計非常模塊化,有大約100個可選插件。在最簡單的配置中,它可以在幾分鐘內(nèi)完成安裝和配置,并為更復(fù)雜的配置提供數(shù)據(jù)庫集成,管理資源限制和工作負(fù)載優(yōu)先級[10]。

Slurm資源管理系統(tǒng)的正常運(yùn)行還需要一些系統(tǒng)服務(wù)與支撐環(huán)境的正確設(shè)置,比如系統(tǒng)配置、節(jié)點(diǎn)、分區(qū)、調(diào)度、記賬存儲、網(wǎng)絡(luò)拓?fù)涞?。Slurm提供了豐富的配置文件,如主配置文件、記賬存儲服務(wù)配置文件、節(jié)點(diǎn)配置文件、分區(qū)配置文件和通用資源配置文件等。

Slurm資源管理系統(tǒng)由多個部分構(gòu)成,如控制進(jìn)程、記賬存儲進(jìn)程、節(jié)點(diǎn)監(jiān)控進(jìn)程、作業(yè)管理進(jìn)程、命令工具等,其系統(tǒng)結(jié)構(gòu)如圖1所示。

圖1 Slurm系統(tǒng)結(jié)構(gòu)

基于Slurm的資源管理策略優(yōu)化

本文主要針對高性能計算集群的登錄節(jié)點(diǎn)、管理節(jié)點(diǎn)和計算節(jié)點(diǎn)進(jìn)行資源和權(quán)限的管理配置,其中使用到的軟件資源有:Slurm、CpuLimit模塊、pam_access.so插件和Linux基本的指令集。實(shí)現(xiàn)的功能如下:

1.對各節(jié)點(diǎn)的root進(jìn)行固定IP訪問限制;

2.限制登錄節(jié)點(diǎn)中用戶的資源使用;

3.限制用戶登錄無作業(yè)的計算節(jié)點(diǎn);

4.在計算節(jié)點(diǎn)查殺非Slurm用戶的大計算進(jìn)程;

5.GPU節(jié)點(diǎn)的異常作業(yè)處理。

通過上述工具配置相應(yīng)策略,可實(shí)現(xiàn)高性能計算平臺的安全運(yùn)行和資源智能化、自動化的監(jiān)管與調(diào)度。

root固定IP訪問限制

高性能計算平臺默認(rèn)為用戶提供計算服務(wù)器,所以訪問端口對外開放。root用戶擁有整個系統(tǒng)中至高無上的權(quán)力,為了避免一些潛在的風(fēng)險,我們需對root用戶進(jìn)行訪問權(quán)限的設(shè)置。該功能需要使用pam_access.so插件,該插件的功能和作用是根據(jù)主機(jī)名(包括普通主機(jī)名或者FQDN)、IP地址和用戶實(shí)現(xiàn)全面的訪問控制。pam_access.so模塊的具體工作行為根據(jù)配置文件/etc/security/access.conf來決定。具體設(shè)置策略如下:

管理節(jié)點(diǎn)只允許指定IP地址root訪問,禁止非root用戶訪問;登錄節(jié)點(diǎn)允許指定IP的root訪問和所有用戶訪問;計算節(jié)點(diǎn)允許指定IP的root訪問,禁止用戶直接訪問。

實(shí)現(xiàn)方法:

1.在/etc/pam.d/sshd添加如下一句account required pam_access.so

2.在 /etc/security/access.conf添加+ : root : xxx.xxx.xxx.xxx-: root : ALL+ : ALL : ALL

該配置文件的主體包含了三個字段:權(quán)限、用戶和訪問發(fā)起方。格式上是一個用“:”隔開的表。其中第一個字段:權(quán)限(permission),使用“+”表示授予權(quán)限,用“-”表示禁止權(quán)限。第二個字段:用戶(user),定義了用戶、組以及用“@”表示的不同主機(jī)上的同名用戶和同一主機(jī)上不同名用戶。第三個字段:訪問發(fā)起方(origins),定義了發(fā)起訪問的主機(jī)名稱、域名稱和終端名稱。

登錄節(jié)點(diǎn)中用戶的資源使用限制

登錄節(jié)點(diǎn)是高性能計算的門戶,主要用于用戶的登錄訪問和作業(yè)提交功能。若用戶在登錄節(jié)點(diǎn)執(zhí)行大規(guī)模的計算任務(wù),會導(dǎo)致該登錄節(jié)點(diǎn)宕機(jī)。我們通過定時檢測用戶的進(jìn)程信息,對CPU使用率比較高的進(jìn)程進(jìn)行CPU資源限制。CPU資源限制選用的是cpulimit插件,具體設(shè)置策略如下:

1.通過在登錄節(jié)點(diǎn)執(zhí)行如下命令實(shí)現(xiàn)對用戶進(jìn)程的獲?。╣rep -h '^.[0-9]{4}'是依據(jù)安徽大學(xué)的賬戶規(guī)則進(jìn)行的匹配篩選):ps -o ruser=userForLongName -e -o pid,%cpu--sort=-%cpu |grep -v root |grep -v PID|head-10 |grep -h '^.[0-9]{4}'

2.對檢測到的進(jìn)行pid,進(jìn)行CPU資源對比,超過閾值的pid進(jìn)行cpu限制:if [ $(echo "$cpu>80"|bc) == 1 ]; then cpulimit --pid $pid --limit 50 &fi

登錄節(jié)點(diǎn)的大規(guī)模計算資源限制的處理流程如圖2所示,配置crontab定時任務(wù)計劃,使腳本定制執(zhí)行。

圖2 登錄節(jié)點(diǎn)資源限制流程

限制用戶登錄無作業(yè)的計算節(jié)點(diǎn)

該功能主要實(shí)現(xiàn)用戶在登錄節(jié)點(diǎn)無法直接SSH到計算節(jié)點(diǎn),只有用戶通過Slurm提交作業(yè)后,才有權(quán)限SSH到運(yùn)行該作業(yè)的計算節(jié)點(diǎn)。本功能需要使用Slurm的PAM插件來實(shí)現(xiàn)。

實(shí)現(xiàn)方法:

1.添加不包含pam_systemd.so的PAM配置:grep -v pam_systemd.so /etc/pam.d/passwordauth> /etc/pam.d/password-auth-no-systemd

2./etc/security/access.conf 里添加如下:+:root:ALL-:ALL:ALL

3./etc/pam.d/sshd 添加:account sufficient pam_access.so account required pam_slurm.so

4.在/etc/pam.d/目錄下創(chuàng)建slurm文件,文件內(nèi)容如下:auth required pam_localuser.so account required pam_unix.so session required pam_limits.so

計算節(jié)點(diǎn)查殺非Slurm用戶的大計算進(jìn)程

用戶在作業(yè)運(yùn)行期間,可以SSH到相應(yīng)的計算節(jié)點(diǎn)。這時用戶可以直接在該計算節(jié)點(diǎn)進(jìn)行提交作業(yè)操作,這個操作是系統(tǒng)不允許的。但是如果作業(yè)結(jié)束后,直接阻截該用戶的所有進(jìn)程,也不合理。為此,我們添加了對計算節(jié)點(diǎn)異常進(jìn)程的查殺操作,操作流程如圖3所示,其具體設(shè)置策略如下:

圖3 計算節(jié)點(diǎn)的異常進(jìn)程處理流程

1.通過squeue查詢當(dāng)前計算節(jié)點(diǎn)的作業(yè)信息;

2.通過ps指令查詢排除提交作業(yè)用戶的進(jìn)程信息;

3.對各進(jìn)程信息的CPU使用率進(jìn)行檢測,對使用率較高的進(jìn)程進(jìn)行查殺操作。

GPU節(jié)點(diǎn)異常作業(yè)處理

GPU計算節(jié)點(diǎn)主要用于計算深度學(xué)習(xí)等高性能計算,不允許提交傳統(tǒng)的CPU計算作業(yè),但是Slurm無法準(zhǔn)確判斷和管理該功能。為此,我們編寫了在異常GPU作業(yè)查殺的模塊。其操作流程如圖4所示,具體設(shè)置策略如下所示:

圖4 GPU節(jié)點(diǎn)的異常進(jìn)程處理流程

1.通過squeue查詢當(dāng)前計算節(jié)點(diǎn)的作業(yè)信息;

2.通過scontrol輪詢各作業(yè),判斷是否有申請GPU的字段信息(TresPerNode=gpu),對未使用GPU的作業(yè)進(jìn)行scancel操作。

策略部署與性能測試

本文針對安徽大學(xué)校級高性能計算平臺在實(shí)際運(yùn)行中遇到的問題提出了基于Slurm的資源管理調(diào)度優(yōu)化方法。該優(yōu)化策略包括:根據(jù)IP地址的類型確定是否允許IP地址訪問對應(yīng)的節(jié)點(diǎn),以及根據(jù)用戶的類型確定是否允許用戶訪問對應(yīng)的節(jié)點(diǎn);根據(jù)用戶在登錄節(jié)點(diǎn)使用的CPU資源和預(yù)設(shè)的CPU資源閾值,確定是否進(jìn)行CPU限制;根據(jù)用戶提交作業(yè)的情況,確定是否允許用戶登錄到計算節(jié)點(diǎn);獲取已提交作業(yè)的用戶信息,根據(jù)非作業(yè)用戶進(jìn)程的CPU使用率和預(yù)設(shè)的使用率閾值,確定是否查殺該用戶進(jìn)程;對GPU計算節(jié)點(diǎn)中的非GPU作業(yè)進(jìn)行取消等功能。

本文將Slurm的優(yōu)化策略在安徽大學(xué)校級高性能計算平臺進(jìn)行部署,并測試其性能。安徽大學(xué)高性能計算平臺是集傳統(tǒng)超算和GPU計算于一體的混合計算平臺,該平臺系統(tǒng)拓?fù)鋱D如圖5所示。

圖5 安徽大學(xué)高性能計算平臺拓?fù)?/p>

目前,該平臺的建設(shè)規(guī)模如下:

存儲空間186T,CPU總核數(shù)3340核,GPU總卡數(shù)59張,總計算節(jié)點(diǎn)數(shù)量為85個CPU節(jié)點(diǎn)和10個GPU節(jié)點(diǎn),平臺單精度性能總算力1316.8 Tflops。

安徽大學(xué)高性能計算平臺于2021年底部署了基于Slurm的資源管理優(yōu)化策略,并結(jié)合用戶培訓(xùn)、群里通知等方式協(xié)助管理。經(jīng)過2022年第一季度實(shí)際測試,統(tǒng)計異常平臺記錄如表1所示。從表中可以看出,平臺的異常IP的節(jié)點(diǎn)訪問現(xiàn)象顯著降低,有效解決了登錄節(jié)點(diǎn)異常宕機(jī)的問題,同時切實(shí)保證了作業(yè)正常運(yùn)行,極大減少了平臺運(yùn)維工程師的工作量。

表1 安徽大學(xué)高性能計算平臺的異常信息統(tǒng)計

本文提出一種基于Slurm的智能化的高性能計算平臺的資源管理優(yōu)化策略,其能夠保證高性能計算平臺資源管理和分配,有效避免了Slurm的常見漏洞;此外,該策略能夠限制root的安全訪問權(quán)限和計算節(jié)點(diǎn)的權(quán)限訪問,同時也限制登錄節(jié)點(diǎn)中用戶的資源使用和計算節(jié)點(diǎn)的異常進(jìn)程查殺。

猜你喜歡
配置文件進(jìn)程高性能
提示用戶配置文件錯誤 這樣解決
搭建簡單的Kubernetes集群
互不干涉混用Chromium Edge
債券市場對外開放的進(jìn)程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
忘記ESXi主機(jī)root密碼怎么辦
一款高性能BGO探測器的研發(fā)
電子制作(2017年19期)2017-02-02 07:08:49
高性能砼在橋梁中的應(yīng)用
SATA推出全新高性能噴槍SATAjet 5000 B
高性能可變進(jìn)氣岐管降低二氧化碳排放
汽車零部件(2014年8期)2014-12-28 02:03:03
社會進(jìn)程中的新聞學(xué)探尋
英山县| 大余县| 阿图什市| 九龙坡区| 伊宁县| 江陵县| 南开区| 兴山县| 闽清县| 禄丰县| 阜城县| 高密市| 南澳县| 黔南| 邢台市| 东丽区| 延庆县| 体育| 莲花县| 鱼台县| 西畴县| 宜阳县| 乌审旗| 东辽县| 万荣县| 宁乡县| 凌源市| 安康市| 平阴县| 石楼县| 宜章县| 河曲县| 阳西县| 偏关县| 商城县| 凤冈县| 扎兰屯市| 仙桃市| 宁乡县| 东山县| 来凤县|