System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于云计算领域,尤其涉及一种针对gpu组件平滑迁移的方法。
技术介绍
1、众所周知gpu虚拟化技术通过分时复用,增加了任务并发度,提高了服务质量(qos),增强了公平性,进而显著的提升了资源利用率,尤其是gpu虚拟化技术与docker和k8s的组合,进一步释放出了虚拟化技术的巨大的潜力。与此同时多种gpu虚拟化(mps,nvidia-vgpu,cgpu,qgpu,nvidia-mig)如雨后春笋般显露出来,一方面给我们提供更好的技术选型,更优秀的虚拟化方案,但是另一方面,从一种虚拟化技术向另外一种虚拟化技术迁移时就存在技术障碍,在实践过程中就遇到了迁移失败的问题,如果采用硬迁移,需要先下线旧服务(存量服务),再删除旧的gpu虚拟化组件,这个过程不仅费时费力,还存在服务中断不可用问题,这对用户来说显然是不友好的,最好的方式是采用平滑迁移的方式,旧服务保持不变,随着它生命周期的结束再慢慢下线,同时新服务基于新方案再慢慢上线,逐步的完成新老替换的过程。具体来说,在生产环境中,从第一代虚拟化技术vgpu(后续简称v1)迁移到第二代虚拟化技术qgpu(后续简称v2)过程中,一方面既要确保旧服务(存量的)稳定运行,另一方面又要保证新服务能正确的调度以及资源分配,同时确保新旧服务在运行过程中实现资源隔离,故障隔离等核心问题。这是因为当从v1迁移到v2时,看不到已经被v1占用的资源,也就是说从v2的视角来看会存在算力,显存,以及拓扑信息的数据盲区,进而导致新服务会抢占旧服务的显存和算力的问题,导致服务出现新服务出现out of mem
技术实现思路
1、本专利技术所要解决的技术问题是针对
技术介绍
的不足提供一种针对gpu组件平滑迁移的方法;从v2的视角来能看到全局的资源,尤其是已经被v1占用的资源,确保不会抢占共享资源,才能解决从v1迁移到v2过程中实现平滑迁移的问题。
2、本专利技术为解决上述技术问题采用以下技术方案:
3、一种针对gpu组件平滑迁移的方法,具体包含如下步骤;
4、步骤1,部署新的gpu虚拟化组件v2;
5、步骤2,新的gpu虚拟化组件v2向集群中注册该节点上可用的gpu资源;
6、步骤3,当有容器调度到节点后,通过调资源分配allocate方法分配合适的gpu资源;
7、步骤4,监听检查点checkpoint文件的变化,当基于v1组件实现的旧容器释放出gpu资源时,让调度器scheduler及时感知,同时把资源纳管到可用的gpu资源列表中来;
8、步骤5,重复步骤1至步骤4,采用v1组件部署的容器下线,把容器释放出来的资源及时让v2感知到,完成从v1全部切换到v2,完成gpu组件的平滑迁移。
9、作为本专利技术针对gpu组件平滑迁移的方法的进一步优选方案,在步骤1中,通过yaml的方式部署新的gpu虚拟化组件v2;其中,yaml是一种数据格式。
10、作为本专利技术针对gpu组件平滑迁移的方法的进一步优选方案,新的gpu虚拟化组件v2通过kubelet向集群中注册该节点上可用的gpu资源;其中,kubelet是k8s里面一个管理组件。
11、作为本专利技术针对gpu组件平滑迁移的方法的进一步优选方案,在步骤2中,通过device server向kubelet的上报设备信息,扣除当前节点node上采用v1组件已使用的gpu资源,让调度器scheduler从v2的角度看到当前节点还能使用的总资源;其中,deviceserver是设备的服务端。
12、作为本专利技术针对gpu组件平滑迁移的方法的进一步优选方案,在步骤3中,调资源分配allocate过程中,采用v2组件分配新的gpu资源,且不能与采用v1组件分配旧的gpu资源有冲突。
13、作为本专利技术针对gpu组件平滑迁移的方法的进一步优选方案,所述步骤2具体包含如下步骤;
14、步骤2.1,解析kubelet_internal_checkpoint中信息,获取容器的gpu卡信息;其中,kubelet_internal_checkpoint是一个文件的名称,即有一个在k8s里面特殊的文件叫kubelet_internal_checkpoint;
15、步骤2.2,解析旧容器使用当前gpu卡中算力占比,以及显存大小;
16、步骤2.3,扣除掉旧容器使用的当前gpu信息,把剩余的资源信息通过kubelet上报给apisever。
17、作为本专利技术针对gpu组件平滑迁移的方法的进一步优选方案,在分配资源allocate过程中,采用v2组件分配新的gpu资源不能与采用v1组件分配旧的gpu资源有冲突,具体包含如下步骤;
18、步骤3.1,获取当前节点的所有gpu卡的拓扑信息;
19、步骤3.2,获取每个容器使用gpu卡的拓扑信息;
20、步骤3.3,获取剩余的可用的gpu资源列表。
21、作为本专利技术针对gpu组件平滑迁移的方法的进一步优选方案,在步骤3.3中,用步骤3.1减去步骤3.2获取剩余的可用的gpu资源列表。
22、作为本专利技术针对gpu组件平滑迁移的方法的进一步优选方案,在步骤5中,当采用v1组件部署的容器下线时,把容器释放出来的资源及时让v2感知到,具体包含如下步骤;
23、步骤5.1,监听checkpoint文件的变化,并且发现是采用v1组件部署的容器下线时,及时更新当前节点可用的总gpu资源信息,方便让调度器scheduler及时感知;
24、步骤5.2,把释放出来的gpu资源及时更新到剩余的可用的gpu资源信息列表中来,方便资源分配,实现重复利用。
25、作为本专利技术针对gpu组件平滑迁移的方法的进一步优选方案,在步骤2.3中,在分配新的gpu资源过程中原则是不能与v1有冲突,在算力分配上不能超过当前gpu卡的总算力,在显存分配上不能超过当前gpu卡的总显存,防止算力不足,显存溢出,确保新旧容器不会相互干扰异常。
26、本专利技术采用以上技术方案与现有技术相比,具有以下技术效果:
27、1、本专利技术一种针对gpu组件平滑迁移的方法,采用平滑迁移的方式,在迁移过程中循序渐进,确保了新旧服务均平稳运行,迁移过程工作量小,无需运维介入,一方面对存量服务无感知,无损害,确保平稳运行,另一方面让新服务采用新的方案,做到了新旧服务共存,存量服务随着生命周期的结束慢慢下线,新服务采用新组件不断上线,实现了优雅迁移的目的;
28、2、在实现过程中,针对接口编程,只需适配特定的接口,改动工作量小,核心逻辑保持不变。
本文档来自技高网...【技术保护点】
1.一种针对GPU组件平滑迁移的方法,其特征在于:具体包含如下步骤;
2.根据权利要求1所述的针对GPU组件平滑迁移的方法,其特征在于:在步骤1中,通过yaml的方式部署新的GPU虚拟化组件v2;其中,yaml是一种数据格式。
3.根据权利要求1所述的针对GPU组件平滑迁移的方法,其特征在于:新的GPU虚拟化组件v2通过kubelet向集群中注册该节点上可用的GPU资源;其中,Kubelet是k8s里面一个管理组件。
4.根据权利要求1所述的针对GPU组件平滑迁移的方法,其特征在于:在步骤2中,通过device server向kubelet的上报设备信息,扣除当前节点node上采用v1组件已使用的GPU资源,让调度器scheduler从v2的角度看到当前节点还能使用的总资源;其中,deviceserver是设备的服务端。
5.根据权利要求1所述的针对GPU组件平滑迁移的方法,其特征在于:在步骤3中,调资源分配allocate过程中,采用v2组件分配新的GPU资源,且不能与采用v1组件分配旧的GPU资源有冲突。
6.根据权
7.根据权利要求1所述的针对GPU组件平滑迁移的方法,其特征在于:在分配资源Allocate过程中,采用v2组件分配新的GPU资源不能与采用v1组件分配旧的GPU资源有冲突,具体包含如下步骤;
8.根据权利要求1所述的针对GPU组件平滑迁移的方法,其特征在于:在步骤3.3中,用步骤3.1减去步骤3.2获取剩余的可用的GPU资源列表。
9.根据权利要求1所述的针对GPU组件平滑迁移的方法,其特征在于:在步骤5中,当采用v1组件部署的容器下线时,把容器释放出来的资源及时让v2感知到,具体包含如下步骤;
10.根据权利要求1所述的针对GPU组件平滑迁移的方法,其特征在于:在步骤2.3中,在分配新的GPU资源过程中原则是不能与v1有冲突,在算力分配上不能超过当前GPU卡的总算力,在显存分配上不能超过当前GPU卡的总显存,防止算力不足,显存溢出,确保新旧容器不会相互干扰异常。
...【技术特征摘要】
1.一种针对gpu组件平滑迁移的方法,其特征在于:具体包含如下步骤;
2.根据权利要求1所述的针对gpu组件平滑迁移的方法,其特征在于:在步骤1中,通过yaml的方式部署新的gpu虚拟化组件v2;其中,yaml是一种数据格式。
3.根据权利要求1所述的针对gpu组件平滑迁移的方法,其特征在于:新的gpu虚拟化组件v2通过kubelet向集群中注册该节点上可用的gpu资源;其中,kubelet是k8s里面一个管理组件。
4.根据权利要求1所述的针对gpu组件平滑迁移的方法,其特征在于:在步骤2中,通过device server向kubelet的上报设备信息,扣除当前节点node上采用v1组件已使用的gpu资源,让调度器scheduler从v2的角度看到当前节点还能使用的总资源;其中,deviceserver是设备的服务端。
5.根据权利要求1所述的针对gpu组件平滑迁移的方法,其特征在于:在步骤3中,调资源分配allocate过程中,采用v2组件分配新的gpu资源,且不能与采用v1组件分配旧的...
【专利技术属性】
技术研发人员:王静,吴林江,高磊琦,李嘉瑛,洪瀚思,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。