我们在 AWS 中有一个 API,其中包含一个用于推理的 GPU 实例。我们有一个自动缩放器设置,其中设置了最小和最大实例数,但不确定应该使用哪个指标(GPU/CPU 使用率、RAM 使用率、平均延迟等)或指标组合来确定何时需要启动新实例以跟上传入的请求。
关于这种情况下应该使用哪些指标,是否有最佳实践?在我们的案例中,推理非常耗费 GPU。
答案1
Amazon CloudWatch 代理增加了对 NVIDIA GPU 指标的支持
https://aws.amazon.com/about-aws/whats-new/2022/02/amazon-cloudwatch-agent-nvidia-metrics/
Amazon CloudWatch 代理现在支持从运行 Linux 的 Amazon Elastic Compute Cloud (Amazon EC2) 加速计算实例收集 NVIDIA GPU 性能指标。基于 GPU 的实例提供对具有数千个计算核心的 NVIDIA GPU 的访问。您可以使用这些实例来加速科学、工程和渲染应用程序。客户可以安装和配置 CloudWatch 代理,以从 Amazon EC2、本地主机和容器化应用程序收集系统和应用程序指标,并将其发送到 CloudWatch。CloudWatch 为您提供数据和可操作的见解,以监控您的应用程序并优化资源利用率。GPU 指标适用于想要监控其 EC2 加速实例中 GPU 协处理器利用率的用户。
因此基于这些指标,你可能想要监控:
- nvidia_smi_utilization_gpu 过去采样期内 GPU 上一个或多个内核运行的时间百分比。
- nvidia_smi_utilization_memory 过去采样期内读取或写入全局(设备)内存的时间百分比。