详情页标题前

腾讯云高性能计算平台集群扩缩容策略说明-云小二

详情页1

背景说明

THPC 的弹性扩缩功能支持根据您的业务负载动态伸缩集群节点,帮助您节省集群成本。您可以根据需要选择不同的扩缩容模式,在创建集群接口中的 AutoScalingType 进行配置,推荐您使用 THPC_AS 模式进行扩缩容,支持自动匹配作业需要的实例资源,且弹性伸缩的实例与创建集群时配置的TAG一致。说明:创建弹性扩缩容集群请参见自动伸缩最佳实践,目前仅支持 Slurm 集群开启 THPC_AS 模式。

THPC_AS 扩缩容策略

需把 AutoScalingType 设置为 THPC_AS 后,使用 SetAutoScalingConfiguration 接口配置扩缩容策略,以下是多个业务场景扩缩容效果的说明。

扩容匹配原则

THPC 主要通过实例的 CPU、内存规格与提交作业的资源申请规模进行匹配,优先匹配到运行作业后剩余资源最少的实例。THPC 会优先保证 CPU 资源剩余最少,如果实例运行作业后剩余 CPU 资源相同,会再匹配内存资源。场景示例场景 a: 作业所需4核4GB内存资源,扩容配置如下:

实例类型 vCPU 内存(GB)
A 4 16
B 8 8

THPC 会匹配到实例类型 A,因为 CPU 的优先级高,优先匹配 CPU 资源。
场景b:作业所需4核4GB资源,扩容配置如下:

实例类型 vCPU 内存(GB)
A 4 16
B 4 8

THPC 会匹配到实例类型 B,因为在 CPU 相同的情况下,会匹配内存资源,B 实例运行上作业之后,剩余资源较少。且实例扩容的数量取决于此作业运行起来需要的节点数量。注意:目前匹配流程中,不会考虑实例运行作业之后的剩余资源。投递的作业所需资源在机型配置中没有满足的实例规格,则不会进行扩容。 投递作业时需要注意,登录实例操作系统看到的可使用的内存会小于实例规格的内存。例如:SA2.MEDIUM4 机型规格为4核4GB内存,扩容后的实例 OS 可用内存为3.6GB。

多机型、多可用区扩容

实例类型在每个可用区支持情况不同,您可能会面对所选机型在当前可用区售罄或相关配置问题,多可用区、多机型配置可帮助您有效的解决此类问题。多机型配置功能能够有效降低售罄、实例调用失败带来的自动扩容失败风险。场景示例在 THPC_AS 策略中,可以对 CPU 核数和内存大小相同的机型进行多配置,以下为 SetAutoScalingConfiguration 接口中,队列名为 compute 所设置的ExpansionNodeConfig 机型列表、机型的资源信息、可用区以及对应的数组下标。

数组下标 机型 可用区 vCPU 内存(GB)
1 SA2.2XLARGE16 广州四区 8 16
2 SA2.2XLARGE16 广州五区 8 16
3 SA2.2XLARGE16 广州六区 8 16
4 SA3.2XLARGE16 广州五区 8 16
5 SA3.2XLARGE16 广州六区 8 16

假设客户投递一个作业,需要6核 CPU 和12GB内存,由于队列中最优匹配是需要8核、16GB内存的资源,那么弹性伸缩配置中,所有8核、16GB内存的资源都符合匹配,THPC 会根据配置的列表下标由低往高,依次尝试创建实例进行扩容。

比例扩容

由于扩容流程中,不会考虑扩容后实例的剩余资源,出于成本考虑,在扩容场景下,可以通过比例扩容的方式来逐步扩容,尽可能减少资源的浪费。队列配置中,涉及 SetAutoScalingConfiguration 接口的队列配置中的两个参数:

参数名称 参数说明
ScaleOutRatio 扩容比例设置。取值范围1~100。
ScaleOutNodeThreshold 比例扩容阈值。

当计算出的任务需要扩容的数量大于 ScaleOutNodeThreshold 时,实际扩容数量为 (需要扩容数量 * ScaleOutRatio) / 100 向上取整。当计算出的任务需要扩容的数量小于 ScaleOutNodeThreshold 时,实际扩容数量为需要扩容数量 (即 ScaleOutRatio=100)。ScaleOutNodeThreshold 阈值有利于比例扩容在小数量扩容场景下,快速收敛。场景示例假设此时总共需要扩容100个节点加入集群,以下 A、B 配置的扩容比例设置为50,但是 ScaleOutNodeThreshold 阈值配置不同。

配置 ScaleOutRatio ScaleOutNodeThreshold
A 50 0
B 50 20

对于配置 A,100个节点总共需要自动扩容7轮,每轮节点扩容个数以及对应轮次如下图左,每轮节点扩容总数以及对应轮次如下图右:

腾讯云高性能计算平台集群扩缩容策略说明-云小二



腾讯云高性能计算平台集群扩缩容策略说明-云小二


对于配置 B,100个节点总共需要自动扩容4轮,当扩容至第4轮时,需要扩容的节点数量为12小于 ScaleOutNodeThreshold 参数值20,则按照需要扩容的节点数进行扩容。每轮节点扩容个数以及对应轮次如下图左,每轮节点扩容总数以及对应轮次如下图右:

腾讯云高性能计算平台集群扩缩容策略说明-云小二



腾讯云高性能计算平台集群扩缩容策略说明-云小二


二者每轮节点扩容总数以及对应轮次对比图如下,其中红色曲线为配置A,蓝色曲线为配置 B。可以看出,通过 ScaleOutNodeThreshold 参数能够加快在扩容实例数量较小的场景下收敛速度。

腾讯云高性能计算平台集群扩缩容策略说明-云小二


如果不需要比例扩容,可以将 ScaleOutRatio 参数默认设置为 100;如果对于扩容速度不敏感,可以将 ScaleOutNodeThreshold 设置为0。

THPC_AS 缩容策略说明

当节点连续空闲时间达到指定时间 ShrinkIdleTime,节点缩容。
官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/146637.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云对象存储判断对象是否存在

    简介 本文档提供关于检查对象是否存在的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 HEAD Object 查询对象元数据 查询对象的元数据信息 SDK API 参考 SDK 所有接口的具体参数与方法说明,请参考 SDK API。 检查对象是否存在 功能说明 此接口接受存储桶名称、对象名两个参数作为入参,返回对象是否存在的布尔类型。接口实…

    腾讯云 2023年12月9日
  • 腾讯云云函数(SCF)常见示例-云淘科技

    常见示例中包含了 Python 环境下可以试用的相关代码片段,您可以根据需要选择尝试。示例均基于 Python 3.6 环境提供。您可从 github 项目 scf-python-code-snippet 中获取相关代码片段并直接部署。 环境变量读取 本示例提供了获取全部环境变量列表,或单一环境变量值的方法。 # -*- coding: utf8 -*-im…

    腾讯云 2023年12月9日
  • 腾讯云对象存储预签名 URL

    简介 Go SDK 提供获取请求预签名 URL 接口,详细操作请查看本文示例。关于使用预签名 URL 上传的说明请参见 预签名授权上传, 使用预签名 URL 下载的说明请参见 预签名授权下载。说明建议用户使用临时密钥生成预签名,通过临时授权的方式进一步提高预签名上传、下载等请求的安全性。申请临时密钥时,请遵循 最小权限指引原则,防止泄露目标存储桶或对象之外的…

    腾讯云 2023年12月9日
  • 腾讯云云直播慢直播服务费用

    注意2021年11月10日起,慢直播服务停止维护更新,暂停新用户接入。慢直播服务将不再继续更新,新用户可选择物联网智能视频服务(行业版)进行业务接入,物联网智能视频服务(行业版)整合慢直播原有能力,改版升级,功能优化,轻松开启物联视频服务。请参见 物联网智能视频服务(行业版)-快速入门 接入服务,物联网智能视频服务(行业版)相关计费说明请参见 计费概述。20…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云容器服务节点远程登录同尘科技

    操作场景 本文介绍如何在云端通过 SSH 远程登录边缘节点,边缘节点可以是公有云上的节点或者本地的内网节点。开启节点远程登录关闭节点远程登录远程登录边缘节点 操作步骤 开启节点远程登录 1. 登录 腾讯云容器服务控制台。2. 在集群管理页面,单击需要远程登录节点的集群 ID,进入该集群详情页。3. 选择页面左侧节点管理 > 节点,进入节点列表页面,确认…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。