异构混训
ACP产品具备异构混训能力,创建Pytorch多机多卡分布式训练任务过程中,当满足如下条件时,支持选择不同的容器资源规格:
- 在AEC2产品上创建异构集群,相同IB训练网下添加多种异构SKU节点
- 异构SKU要求网卡数量统一
- 异构SKU要求每个Worker(副本数)即容器资源规格的GPU卡数统一
目前异构仅支持弱异构,最多支持4种资源规格。弱异构能力可以保证任务的Worker(副本)数,但是每种规格无法指定具体数量,按照实际资源进行随机分配。 目前,异构混训只适配了Nvidia相关卡类型,支持如下俩种场景:
- ACN节点GPU卡类型一致,服务器的CPU/内存不一致;
- ACN节点GPU类型不一样,服务器的CPU/内存不一致。目前支持哪些GPU类型,具体联系商汤的销售或技术支持人员
CPU的request向下对齐,limit向上对齐,内存的request和limit向下对齐,任务是否能创建成功,遵循如下原则:
$$ 任务规格最小的CPU/mem 任务副本数 < 节点规格最小的CPU/mem acn 数量 $$
当任务A选择了规格1(8卡96核960G)和规格2(8卡240核512G),副本数为128,无法指定具体规格1和规格2能具体分配的副本数,总副本数满足128。ACP起任务的逻辑:CPU request为96C,limit为240C;内存 request为512G,limit为512G,调度服务会判断该集群下匹配的ACN节点资源总量是否满足要求96/512 128 < ACN CPU/内存 n,不关心ACN节点是否闲置,如果ACN占用状态,或者剩余资源不满足任务需要的资源,任务就处于【排队中】,等待集群释放资源后拉起任务。