在当今科技飞速发展的时代,GPU在众多领域尤其是人工智能和高性能计算中扮演着至关重要的角色。对于任何GPU用户来说,GPU资源都不可能是无限供应的,如何高效地调用和管理GPU资源是每个用户都需要认真对待和解决的现实问题。对GPU管理的理念、技术手段的不同,会给用户带来迥异的使用体验,资源使用效率会直接影响到用户的业务开发进度,并进一步在市场竞争中的体现出是否能获得先手优势的区别。
行业传统GPU管理模式及挑战
在传统的GPU管理模式中,行业内大部分做法是从CPU扩展支持GPU,即将GPU的驱动直接插入容器虚机或裸金属环境。这种做法导致GPU与CPU环境紧密绑定,形成了一种相对僵死的结构。
最突出的是GPU与CPU环境的紧密绑定。这意味着在调度GPU资源时,只能按照固定的搭配进行,缺乏灵活性。例如,在一台主机上插了特定数量的GPU卡后,这些卡只能按照主机的既定配置进行调度,无法根据实际需求灵活分配给不同的任务或用户这种缺乏灵活性的管理方式在面对复杂多变的AI计算任务时,显得力不从心,尤其是在面对复杂多变的AI计算任务时,不同的AI应用对GPU资源的需求在时间和数量上都存在差异,传统模式难以满足这种动态变化的需求,从而限制了GPU资源的有效利用。
博云的GPU管理理念
博云公司对GPU管理有着独特的理念,其核心是追求高效、灵活和独立的管理方式,以充分释放GPU的计算潜力。
(一)分离式管理理念
博云认为GPU和CPU在功能和计算特性上存在明显差异,因此应将它们视为相对独立的资源进行管理。这种分离式管理理念旨在打破传统模式下GPU与CPU的紧密绑定,实现各自资源的优化配置。通过为GPU设立专门的管理组件,类似于为存储设立独立的管理模块,博云使得GPU能够独立于CPU进行资源池化和调度操作。
(二)动态资源调配理念
博云强调根据实际计算需求动态调配GPU资源。在不同的AI应用场景下,计算任务对GPU的需求是不同的。博云的管理理念注重实时监测和分析这些需求,然后根据需求的变化及时调整GPU资源的分配。这种动态调配理念能够确保GPU资源始终被高效利用,避免资源闲置或浪费的情况发生。

博云的GPU管理技术手段
(一)分离式管理架构的实现
为了实现分离式管理理念,博云采用了一种创新的技术架构。一方面,通过容器管理CPU环境,确保CPU资源的有效利用和灵活调度。容器技术能够将CPU资源进行隔离和分配,使得不同的任务可以在相对独立的环境中运行,提高了CPU资源的利用率和灵活性。
另一方面,在AIOS中设置专门的GPU组件。这个GPU组件负责管理GPU的各种资源,包括GPU卡的调度、内存分配等。通过这种方式,实现了CPU管CPU,GPU管GPU的独立管理模式。在进行资源池化操作时,例如,可以单独对GPU卡做池子,使得GPU资源的调度更加灵活。这种分离式管理架构有效地解决了传统模式下GPU与CPU绑定导致的调度不灵活问题。
(二)远程调用技术的应用(本地无卡模式)
除了分离式管理架构,博云还应用了远程调用技术来进一步优化GPU资源的管理。即使一台机器本身没有GPU,博云也可以通过在该机器上放置一个agent驱动来实现GPU资源的使用。
这种远程调用技术类似于网络存储中的远程访问机制。通过agent驱动,机器可以与远程的GPU资源建立连接,就像使用本地GPU一样使用远程资源。而且,这种方式不限制是使用一张卡还是多张卡,后端有专门的机群负责调度这些资源。在一个集群环境中,即使某些节点没有配备GPU,也能充分利用其他节点上的GPU资源,提高了整个集群的计算效率和资源利用率。
博云GPU管理的优势体现
(一)资源利用效率提升
博云的GPU管理方式通过分离式管理架构和动态资源调配理念,实现了GPU资源的高效利用。分离式管理架构使得GPU和CPU能够独立地进行资源池化和调度,避免了因绑定而导致的资源闲置或浪费。动态资源调配理念则确保了根据实际需求及时调整GPU资源分配,使得高优先级任务能够及时获得足够的计算资源。

例,某客户在采用博云方案之前,整体GPU利用率平均为15%左右,使用博云方案后,GPU利用率提升为60%,相当之前的4倍。
例如,在处理多个不同优先级的AI任务时,博云可以根据任务的需求灵活分配GPU资源,确保高优先级任务优先获得资源,提高了整个系统的计算效率。同时,远程调用技术进一步扩大了资源的利用范围,使得集群中的所有节点都能共享GPU资源,提高了资源的整体利用率。
(二)灵活性和适应性增强
博云的GPU管理系统具有很强的灵活性和适应性。分离式管理架构可以根据应用的特点和硬件资源的分布情况,灵活调整GPU和CPU的资源分配策略。无论是面对不同类型的AI应用,如深度学习中的卷积神经网络计算、自然语言处理等,还是在不同的硬件配置环境下,博云的系统都能很好地适应。
远程调用技术则可以在硬件资源不足的情况下,通过利用远程资源来满足应用的需求,使得系统能够在复杂多变的环境中保持良好的性能。这种灵活性和适应性使得博云的GPU管理系统能够更好地满足用户的需求,提高用户满意度。
(三)技术兼容性优势
博云在GPU管理方面的技术还具有良好的兼容性。它通过对GPU里的API(约3000多个算子)进行兼容处理,实现了对不同类型GPU的支持。无论是英伟达的GPU还是国产化的GPU,博云系统都能很好地兼容。目前博云支持英伟达全系列GPU,如V100、A100、H100、A800、H800、A40、A30、A10、T4、4090、3090、2080等,华为910A,910B1,910B2,曙光Z100,Z100L、K100,寒武纪MLU370-X8,天数天垓100,登临Goldwasser L256。
注:
算子(Operator)是指在GPU计算中一个个的函数。这些函数代表了特定的数学算法或操作。例如,像负例的变换、卷积等操作,每一种都对应一个算子。
算子是GPU进行计算的基本单元。由于GPU适合大规模并行计算,它以矩阵形式进行计算,而算子就是用来操作这些矩阵中的数据的。不同的算子实现不同的数学运算,通过组合这些算子,可以完成复杂的计算任务,如在卷积神经网络的计算中,需要用到多个不同的算子来处理图像数据等。
这种兼容性优势使得博云的技术能够在更广泛的形式上应用,为用户提供了更多的选择余地,同时也有利于整合不同的GPU资源,提高了系统的通用性和可扩展性。
什么样的企业需要这样的管理方案?
博云公司对GPU管理有着深刻的理解和独特的技术手段。其分离式管理理念和动态资源调配理念,以及相应的技术架构和远程调用技术,有效地解决了传统GPU管理方式中存在的问题,提高了资源利用效率、灵活性和适应性,同时具备良好的兼容性。这些优势使得博云在GPU管理领域具有很强的竞争力。以下几种类似数据中心运营模式或对计算资源有特定需求的企业适合采用博云这样的GPU管理方案:
1.大型云计算服务提供商
资源池化与多租户需求
这类企业运营大规模的数据中心,为众多客户提供云计算服务。博云的GPU管理方案能够实现高效的资源池化,将大量的GPU资源整合起来,就像在数据中心中对服务器和存储资源进行池化管理一样。通过资源池化,可以根据不同租户的需求灵活分配GPU资源,满足多租户环境下多样化的计算需求。
成本管理与资源优化需求
云计算服务提供商需要在保证服务质量的同时,有效地控制成本。博云的GPU管理方案通过动态调配资源,避免了资源的闲置和浪费,提高了资源的利用率,从而有助于降低运营成本。例如,在租户需求低谷期,可以合理调整GPU资源的分配,减少不必要的能源消耗和设备磨损。
2.人工智能云服务平台企业
AI计算需求多样性
这些企业专注于为人工智能研发团队和企业提供云平台服务。不同的AI应用场景对GPU资源有不同的要求,如深度学习训练可能需要大量的显存和高带宽,而推理阶段可能更注重计算核心的性能。博云的GPU管理方案能够根据不同的AI计算需求动态分配资源,确保每个应用都能获得合适的GPU资源配置。
弹性计算需求
人工智能项目的计算需求往往具有弹性,可能在某些阶段需要大量的GPU资源进行集中训练,而在其他阶段则需求减少。博云的管理方案可以根据项目的进度和需求,快速调整GPU资源的分配,提供弹性的计算服务,满足人工智能云服务平台企业的业务特点。
3.超算中心运营企业
高性能计算任务管理需求
超算中心承担着各种高性能计算任务,如科学研究中的复杂模拟计算、工程设计中的大规模数据分析等。博云的GPU管理方案可以将GPU资源与超算中心的其他计算资源(如CPU、存储等)进行有效的整合和管理。通过合理的任务调度和资源分配,提高超算中心的整体计算效率,满足高性能计算任务对资源的严格要求。
技术兼容性与扩展性需求超算中心需要不断更新和扩展其计算资源,以适应不断发展的科学研究和工程应用需求。博云的GPU管理方案具有良好的技术兼容性,能够支持不同类型的GPU以及与现有计算资源的集成。同时,其灵活的架构也便于超算中心进行资源的扩展和升级,确保超算中心的持续发展。
4.企业内部数据中心(有AI和高性能计算需求)
内部应用多样性需求
一些大型企业内部设有数据中心,用于支持企业内部的各种应用,如研发部门的AI项目、金融部门的数据分析、设计部门的图形处理等。博云的GPU管理方案可以根据企业内部不同部门和应用的需求,灵活分配GPU资源,提高企业内部数据中心的资源利用率和应用服务质量。
集中管理与成本控制需求
企业内部数据中心需要进行集中管理,以确保数据安全和资源合理利用。博云的管理方案提供了统一的管理平台,可以方便企业对GPU资源进行监控、调配和管理。同时,通过优化资源分配,减少资源浪费,帮助企业控制运营成本。