本文介绍如何查看GPU实例的监控指标,以及如何根据不同资源指标,配置GPU实例预留模式下的弹性扩缩容策略。

背景信息

在模型训练、AI推理、音视频转码等不同场景下,GPU硬件资源利用率存在差异。函数计算依据GPU实例的资源利用率,包括SM、显存、硬件解码器以及硬件编码器利用率,提供GPU预留实例弹性伸缩的功能。

函数计算支持通过定时修改和根据指标修改弹性伸缩限制规则两种方式,为预留模式配置弹性伸缩策略。GPU实例仅支持根据指标修改弹性伸缩限制规则的方式,更多信息,请参见根据指标修改限制

查看GPU监控指标

调用GPU函数执行完成后,您可以在函数计算控制台,查看GPU实例的各项资源使用情况。

  1. 登录函数计算控制台,在左侧导航栏,选择高级功能 > 监控大盘
  2. 在顶部菜单栏,选择地域,然后在服务名称列表,单击目标服务名称。
  3. 在服务监控大盘页面的函数名称列表,单击目标函数名称。
  4. 在函数监控大盘页面,选择实例指标页签。
    通过观察GPU显存使用率(百分比)GPU SM利用率(百分比)GPU硬件编码器利用率(百分比)GPU硬件解码器利用率(百分比)指标,帮助您了解GPU的各项资源利用率。

配置弹性伸缩策略

GPU资源利用率弹性指标

指标名称 描述 取值范围
GPUSmUtilization GPU SM利用率 [0, 1],即利用率为0%~100%。
GPUMemoryUtilization GPU显存利用率 [0, 1],即利用率为0%~100%。
GPUDecoderUtilization GPU硬件解码器利用率 [0, 1],即利用率为0%~100%。
GPUEncoderUtilization GPU硬件编码器利用率 [0, 1],即利用率为0%~100%。

通过控制台配置弹性伸缩策略

前提条件:
  1. 登录函数计算控制台,在左侧导航栏,单击服务及函数
  2. 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务。
  3. 函数管理页面,单击目标函数名称,然后在函数详情页面,单击弹性管理页签。
  4. 在函数详情页面的弹性管理页签,单击创建规则
  5. 在创建弹性伸缩限制规则页面,按需设置以下配置项,然后单击创建
    1. 设置版本和最小实例数,其他配置项保持默认值即可。
      gpu-Scaling-Rule-1
    2. 根据指标修改限制区域,单击+添加配置,然后设置相关策略配置。
      示例如下。gpu-Scaling-Rule-2
    设置完成后,您可以在目标函数的监控指标 > 函数指标,查看函数预留实例数的变化。

通过Serverless Devs配置弹性伸缩策略

  1. 创建项目目录。
    mkdir fc-gpu-async-job&&cd fc-gpu-async-job
  2. 在项目目录下,创建包含弹性伸缩策略的文件,例如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. 在项目目录下,执行以下命令将弹性伸缩策略添加至目标函数。
    s cli fc provision put --region ${region} --service-name ${service-name} --function-name ${function-name} --qualifier LATEST --config gpu-sm-hpa-policy.json
  4. 执行以下命令查看弹性伸缩策略。
    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

更多信息

如您对弹性扩缩容的敏感度调整有其他需求,请加入钉钉用户群(钉钉群号11721331)申请。