当前位置: 首页 > news >正文

GPU从虚拟化迈向池化:趋动OrionX产品的创新之路

引言 /

随着人工智能(AI)和机器学习(ML)技术的飞速发展,图形处理单元(GPU)已成为数据中心和云计算环境中的关键资源。GPU的并行处理能力使其成为执行复杂计算任务的理想选择。

然而,随着计算需求的增长,传统的GPU虚拟化技术面临着资源利用率低、性能损耗和管理复杂性等挑战。在这样的背景下,GPU资源池化应运而生,旨在通过更高效、灵活的方式管理和调度GPU资源。趋动科技的OrionX产品正是这一创新之路上的领航者。

01

GPU虚拟化技术的局限性

GPU虚拟化技术通过将物理GPU资源分割成多个虚拟GPU(vGPUs),使得多个用户和应用能够共享同一块物理GPU。这种资源共享的方法虽然在多用户环境和云计算平台中提供了便利,但它也带来了一系列的局限性和挑战。

1) 单点故障问题

在传统的GPU虚拟化方案中,虽然多个vGPUs可以共享一块物理GPU,但如果物理GPU发生故障,所有依赖于该物理GPU的vGPUs都会受到影响,导致服务中断。这种单点故障问题在关键任务和高可用性要求的环境中尤为突出。物理GPU的故障可能由多种原因引起,包括硬件故障、驱动问题或环境因素等,而一旦发生,所有虚拟化出的vGPUs都将失去计算能力,直到物理GPU被修复或替换。

2) 静态资源分配

GPU虚拟化通常采用静态资源分配的方式,即将物理GPU的资源(如计算核心、显存等)按照固定比例划分给不同的vGPUs。这种静态分配方式缺乏灵活性,无法根据实际的工作负载动态调整资源分配。例如,如果某个vGPU的实际计算需求突然增加,而其他vGPUs的资源未被充分利用,系统也无法将闲置资源重新分配给需求较高的vGPU,从而导致资源浪费和性能瓶颈。

3) CPU内存与GPU配比难题

在虚拟化环境中,物理服务器的资源(CPU核心数、内存大小、GPU算力)需要在多个虚拟机或容器之间进行分配。理想的配比取决于每个虚拟机或容器的特定需求,这些需求可能随着应用类型、工作负载和用户行为的变化而变化。例如,某些应用可能对GPU的依赖性更强,而其他应用则可能需要更多的CPU核心和内存。传统的GPU虚拟化技术缺乏动态调整资源配比的能力,导致资源分配不够灵活,无法适应这些变化的需求。

4) 虚拟化环境的限制

GPU虚拟化技术可以应用于容器和虚拟机等不同的虚拟化环境中。在容器环境中,虽然可以实现轻量级的资源共享,但容器之间可能存在资源争抢的问题,尤其是在资源紧张的情况下。而在虚拟机环境中,虚拟化层的引入可能会增加额外的开销,影响GPU的性能。此外,虚拟机迁移功能虽然可以缓解单点故障问题,但在GPU资源的迁移和恢复过程中可能会遇到兼容性和性能问题。

02

OrionX:GPU池化的领航者

OrionX,作为趋动科技推出的革命性AI算力资源池化解决方案,通过软件定义的创新方式,彻底改变了AI应用与物理GPU的传统直接调用模式。该产品的核心优势在于其能够将物理GPU资源进行有效抽象,构建起一个覆盖整个数据中心的GPU资源池。这使得各类需要GPU算力的任务能够依据实际需求,动态地申请和释放资源,实现了资源的最优配置和位置的无关性。这一突破性的方法显著提升了GPU的资源利用率,简化了管理流程,并显著增强了整体计算性能。

OrionX自2019年问世以来,便在GPU资源池化领域中占据了领先地位。同年,VMware完成了对Bitfusion的收购,而学术界也有如rCUDA这样的研究项目,尽管它是一个闭源软件,且主要支持CUDA 8.0版本,多年来未有更新,仅限于试用而非商业用途。

趋动科技的OrionX采用了先进的GPU Over IP/IB技术,推动了GPU虚拟化向资源池化的重要转变。在全球多数厂商仍在探索容器级别GPU共享技术(第二阶段)时,OrionX已经迈向了第五阶段的成熟应用。在这一阶段,OrionX不仅集成了前述各阶段的功能,还实现了软件定义的AI算力,支持虚拟机、容器、网络调用等多种模式,具备完善的数据面和控制面,以及对多种AI芯片的池化支持。此外,OrionX还引入了热迁移、任务调度、优先级设置、算力弹性伸缩和自定义算力等高级功能,彻底解决了传统GPU虚拟化所面临的诸多限制。

图片

图1.AI算力池化发展阶段

趋动科技不只是GPU资源池化的行业先驱,更是“GPU池化”这一术语的定义者。2022年8月,趋动科技联合CCF共同在《中国计算机通讯》发布了“GPU池化”术语的官方定义,进一步巩固了其在该领域的权威地位。

03

GPU池化的实际效益

OrionX的GPU资源池化技术为企业带来了一系列显著的效益。经过三年多的实际应用场景验证,我们观察到以下几点显著的改进:

首先,动态资源分配功能使企业能够根据实时计算需求灵活调整GPU资源配置,有效减少资源闲置和浪费,显著提升了资源利用率。具体而言,算力效率实现了4倍增长,硬件投资减少了55%,同时,这也带来了碳排放的大幅下降,减少了约42.8%,体现了企业对社会责任的积极承担。

其次,OrionX对多租户环境的支持允许不同团队或项目在同一GPU资源池中高效共享资源,而不会相互影响。这种设置实际上为每个团队提供了更为充裕的算力资源,配合灵活的资源使用和释放机制,极大地提升了开发效率,实现了人员效率的翻倍增长。

最后,OrionX的全局管理和调度功能为运维团队提供了强大的监控和资源优化工具,使得资源分配策略更加科学和高效,显著提升了运维及管理的整体效率。

简言之,OrionX的GPU资源池化技术不仅在经济效益上为企业带来了显著的节约,同时也在环境和人效物效管理方面发挥了积极作用。

图片

图2. 算力池化技术的核心收益

04

技术架构:OrionX的工作原理

OrionX的工作原理基于先进的软件定义技术。

它通过创建一个虚拟化的GPU资源层,将物理GPU与AI应用解耦。在这个资源层中,OrionX可以根据任务的需求动态地分配和回收GPU资源。这种动态分配不仅包括算力,还包括显存和其他相关资源。OrionX还支持通过TCP/IP或InfiniBand网络实现远程GPU访问,这意味着GPU资源可以在数据中心的任何位置被调用,就像本地资源一样。

图片

图3. 软件定义AI算力架构图

在控制层面,OrionX不仅涵盖了配置、监控、告警、升级等基础运维管理功能,还引入了一系列高级特性,包括但不限于调度策略、热迁移、算力的弹性扩缩容、任务队列管理、优先级设置以及资源抢占机制。这些高级特性的集成,为OrionX在企业级数据中心的部署和运维提供了坚实的基础,确保了系统的高效运行和灵活管理。

05

行业展望:GPU池化的未来

GPU资源池化技术预示着智算中心资源管理的未来方向。随着AI和ML应用的不断增长,对GPU资源的需求将变得更加动态和不可预测。OrionX的GPU池化技术不仅能够满足当前的需求,还能够适应未来的变化。通过持续的技术创新,OrionX有望推动智算中心AI算力资源管理向更高的效率和灵活性迈进。

/结语 /

OrionX产品的推出标志着GPU资源管理从虚拟化向池化的重要转变。通过提供高效、灵活的GPU资源池化解决方案,OrionX不仅提高了资源利用率和计算性能,还为企业的AI创新和业务发展提供了强有力的支持。随着技术的不断进步,OrionX将继续在推动企业数字化转型和智能化升级的道路上发挥关键作用。

相关文章:

  • 安全点安全区的通俗理解
  • 【C语言】strcmp 的使⽤和模拟实现
  • Spring高级面试题-2024
  • 政安晨:【深度学习实践】【使用 TensorFlow 和 Keras 为结构化数据构建和训练神经网络】(五)—— Dropout和批归一化
  • Ipython与Jupyter之间的关系
  • 红外遥控器的使用和详细解释
  • C语言牛客网BC-37 牛牛的圆(求面积)
  • 信号处理--基于FBCSP滤波方法的运动想象分类
  • 4.Python数据分析—数据分析入门知识图谱索引(知识体系下篇)
  • vue+Echarts实现多设备状态甘特图
  • canvas画带透明度的直线和涂鸦
  • MySQL学习笔记------DCL
  • C++实现FFmpeg音视频实时拉流并播放
  • 如何在服务器上传/下载文件
  • 【Postman如何进行接口测试简单详细操作实例】
  • [LeetCode] Wiggle Sort
  • ECS应用管理最佳实践
  • JS数组方法汇总
  • js作用域和this的理解
  • Laravel 中的一个后期静态绑定
  • NSTimer学习笔记
  • PHP CLI应用的调试原理
  • React Native移动开发实战-3-实现页面间的数据传递
  • React的组件模式
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Vim 折腾记
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 从0到1:PostCSS 插件开发最佳实践
  • 判断客户端类型,Android,iOS,PC
  • 阿里云服务器如何修改远程端口?
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • $.each()与$(selector).each()
  • (java)关于Thread的挂起和恢复
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (四)Controller接口控制器详解(三)
  • (五)c52学习之旅-静态数码管
  • (一)插入排序
  • (原)本想说脏话,奈何已放下
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .NET连接数据库方式
  • .NET运行机制
  • ??如何把JavaScript脚本中的参数传到java代码段中
  • [].slice.call()将类数组转化为真正的数组
  • [100天算法】-实现 strStr()(day 52)
  • [20161214]如何确定dbid.txt
  • [AI]文心一言出圈的同时,NLP处理下的ChatGPT-4.5最新资讯
  • [AIGC] 开源流程引擎哪个好,如何选型?
  • [ai笔记3] ai春晚观后感-谈谈ai与艺术