CN110196750A - 一种设备的分配方法及其相关设备 - Google Patents

一种设备的分配方法及其相关设备 Download PDF

Info

Publication number
CN110196750A
CN110196750A CN201810160321.6A CN201810160321A CN110196750A CN 110196750 A CN110196750 A CN 110196750A CN 201810160321 A CN201810160321 A CN 201810160321A CN 110196750 A CN110196750 A CN 110196750A
Authority
CN
China
Prior art keywords
target
heterogeneous
equipment
service server
unit
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.)
Granted
Application number
CN201810160321.6A
Other languages
English (en)
Other versions
CN110196750B (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810160321.6A priority Critical patent/CN110196750B/zh
Publication of CN110196750A publication Critical patent/CN110196750A/zh
Application granted granted Critical
Publication of CN110196750B publication Critical patent/CN110196750B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种设备的分配方法及其相关设备,用于给虚拟机分配互联拓扑最优的异构设备组合,解决虚拟机中不同的异构设备组合性能差异较大的问题。本申请实施例方法包括:接收控制服务器发送的分配请求,所述分配请求为所述控制服务器根据用户的调用请求、所述业务服务器上的异构设备信息及所述业务服务器上异构设备的物理互联拓扑信息生成,所述分配请求指示物理互联拓扑路径最短的异构设备组合;根据所述分配请求确定目标异构设备;对所述目标异构设备进行虚拟化处理,得到目标虚拟设备;将所述目标虚拟设备分配给目标虚拟机,所述目标虚拟机根据所述调用请求确认。

Description

一种设备的分配方法及其相关设备
技术领域
本申请涉及通信领域,尤其涉及一种设备的分配方法及其相关设备。
背景技术
人工智能(artificial intelligence,AI)模型训练耗时长是当前深度学习的关键问题,增加图形处理器(Graphics Processing Unit,GPU)数量来并行计算是解决耗时的有效途径。例如,在国际商业机器公司(international business machines corporation,IBM)高性能计算服务器上,使用ResNet-101网络模型和ImageNet-22K数据集训练AI模型,需要16天时间;而使用2017年IBM发布可以支持256个GPU并行计算的深度学习库,训练只需7小时,大大缩短训练时长。另外,深度学习模型训练计算依赖前序计算结果,如图1所示,每个黑点代表在一个GPU上执行计算。由此可以看出,深度学习模型训练计算需要多GPU间大量通信。所以,在引入大量GPU并行计算后,多GPU间通信性能是AI模型训练的关键路径。
在虚拟机上提供AI云服务,需要通过虚拟化技术将物理机上的异构设备呈现为虚拟设备,并分配给虚拟机使用,为了提升异构设备间通信性能,现有技术普遍采用“感知设备的非一致存储访问结构(non-uniform memory access,NUMA)节点属性的虚拟设备分配技术”,即控制服务器会根据异构设备的NUMA节点属性给业务服务器上的虚拟机分配异构设备,如图2所示,控制服务器会分配同一中央处理器(central processing unit,CPU)下的GPU组合给业务服务器中的虚拟机,图中包括内存控制器中心(memory controller hub,MCH),MCH负责连接CPUH和快速外围组件互连(Peripheral Component InterconnectExpress,PCIe)总线;如表1所示,表1为图2系统框架图对应的不同两块GPU组合间的通信带宽,由表1可知,在相同NUMA节点下,GPU-0与GPU-3通信性能是19.63GB/s,GPU-0和GPU-1通信性能最好,达到25.27GB/s,相同NUMA节点下性能差距约为1.3倍。
表1:
GPU-0 GPU-1 GPU-2 GPU-3 GPU-4 GPU-5 GPU-6 GPU-7
GPU-0 X 24.91 18.22 19.38 14.20 12.36 8.83 11.05
GPU-1 25.27 X 19.63 19.63 9.95 15.24 13.50 14.74
GPU-2 19.63 19.61 X 25.27 11.96 16.11 13.73 15.18
GPU-3 19.63 19.62 25.30 X 13.87 16.76 13.68 15.69
GPU-4 15.20 9.93 11.93 13.83 X 25.30 19.63 19.62
GPU-5 12.59 15.41 16.19 17.12 25.28 X 19.62 19.63
GPU-6 9.29 13.52 13.55 13.61 19.68 19.67 X 25.30
GPU-7 11.10 15.11 15.16 15.60 19.67 19.67 25.31 X
根据表1可知,现有技术中,当给虚拟机分配不同GPU等异构设备组合时,异构设备组合间彼此通信性能可能并不一致,即使是分配相同NUMA节点下的GPU等异构设备,性能的差异也可能比较大,导致AI训练等依赖异构设备间通信的业务应用的性能存在较大波动。
发明内容
本申请实施例提供了一种设备的分配方法及其相关设备,用于给虚拟机分配互联拓扑最优的异构设备组合,解决虚拟机中不同的异构设备组合性能差异较大的问题,和在虚拟机内部构建出与物理拓扑一致的拓扑,使得虚拟机内部可以感知到异构设备真实的物理互联拓扑。
本申请实施例的第一方面提供了一种设备的分配方法,包括:业务服务器接收控制服务器发送的分配请求,其中,所述分配请求为所述控制服务器根据用户的调用请求、所述业务服务器上的异构设备信息及所述业务服务器上异构设备的物理互联拓扑信息生成,所述分配请求指示物理互联拓扑路径最短的异构设备组合;然后业务服务器根据所述分配请求确定目标异构设备;并对所述目标异构设备进行虚拟化处理,得到目标虚拟设备;最后将所述目标虚拟设备分配给目标虚拟机,所述目标虚拟机根据所述调用请求确认。本申请实施例中,业务服务器接收控制服务器发送的分配请求,根据该分配请求给虚拟机分配互联拓扑最优的异构设备组合,解决虚拟机中不同的异构设备组合性能差异较大的问题。
在一种可能的设计中,在本申请实施例第一方面的第一种实现方式中,所述接收所述控制服务器发送的分配请求之前,所述方法还包括:业务服务器向控制服务器发送所述异构设备信息及所述物理互联拓扑信息,使得所述控制服务器存储所述异构设备信息及所述物理互联拓扑信息。本实现方式中,说明了业务服务器向控制服务器发送分配请求之前的步骤,使得本申请实施例的流程更加完善。
在一种可能的设计中,在本申请实施例第一方面的第二种实现方式中,所述将所述目标虚拟设备分配给目标虚拟机之后,所述方法还包括:业务服务器向所述控制服务器发送分配结果,使得所述控制服务器保存所述分配结果并根据所述分配结果更新所述异构设备信息,其中,所述分配结果包括所述目标异构设备的状态信息。本实现方式中,当将目标虚拟设备分配给目标虚拟设备之后,还会将分配结果返回给控制服务器,使得控制服务器记录目标异构设备的状态。
在一种可能的设计中,在本申请实施例第一方面的第三种实现方式中,将所述目标虚拟设备分配给目标虚拟机之后,所述方法还包括:业务服务器接收所述控制服务器发送的释放请求,所述释放请求指示释放所述目标异构设备;然后根据所述释放请求确定所述目标异构设备;释放所述目标异构设备,得到释放结果;解除所述目标虚拟机与所述目标虚拟设备的分配关系;最后向所述控制服务器发送所述释放结果,使得所述控制服务器更新所述异构设备信息。本实现方式中,释放指定的异构设备,使得异构设备能够得到更好的利用。
在一种可能的设计中,在本申请实施例第一方面的第四种实现方式中,所述对所述目标异构设备进行虚拟化处理之后,所述方法还包括:业务服务器对所述目标异构设备间的互联设备进行虚拟化处理,得到虚拟互联设备;并根据所述目标异构设备间的物理拓扑关系、所述虚拟互联设备以及所述目标虚拟设备确定虚拟设备组合。本实现方式中,业务服务器还会对目标异构设备间的互联设备进行虚拟化处理,使得虚拟机内部可以构建出与物理拓扑一致的拓扑。
在一种可能的设计中,在本申请实施例第一方面的第五种实现方式中,所述将所述目标虚拟设备分配给目标虚拟机包括:将所述虚拟设备组合分配给所述目标虚拟机,使得所述目标虚拟机内部构建出与所述目标异构设备的物理拓扑一致的拓扑。本实现方式中,将虚拟设备组合分配给所述目标虚拟机,可以使得目标虚拟机内部可以感知到异构设备真实的物理互联拓扑。
在一种可能的设计中,在本申请实施例第一方面的第六种实现方式中,所述将所述虚拟设备组合分配给所述目标虚拟机之后,所述方法还包括:根据所述释放请求解除所述虚拟设备组合。本实现方式中,释放指定的虚拟设备组合,可以使得异构设备能够得到更好的利用。
在一种可能的设计中,在本申请实施例第一方面的第七种实现方式中,所述调用请求包括:需要调用的异构设备的类型、需要调用的异构设备的数量和需要调用的虚拟机信息。本实现方式中,介绍了调用请求里面包含的信息,使得本申请实施例更加具有可操作性。
本申请实施例的第二方面提供了一种设备的分配方法,包括:控制服务器获取用户的调用请求;然后根据所述调用请求、所述业务服务器上的异构设备信息及所述业务服务器上异构设备的物理互联拓扑信息生成分配请求,所述分配请求指示物理互联拓扑路径最短的异构设备组合;最后向所述业务服务器发送所述分配请求,使得所述业务服务器根据所述分配请求确定目标异构设备,并将所述目标异构设备进行虚拟化处理,得到目标虚拟设备,将所述目标虚拟设备分配给目标虚拟机。本实现方式中,本申请实施例中,控制服务器发送分配请求至业务服务器,然后业务服务器根据该分配请求给虚拟机分配互联拓扑最优的异构设备组合,解决虚拟机中不同的异构设备组合性能差异较大的问题。
在一种可能的设计中,在本申请实施例第二方面的第一种实现方式中,所述获取用户的调用请求之前,所述方法还包括:控制服务器获取业务服务器发送的所述异构设备信息及所述物理互联拓扑信息;并存储所述异构设备信息及所述物理互联拓扑信息;本实现方式中,存储异构设备信息及物理互联拓扑信息,可以使得控制服务器后续根据存储的信息有理地安排需要分配的异构设备。
在一种可能的设计中,在本申请实施例第二方面的第二种实现方式中,所述向所述业务服务器发送所述分配请求之后,所述方法还包括:控制服务器接收所述业务服务器发送的分配结果,所述分配结果包括所述目标异构设备的状态信息;然后保存所述分配结果;并根据所述分配结果更新所述异构设备信息。本实现方式中,控制服务器还会保存分配的结果,使得本申请实施例的步骤更加完善。
在一种可能的设计中,在本申请实施例第二方面的第三种实现方式中,所述向所述业务服务器发送所述分配请求之后,所述方法还包括:控制服务器接收用户发送的第一释放请求;根据所述第一释放请求以及所述分配结果确定所述目标异构设备,得到第二释放请求;向所述业务服务器发送所述第二释放请求,以使得所述业务服务器根据所述第二释放请求释放所述目标虚拟设备。本实现方式中,控制服务器向业务服务器下发释放请求,指定的目标异构设备得以释放,使得异构设备能够得到更好的利用。
在一种可能的设计中,在本申请实施例第二方面的第四种实现方式中,所述向所述业务服务器发送所述第二释放请求之后,所述方法还包括:控制服务器接收所述业务服务器发送的释放结果;并根据所述释放结果更新所述异构设备信息。本实现方式中,控制服务器会得知那些异构设备被释放了,可以使得控制服务器后续根据存储的释放结果有理地安排需要分配的异构设备。
在一种可能的设计中,在本申请实施例第二方面的第五种实现方式中,所述调用请求包括:需要调用的异构设备的类型、需要调用的异构设备的数量和需要调用的虚拟机信息。本实现方式中,介绍了调用请求里面包含的信息,使得本申请实施例更加具有可操作性。
本申请实施例的第三方面提供了一种设备的分配方法,包括:业务服务器对目标异构设备间的互联设备进行虚拟化处理,得到虚拟互联设备,所述目标异构设备为业务服务器为目标虚拟机分配的异构设备;然后根据所述目标异构设备间的物理拓扑关系、所述虚拟互联设备以及目标虚拟设备确定虚拟设备组合,所述目标虚拟设备为对所述目标异构设备进行虚拟化处理后的设备;并向所述目标虚拟机分配所述虚拟设备组合,使得所述目标虚拟机内部构建出与所述目标异构设备的物理拓扑一致的拓扑。
在一种可能的设计中,在本申请实施例第三方面的第一种实现方式中,所述根据所述目标异构设备间的物理拓扑关系、所述虚拟互联设备以及目标虚拟设备确定虚拟设备组合之前,所述方法还包括:业务服务器对所述目标虚拟设备进行虚拟化处理。本实现方式中,还需要对目标虚拟设备进行虚拟化处理,使得本申请实施例的步骤更加完善。
在一种可能的设计中,在本申请实施例第三方面的第二种实现方式中,所述向目标虚拟机分配所述虚拟设备组合之后,所述方法还包括:业务服务器接收控制服务器发送的释放请求,其中,所述释放请求请求释放所述虚拟设备组合;然后根据所述释放请求释放所述虚拟设备组合。本实现方式中,业务服务器会释放虚拟设备组合,可以使得异构设备能够得到更好的利用。
本申请实施例的第四方面提供了一种业务服务器,其特征在于,包括:第一接收单元,用于接收控制服务器发送的分配请求,所述分配请求为所述控制服务器根据用户的调用请求、所述业务服务器上的异构设备信息及所述业务服务器上异构设备的物理互联拓扑信息生成,所述分配请求指示物理互联拓扑路径最短的异构设备组合;第一确定单元,用于根据所述分配请求确定目标异构设备;第一处理单元,用于对所述目标异构设备进行虚拟化处理,得到目标虚拟设备;分配单元,用于将所述目标虚拟设备分配给目标虚拟机,所述目标虚拟机根据所述调用请求确认。本申请实施例中,业务服务器接收控制服务器发送的分配请求,根据该分配请求给虚拟机分配互联拓扑最优的异构设备组合,解决虚拟机中不同的异构设备组合性能差异较大的问题。
在一种可能的设计中,在本申请实施例第四方面的第一种实现方式中,所述业务服务器还包括:第一发送单元,用于向控制服务器发送所述异构设备信息及所述物理互联拓扑信息,使得所述控制服务器存储所述异构设备信息及所述物理互联拓扑信息。本实现方式中,说明了业务服务器向控制服务器发送分配请求之前的步骤,使得本申请实施例的流程更加完善。
在一种可能的设计中,在本申请实施例第四方面的第二种实现方式中,所述业务服务器还包括:第二发送单元,用于向所述控制服务器发送分配结果,使得所述控制服务器保存所述分配结果并根据所述分配结果更新所述异构设备信息,所述分配结果包括所述目标异构设备的状态信息。本实现方式中,当将目标虚拟设备分配给目标虚拟设备之后,还会将分配结果返回给控制服务器,使得控制服务器记录目标异构设备的状态。
在一种可能的设计中,在本申请实施例第四方面的第三种实现方式中,所述业务服务器还包括:第二接收单元,用于接收所述控制服务器发送的释放请求,所述释放请求指示释放所述目标异构设备;第二确定单元,用于根据所述释放请求确定所述目标异构设备;释放单元,用于释放所述目标异构设备,得到释放结果;第一解除单元,用于解除所述目标虚拟机与所述目标虚拟设备的分配关系;三发送单元,用于向所述控制服务器发送所述释放结果,使得所述控制服务器更新所述异构设备信息。本实现方式中,释放指定的异构设备,使得异构设备能够得到更好的利用。
在一种可能的设计中,在本申请实施例第四方面的第四种实现方式中,所述业务服务器还包括:第二处理单元,用于对所述目标异构设备间的互联设备进行虚拟化处理,得到虚拟互联设备;第三确定单元,用于根据所述目标异构设备间的物理拓扑关系、所述虚拟互联设备以及所述目标虚拟设备确定虚拟设备组合。本实现方式中,业务服务器还会对目标异构设备间的互联设备进行虚拟化处理,使得虚拟机内部可以构建出与物理拓扑一致的拓扑。
在一种可能的设计中,在本申请实施例第四方面的第五种实现方式中,所述分配单元还用于:将所述虚拟设备组合分配给所述目标虚拟机,使得所述目标虚拟机内部构建出与所述目标异构设备的物理拓扑一致的拓扑。本实现方式中,将虚拟设备组合分配给所述目标虚拟机,可以使得目标虚拟机内部可以感知到异构设备真实的物理互联拓扑。
在一种可能的设计中,在本申请实施例第四方面的第六种实现方式中,所述业务服务器还包括:第二解除单元,用于根据所述释放请求解除所述虚拟设备组合。本实现方式中,释放指定的虚拟设备组合,可以使得异构设备能够得到更好的利用。
在一种可能的设计中,在本申请实施例第四方面的第七种实现方式中,所述调用请求包括:需要调用的异构设备的类型、需要调用的异构设备的数量和需要调用的虚拟机信息。本实现方式中,介绍了调用请求里面包含的信息,使得本申请实施例更加具有可操作性。
本申请实施例的第五方面提供了一种控制服务器,其特征在于,包括:第一获取单元,用于获取用户的调用请求;生成单元,用于根据所述调用请求、所述业务服务器上的异构设备信息及所述业务服务器上异构设备的物理互联拓扑信息生成分配请求,所述分配请求指示物理互联拓扑路径最短的异构设备组合;第一发送单元,用于向所述业务服务器发送所述分配请求,使得所述业务服务器根据所述分配请求确定目标异构设备,并将所述目标异构设备进行虚拟化处理,得到目标虚拟设备,将所述目标虚拟设备分配给目标虚拟机。本实现方式中,本申请实施例中,控制服务器发送分配请求至业务服务器,然后业务服务器根据该分配请求给虚拟机分配互联拓扑最优的异构设备组合,解决虚拟机中不同的异构设备组合性能差异较大的问题。
在一种可能的设计中,在本申请实施例第五方面的第一种实现方式中,所述控制服务器还包括:第二获取单元,用于获取业务服务器发送的所述异构设备信息及所述物理互联拓扑信息;存储单元,用于存储所述异构设备信息及所述物理互联拓扑信息;本实现方式中,存储异构设备信息及物理互联拓扑信息,可以使得控制服务器后续根据存储的信息有理地安排需要分配的异构设备。
在一种可能的设计中,在本申请实施例第五方面的第二种实现方式中,所述控制服务器还包括:第一接收单元,用于接收所述业务服务器发送的分配结果,所述分配结果包括所述目标异构设备的状态信息;保存单元,用于保存所述分配结果;第一更新单元,用于根据所述分配结果更新所述异构设备信息。本实现方式中,控制服务器还会保存分配的结果,使得本申请实施例的步骤更加完善。
在一种可能的设计中,在本申请实施例第五方面的第三种实现方式中,所述控制服务器还包括:第二接收单元,用于接收用户发送的第一释放请求;确定单元,用于根据所述第一释放请求以及所述分配结果确定所述目标异构设备,得到第二释放请求;第二发送单元,用于向所述业务服务器发送所述第二释放请求,以使得所述业务服务器根据所述第二释放请求释放所述目标虚拟设备。本实现方式中,控制服务器向业务服务器下发释放请求,指定的目标异构设备得以释放,使得异构设备能够得到更好的利用。
在一种可能的设计中,在本申请实施例第五方面的第四种实现方式中,所述控制服务器还包括:第三接收单元,用于接收所述业务服务器发送的释放结果;第二更新单元,用于根据所述释放结果更新所述异构设备信息。本实现方式中,控制服务器会得知那些异构设备被释放了,可以使得控制服务器后续根据存储的释放结果有理地安排需要分配的异构设备。
在一种可能的设计中,在本申请实施例第五方面的第五种实现方式中,所述调用请求包括:需要调用的异构设备的类型、需要调用的异构设备的数量和需要调用的虚拟机信息。本实现方式中,介绍了调用请求里面包含的信息,使得本申请实施例更加具有可操作性。
本申请实施例的第六方面提供了一种业务服务器,包括:第一处理单元,用于对目标异构设备间的互联设备进行虚拟化处理,得到虚拟互联设备,所述目标异构设备为业务服务器为目标虚拟机分配的异构设备;确定单元,用于根据所述目标异构设备间的物理拓扑关系、所述虚拟互联设备以及目标虚拟设备确定虚拟设备组合,所述目标虚拟设备为对所述目标异构设备进行虚拟化处理后的设备;分配单元,用于向所述目标虚拟机分配所述虚拟设备组合,使得所述目标虚拟机内部构建出与所述目标异构设备的物理拓扑一致的拓扑。
在一种可能的设计中,在本申请实施例第六方面的第一种实现方式中,所述业务服务器还包括:第二处理单元,用于对所述目标虚拟设备进行虚拟化处理。本实现方式中,还需要对目标虚拟设备进行虚拟化处理,使得本申请实施例的步骤更加完善。
在一种可能的设计中,在本申请实施例第六方面的第二种实现方式中,所述业务服务器还包括:接收单元,用于接收控制服务器发送的释放请求,所述释放请求请求释放所述虚拟设备组合;释放单元,用于根据所述释放请求释放所述虚拟设备组合。本实现方式中,业务服务器会释放虚拟设备组合,可以使得异构设备能够得到更好的利用。
本申请的又一方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的又一方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,业务服务器会向控制服务器发送业务服务器上的异构设备信息及业务服务器上异构设备的物理互联拓扑信息,使得控制服务器存储异构设备信息及物理互联拓扑信息;接收控制服务器发送的分配请求,该分配请求为控制服务器根据用户的调用请求、异构设备信息和物理互联拓扑信息生成,该分配请求指示物理互联拓扑路径最短的异构设备组合;然后根据分配请求确定目标异构设备;对该目标异构设备进行虚拟化处理,得到目标虚拟设备;最后将该目标虚拟设备分配给目标虚拟机。本实施例中的业务服务器给虚拟机分配的异构设备为拓扑路径最短的异构设备组合,可以降低各个异构设备组合之间的差异,且分配的异构设备组合间通信性能最佳,避免AI训练等依赖异构设备间通信的业务应用的性能存在较大波动的问题。
附图说明
图1为现有技术中一种深度学习模型示意图;
图2为现有技术中业务服务器的一种结构示意图;
图3为本申请实施例提供的一种设备的分配方法所应用的系统架构的一个示意图;
图4为本申请实施例提供的一种设备的分配方法的一个流程示意图;
图5为本申请实施例提供的一种设备的分配方法的另一个流程示意图;
图6为本申请实施例提供的一种设备的分配方法的另一个流程示意图;
图7为本申请实施例提供的业务服务器的一种结构示意图;
图8为本申请实施例提供的业务服务器的另一种结构示意图;
图9为本申请实施例提供的控制服务器的一种结构示意图;
图10为本申请实施例提供的控制服务器的另一种结构示意图;
图11为本申请实施例提供的业务服务器的另一种结构示意图;
图12为本申请实施例提供的业务服务器的另一种结构示意图;
图13为本申请实施例提供的业务服务器的另一种结构示意图;
图14为本申请实施例提供的控制服务器的另一种结构示意图。
具体实施方式
本申请实施例提供了一种设备的分配方法及其相关设备,用于给虚拟机分配互联拓扑最优的异构设备组合,解决虚拟机中不同的异构设备组合性能差异较大的问题,和在虚拟机内部构建出与物理拓扑一致的拓扑,使得虚拟机内部可以感知到异构设备真实的物理互联拓扑。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请的产品实现形态,是包含在公有云基础设施即服务(infrastructure as aservice,IaaS)IaaS平台OpenStack虚拟化软件中,并部署在服务器硬件上的程序代码。
如图3所示,图3为本申请实施例中一种设备的分配方法所应用的系统架构的一个示意图,具体可以包括以下模块:客户端、集群设备管理模块、集群异构设备管理模块、单服务器设备管理模块、单服务器异构设备管理模块、设备虚拟化及分配模块;其中:
客户端:部署于控制服务器。用于接收用户的分配请求等信息。
集群异构设备管理模块:部署于控制服务器。管理所有业务服务器上的GPU等所有异构设备,并且负责向虚拟机(virtual machine,VM)分配GPU、可编辑门阵列(FieldProgrammable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)等异构设备。
单服务器异构设备管理模块:部署于业务服务器。负责给所属业务服务器上GPU、FPGA、DSP等异构设备的发现与分配。
设备虚拟化及分配模块:负责GPU、FPGA、DSP等异构设备的虚拟化,以及呈现给虚拟机相应的虚拟设备及其拓扑关系。
具体请参阅图4所示的实施例,图4为本申请实施例提供的一种设备的分配方法的一个流程示意图,本实施例提供的方案主要是解决了现有技术中业务服务器给虚拟机分配不同GPU等异构设备组合时,异构设备组合间彼此通信性能不一致,性能差异较大的问题:
401、业务服务器向控制服务器发送该业务服务器上的异构设备信息及该业务服务器上异构设备的物理互联拓扑信息。
本实施例中,业务服务器向控制服务器发送自身的异构设备信息以及内部异构设备的物理互联拓扑信息,其中,异构设备信息包括业务服务器内部异构设备的设备身份(identification,id)、该异构设备的使用状态信息等,异构设备的设备id包括该异构设备的厂商id、和设备的标识id,异构设备的使用状态信息包括该异构设备是否已经被分配的(即该异构设备是否空闲)的信息;异构设备的物理互联拓扑信息包括该业务服务器内部异构设备之间的真实互联信息。
需要说明的是,业务服务器可以在接收到控制服务器下发的异构设备上传指令之后,根据该指令发送上述的异构设备信息以及异构设备的物理互联拓扑信息给控制服务器,也可以周期性主动发送异构设备信息以及异构设备的物理互联拓扑信息给控制服务器,还可以在检测到业务服务器内部的异构设备数量或状态等发生变化时,向控制服务器发送异构设备信息以及异构设备的物理互联拓扑信息,具体发送条件具体此处不做限定。
其中,互联拓扑信息包括PCIe拓扑关系或NVLink拓扑关系。
402、控制服务器存储接收到的异构设备信息以及物理互联拓扑信息。
本实施例中,当控制服务器接收到业务服务器上报的异构设备信息以及物理互联拓扑信息之后,会将接收到的信息存储在与该业务服务器对应的存储空间中。
403、控制服务器接收用户发送的调用请求。
本实施例中,当用户想调用业务服务器上的异构设备并将该异构设备分配给虚拟机时,会通过控制服务器上的客户端给控制服务器发送调用请求,该调用请求用于给业务服务器上的虚拟机申请异构设备,其中,该调用请求包括需要调用的异构设备的类型、对应类型的异构设备的数量信息以及目标虚拟机信息,其中目标虚拟机为需要被分配虚拟设备的虚拟机。
404、控制服务器根据调用请求、异构设备信息以及物理互联拓扑信息生成分配请求。
本实施例中,当控制服务器接收到用户发送的调用请求之后,会根据该调用请求以及预先存储的异构设备信息以及物理互联拓扑信息生成分配请求,其中,该分配请求指示物理互联拓扑路径最短的异构设备组合,拓扑路径最短说明异构设备组合之间的带宽最好,通信能力最优;
其中,确定物理互联拓扑路径最短的异构设备组合的一个具体实施例为:
(1)控制服务器根据用户的调用请求确定需要调用的异构设备型号(本身实施例中包括厂商id-0x10de以及设备id-0x1023(NVIDIA GPU K40)),异构设备数量(本实施例中异构设备数量为2,实际应用中可以调度2个或两个以上的异构设备);
(2)控制服务器根据预置的异构设备信息调度至少具有2块空闲NVIDIA K40GPU的业务服务器,根据预置的异构设备的物理互联拓扑信息计算拓扑路径最短的异构设备组合;
其中,计算拓扑路径最短的异构设备组合具体包括:
(2.1)逐一遍历每个空闲GPU叶子节点,计算其与其它空闲GPU节点拓扑路径权重,其中;PCIe拓扑树中除快速通道互联(quick path interconnect,QPI)连接权重为10之外,其余连接权重为1(如图2中CPU-1与CPU-2之间的连线权重为10,其余的连线权重为1,如GPU-0与PCIe开关Switch之间的连线为1);
(2.2)选出权重最小的空闲GPU组合(即选出拓扑路径最短的空闲GPU组合),如图2中的GPU-0和GPU-1。
405、控制服务器向业务服务器发送分配请求。
本实施例中,当控制服务器接收到用户的调用请求,并通过计算生成分配请求之后,会将该分配请求发送给对应的业务服务器,使得业务服务根据该分配请求调用异构设备。
406、业务服务器根据分配请求确定目标异构设备。
本实施例中,当业务服务器接收到控制服务器发送的分配请求之后,会根据该分配请求确定目标异构设备,其中,目标异构设备的数量大于1个,目标异构设备之间的拓扑结构为空闲异构设备中拓扑路径最短的异构设备组合。
407、业务服务器对目标异构设备进行虚拟化处理,得到目标虚拟设备。
本实施例中,当业务服务器根据控制服务器发送的分配请求确定目标异构设备之后,为了使得目标虚拟机能够使用该目标异构设备,业务服务器会通过设备虚拟化及分配模块对确定的目标虚拟设备进行虚拟化处理,得到目标虚拟设备。
408、业务服务器将目标虚拟设备分配给目标虚拟机。
本实施例中,当业务服务器将目标异构设备虚拟化为目标虚拟设备之后,将会将该目标虚拟设备分配给目标虚拟机,使得目标虚拟机可以使用业务服务器上的目标异构设备。
409、业务服务器向控制服务器发送分配结果。
本实施例中,当业务服务器成功将目标虚拟设备分配给目标虚拟机之后,业务服务器会向控制服务器返回一个分配结果,其中,该分配结果包括目标虚拟设备所对应的目标异构设备的使用状态,此时,目标异构设备的使用状态为:已被使用。
410、控制服务器根据接收到的分配结果更新异构设备信息。
本实施例中,当控制服务器根据业务服务器发送的分配结果得知业务服务器中的目标异构设备已经被目标虚拟机使用时,将会根据该控制结果更新异构设备信息,具体为:将目标异构设备的状态信息从空闲更新为已被使用。
411、控制服务器接收用户的第一释放请求。
本实施例中,当用户想释放目标虚拟机中的目标异构设备时,用户会向控制服务器输入第一释放请求,然后控制服务器根据用户输入的第一释放请求以及之前记录的分配结果(该分配结果包含在控制服务器保存的异构设备信息中)确定与该第一释放请求相对应的目标异构设备。
412、控制服务器根据第一释放请求以及分配结果确定目标异构设备,得到第二释放请求。
本实施例中,当控制器接收到用户发送的第一释放请求之后,控制服务器会根据该第一释放请求以及预存的分配结果确定目标异构设备,并且根据确定出来的目标异构设备生成第二释放请求,该第二释放请求指示业务服务器释放该目标异构设备。
413、控制服务器向业务服务器发送第二释放请求。
本实施例中,当控制服务器生成第二释放请求之后,将会向业务服务器发送该第二释放请求。
414、业务服务器根据第二释放请求确定目标异构设备。
本实施例中,当业务服务器服务器接收到第二释放请求之后,将会根据该第二释放请求确定需要释放的目标异构设备。
415、业务服务器释放目标异构设备。
本实施例中,当业务服务器确定了需要释放的目标异构设备之后,将会释放该目标异构设备,使得该目标异构设备从被目标虚拟机使用的状态转变为空闲状态,并且生成释放结果,该释放结果指示目标异构设备已经被释放。
416、业务服务器解除目标虚拟机与目标虚拟设备的分配关系。
本实施例中,当业务服务器释放了目标异构设备之后,将解除目标虚拟机与该目标异构设备的分配关系,即把目标虚拟机与目标异构设备的分配关系删除掉,把目标异构设备的状态记录为空闲。
417、业务服务器向控制服务器发送释放结果。
本实施例中,当业务服务器释放了目标异构设备,并且解除了目标虚拟设备与目标异构设备的分配关系之后,将会向业务服务器发送释放结果,该释放结果包含目标异构设备的状态信息,并且该状态信息指示目标异构设备为空闲。
418、控制服务器根据释放结果更新异构设备信息。
本实施例中,当控制服务器接收到业务服务器发送的释放结果之后,将会根据该释放结果更新数据库中的与该释放结果对应的异构设备的状态信息与分配信息,即,将目标异构设备的状态更新为空闲,分配信息更新为未分配。
本申请实施例中,业务服务器会向控制服务器发送业务服务器上的异构设备信息及业务服务器上异构设备的物理互联拓扑信息,使得控制服务器存储异构设备信息及物理互联拓扑信息;接收控制服务器发送的分配请求,该分配请求为控制服务器根据用户的调用请求、异构设备信息和物理互联拓扑信息生成,该分配请求指示物理互联拓扑路径最短的异构设备组合;然后根据分配请求确定目标异构设备;对该目标异构设备进行虚拟化处理,得到目标虚拟设备;最后将该目标虚拟设备分配给目标虚拟机。本实施例中的业务服务器给虚拟机分配的异构设备为拓扑路径最短的异构设备组合,可以降低各个异构设备组合之间的差异,且分配的异构设备组合间通信性能最佳,避免AI训练等依赖异构设备间通信的业务应用的性能存在较大波动的问题。
请参阅图5所示的实施例,图5为本申请实施例提供的一种设备的分配方法的另一个流程示意图:
501、业务服务器向控制服务器发送该业务服务器上的异构设备信息及该业务服务器上异构设备的物理互联拓扑信息。
502、控制服务器存储接收到的异构设备信息以及物理互联拓扑信息。
503、控制服务器接收用户发送的调用请求;
504、控制服务器根据调用请求、异构设备信息以及物理互联拓扑信息生成分配请求。
505、控制服务器向业务服务器发送分配请求。
506、业务服务器根据分配请求确定目标异构设备。
507、业务服务器对目标异构设备进行虚拟化处理,得到目标虚拟设备。
本实施例中,步骤501至507与图4对应的步骤401至407类似,具体此处不做赘述。
508、业务服务器对目标异构设备间的互联设备进行虚拟化处理。
本实施例中,业务服务器会获取自身内部目标异构设备组合间的PCIe总线、显卡插口(peripheral component interconnect,PCI)之间PCI-PCI桥Bridge等互联设备,并且将获取到的互联设备进行虚拟化处理,得到虚拟互联设备。
509、业务服务器根据目标异构设备间的物理拓扑关系、虚拟互联设备以及目标虚拟设备确定虚拟设备组合。
本实施例中,当业务服务器得到目标虚拟设备以及虚拟互联设备之后,将会根据目标异构设备间的物理拓扑关系对上述的目标虚拟设备以及虚拟互联设备进行组合,得到虚拟设备组合。
510、业务服务器将虚拟设备组合分配给目标虚拟机。
本实施例中,当业务服务器确定虚拟设备组合之后,将会将该组合分配给目标虚拟设备,使得目标虚拟设备内部构建出与业务服务器上的目标异构设备的物理拓扑一致的拓扑。
511、业务服务器向控制服务器发送分配结果。
512、控制服务器根据接收到的分配结果更新异构设备信息。
513、控制服务器接收用户的第一释放请求。
514、控制服务器根据第一释放请求以及分配结果确定目标异构设备,得到第二释放请求。
515、控制向业务服务器发送第二释放请求。
516、业务服务器根据第二释放请求确定目标异构设备。
517、业务服务器释放目标异构设备。
518、业务服务器解除目标虚拟机与目标虚拟设备的分配关系。
519、业务服务器向控制服务器发送释放结果。
520、控制服务器根据释放结果更新异构设备信息。
本实施例中,步骤511至520与图4对应的步骤409至418类似,具体此处不做赘述。
本申请实施例中,业务服务器会向控制服务器发送业务服务器上的异构设备信息及业务服务器上异构设备的物理互联拓扑信息,使得控制服务器存储异构设备信息及物理互联拓扑信息;接收控制服务器发送的分配请求,该分配请求为控制服务器根据用户的调用请求、异构设备信息和物理互联拓扑信息生成,该分配请求指示物理互联拓扑路径最短的异构设备组合;然后根据分配请求确定目标异构设备;对该目标异构设备以及目标异构设备之间的互联设备进行虚拟化处理,得到目标虚拟设备以及虚拟互联设备,然后根据目标异构设备间的物理拓扑关系、虚拟互联设备以及目标虚拟设备确定虚拟设备组合,最后将虚拟设备组合分配给目标虚拟机。本实施例中的业务服务器给虚拟机分配的异构设备为拓扑路径最短的异构设备组合,可以降低各个异构设备组合之间的差异,且分配的异构设备组合间通信性能最佳,避免AI训练等依赖异构设备间通信的业务应用的性能存在较大波动的问题。此外,由于业务服务器分配了虚拟设备组合给目标虚拟机,虚拟设备组合可以反应目标虚拟设备真实的物理拓扑关系,故本申请在目标虚拟机内部可以感知到异构设备的真实物理互联拓扑,在虚拟机内部可以针对异构设备的真实拓扑进行性能优化。
请参阅图6所示的实施例,图6为本申请实施例提供的一种设备的分配方法的另一个流程示意图,本实施例提供的方案主要是解决了现有技术中虚拟机内部无法感知异构设备的真实物理互联拓扑,在虚拟机内部无法针对异构设备的真实拓扑进行性能优化的问题:
601、业务服务器对目标异构设备进行虚拟化处理,得到目标虚拟设备。
本实施例中,当业务服务器接收分配指令之后,会根据该分配指令确定目标异构设备,并对该目标异构设备进行虚拟化处理,得到目标虚拟设备,其中,上述分配指令可以由用户发送给业务服务器,也可以由控制服务器生成并发送给业务服务器,具体获取途径此处不做限定。
602、业务服务器对目标异构设备间的互联设备进行虚拟化处理,得到虚拟互联设备。
本实施例中,当业务服务器确定了目标异构设备之后,会获取目标异构设备组合间的PCIe总线、PCI-PCI Bridge等互联设备,并且将获取到的互联设备进行虚拟化处理,得到虚拟互联设备。
603、业务服务器根据目标异构设备间的物理拓扑关系、虚拟互联设备以及目标虚拟设备确定虚拟设备组合。
本实施例中,当业务服务器对目标异构设备之间的互联设备镜像过虚拟化处理,并且对目标异构设备进行过虚拟化处理之后,会根据目标异构设备间的物理拓扑关系、虚拟互联设备以及目标虚拟设备确定虚拟设备组合。
604、业务服务器向目标虚拟机分配虚拟设备组合。
本实施例中,当业务服务器生成了虚拟设备组合之后,将会给目标虚拟机分配该虚拟设备组合,使得目标虚拟设备内部构建出与业务服务器上的目标异构设备的物理拓扑一致的拓扑。
605、业务服务器接收控制服务器发送的释放请求。
本实施例中,业务服务器会接收到服务器的释放请求,其中,该释放请求请求释放虚拟设备组合,可以由控制服务器根据用户向控制服务器输入的释放信息生成,此外,该释放请求还可以在业务服务器发现目标服务器发生故障时生成。
606、业务服务器根据释放请求释放虚拟设备组合。
本实施例中,当业务服务器收到或者生成释放请求之后,会根据该释放请求释放虚拟设备组合,解除目标虚拟设备与目标虚拟机的分配关系。
本申请实施例中,业务处理器会对目标异构设备间的互联设备进行虚拟化处理,得到虚拟互联设备,目标异构设备为业务服务器为虚拟机分配的异构设备;然后根据目标异构设备间的物理拓扑关系、虚拟互联设备以及目标虚拟设备确定虚拟设备组合,目标虚拟设备为对目标异构设备进行虚拟化处理后的设备;最后向目标虚拟机分配虚拟设备组合,使得目标虚拟机内部构建出与目标异构设备的物理拓扑一致的拓扑。由于业务服务器分配了虚拟设备组合给目标虚拟机,虚拟设备组合可以反应目标虚拟设备真实的物理拓扑关系,故本申请在目标虚拟机内部可以感知到异构设备的真实物理互联拓扑,在虚拟机内部可以针对异构设备的真实拓扑进行性能优化。
上面对本申请实施例中设备的分配方法进行了描述,下面对本申请实施例中的业务服务器以及控制服务区进行描述,请参阅图7,本申请实施例中业务服务器的一个实施例包括:
第一接收单元701,用于接收控制服务器发送的分配请求,所述分配请求为所述控制服务器根据用户的调用请求、所述业务服务器上的异构设备信息及所述业务服务器上异构设备的物理互联拓扑信息生成,所述分配请求指示物理互联拓扑路径最短的异构设备组合;
第一确定单元702,用于根据所述分配请求确定目标异构设备;
第一处理单元703,用于对所述目标异构设备进行虚拟化处理,得到目标虚拟设备;
分配单元704,用于将所述目标虚拟设备分配给目标虚拟机,所述目标虚拟机根据所述调用请求确认。
请参阅图8,本申请实施例中业务服务器的另一个实施例包括:
第一发送单元801,用于向控制服务器发送所述异构设备信息及所述物理互联拓扑信息,使得所述控制服务器存储所述异构设备信息及所述物理互联拓扑信息。
第一接收单元802,用于接收控制服务器发送的分配请求,所述分配请求为所述控制服务器根据用户的调用请求、所述业务服务器上的异构设备信息及所述业务服务器上异构设备的物理互联拓扑信息生成,所述分配请求指示物理互联拓扑路径最短的异构设备组合;
第一确定单元803,用于根据所述分配请求确定目标异构设备;
第一处理单元804,用于对所述目标异构设备进行虚拟化处理,得到目标虚拟设备;
第二处理单元805,用于对所述目标异构设备间的互联设备进行虚拟化处理,得到虚拟互联设备;
第三确定单元806,用于根据所述目标异构设备间的物理拓扑关系、所述虚拟互联设备以及所述目标虚拟设备确定虚拟设备组合。
分配单元807,用于将所述目标虚拟设备分配给目标虚拟机,所述目标虚拟机根据所述调用请求确认。
其中,分配单元807还用于:
将所述虚拟设备组合分配给所述目标虚拟机,使得所述目标虚拟机内部构建出与所述目标异构设备的物理拓扑一致的拓扑。
第二发送单元808,用于向所述控制服务器发送分配结果,使得所述控制服务器保存所述分配结果并根据所述分配结果更新所述异构设备信息,所述分配结果包括所述目标异构设备的状态信息。
第二接收单元809,用于接收所述控制服务器发送的释放请求,所述释放请求指示释放所述目标异构设备;
第二确定单元810,用于根据所述释放请求确定所述目标异构设备;
释放单元811,用于释放所述目标异构设备,得到释放结果;
第一解除单元812,用于解除所述目标虚拟机与所述目标虚拟设备的分配关系;
第三发送单元813,用于向所述控制服务器发送所述释放结果,使得所述控制服务器更新所述异构设备信息。
第二解除单元814,用于根据所述释放请求解除所述虚拟设备组合。
请参阅图9,本申请实施例中,控制服务器的一个实施例包括:
第一获取单元901,用于获取用户的调用请求;
生成单元902,用于根据所述调用请求、所述业务服务器上的异构设备信息及所述业务服务器上异构设备的物理互联拓扑信息生成分配请求,所述分配请求指示物理互联拓扑路径最短的异构设备组合;
第一发送单元903,用于向所述业务服务器发送所述分配请求,使得所述业务服务器根据所述分配请求确定目标异构设备,并将所述目标异构设备进行虚拟化处理,得到目标虚拟设备,将所述目标虚拟设备分配给目标虚拟机。
请参阅图10,本申请实施例中,控制服务器的另一个实施例包括:
第二获取单元1001,用于获取业务服务器发送的所述异构设备信息及所述物理互联拓扑信息;
存储单元1002,用于存储所述异构设备信息及所述物理互联拓扑信息。
第一获取单元1003,用于获取用户的调用请求;
生成单元1004,用于根据所述调用请求、所述业务服务器上的异构设备信息及所述业务服务器上异构设备的物理互联拓扑信息生成分配请求,所述分配请求指示物理互联拓扑路径最短的异构设备组合;
第一发送单元1005,用于向所述业务服务器发送所述分配请求,使得所述业务服务器根据所述分配请求确定目标异构设备,并将所述目标异构设备进行虚拟化处理,得到目标虚拟设备,将所述目标虚拟设备分配给目标虚拟机。
第一接收单元1006,用于接收所述业务服务器发送的分配结果,所述分配结果包括所述目标异构设备的状态信息;
保存单元1007,用于保存所述分配结果;
第一更新单元1008,用于根据所述分配结果更新所述异构设备信息。
第二接收单元1009,用于接收用户发送的第一释放请求;
确定单元1010,用于根据所述第一释放请求以及所述分配结果确定所述目标异构设备,得到第二释放请求;
第二发送单元1011,用于向所述业务服务器发送所述第二释放请求,以使得所述业务服务器根据所述第二释放请求释放所述目标虚拟设备。
第三接收单元1012,用于接收所述业务服务器发送的释放结果;
第二更新单元1013,用于根据所述释放结果更新所述异构设备信息。
请参阅图11,本申请实施例中,业务服务器的另一个实施例包括:
第一处理单元1101,用于对目标异构设备间的互联设备进行虚拟化处理,得到虚拟互联设备,所述目标异构设备为业务服务器为目标虚拟机分配的异构设备;
确定单元1102,用于根据所述目标异构设备间的物理拓扑关系、所述虚拟互联设备以及目标虚拟设备确定虚拟设备组合,所述目标虚拟设备为对所述目标异构设备进行虚拟化处理后的设备;
分配单元1103,用于向所述目标虚拟机分配所述虚拟设备组合,使得所述目标虚拟机内部构建出与所述目标异构设备的物理拓扑一致的拓扑。
请参阅图12,本申请实施例中,业务服务器的另一个实施例包括:
第一处理单元1201,用于对目标异构设备间的互联设备进行虚拟化处理,得到虚拟互联设备,所述目标异构设备为业务服务器为目标虚拟机分配的异构设备;
确定单元1202,用于根据所述目标异构设备间的物理拓扑关系、所述虚拟互联设备以及目标虚拟设备确定虚拟设备组合,所述目标虚拟设备为对所述目标异构设备进行虚拟化处理后的设备;
分配单元1203,用于向所述目标虚拟机分配所述虚拟设备组合,使得所述目标虚拟机内部构建出与所述目标异构设备的物理拓扑一致的拓扑。
第二处理单元1204,用于对所述目标虚拟设备进行虚拟化处理。
接收单元1205,用于接收控制服务器发送的释放请求,所述释放请求请求释放所述虚拟设备组合;
释放单元1206,用于根据所述释放请求释放所述虚拟设备组合。
上面图7至图12从模块化功能实体的角度分别对本申请实施例中业务服务器和控制服务器进行详细描述,下面从硬件处理的角度对本申请实施例中的业务服务器和控制服务器进行详细描述。
图13是本发明实施例提供的一种业务服务器结构示意图,该业务服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)1322(例如,一个或一个以上处理器)和存储器1332,一个或一个以上存储应用程序1342或数据1344的存储介质1330(例如一个或一个以上海量存储设备)。其中,存储器1332和存储介质1330可以是短暂存储或持久存储。存储在存储介质1330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对业务服务器中的一系列指令操作。更进一步地,中央处理器1322可以设置为与存储介质1330通信,在业务服务器1300上执行存储介质1330中的一系列指令操作。
业务服务器1300还可以包括一个或一个以上电源1326,一个或一个以上有线或无线网络接口1350,一个或一个以上输入输出接口1358,和/或,一个或一个以上操作系统1341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由业务服务器所执行的步骤可以基于该图13所示的业务服务器结构。
图14是本发明实施例提供的一种控制服务器结构示意图,该控制服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessing units,CPU)1422(例如,一个或一个以上处理器)和存储器1432,一个或一个以上存储应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对控制服务器中的一系列指令操作。更进一步地,中央处理器1422可以设置为与存储介质1430通信,在控制服务器1400上执行存储介质1430中的一系列指令操作。
控制服务器1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作系统1441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由控制服务器所执行的步骤可以基于该图14所示的控制服务器结构。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (34)

1.一种设备的分配方法,其特征在于,所述方法应用于业务服务器,所述业务服务器内部构建有虚拟机,所述方法包括:
接收控制服务器发送的分配请求,所述分配请求为所述控制服务器根据用户的调用请求、所述业务服务器上的异构设备信息及所述业务服务器上异构设备的物理互联拓扑信息生成,所述分配请求指示物理互联拓扑路径最短的异构设备组合;
根据所述分配请求确定目标异构设备;
对所述目标异构设备进行虚拟化处理,得到目标虚拟设备;
将所述目标虚拟设备分配给目标虚拟机,所述目标虚拟机根据所述调用请求确认。
2.根据权利要求1所述的方法,其特征在于,所述接收所述控制服务器发送的分配请求之前,所述方法还包括:
向控制服务器发送所述异构设备信息及所述物理互联拓扑信息,使得所述控制服务器存储所述异构设备信息及所述物理互联拓扑信息。
3.根据权利要求1所述的方法,其特征在于,所述将所述目标虚拟设备分配给目标虚拟机之后,所述方法还包括:
向所述控制服务器发送分配结果,使得所述控制服务器保存所述分配结果并根据所述分配结果更新所述异构设备信息,所述分配结果包括所述目标异构设备的状态信息。
4.根据权利要求2所述的方法,其特征在于,将所述目标虚拟设备分配给目标虚拟机之后,所述方法还包括:
接收所述控制服务器发送的释放请求,所述释放请求指示释放所述目标异构设备;
根据所述释放请求确定所述目标异构设备;
释放所述目标异构设备,得到释放结果;
解除所述目标虚拟机与所述目标虚拟设备的分配关系;
向所述控制服务器发送所述释放结果,使得所述控制服务器更新所述异构设备信息。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述对所述目标异构设备进行虚拟化处理之后,所述方法还包括:
对所述目标异构设备间的互联设备进行虚拟化处理,得到虚拟互联设备;
根据所述目标异构设备间的物理拓扑关系、所述虚拟互联设备以及所述目标虚拟设备确定虚拟设备组合。
6.根据权利要求5所述的方法,其特征在于,所述将所述目标虚拟设备分配给目标虚拟机包括:
将所述虚拟设备组合分配给所述目标虚拟机,使得所述目标虚拟机内部构建出与所述目标异构设备的物理拓扑一致的拓扑。
7.根据权利要求6所述的方法,其特征在于,所述将所述虚拟设备组合分配给所述目标虚拟机之后,所述方法还包括:
根据所述释放请求解除所述虚拟设备组合。
8.根据权利要求1至4中任一项所述的方法,其特征在于,所述调用请求包括:需要调用的异构设备的类型、需要调用的异构设备的数量和需要调用的虚拟机信息。
9.一种设备的分配方法,其特征在于,包括:
获取用户的调用请求;
根据所述调用请求、所述业务服务器上的异构设备信息及所述业务服务器上异构设备的物理互联拓扑信息生成分配请求,所述分配请求指示物理互联拓扑路径最短的异构设备组合;
向所述业务服务器发送所述分配请求,使得所述业务服务器根据所述分配请求确定目标异构设备,并将所述目标异构设备进行虚拟化处理,得到目标虚拟设备,将所述目标虚拟设备分配给目标虚拟机。
10.根据权利要求9所述的方法,其特征在于,所述获取用户的调用请求之前,所述方法还包括:
获取业务服务器发送的所述异构设备信息及所述物理互联拓扑信息;
存储所述异构设备信息及所述物理互联拓扑信息。
11.根据权利要求10所述的方法,其特征在于,所述向所述业务服务器发送所述分配请求之后,所述方法还包括:
接收所述业务服务器发送的分配结果,所述分配结果包括所述目标异构设备的状态信息;
保存所述分配结果;
根据所述分配结果更新所述异构设备信息。
12.根据权利要求10所述的方法,其特征在于,所述向所述业务服务器发送所述分配请求之后,所述方法还包括:
接收用户发送的第一释放请求;
根据所述第一释放请求以及所述分配结果确定所述目标异构设备,得到第二释放请求;
向所述业务服务器发送所述第二释放请求,以使得所述业务服务器根据所述第二释放请求释放所述目标虚拟设备。
13.根据权利要求12所述的方法,其特征在于,所述向所述业务服务器发送所述第二释放请求之后,所述方法还包括:
接收所述业务服务器发送的释放结果;
根据所述释放结果更新所述异构设备信息。
14.根据权利要求9至13中任一项所述的方法,其特征在于,所述调用请求包括:需要调用的异构设备的类型、需要调用的异构设备的数量和需要调用的虚拟机信息。
15.一种设备的分配方法,其特征在于,包括:
对目标异构设备间的互联设备进行虚拟化处理,得到虚拟互联设备,所述目标异构设备为业务服务器为目标虚拟机分配的异构设备;
根据所述目标异构设备间的物理拓扑关系、所述虚拟互联设备以及目标虚拟设备确定虚拟设备组合,所述目标虚拟设备为对所述目标异构设备进行虚拟化处理后的设备;
向所述目标虚拟机分配所述虚拟设备组合,使得所述目标虚拟机内部构建出与所述目标异构设备的物理拓扑一致的拓扑。
16.根据权利要求15所述的方法,其特征在于,所述根据所述目标异构设备间的物理拓扑关系、所述虚拟互联设备以及目标虚拟设备确定虚拟设备组合之前,所述方法还包括:
对所述目标虚拟设备进行虚拟化处理。
17.根据权利要求15或16中任一项所述的方法,其特征在于,所述向目标虚拟机分配所述虚拟设备组合之后,所述方法还包括:
接收控制服务器发送的释放请求,所述释放请求请求释放所述虚拟设备组合;
根据所述释放请求释放所述虚拟设备组合。
18.一种业务服务器,其特征在于,包括:
第一接收单元,用于接收控制服务器发送的分配请求,所述分配请求为所述控制服务器根据用户的调用请求、所述业务服务器上的异构设备信息及所述业务服务器上异构设备的物理互联拓扑信息生成,所述分配请求指示物理互联拓扑路径最短的异构设备组合;
第一确定单元,用于根据所述分配请求确定目标异构设备;
第一处理单元,用于对所述目标异构设备进行虚拟化处理,得到目标虚拟设备;
分配单元,用于将所述目标虚拟设备分配给目标虚拟机,所述目标虚拟机根据所述调用请求确认。
19.根据权利要求18所述的业务服务器,其特征在于,所述业务服务器还包括:
第一发送单元,用于向控制服务器发送所述异构设备信息及所述物理互联拓扑信息,使得所述控制服务器存储所述异构设备信息及所述物理互联拓扑信息。
20.根据权利要求18所述的业务服务器,其特征在于,所述业务服务器还包括:
第二发送单元,用于向所述控制服务器发送分配结果,使得所述控制服务器保存所述分配结果并根据所述分配结果更新所述异构设备信息,所述分配结果包括所述目标异构设备的状态信息。
21.根据权利要求19所述的业务服务器,其特征在于,所述业务服务器还包括:
第二接收单元,用于接收所述控制服务器发送的释放请求,所述释放请求指示释放所述目标异构设备;
第二确定单元,用于根据所述释放请求确定所述目标异构设备;
释放单元,用于释放所述目标异构设备,得到释放结果;
第一解除单元,用于解除所述目标虚拟机与所述目标虚拟设备的分配关系;
第三发送单元,用于向所述控制服务器发送所述释放结果,使得所述控制服务器更新所述异构设备信息。
22.根据权利要求18至21中任一项所述的业务服务器,其特征在于,所述业务服务器还包括:
第二处理单元,用于对所述目标异构设备间的互联设备进行虚拟化处理,得到虚拟互联设备;
第三确定单元,用于根据所述目标异构设备间的物理拓扑关系、所述虚拟互联设备以及所述目标虚拟设备确定虚拟设备组合。
23.根据权利要求22所述的业务服务器,其特征在于,所述分配单元还用于:
将所述虚拟设备组合分配给所述目标虚拟机,使得所述目标虚拟机内部构建出与所述目标异构设备的物理拓扑一致的拓扑。
24.根据权利要求23所述的业务服务器,其特征在于,所述业务服务器还包括:
第二解除单元,用于根据所述释放请求解除所述虚拟设备组合。
25.根据权利要求18至21中任一项所述的业务服务器,其特征在于,所述调用请求包括:需要调用的异构设备的类型、需要调用的异构设备的数量和需要调用的虚拟机信息。
26.一种控制服务器,其特征在于,包括:
第一获取单元,用于获取用户的调用请求;
生成单元,用于根据所述调用请求、所述业务服务器上的异构设备信息及所述业务服务器上异构设备的物理互联拓扑信息生成分配请求,所述分配请求指示物理互联拓扑路径最短的异构设备组合;
第一发送单元,用于向所述业务服务器发送所述分配请求,使得所述业务服务器根据所述分配请求确定目标异构设备,并将所述目标异构设备进行虚拟化处理,得到目标虚拟设备,将所述目标虚拟设备分配给目标虚拟机。
27.根据权利要求26所述的控制服务器,其特征在于,所述控制服务器还包括:
第二获取单元,用于获取业务服务器发送的所述异构设备信息及所述物理互联拓扑信息;
存储单元,用于存储所述异构设备信息及所述物理互联拓扑信息。
28.根据权利要求27所述的控制服务器,其特征在于,所述控制服务器还包括:
第一接收单元,用于接收所述业务服务器发送的分配结果,所述分配结果包括所述目标异构设备的状态信息;
保存单元,用于保存所述分配结果;
第一更新单元,用于根据所述分配结果更新所述异构设备信息。
29.根据权利要求27所述的控制服务器,其特征在于,所述控制服务器还包括:
第二接收单元,用于接收用户发送的第一释放请求;
确定单元,用于根据所述第一释放请求以及所述分配结果确定所述目标异构设备,得到第二释放请求;
第二发送单元,用于向所述业务服务器发送所述第二释放请求,以使得所述业务服务器根据所述第二释放请求释放所述目标虚拟设备。
30.根据权利要求29所述的控制服务器,其特征在于,所述控制服务器还包括:
第三接收单元,用于接收所述业务服务器发送的释放结果;
第二更新单元,用于根据所述释放结果更新所述异构设备信息。
31.根据权利要求26至30中任一项所述的控制服务器,其特征在于,所述调用请求包括:需要调用的异构设备的类型、需要调用的异构设备的数量和需要调用的虚拟机信息。
32.一种业务服务器,其特征在于,包括:
第一处理单元,用于对目标异构设备间的互联设备进行虚拟化处理,得到虚拟互联设备,所述目标异构设备为业务服务器为目标虚拟机分配的异构设备;
确定单元,用于根据所述目标异构设备间的物理拓扑关系、所述虚拟互联设备以及目标虚拟设备确定虚拟设备组合,所述目标虚拟设备为对所述目标异构设备进行虚拟化处理后的设备;
分配单元,用于向所述目标虚拟机分配所述虚拟设备组合,使得所述目标虚拟机内部构建出与所述目标异构设备的物理拓扑一致的拓扑。
33.根据权利要求32所述的业务服务器,其特征在于,所述业务服务器还包括:
第二处理单元,用于对所述目标虚拟设备进行虚拟化处理。
34.根据权利要求32或33中任一项所述的业务服务器,其特征在于,所述业务服务器还包括:
接收单元,用于接收控制服务器发送的释放请求,所述释放请求请求释放所述虚拟设备组合;
释放单元,用于根据所述释放请求释放所述虚拟设备组合。
CN201810160321.6A 2018-02-26 2018-02-26 一种设备的分配方法及其相关设备 Active CN110196750B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810160321.6A CN110196750B (zh) 2018-02-26 2018-02-26 一种设备的分配方法及其相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810160321.6A CN110196750B (zh) 2018-02-26 2018-02-26 一种设备的分配方法及其相关设备

Publications (2)

Publication Number Publication Date
CN110196750A true CN110196750A (zh) 2019-09-03
CN110196750B CN110196750B (zh) 2023-02-24

Family

ID=67751203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810160321.6A Active CN110196750B (zh) 2018-02-26 2018-02-26 一种设备的分配方法及其相关设备

Country Status (1)

Country Link
CN (1) CN110196750B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110891000A (zh) * 2019-11-07 2020-03-17 浪潮(北京)电子信息产业有限公司 一种gpu带宽性能的检测方法、系统及相关装置
CN111880911A (zh) * 2020-06-19 2020-11-03 浪潮电子信息产业股份有限公司 一种任务负载调度方法、装置、设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102655532A (zh) * 2012-04-18 2012-09-05 上海和辰信息技术有限公司 分布式异构虚拟资源集成管理方法及系统
CN102739771A (zh) * 2012-04-18 2012-10-17 上海和辰信息技术有限公司 一种支持服务融合的云应用集成管理平台和方法
CN103067380A (zh) * 2012-12-26 2013-04-24 北京启明星辰信息技术股份有限公司 一种虚拟安全设备的部署配置方法及系统
US20130290957A1 (en) * 2012-04-26 2013-10-31 International Business Machines Corporation Efficient execution of jobs in a shared pool of resources
CN104468803A (zh) * 2014-12-12 2015-03-25 华为技术有限公司 一种虚拟数据中心资源映射方法和设备
US20160241487A1 (en) * 2015-02-16 2016-08-18 International Business Machines Corporation Managing asset deployment for a shared pool of configurable computing resources
CN106489251A (zh) * 2015-12-21 2017-03-08 华为技术有限公司 应用拓扑关系发现的方法、装置和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102655532A (zh) * 2012-04-18 2012-09-05 上海和辰信息技术有限公司 分布式异构虚拟资源集成管理方法及系统
CN102739771A (zh) * 2012-04-18 2012-10-17 上海和辰信息技术有限公司 一种支持服务融合的云应用集成管理平台和方法
US20130290957A1 (en) * 2012-04-26 2013-10-31 International Business Machines Corporation Efficient execution of jobs in a shared pool of resources
CN103067380A (zh) * 2012-12-26 2013-04-24 北京启明星辰信息技术股份有限公司 一种虚拟安全设备的部署配置方法及系统
CN104468803A (zh) * 2014-12-12 2015-03-25 华为技术有限公司 一种虚拟数据中心资源映射方法和设备
US20160241487A1 (en) * 2015-02-16 2016-08-18 International Business Machines Corporation Managing asset deployment for a shared pool of configurable computing resources
CN106489251A (zh) * 2015-12-21 2017-03-08 华为技术有限公司 应用拓扑关系发现的方法、装置和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JV WANG等: "A Stable Matching-Based Virtual Machine Allocation Mechanism for Cloud Data Centers", 《2016 IEEE WORLD CONGRESS ON SERVICES (SERVICES)》 *
何春荣: "虚拟无线资源在异构网络中的应用研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110891000A (zh) * 2019-11-07 2020-03-17 浪潮(北京)电子信息产业有限公司 一种gpu带宽性能的检测方法、系统及相关装置
CN110891000B (zh) * 2019-11-07 2021-10-26 浪潮(北京)电子信息产业有限公司 一种gpu带宽性能的检测方法、系统及相关装置
CN111880911A (zh) * 2020-06-19 2020-11-03 浪潮电子信息产业股份有限公司 一种任务负载调度方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN110196750B (zh) 2023-02-24

Similar Documents

Publication Publication Date Title
Yao et al. A novel reinforcement learning algorithm for virtual network embedding
JP6323733B2 (ja) ソフトウェア・デファインド・ネットワークにおけるゾーニングのためのシステムおよび方法
EP3754915B1 (en) Data processing method and apparatus
CN107534583B (zh) 在管理节点中实现的方法和相关装置
CN107038064B (zh) 虚拟机管理方法及装置、存储介质
CN108776612A (zh) 一种云计算任务分配方法、装置、设备及存储介质
CN108431796A (zh) 分布式资源管理系统和方法
CN109815018A (zh) 仿真系统和方法
US20090248597A1 (en) Method and apparatus for computing a change plan
US20160019313A1 (en) Striping of directed graphs
CN103346910A (zh) 服务器可用状态的管理方法和装置
CN107273211A (zh) 一种云计算环境下基于虚拟机的数据处理方法
CN110196750A (zh) 一种设备的分配方法及其相关设备
Bukhsh et al. A decentralized edge computing latency-aware task management method with high availability for IoT applications
CN110661642B (zh) 确定和实现用于网络中的目的地的出口对等工程和/或入口对等工程
Dalgkitsis et al. Schema: Service chain elastic management with distributed reinforcement learning
CN110490316A (zh) 基于神经网络模型训练系统的训练处理方法、训练系统
Shefu et al. Fruit fly optimization algorithm for network-aware web service composition in the cloud
CN110727511B (zh) 应用程序的控制方法、网络侧设备和计算机可读存储介质
Ebrahim et al. Privacy-aware load balancing in fog networks: A reinforcement learning approach
CN109089323B (zh) 一种低开销的工业无线传感器选择方法
Zhang et al. EFFECT-DNN: Energy-efficient Edge Framework for Real-time DNN Inference
Wang et al. Effects of correlation-based VM allocation criteria to cloud data centers
CN114579311B (zh) 执行分布式计算任务的方法、装置、设备以及存储介质
CN104793924A (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
GR01 Patent grant
GR01 Patent grant