全部產品
Search
文件中心

:GPU預留模式的Auto Scaling策略

更新時間:Jan 17, 2025

本文介紹如何查看GPU執行個體的監控指標,以及如何根據不同資源指標,配置GPU執行個體預留模式下的彈性擴縮容策略。

背景資訊

在模型訓練、AI推理、音視頻轉碼等不同情境下,GPU硬體資源使用率存在差異。Function Compute依據GPU執行個體的資源使用率,包括SM、顯存、硬體解碼器以及硬體編碼器利用率,提供GPU預留執行個體Auto Scaling的功能。

Function Compute支援通過定時修改和根據指標修改Auto Scaling限制規則兩種方式,為預留模式配置Auto Scaling策略。GPU執行個體僅支援根據指標修改Auto Scaling限制規則的方式,更多資訊,請參見根據指標修改限制

查看GPU監控指標

調用GPU函數執行完成後,您可以在Function Compute控制台,查看GPU執行個體的各項資源使用方式。

  1. 登入Function Compute控制台,在左側導覽列,選擇進階功能 > 監控大盤
  2. 在頂部功能表列,選擇地區,然後在服務名稱列表,單擊目標服務名稱。
  3. 在服務監控大盤頁面的函數名稱列表,單擊目標函數名稱。
  4. 在函數監控大盤頁面,選擇執行個體指標頁簽。
    通過觀察GPU顯存使用率(百分比)GPU SM利用率(百分比)GPU硬體編碼器利用率(百分比)GPU硬體解碼器利用率(百分比)指標,協助您瞭解GPU的各項資源使用率。

配置Auto Scaling策略

GPU資源使用率彈性指標

指標名稱描述取值範圍
GPUSmUtilizationGPU SM利用率[0, 1],即利用率為0%~100%。
GPUMemoryUtilizationGPU顯存利用率[0, 1],即利用率為0%~100%。
GPUDecoderUtilizationGPU硬體解碼器利用率[0, 1],即利用率為0%~100%。
GPUEncoderUtilizationGPU硬體編碼器利用率[0, 1],即利用率為0%~100%。

通過控制台配置Auto Scaling策略

  1. 登入Function Compute控制台,在左側導覽列,單擊服務及函數
  2. 在頂部功能表列,選擇地區,然後在服務列表頁面,單擊目標服務。
  3. 函數管理頁面,單擊目標函數名稱,然後在函數詳情頁面,單擊彈性管理頁簽。
  4. 在函數詳情頁面的彈性管理頁簽,單擊建立規則
  5. 在建立Auto Scaling限制規則頁面,按需設定以下配置項,然後單擊建立
    1. 設定版本和最小執行個體數,其他配置項保持預設值即可。
      gpu-Scaling-Rule-1
    2. 根據指標修改限制地區,單擊+添加配置,然後設定相關策略配置。
      樣本如下。gpu-Scaling-Rule-2
    設定完成後,您可以在目標函數的監控指標 > 函數指標,查看函數預留執行個體數的變化。

通過Serverless Devs配置Auto Scaling策略

  1. 建立專案目錄。
    mkdir fc-gpu-async-job&&cd fc-gpu-async-job
  2. 在專案目錄下,建立包含Auto Scaling策略的檔案,例如gpu-sm-hpa-policy.json
    樣本如下。
    {
      "target": 1,
      "targetTrackingPolicies": [
        {"name":"hpa_gpu_decoder_util","startTime":"2022-09-05T16:00:00.000Z","endTime":"2023-07-06T16:00:00.000Z","metricType":"GPUSmUtilization","metricTarget":0.01,"minCapacity":1,"maxCapacity":20}
      ]
    }
  3. 在專案目錄下,執行以下命令將Auto Scaling策略添加至目標函數。
    s cli fc provision put --region ${region} --service-name ${service-name} --function-name ${function-name} --qualifier LATEST --config gpu-sm-hpa-policy.json
  4. 執行以下命令查看Auto Scaling策略。
    s cli fc provision get --region ${region} --service-name ${service-name} --function-name ${function-name} --qualifier LATEST
    預期結果如下。
    [2022-10-08 16:00:12] [INFO] [FC] - Getting provision: zh****.LATEST/zh****
    serviceName:            zh****
    functionName:           zh****
    qualifier:              LATEST
    resource:               164901546557****#zh****#LATEST#zh****
    target:                 1
    current:                1
    scheduledActions:       null
    targetTrackingPolicies:
      -
        name:         hpa_gpu_decoder_util
        startTime:    2022-09-05T16:00:00.000Z
        endTime:      2023-07-06T16:00:00.000Z
        metricType:   GPUSmUtilization
        metricTarget: 0.01
        minCapacity:  1
        maxCapacity:  20
    currentError:
    alwaysAllocateCPU:      true

更多資訊

如您對彈性擴縮容的敏感度調整有其他需求,請加入DingTalk使用者群(DingTalk群號64970014484)申請。