全部產品
Search
文件中心

Elastic High Performance Computing:提交作業

更新時間:May 27, 2025

本文介紹如何通過控制台、命令列和E-HPC Portal提交作業。

前提條件

  • 叢集和叢集節點狀態都為運行中

  • 已建立使用者,具體操作,請參見使用者管理

  • 通過控制台提交作業時,已在叢集中準備好待執行的作業檔案。

  • 通過命令列提交作業時,叢集調度器類型須為SLURM或OpenPBS。

通過控制台提交作業

  1. 進入叢集詳情頁面。

    1. 登入彈性高效能運算控制台

    2. 在頂部功能表列左上方處,選擇地區。

    3. 在左側導覽列,單擊叢集

    4. 叢集列表頁面,單擊目標叢集名稱

  2. 在左側導覽列,單擊作業管理

  3. 單擊建立作業,並完成以下參數配置。

    • 基本設定

      參數項

      是否必選

      說明

      作業名稱

      該作業的名稱。

      調度器隊列

      選擇叢集中執行作業任務的隊列。

      啟動Job Array

      是否啟用調度器的Job Array功能。Job Array可自訂選擇執行作業的規則。

      • 最小值:指定Job Array中任務的起始值。所有任務的索引將從最小值開始遞增。

      • 最大值:指定Job Array中任務的最大值。所有任務的索引將不超過最大值。

      • 步長:指定任務索引之間的增量。例如,如果步長為2,則任務的索引將以2的增量遞增。不指定時預設為1。

      作業優先順序

      作業執行的優先順序取值受調度器影響而不同,取值為不小於0的整數。取值越大,優先順序越高。

      說明

      如果叢集的調度原則設定為根據優先順序調度,高優先順序的作業會被優先調度運行。在提交了多個作業時,對於需要優先執行的作業,您可以通過設定高優先順序來優先執行。

      執行命令

      向調度器提交的作業執行命令,可以是指令檔(如/home/test目錄下的job.pbs),也可以是一段命令文本。分為以下兩種情況:

      • 指令檔可執行,填寫相對路徑,如./job.pbs

      • 指令檔沒有可執行許可權,則需要填寫執行命令,且需要在命令前加--。如:--/opt/mpi/bin/mpirun /home/test/job.pbs

      節點數

      用來運行此作業的計算節點數。

      申請CPU

      表示叢集執行該作業任務時每個節點需要使用的記憶體和CPU資源量。

      說明

      填寫該參數時需要根據作業的實際需求來確定,如果記憶體不足可能會導致作業運行失敗或效能下降。

      申請記憶體

    • 進階選項

      參數項

      是否必選

      說明

      標準輸出路徑

      定義Linux系統的stderr/stdout輸出重新導向路徑,包含輸出檔案名。

      • stdout:標準檔案輸出路徑。

      • stderr:錯誤檔案輸出路徑。

      叢集使用者必須有該路徑的可寫入權限,預設按照調度器設定產生輸出檔案。

      標準錯誤路徑

      環境變數

      傳遞到作業的運行時變數,可以在作業執行檔案中通過環境變數訪問。

  4. 確認配置資訊無誤,單擊頁面底部確認建立

通過命令列提交作業

  1. 遠端連線叢集的登入節點。具體操作,請參見串連叢集

  2. 根據叢集的調度器類型,選擇以下對應操作,編寫作業指令碼並提交作業。樣本如下:

    說明

    自動調整情境下,E-HPC不支援基於記憶體來擴縮容,建議您在提交作業時指定作業所需的vCPU數。

    SLURM

    1. 執行以下命令,編寫作業指令碼,指令檔命名為jobscript.slurm。

      vim jobscript.slurm

      jobscript.slurm的內容樣本如下,更多關於SLURM命令列的資訊,請參見SLURM官網

      #!/bin/sh
      #SBATCH --job-name=slurm-quickstart       #設定作業名稱
      #SBATCH --output=test_slurm.log           #指定stdout輸出檔案
      #SBATCH --nodes=1                         #指定節點數量
      #SBATCH --ntasks=1                        #指定任務數量
      #SBATCH --cpus-per-task=1                 #指定每個任務需要的vCPU數
      #SBATCH --time=00:10:00                   #預估作業運行時間長度
      #SBATCH --mem-per-cpu=1024                #指定每個vCPU分配的記憶體數
      cd $HOME
      test.py test.data
    2. 執行以下命令,提交作業。

      sbatch jobscript.slurm

    PBS

    1. 執行以下命令,編寫作業指令碼,指令檔命名為jobscript.pbs。

      vim jobscript.pbs

      jobscript.pbs的內容樣本如下。更多關於PBS命令列的資訊,請參見PBS官網

      #!/bin/sh
      #PBS -l ncpus=4,mem=1gb       #指定作業運行所需的計算資源
      #PBS -l walltime=00:10:00     #預估作業運行時間長度
      #PBS -o test_pbs.log          #指定stdout輸出檔案
      #PBS -j oe                    #把stderr和stdout的輸出合并到指定的輸出檔案
      cd $HOME
      test.py -i test.data
    2. 執行以下命令,提交作業。

      qsub jobscript.pbs

通過E-HPC Portal提交作業

具體操作,請參見通過submitter提交作業

相關文檔

您也可以通過調用API介面提交作業。具體操作,請參見CreateJob