文章详情

Blogs

GPU Live Migration(热迁移):趋动OrionX产品的创新之路

在当今快速发展的云计算和人工智能时代,GPU资源的高效管理和动态调度成为了提升计算效能的关键。趋动科技的OrionX产品,以其创新的“GPU 热迁移”(有人称作GPU在线漂移)技术,正在重塑GPU资源管理的未来。本文将探讨OrionX如何通过这一技术,实现GPU资源的无缝迁移,以及它为企业带来的革命性变化。国金证券IT部门率先采用了这一技术,其云平台经理李卓也一同分享他对于这项技术的深刻见解。


作者 | 国金证券 李卓,趋动科技 陈飞、Jim


01

GPU热迁移技术概述

“GPU 热迁移”是一种允许在不中断用户进程的情况下,将正在GPU上运行的任务从一个设备迁移到另一个设备。这种技术对于保持业务连续性和提高系统可靠性至关重要。OrionX的热迁移功能可以在同一个节点内进行,也可以跨节点进行;在跨节点迁移时,推荐使用RDMA网络以确保性能。


下面是通过OrionX的管理界面进行任务迁移的3个步骤


第1步:选择一个任务,此时该任务运行在节点10.68.32.19上的Device-0上。点右上“发起迁移”:

热迁移2.png
Figure 1 选择任务发起热迁移

第2步:选择同一个节点上的Device-1设备,点击提交:

图片 1.png

Figure 2 选择要迁移的设备


第3步:查看迁移任务状态:

热迁移3.png

Figure 3 查看迁移状态


这时,可以看到此迁移过程用了16秒


图片 4.png

Figure 4 查看迁移详情


接着,我们又将此任务从节点10.68.32.19 Device1迁移到另一个节点10.68.32.20的Device-0上,迁移详情如下:

图片 6.png

Figure 5 迁移详情


可以看到此迁移过程用了19秒,比同一个节点内的不同卡的迁移略多了3秒。

02

GPU热迁移的应用场景

开发场景的动态资源管理


在系列文章二“GPU as code”的文章中描述的Jupyter Lab Notebook的使用场景中,OrionX的动态资源管理功能允许用户在没有GPU API调用的情况下,如设置的ORION_TASK_IDLE_TIME=30s后,自动释放当前占用的GPU资源。


当用户再次需要进行GPU计算时,OrionX会根据当前资源池的状态,自动分配新的GPU卡。这个过程实际上就是GPU热迁移的一个应用,它确保了资源的高效利用和用户的无缝体验。


图片 5.png

Figure 6 开发场景背后的自动GPU资源管理


数据中心维护与升级


OrionX的GPU 热迁移技术在数据中心维护与升级中的应用,类似于VMware的vMotion技术,它允许在物理服务器之间无缝迁移虚拟机。


OrionX的GPU 热迁移也可以用在类似的场景,例如在GPU服务器维护时,无需停机即可迁移正在运行的AI任务,从而实现硬件的平滑过渡。推荐采取CPU和GPU混合部署,GPU集中管理和使用的部署架构更利于对GPU资源的维护与升级。


GPU负载均衡与资源优化


随着AI模型和算法的不断演进,对GPU资源的需求将变得更加多样化。在数据中心环境中,GPU 热迁移技术使得资源分配更加智能和动态。


当某个节点的GPU资源过载时,OrionX能够自动将部分任务迁移到其他节点,实现负载均衡(当前发布版本仍为手动)。这种智能调度机制,确保了数据中心的高效运行和资源的最大化利用,同时保障业务稳定性和可靠性。


故障恢复与业务连续性


在硬件故障或维护期间,GPU 热迁移技术能够确保关键业务的连续性。OrionX能够在检测到硬件问题时,迅速将任务迁移到健康的GPU上,从而避免了服务中断,保障了业务的稳定运行。当然,意外的Down机,势必会影响到业务,通过kubernetes的自动重启机制,使得业务能够选择健康状态的GPU进行重新运行。


03

GPU热迁移技术的限制

尽管GPU热迁移技术提供了显著的优势,但它也存在一些限制。例如:


· 迁移时间:迁移时长可能会受到当前使用GPU显存大小的影响,尤其是在跨节点迁移时。


· 网络依赖:跨节点迁移依赖于网络质量,RDMA网络虽然提供了低延迟和高带宽,但在网络不稳定或带宽受限的环境中,迁移性能可能会受到影响。


· 兼容性问题:不同GPU架构之间的兼容性问题可能会限制热迁移的应用范围,尤其是在混合使用多种GPU设备的环境中。当前版本仅支持同型号的GPU进行迁移。


OrionX在GPU热迁移前会做环境检查,符合条件后才启动热迁移,由于意外原因导致迁移不成功会自动回退,对业务不造成影响。


04

OrionX的技术与实践

OrionX之所以能够实现GPU热迁移,关键在于其独特的client-server架构。


在迁移过程中,OrionX能够监控GPU卡的状态,并在必要时触发迁移流程。GPU端的进程可以在迁移过程中实现断点、存盘和恢复,确保了迁移的平滑进行。在开发场景中,长时间未访问设备时,系统会自动释放资源,保存 Server 端的上下文和数据,并在 Client 端存储。当用户重新操作设备时,触发恢复流程,Client 端重新申请资源,恢复保存的上下文和数据至新分配。恢复完成后,用户程序继续执行。


国金证券,作为一家历史悠久的综合性证券公司,自1990年在上海成立以来,一直以其全面的金融服务在业界享有盛誉。公司业务涵盖证券交易、投资银行、资产管理以及财富管理等多个领域。国金证券凭借其专业的服务品质、稳健的风险控制体系以及卓越的客户服务,成功在市场中树立了良好的品牌形象。在信息技术领域,国金证券积极拥抱人工智能技术,深知GPU系统的稳定性和可靠性对于核心业务的重要性。在初期选择GPU资源池化方案时,OrionX的热迁移功能成为了国金证券关键考量因素。这一功能不仅提升了多业务共享GPU时的资源利用率,还有效避免了集中风险。


通过OrionX的热迁移能力,国金证券能根据业务需求和系统状况,灵活地在线调整GPU资源配置,确保了系统的灵活性和可靠性,进而为券商业务的高效运行提供了坚实保障。


05

未来展望

随着技术的不断进步,OrionX的GPU 热迁移技术有望实现更广泛的应用。例如,它可能会与机器学习算法相结合,实现更加智能的资源预测和调度。同时,随着云计算和边缘计算的发展,尤其是长距离RoCE的落地,也会实现跨数据中心的池化和热迁移(类似MetroCluster的解决方案)。


当然,在大模型的场景中,会涉及到数百,上千卡的分布式训练,如何允许其中某些故障预警的卡进行热迁移,也是正在研究的课题。总之,这项技术的出现将有利于解决现实中关于GPU卡资源管理的很多挑战。