CN111611078A - 一种基于OpenStack架构的GPU云服务器实现方法 - Google Patents

一种基于OpenStack架构的GPU云服务器实现方法 Download PDF

Info

Publication number
CN111611078A
CN111611078A CN202010438739.6A CN202010438739A CN111611078A CN 111611078 A CN111611078 A CN 111611078A CN 202010438739 A CN202010438739 A CN 202010438739A CN 111611078 A CN111611078 A CN 111611078A
Authority
CN
China
Prior art keywords
gpu
configuring
openstack
card
pci
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010438739.6A
Other languages
English (en)
Inventor
张晓玉
高传集
于昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Huimao Electronic Port Co Ltd
Original Assignee
Shandong Huimao Electronic Port Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Huimao Electronic Port Co Ltd filed Critical Shandong Huimao Electronic Port Co Ltd
Priority to CN202010438739.6A priority Critical patent/CN111611078A/zh
Publication of CN111611078A publication Critical patent/CN111611078A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种基于OpenStack架构的GPU云服务器实现方法,属于云计算技术领域,首先选择资源特定配置的GPU物理机,把GPU物理机上架到OpenStack的计算节点,并按照GPU卡配置GPU物理机对应的主机聚合和云主机规格Flavor,然后配置OpenStack的调度算法、控制节点和计算节点来满足GPU卡透传(passthrough)给虚拟机即GPU云服务器,GPU云服务器通过PCI的热插拔技术实现GPU卡在同一GPU物理机上云服务器之间的挂载和卸载。

Description

一种基于OpenStack架构的GPU云服务器实现方法
技术领域
本发明涉及云计算技术,尤其涉及一种基于OpenStack架构的GPU云服务器实现方法。
背景技术
30年来,CPU性能的变化从未脱离摩尔定律。但是CPU性能的提升已经放缓,GPU计算定义了一种全新的超负荷定律。它始于高度专业化的并行处理器,通过系统设计、系统软件、算法以及优化应用程序的方式持续发展,尤其适用于日益增长的人工智能、HPC以及图形图像处理等应用场景的算力需求。
裸金属形式的GPU云物理主机能提供“一机多卡”或“多机多卡”的算力。但是部分用户,多张GPU卡超出了用户的算力需求,用户需要更细颗粒度的GPU算力,例如1张GPU卡。所以,需要将宿主机中的GPU卡虚拟化后分配给用户云服务器,而单独的云服务器并不能满足日益增长的人工智能、HPC以及图形图像处理等应用场景的算力。
发明内容
为了解决以上技术问题,本发明提供了一种基于OpenStack架构的GPU云服务器实现方法,通过OpenStack平台把物理GPU卡透传给云服务器,解决了上面存在的问题。
本发明的技术方案是:
一种基于OpenStack架构的GPU云服务器实现方法,包括如下步骤:
1)选择规定资源比例的GPU物理服务器;
2)配置GPU卡透传所需要的环境;
3)通过OpenStack接口创建的GPU服务器。
进一步的,
所述步骤2)具体包括:
2.1)配置OpenStack环境,设置OpenStack控制节点和计算节点,使其能满足GPU卡能够透传给虚拟机;
2.2)配置GPU物理服务器环境,开启硬件虚拟化功能,配置VFIO,将GPU卡绑定到VFIO。
所述步骤4)包括GPU卡的挂载和卸载。
第一方面,创建的云服务器规格内的GPU,VCPU,内存,存储最大值或者多种规格相加的资源值都不能超过此选择的GPU物理服务器的资源,并留出部分CPU、内存和存储资源用于管理。
第二方面,GPU物理服务器配置首先需要把GPU物理服务器硬件的辅助虚拟化功能开启,再确认PCI设备(GPU卡)驱动信息并从host默认驱动程序中解绑,并把默认的OpenStack驱动nouveau加入到黑名单中,并设置VFIO并隔离用于直通的GPU,并将GPU卡绑定到VFIO;其中OpenStack配置的方法,首先配置控制节点的默认配置文件开启PCI直通过滤器,并配置PCI别名(alias)来区分GPU卡信息,再配置计算节点把GPU卡信息添加到透传白名单(passthrough_whitelist)和设置卡信息到别名(alias),并把主机过滤器的权重只设置为PCI。
第三方面,主机聚合设置为将GPU物理服务器的主机聚合按照服务类型和GPU卡的信息设置添加标签;其中设置规格Flavor的方法包括设置Flavor的名称按照服务类型-CPU内存存储和显卡信息,并设置Flavor额外配置添加PCI透传的显卡信息和数量和服务类型标签和主机聚合一样。
本发明的有益效果是
本发明采用了OpenStack架构的内GPU卡的直通方式给云服务器的方法,减少了GPU物理服务器的资源浪费和云服务器算力不足的问题,同时采用了主机聚合分类的方法,能更好的管理机器和优化机器的调度算法。
附图说明
图1是本发明总的流程图;
图2是根据本发明创建GPU云服务内主机聚合和规格选择过滤机器的示意图;
图3是根据本发明GPU卡透传云服务器的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的一种基于OpenStack架构的GPU云服务器实现方法,通过OpenStack平台把物理GPU卡透传给云服务器,解决GPU云物理主机资源类型和云服务器算力不足的问题,并通过设置主机聚合和调度算法更好的管理机器和优化算法,提升系统性能。
本发明主要三部分组成,第一部分GPU物理服务器的选择和配置,第二部分Openstack的配置,第三部分GPU云服务器的创建及GPU卡的挂载和卸载。
参见图1,3,本发明方案第一部分实施方式如下::
1-1)GPU物理服务器的选择。提前定制好要创建的GPU云服务器的规格,按照创建GPU云服务器的最大规格或者资源相加满足一定条件的GPU物理服务器,需要满足现有GPU物理服务器的规格,且最大的规格不能超过GPU物理服务器的规格,创建多台的GPU云服务器的规格相加也不能超过GPU物理服务器的规格;
1-2)GPU物理服务器的配置。此时GPU物理服务器已经上架OpenStack计算节点,显卡驱动不需要安装,首先,BIOS中打开硬件辅助虚拟化功能,再进入系统,查看是否开启iommu(input/output memory management unit),iommu开启即对虚拟化的支持,如果没有开启,按照CPU平台配置开启iommu并进行更新,再修改内核模块文件添加pci_stub,vfio,vfio_pci内容,使列出的模块会在系统启动时自动加载,以免GPU卡透传失败,再添加OpenStack原生带有的GPU的驱动nouveau到黑名单中,再查看GPU卡的信息,看看卡是否已经被驱动绑定,如果被绑定需要对GPU卡进行解绑操作,全部解绑后引入VFIO用户态驱动框架,加载vfio、vfio-pci模块,加载完成后重启主机,再检查GPU是否在不同的IOMMU组中隔离,如果隔离说明GPU物理服务器的配置完成,否则检查上面步骤是否正切,配置完成后实现PCI设备在虚拟化场景透传。
参见图1,实施本发明方案第二部分,实施方式如下:
2-1)OpenStack控制节点的配置。编辑/etc/nova/nova.conf文件,配置PCIalias,其中alias内有vendor_id(厂商ID),product_id(产品ID,即卡的ID),name(设置卡透传的名称,本地方按照卡的厂商和卡的类型命名,如:NVIDIA_V100),device_type(设备类型,此处设置为type-PCI),重启nova-api服务;
2-2)OpenStack计算节点的配置。编辑/etc/nova/nova.conf文件,配置[PCI]模块,添加透传白名单passthrough_whitelist,其内属性有vendor_id,和product_id,按照卡的真实信息填写,并添加alias,内容和2-1)一样,重启nova-compute服务;
2-3)配置主机聚合和规格,把新加入的GPU物理服务器添加到主机聚合中,更新元数据添加SERVICE和PRODUCT,其中SERVICE对应的服务产品,PRODUCT对应的GPU卡信息,相同卡的GPU物理服务器在同一个组里,这样方便管理机器,规格Flavor内添加相同属性,并在Flavor添加元数据pci_passthrough:alias,其值为2-1alias中name:NUM,NUM为卡的数量。设置OpenStack权重为PCI。
参见图1,2,3,实施本发明方案第三部分,实施方式如下:
3-1创建GPU云服务器,按照上面配置完成后,调用OpenStack接口或者OpenStack命令创建GPU云服务器,选择2-3中创建GPU云服务器的规格Flavor,镜像选择满足卡支持的,创建过程中,主机选择机器到对应的主机聚合中,按照过滤条件Filters选出满足条件的机器,按照PCI权重选出满足的机器,按照权重最小选择出GPU物理服务器1,在GPU物理服务器1上创建GPU云服务器;
3-2GPU卡的绑定和解绑,GPU卡为PCI设置,PCI支持热插拔,按照PCI的热插拔技术使GPU能够绑定到GPU服务器和GPU云服务器对GPU卡的解绑,绑定时添加PCI bus信息到云服务器的配置文件中,解绑删除PCI bus信息。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (8)

1.一种基于OpenStack架构的GPU云服务器实现方法,其特征在于,包括如下步骤:
1)选择规定资源比例的GPU物理服务器;
2)配置GPU卡透传所需要的环境;
3)通过OpenStack接口创建的GPU服务器。
2.根据权利要求1所述的方法,其特征在于,
所述步骤2)具体包括:
2.1)配置OpenStack环境,设置OpenStack控制节点和计算节点,使其能满足GPU卡能够透传给虚拟机;
2.2)配置GPU物理服务器环境,开启硬件虚拟化功能,配置VFIO,将GPU卡绑定到VFIO。
3.根据权利要求1或2所述的方法,其特征在于,
所述步骤4)包括GPU卡的挂载和卸载。
4.根据权利要求3所述的方法,其特征在于,
首先选择资源特定配置的GPU物理机,把GPU物理机上架到OpenStack的计算节点,并按照GPU卡配置GPU物理机对应的主机聚合和云主机规格Flavor,然后配置OpenStack的调度算法、控制节点和计算节点来满足GPU卡透传给虚拟机即GPU云服务器,GPU云服务器通过PCI的热插拔技术实现GPU卡在同一GPU物理机上云服务器之间的挂载和卸载。
5.根据权利要求4所述的方法,其特征在于,
创建的云服务器规格内的GPU,VCPU,内存,存储最大值或者一种以上规格相加的资源值都不能超过此选择的GPU物理服务器的资源,并留出用于管理的CPU、内存和存储资源。
6.根据权利要求4或5所述的方法,其特征在于,
配置GPU物理服务器首先需要把GPU物理服务器硬件的辅助虚拟化功能开启,再确认PCI设备驱动信息并从host默认驱动程序中解绑,并把默认的OpenStack驱动nouveau加入到黑名单中,并设置VFIO并隔离用于直通的GPU,并将GPU卡绑定到VFIO。
7.根据权利要求4所述的方法,其特征在于,
配置OpenStack,首先配置控制节点的默认配置文件开启PCI直通过滤器,并配置PCI别名来区分GPU卡信息,再配置计算节点把GPU卡信息添加到透传白名单和设置卡信息到别名,并把主机过滤器的权重只设置为PCI。
8.根据权利要求4所述的方法,其特征在于,
配置主机聚合和规格Flavor,其中主机聚合设置为将GPU物理服务器的主机聚合按照服务类型和GPU卡的信息设置添加标签;其中设置规格Flavor的方法包括设置Flavor的名称按照服务类型-CPU内存存储和显卡信息,并设置Flavor额外配置添加PCI透传的显卡信息和数量和服务类型标签和主机聚合一样。
CN202010438739.6A 2020-05-22 2020-05-22 一种基于OpenStack架构的GPU云服务器实现方法 Pending CN111611078A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010438739.6A CN111611078A (zh) 2020-05-22 2020-05-22 一种基于OpenStack架构的GPU云服务器实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010438739.6A CN111611078A (zh) 2020-05-22 2020-05-22 一种基于OpenStack架构的GPU云服务器实现方法

Publications (1)

Publication Number Publication Date
CN111611078A true CN111611078A (zh) 2020-09-01

Family

ID=72202267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010438739.6A Pending CN111611078A (zh) 2020-05-22 2020-05-22 一种基于OpenStack架构的GPU云服务器实现方法

Country Status (1)

Country Link
CN (1) CN111611078A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667347A (zh) * 2020-09-24 2021-04-16 紫光云技术有限公司 一种公有云场景下gpu透传给云主机使用的方法
CN113111025A (zh) * 2021-06-10 2021-07-13 深圳市科力锐科技有限公司 Pci设备映射方法、装置、设备及存储介质
CN114185689A (zh) * 2022-02-14 2022-03-15 四川大学 一种医学人工智能与高性能计算资源调度系统及调度方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708430A (zh) * 2016-11-30 2017-05-24 浪潮软件集团有限公司 一种云计算架构下的云硬盘实现方法
CN110727502A (zh) * 2019-10-17 2020-01-24 上海思询信息科技有限公司 一种基于平云台的gpu组件扩展应用方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708430A (zh) * 2016-11-30 2017-05-24 浪潮软件集团有限公司 一种云计算架构下的云硬盘实现方法
CN110727502A (zh) * 2019-10-17 2020-01-24 上海思询信息科技有限公司 一种基于平云台的gpu组件扩展应用方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
无: "原创|基于OpenStack云平台的GPU虚拟化透传技术", 《微信公众号"大快搜索"》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112667347A (zh) * 2020-09-24 2021-04-16 紫光云技术有限公司 一种公有云场景下gpu透传给云主机使用的方法
CN113111025A (zh) * 2021-06-10 2021-07-13 深圳市科力锐科技有限公司 Pci设备映射方法、装置、设备及存储介质
CN114185689A (zh) * 2022-02-14 2022-03-15 四川大学 一种医学人工智能与高性能计算资源调度系统及调度方法
CN114185689B (zh) * 2022-02-14 2022-04-26 四川大学 一种医学人工智能与高性能计算资源调度系统及调度方法

Similar Documents

Publication Publication Date Title
CN111611078A (zh) 一种基于OpenStack架构的GPU云服务器实现方法
CN110532098B (zh) 提供gpu服务的方法及系统
US9135050B2 (en) Extensible network configuration management
MX2008014244A (es) Conversion de maquinas a maquinas virtuales.
CN112486522A (zh) 含智能网卡OpenStack裸机的部署方法及装置
CN110046026A (zh) 云主机指定虚拟磁盘限速方法、计算设备及云平台
CN111209080A (zh) 一种图形处理器透传的方法
CN113127150A (zh) 云原生系统的快速部署方法、装置、电子设备和存储介质
CN113190282A (zh) 安卓运行环境构建的方法及装置
CN114461287A (zh) 操作系统启动方法、装置、电子设备和存储介质
CN111857961A (zh) 一种显卡透传方法、虚拟桌面管理系统及计算机设备
CN112559114A (zh) 虚拟机的生成方法和装置
CN114461380A (zh) 一种云桌面系统的虚拟硬件配置分配方法
CN116450046A (zh) 云盘实现方法、装置、智能网卡、服务器及存储介质
CN115857995A (zh) 一种用于互联设备升级的方法、介质及计算设备
CN114281442A (zh) 一种云桌面客户端及其方法
CN113296876B (zh) 虚拟机的设备直通方法、设备及存储介质
CN115150268A (zh) Kubernetes集群的网络配置方法、装置、及电子设备
CN111240800B (zh) 硬件加速设备挂载方法及云平台
CN114090329A (zh) 一种全卸载架构下的服务器重启方法及相关设备
CN113691465A (zh) 一种数据的传输方法、智能网卡、计算设备及存储介质
CN111399942A (zh) 网卡配置方法、网卡配置装置、网卡配置设备及存储介质
CN110704163A (zh) 一种服务器及其虚拟化存储方法和装置
CN116560803B (zh) 基于sr-iov的资源管理方法及相关装置
CN115794132A (zh) 操作系统部署方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200901

RJ01 Rejection of invention patent application after publication