【问题标题】:Autoscaling based on GPU utilization?基于 GPU 利用率的自动缩放?
【发布时间】:2019-05-23 15:23:53
【问题描述】:

自动缩放会根据 CPU 利用率自动向我的实例组添加/删除实例。

GPU 利用率是否也一样?

【问题讨论】:

    标签: google-cloud-platform google-compute-engine google-kubernetes-engine


    【解决方案1】:

    您忘了提及它是用于 Cluster Autoscaler 还是 Horizo​​ntal Pod Autoscaler。您还忘了提及它是在 GKE 还是 GCE 中。

    1 - 在 GKE 中,有两种类型的自动扩缩器:

    a - Cluster Autoscaler 在需要新节点时添加节点:

    Cluster Autoscaler 扩展集群中的节点池。在这种情况下,您必须启动node instances with GPU accelerators。您应该使用 GKE 支持的 Nvidia Tesla GPU。要利用 Cluster Autoscaler,建议在 Cluster 中创建一个单独的 GPU 节点池。如果请求 GPU 的 Pod 不足,GPU 节点将自动缩减,如果请求 GPU 的 Pod 过多,GPU 节点将自动扩展。

    b - Horizo​​ntal Pod Autoscaler,在需要新 pod 时添加新 pod:

    此 Horizo​​ntal Pod Autoscaler (HPA) 可缩放 pod 副本的数量。 HPA 使用资源指标 API 来收集指标。使用 HPA,您可以自动缩放 the pods based on custom metrics 和指标 available in Stackdriver。您可以选择 GPU 作为指标之一。如需分步教程,您可以consult this StackOverflow thread.

    2 - 在 GCE 中,自动缩放器基于 Autoscaling policy。自动扩缩政策是:

    • 平均 CPU 利用率
    • Stackdriver 监控指标
    • HTTP 负载平衡

    这意味着您可以添加一个策略来根据 Stackdriver Monitoring 指标自动扩展实例。 GPU 没有默认的 Stackdriver 监控指标,但您可以创建一个 custom metric 来监控 GPU 利用率。下一步是根据该自定义指标自动缩放实例组。

    这仅适用于托管实例组,并且该策略将基于新创建的自定义自定义指标,该指标将监控 GPU 利用率。我还找到了interesting article,介绍了如何根据 GPU 利用率在 Stackdriver 中创建自定义指标。

    【讨论】:

    • 这仅适用于 GKE,对吧?没有 Kubernetes 的常规实例组呢?
    • 感谢您的帮助!
    • @groe 我很确定您需要 kubernetes 才能做到这一点。 Cloudrun 目前不允许连接到 GPU,我认为他们在不久的将来没有计划。
    猜你喜欢
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    • 2018-07-04
    • 2020-11-27
    • 2019-09-25
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多