E-HPC提供了調度器外掛程式作為平台的外擴組件,在E-HPC現有調度器類型或版本不滿足當前業務時,您可以通過該外掛程式構建自訂調度器並接入E-HPC平台的能力。本文為您介紹E-HPC叢集調度器外掛程式的概念及組成。
什麼是調度器外掛程式
E-HPC作為一款PaaS平台,整合了常用的開源調度器來提供平台級服務。當您的業務需要遷移到雲上時,往往需要將雲下的調度器整合至雲上,但因HPC行業調度器眾多,且不同調度器有多種定製版本,會出現E-HPC內建調度器無法滿足的情況。
因此,E-HPC提供了調度器外掛程式作為平台的外擴組件,您可以使用E-HPC提供的調度器外掛程式接入自訂調度器,避免受到調度器類型或版本的限制。例如,在EDA業務情境下,通常情況使用的調度器為商用調度器,但E-HPC平台無法供應商用License供您安裝,此時,您可以自行安裝調度器並通過調度器外掛程式接入E-HPC平台的能力。
調度器外掛程式為您提供了外掛程式模版及設定檔,並將功能定義進行模組化分拆,您可以根據自身業務需求及調度器特徵進行任意方式的自訂實現。在構建出自訂調度器外掛程式之後,即可在E-HPC控制台建立帶有外掛程式的叢集,無縫銜接至E-HPC以提供對應的節點管理、作業管理、自動調整等能力。
外掛程式使用流程
以在E-HPC控制台提交作業為例,為您展示調度器外掛程式在叢集操作中的具體作用,外掛程式樣本流程圖及說明如下:
登入E-HPC控制台,選擇指定叢集並提交作業。
E-HPC雲管控接收到控制台的請求,向指定叢集下發作業命令。
叢集調度器節點識別外掛程式類型,下載調度器外掛程式到本地路徑,並解析外掛程式設定檔JobSubmit功能項是否開啟。若JobSubmit=false,則返回外掛程式功能不支援的錯誤,反之則調用具體外掛程式功能並實現。
調用外掛程式中的作業提交實現代碼,例如pbs會調用qsub相關命令、lsf會調用bsub相關命令。作業提交執行完成,則返回執行結果。
調度器外掛程式組成
調度器外掛程式主要分為以下兩個組成部分,目錄結構如下圖所示:
目錄結構說明如下:
ehpc_custom.conf:外掛程式設定檔,記錄外掛程式包含的調度器資訊及調度器可接入的功能項。更多資訊,請參見調度器外掛程式設定檔。
*.py:根據調度器模版,對自訂調度器進行具體功能實現的指令檔。該檔案需要位於/<調度器名>/<調度器版本號碼>的二級目錄下,例如/LSF/10.1.0。
調度器外掛程式設定檔
外掛程式設定檔定義了調度器資訊及調度器可接入功能項,詳細功能定義如下所示:
其中,[Scheduler]表示調度器資訊,包含了調度器名稱及版本號碼。[SchedulerCapability]表示調度器可接入功能項,包含了眾多可接入E-HPC的調度器功能,等號左側表示調度器功能名稱,等號右側表示是否開啟該功能。功能項具體說明如下:
調度服務檢測(三星):通過檢測節點調度服務設定叢集在控制台展示的節點狀態。
節點操作(兩星):通過節點操作可以在控制台實現手動擴容或縮容。
資源資訊擷取(兩星):通過節點資源資訊擷取到正確資源在控制台展示。
節點狀態資訊(一星):通過擷取不同節點狀態在控制台實現自動調整能力。
作業操作(一星):通過作業操作在控制台實現提交作業、查詢作業等能力。
隊列操作(一星):通過隊列操作在控制台實現增加隊列、查詢隊列等能力。
星級越高,代表該功能越基礎。並且,調度服務檢測作為最基礎的功能,只有當該功能項設定為true時,其他功能項可用。