队列管理员可以设定队列内“GPU碎片资源整理规则”,该规则旨在从资源组维度优化 GPU 负载的摆放位置,清理造成 GPU 碎片的负载,缓解队列排队的情况。按照用户的规则配置内容,平台将在检测到任务长期处于排队中状态时或在固定整理周期内进行GPU碎片整理,以提升GPU资源利用率。
场景一 现有某一用户有3台8卡机器。当前用户3台机器负载情况为 【占用7卡(4+2+1),占用6卡(4+2),占用7卡(4+2+1)】,此时用户想要提交一个4卡任务,会由于碎片无法运行。
场景二 现在某一用户有8台8卡机器。用户调度7个服务,每个服务9个实例,每个实例1卡。这样每个服务的实例分布在不同的机器上,用户一旦销毁某些服务,碎片就产生了。
而开启当前规则后,碎片情况会被平台识别。如场景一中平台将重新摆放负载的位置,将第三台机器的1、2卡负载分别摆放在另外两个机器上,第三台机器即可运行4卡任务。
平台支持的碎片整理策略仅对GPU资源生效,由CPU引起的资源碎片现象暂时无法处理。
命中当前规则的GPU负载若造成了碎片,可能会被平台停止。
队列规则更改后会对队列中的历史负载生效,建议在创建队列后立刻配置规则,且不建议频繁更改规则。更改规则后请及时通知队列的使用者,以免影响历史负载的运行。
登录机器学习平台,点击左侧导航栏中的【资源组管理】-【队列】进入列表页面。
点击队列名称进入详情页,点击【规则设置】,开启“GPU碎片资源整理规则”开关进行规则配置。
规则配置包含对【在线服务】和【自定义任务】两种负载的规则设置,具体参数如下:
规则配置 | 配置说明 |
---|---|
整理任务类型 | 哪些任务会命中规则:
|
整理策略 |
|
参数名称 | 参数说明 |
---|---|
分 | 代表执行时间中的分钟。支持输入0-59之间的数字,输入 * 代表匹配任何值,可使用 “,”枚举。 |
时 | 代表执行时间中的小时。支持输入 0-23 之间的数字,输入 * 表示匹配任何值,可使用 “,”枚举。 |
日 | 代表执行时间中的日期。支持输入 1-31 之间的数字,输入 * 表示匹配任何值,可使用 “,”枚举。 |
月 | 代表执行时间中的月份。支持输入 1-12 之间的数字,输入 * 表示匹配任何值,可使用 “,”枚举。 |
星期 | 代表执行时间中的星期。支持输入 0-6 之间的数字,0代表星期日,输入 * 表示匹配任何值,可使用 “,”枚举。 |
Cron语句 | 执行时间 |
---|---|
0 * * * * | 每小时执行策略。 |
0 0 * * * | 每天的 00:00 执行策略。 |
0 0 * * 0 | 每周日的 00:00 执行策略。 |
0 0 1,2 * * | 每月1、2号的 00:00 执行策略。 |
0 12 * * * | 每天 12:00 执行策略。 |