CN110058946A - 设备虚拟化方法、装置、设备及存储介质 - Google Patents

设备虚拟化方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110058946A
CN110058946A CN201910346146.4A CN201910346146A CN110058946A CN 110058946 A CN110058946 A CN 110058946A CN 201910346146 A CN201910346146 A CN 201910346146A CN 110058946 A CN110058946 A CN 110058946A
Authority
CN
China
Prior art keywords
memory
virtual unit
hardware resource
address
resource
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
CN201910346146.4A
Other languages
English (en)
Other versions
CN110058946B (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.)
Shanghai Suiyuan Intelligent Technology Co ltd
Shanghai Suiyuan Technology Co ltd
Original Assignee
Shanghai Suiyuan Intelligent Technology Co Ltd
Shanghai Suiyuan Technology 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 Shanghai Suiyuan Intelligent Technology Co Ltd, Shanghai Suiyuan Technology Co Ltd filed Critical Shanghai Suiyuan Intelligent Technology Co Ltd
Priority to CN201910346146.4A priority Critical patent/CN110058946B/zh
Publication of CN110058946A publication Critical patent/CN110058946A/zh
Application granted granted Critical
Publication of CN110058946B publication Critical patent/CN110058946B/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/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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例公开了一种设备虚拟化方法、装置、设备和存储介质,该方法包括将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度;在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源;通过所述虚拟设备对绑定的硬件资源集群和内存资源进行管理,提高了产品化过程中的灵活性和可扩展性。

Description

设备虚拟化方法、装置、设备及存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种设备虚拟化方法、装置、设备及存储介质。
背景技术
虚拟化技术是计算机技术中的一种资源管理技术,是将设备中的各种实体资源,如服务器、网络、内存及存储等予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。
在PCIE(peripheral component interconnect express,高速串行计算机扩展总线)设备虚拟化技术中,现有技术主要以纯软件实现和PCIE标准支持的SRIOV(Single-rootI/O virtualization,单根输入输出虚拟化)硬件虚拟化实现两种方式为主。前者在硬件实现阶段没有考虑对虚拟化特性的支持,所有虚拟化需要解决的问题都交由软件处理,性能开销大,后者在硬件设计和实现上增加了极大的复杂度,并且整个虚拟化方案严重依赖硬件特性,因此在产品化过程中缺乏灵活性和扩展性。
发明内容
本发明实施例提供了一种设备虚拟化方法、装置、设备及存储介质,提高了产品化过程中的灵活性和可扩展性。
第一方面,本发明实施例提供了一种设备虚拟化方法,该方法包括:
将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度;
在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源;
通过所述虚拟设备对绑定的硬件资源集群和内存资源进行管理。
第二方面,本发明实施例还提供了一种设备虚拟化装置,该装置包括:
资源划分单元,用于将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度;
资源绑定单元,用于在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源;
指令处理单元,通过所述虚拟设备对绑定的硬件资源集群和内存资源进行管理。
第三方面,本发明实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所述的设备虚拟化方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例所述的设备虚拟化方法。
本发明实施例中,将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度;在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源;通过所述虚拟设备对绑定的硬件资源集群和内存资源进行管理,提高了产品化过程中的灵活性和可扩展性。
附图说明
图1为本发明实施例提供的一种设备虚拟化方法的流程图;
图2为本发明实施例提供的另一种设备虚拟化方法的流程图;
图3为本发明实施例提供的另一种设备虚拟化方法的流程图;
图4为本发明实施例提供的另一种设备虚拟化方法的流程图;
图5为本发明实施例提供的一种设备虚拟化装置的结构框图;
图6为本发明实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
图1为本发明实施例提供的一种设备虚拟化方法的流程图,本实施例可适用于设备虚拟化,该方法可以由设备如计算机来执行,具体包括如下步骤:
步骤S101、将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度。
其中,原生硬件资源主要包括计算资源和内存资源,原生硬件指未经修改的原有硬件设备。在一个实施例中,将计算资源划分为多个硬件资源集群,每个硬件资源集群中包含每个类型资源的至少一个资源实例,这样每个硬件资源集群都可以独立完成硬件能支持的任务,其中每个类型资源中的任一个资源实例可以完成相应的计算任务,如简单的四则运算或复杂的神经网络算法等。每个硬件资源集群有独立的硬件任务调度模块,即有独立的环状缓冲区,故计算资源可以被抽象为环状缓冲区接口。
步骤S102、在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源。
在虚拟化技术中,虚拟设备层为宿主机和客户机之间的抽象层,在计算机技术中,虚拟化是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理组态所限制。
在虚拟层中建立的每个虚拟设备绑定有一个硬件资源集群和一组内存资源,该硬件资源集群可以独立完成硬件能支持的任务,内存资源包括设备内存和***内存。
步骤S103、通过所述虚拟设备对绑定的硬件资源集群和内存资源进行管理。
通过创建的虚拟设备来实现对其绑定的硬件资源集群和内存资源进行管理。
其中,对硬件资源集群的管理包括通过虚拟设备对环状缓冲区关联的配置寄存器的读写指令进行截获,将客户机配置的环状缓冲区设备地址配置到所分配的任务调度模块中。
其中,对内存资源的管理主要包括对设备内存的管理以及***内存的管理,针对设备内存而言,主要解决的是客户机下发给设备的任务中引用的设备内存地址有效区间相互独立。对***内存的管理主要包括对设备访问客户机分配的***内存的管理。
由上述方案可知,通过将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度;在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源;通过所述虚拟设备对绑定的硬件资源集群和内存资源进行管理,提高了产品化过程中的灵活性和可扩展性。
图2为本发明实施例提供的另一种设备虚拟化方法的流程图,可选的,通过所述虚拟设备对绑定的硬件资源集群进行管理包括:通过所述虚拟设备对环状缓冲区关联的配置寄存器的读写指令进行截获,将客户机配置的环状缓冲区设备地址配置到所分配的任务调度模块中。所述读写指令还包括所述环状缓冲区的读写指针更新指令。如图2所示,技术方案具体如下:
步骤S201、将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度。
步骤S202、在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源。
步骤S203、通过所述虚拟设备对环状缓冲区关联的配置寄存器的读写指令进行截获,将客户机配置的环状缓冲区设备地址配置到所分配的任务调度模块中。
其中,环状缓冲区是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,用于缓存数据流。硬件资源集群被抽象为环状缓冲区接口被分配给每个虚拟设备,环状缓冲区被客户机分配在设备内存中,环状缓冲区的相关寄存器包括缓冲区基地址寄存器,读写指针寄存器等。客户机对环状缓冲区的访问将被虚拟设备截获,然后转换成对虚拟设备绑定的硬件资源集群环状缓冲区配置域的访问,随后客户机可以直接向自己配置的环状缓冲区下发命令,更新写指针寄存器。其中,环状缓冲区分配在设备存储上,其地址是真实的设备地址,可以直接将客户机配置的环状缓冲区设备地址配置到所分配的任务调度模块中。
由上述方案可知,通过所述虚拟设备对环状缓冲区关联的配置寄存器的读写指令进行截获,将客户机配置的环状缓冲区设备地址配置到所分配的任务调度模块中,实现了计算资源的隔离,提高了产品化过程中的灵活性和可扩展性,同时环状缓冲区直接由客户机分配在设备内存中,无需宿主机进行地址翻译。
图3为本发明实施例提供的另一种设备虚拟化方法的流程图,可选的,所述通过所述虚拟设备对绑定的内存资源进行管理包括:对设备存储空间进行静态划分,通过虚拟设备的寄存器对所述静态划分的划分地址进行上报,客户机初始化时,通过读取所述划分地址确定对应的设备存储空间的基地址。当客户机对所述设备存储空间进行访问时,通过两级地址虚拟化方式进行地址转换;当设备对所述设备存储空间进行访问时,对所述划分地址进行直接访问。如图3所示,技术方案具体如下:
步骤S301、将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度。
步骤S302、在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源。
步骤S303、对设备存储空间进行静态划分,通过虚拟设备的寄存器对所述静态划分的划分地址进行上报,客户机初始化时,通过读取所述划分地址确定对应的设备存储空间的基地址。
在一个实施例中,内存被划分为两类,第一类是被设备映射的可访问的***内存,第二类是设备内存。
其中,在非虚拟化环境下,存在两个地址空间:设备地址空间和物理地址空间,两类内存在两个地址空间中均有映射区域,CPU通过物理地址空间访问两类内存,设备通过设备地址空间访问两类内存。设备通过设备地址空间访问***内存,会经过设备内部的映射表,简称VM(Virtual Machine,虚拟机)模块,将设备地址翻译成***内存对应的总线地址,映射表的表项动态创建及销毁。VM模块存在多个实例,例,例如4个实例。在虚拟化环境下,即存在三个地址空间:设备地址空间,宿主机物理地址空间,客户机物理地址空间。其中,针对设备内存,本虚拟化方案主要解决客户机下发给设备的任务中引用的设备内存地址有效区间相互独立。
具体的,将设备内存在设备地址空间中的区间做静态划分,划分后的每个区间由虚拟设备管理。其基地址通过虚拟的寄存器,即设备内存基地寄存器和设备内存大小寄存器向客户机暴露。客户机驱动需要根据设备内存基地寄存器和设备内存大小寄存器来初始化设备地址空间中设备内存部分。这样该客户机所使用的设备地址可以直接在下发给设备的任务中被引用。
其中,当客户机对所述设备存储空间进行访问时,通过两级地址虚拟化方式进行地址转换;当设备对所述设备存储空间进行访问时,对所述划分地址进行直接访问。
在一个实施例中,虚拟设备初始化时会设置设备地址总线的防火墙,根据静态划分结果,将绑定到该虚拟设备的计算资源集群发起的访存请求与未绑定到该虚拟设备的内存隔离。
由上述方案可知,通过对设备存储空间进行静态划分,通过虚拟设备的寄存器对所述静态划分的划分地址进行上报,客户机初始化时,通过读取所述划分地址确定对应的设备存储空间的基地址,提高了产品化过程中的灵活性和可扩展性。
图4为本发明实施例提供的另一种设备虚拟化方法的流程图,可选的,在虚拟机中维护一映射表,所述映射表记录有设备地址到客户机物理地址的映射关系,所述映射表由客户机分配到设备存储中,所述映射表的配置过程被宿主机截获并进行相应配置,对所述映射表中表项的更新通过客户机执行。所述通过所述虚拟设备对绑定的内存资源进行管理包括:接收设备端发送的对***内存的访问请求,所述访问请求包括标识信息,所述标识信息用于区分域;根据所述访问请求对***内存进行访问。如图4所示,技术方案具体如下:
步骤S401、将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度。
步骤S402、在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源。
步骤S403、接收设备端发送的对***内存的访问请求,所述访问请求包括标识信息,所述标识信息用于区分域,根据所述访问请求对***内存进行访问。
针对***内存而言,本虚拟化方案主要解决的是设备访问客户机分配的***内存问题。
其中,在虚拟机中维护一映射表,所述映射表记录有设备地址到客户机物理地址的映射关系,所述映射表由客户机分配到设备存储中,所述映射表的配置过程被宿主机截获并进行相应配置,对所述映射表中表项的更新通过客户机执行。
具体的,虚拟设备中将从硬件中分配一个独立的VM模块的实例与其绑定。VM模块的相关配置寄存器,包括映射表基地址寄存器,页面寄存器等将被虚拟化,客户机对它们的访问将被截获,并转换成所分配的VM模块的对应寄存器的访问上。客户机的VM模块的映射表将被分配在设备内存中,从而客户机修改的映射表表项在硬件侧直接生效,因为映射表所在的设备内存的设备地址对设备直接有效。在客户机中可以得到的是***内存对应的客户机物理地址。在设备中可以得到的***内存对应的设备地址,处理方式与设备内存对应的设备地址类似,虚拟设备中进行静态划分之后通过虚拟寄存器暴露给客户机。客户机利用客户机物理地址和设备地址建立表项更新到绑定的VM模块实例后,由它绑定的计算资源集群发出的***内存访问,将从设备端发出客户机物理地址给PCIE总线。在虚拟化场景下,客户机物理地址会被PCIE总线上的IOMMU(input/output memory management unit,输入输出内存管理单元)翻译成为宿主机物理地址。每个虚拟机客户机对应一个IOMMU域。从设备端发来的访问请求需要携带标识来区分域,找到相应的IOMMU映射表。由于VM模块实例是静态划分给虚拟设备,对应虚拟机客户机,因此该VM模块实例发出的请求需要携带域标识。在硬件上增加标识的配置方法,如标识寄存器,通过硬件逻辑转换成总线可识别的域标识。
由上述方案可知,接收设备端发送的对***内存的访问请求,所述访问请求包括标识信息,所述标识信息用于区分域,根据所述访问请求对***内存进行访问,提高了产品化过程中的灵活性和可扩展性。
图5为本发明实施例提供的一种设备虚拟化装置的结构框图,该装置用于执行上述实施例提供的设备虚拟化方法,具备执行方法相应的功能模块和有益效果。如图5所示,该装置具体包括:资源划分单元101、资源绑定单元102和指令处理单元103,其中,
资源划分单元101,用于将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度;
资源绑定单元102,用于在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源;
指令处理单元103,通过所述虚拟设备对绑定的硬件资源集群和内存资源进行管理。
由上述方案可知,将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度;在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源;通过所述虚拟设备对绑定的硬件资源集群和内存资源进行管理,提高了产品化过程中的灵活性和可扩展性。
在一个可能的实施例中,所述指令处理单元103具体用于:
通过所述虚拟设备对环状缓冲区关联的配置寄存器的读写指令进行截获,将客户机配置的环状缓冲区设备地址配置到所分配的任务调度模块中。
在一个可能的实施例中,所述读写指令还包括所述环状缓冲区的读写指针更新指令。
在一个可能的实施例中,所述指令处理单元103具体用于:
对设备存储空间进行静态划分,通过虚拟设备的寄存器对所述静态划分的划分地址进行上报,客户机初始化时,通过读取所述划分地址确定对应的设备存储空间的基地址。
在一个可能的实施例中,当客户机对所述设备存储空间进行访问时,通过两级地址虚拟化方式进行地址转换;当设备对所述设备存储空间进行访问时,对所述划分地址进行直接访问。
在一个可能的实施例中,在虚拟机中维护一映射表,所述映射表记录有设备地址到客户机物理地址的映射关系,所述映射表由客户机分配到设备存储中,所述映射表的配置过程被宿主机截获并进行相应配置,对所述映射表中表项的更新通过客户机执行。
在一个可能的实施例中,所述指令处理单元103具体用于:
接收设备端发送的对***内存的访问请求,所述访问请求包括标识信息,所述标识信息用于区分域;
根据所述访问请求对***内存进行访问。
图6为本发明实施例提供的一种设备的结构示意图,如图6所示,该设备包括处理器201、存储器202、输入装置203和输出装置204;设备中处理器201的数量可以是一个或多个,图6中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203和输出装置204可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的设备虚拟化方法对应的程序指令/模块(例如,设备虚拟化装置中的尺寸信息确定模块101、入库位置确定模块102和控制指令输出模块103)。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的设备虚拟化方法。
存储器202可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器202可进一步包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置203可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种设备虚拟化方法,该方法包括:
将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度;
在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源;
通过所述虚拟设备对绑定的硬件资源集群和内存资源进行管理。
在一个可能的实施例中,通过所述虚拟设备对绑定的硬件资源集群进行管理包括:
通过所述虚拟设备对环状缓冲区关联的配置寄存器的读写指令进行截获,将客户机配置的环状缓冲区设备地址配置到所分配的任务调度模块中。
在一个可能的实施例中,所述读写指令还包括所述环状缓冲区的读写指针更新指令。
在一个可能的实施例中,所述通过所述虚拟设备对绑定的内存资源进行管理包括:
对设备存储空间进行静态划分,通过虚拟设备的寄存器对所述静态划分的划分地址进行上报,客户机初始化时,通过读取所述划分地址确定对应的设备存储空间的基地址。
在一个可能的实施例中,当客户机对所述设备存储空间进行访问时,通过两级地址虚拟化方式进行地址转换;当设备对所述设备存储空间进行访问时,对所述划分地址进行直接访问。
在一个可能的实施例中,在虚拟机中维护一映射表,所述映射表记录有设备地址到客户机物理地址的映射关系,所述映射表由客户机分配到设备存储中,所述映射表的配置过程被宿主机截获并进行相应配置,对所述映射表中表项的更新通过客户机执行。
在一个可能的实施例中,所述通过所述虚拟设备对绑定的内存资源进行管理包括:
接收设备端发送的对***内存的访问请求,所述访问请求包括标识信息,所述标识信息用于区分域;
根据所述访问请求对***内存进行访问。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明实施例任意实施例所提供的设备虚拟化方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明实施例可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例各个实施例所述的方法。
值得注意的是,上述设备虚拟化装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。

Claims (10)

1.设备虚拟化方法,其特征在于,包括:
将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度;
在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源;
通过所述虚拟设备对绑定的硬件资源集群和内存资源进行管理。
2.根据权利要求1所述的方法,其特征在于,通过所述虚拟设备对绑定的硬件资源集群进行管理包括:
通过所述虚拟设备对环状缓冲区关联的配置寄存器的读写指令进行截获,将客户机配置的环状缓冲区设备地址配置到所分配的任务调度模块中。
3.根据权利要求2所述的方法,其特征在于,所述读写指令还包括所述环状缓冲区的读写指针更新指令。
4.根据权利要求1所述的方法,其特征在于,所述通过所述虚拟设备对绑定的内存资源进行管理包括:
对设备存储空间进行静态划分,通过虚拟设备的寄存器对所述静态划分的划分地址进行上报,客户机初始化时,通过读取所述划分地址确定对应的设备存储空间的基地址。
5.根据权利要求4所述的方法,其特征在于,当客户机对所述设备存储空间进行访问时,通过两级地址虚拟化方式进行地址转换;当设备对所述设备存储空间进行访问时,对所述划分地址进行直接访问。
6.根据权利要求1所述的方法,其特征在于,在虚拟机中维护一映射表,所述映射表记录有设备地址到客户机物理地址的映射关系,所述映射表由客户机分配到设备存储中,所述映射表的配置过程被宿主机截获并进行相应配置,对所述映射表中表项的更新通过客户机执行。
7.根据权利要求6所述的方法,其特征在于,所述通过所述虚拟设备对绑定的内存资源进行管理包括:
接收设备端发送的对***内存的访问请求,所述访问请求包括标识信息,所述标识信息用于区分域;
根据所述访问请求对***内存进行访问。
8.设备虚拟化装置,其特征在于,包括:
资源划分单元,用于将计算资源划分为多个硬件资源集群,其中每个硬件资源集群包括每个类型资源的至少一个资源实例,每个硬件资源集群通过任务调度模块进行任务调度;
资源绑定单元,用于在虚拟设备层中创建虚拟设备,其中,每个虚拟设备绑定有一个硬件资源集群和一组内存资源;
指令处理单元,通过所述虚拟设备对绑定的硬件资源集群和内存资源进行管理。
9.一种设备,包括:处理器、存储器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的设备虚拟化方法。
10.一种包含设备可执行指令的存储介质,其特征在于,所述设备可执行指令在由设备处理器执行时用于执行如权利要求1-7中任一项所述的设备虚拟化方法。
CN201910346146.4A 2019-04-26 2019-04-26 设备虚拟化方法、装置、设备及存储介质 Active CN110058946B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910346146.4A CN110058946B (zh) 2019-04-26 2019-04-26 设备虚拟化方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910346146.4A CN110058946B (zh) 2019-04-26 2019-04-26 设备虚拟化方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110058946A true CN110058946A (zh) 2019-07-26
CN110058946B CN110058946B (zh) 2019-12-24

Family

ID=67319520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910346146.4A Active CN110058946B (zh) 2019-04-26 2019-04-26 设备虚拟化方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110058946B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625358A (zh) * 2020-05-25 2020-09-04 浙江大华技术股份有限公司 一种资源分配方法、装置、电子设备及存储介质
CN113485789A (zh) * 2021-06-30 2021-10-08 海光信息技术股份有限公司 资源配置方法、装置及计算机架构
CN114089926A (zh) * 2022-01-20 2022-02-25 阿里云计算有限公司 分布式存储空间的管理方法、计算设备及存储介质
CN116028164A (zh) * 2023-03-29 2023-04-28 阿里云计算有限公司 设备虚拟化方法以及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708437A (zh) * 2016-12-16 2017-05-24 上海斐讯数据通信技术有限公司 VMware虚拟化存储分配方法及***
CN107967167A (zh) * 2017-12-01 2018-04-27 江苏润和软件股份有限公司 一种面向复杂虚拟化环境的云平台资源调度方法
CN108037978A (zh) * 2017-12-22 2018-05-15 天津津航计算技术研究所 一种基于虚拟化技术的计算资源管理方法
CN108255598A (zh) * 2016-12-28 2018-07-06 华耀(中国)科技有限公司 性能保证的虚拟化管理平台资源分配***及方法
CN108337109A (zh) * 2017-12-28 2018-07-27 中兴通讯股份有限公司 一种资源分配方法及装置和资源分配***
CN108762883A (zh) * 2018-04-19 2018-11-06 厦门畅享信息技术有限公司 实现物理平台虚拟化管理调度的配置结构和配置方法
CN109634518A (zh) * 2018-10-29 2019-04-16 成都华为技术有限公司 一种存储资源配置方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708437A (zh) * 2016-12-16 2017-05-24 上海斐讯数据通信技术有限公司 VMware虚拟化存储分配方法及***
CN108255598A (zh) * 2016-12-28 2018-07-06 华耀(中国)科技有限公司 性能保证的虚拟化管理平台资源分配***及方法
CN107967167A (zh) * 2017-12-01 2018-04-27 江苏润和软件股份有限公司 一种面向复杂虚拟化环境的云平台资源调度方法
CN108037978A (zh) * 2017-12-22 2018-05-15 天津津航计算技术研究所 一种基于虚拟化技术的计算资源管理方法
CN108337109A (zh) * 2017-12-28 2018-07-27 中兴通讯股份有限公司 一种资源分配方法及装置和资源分配***
CN108762883A (zh) * 2018-04-19 2018-11-06 厦门畅享信息技术有限公司 实现物理平台虚拟化管理调度的配置结构和配置方法
CN109634518A (zh) * 2018-10-29 2019-04-16 成都华为技术有限公司 一种存储资源配置方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625358A (zh) * 2020-05-25 2020-09-04 浙江大华技术股份有限公司 一种资源分配方法、装置、电子设备及存储介质
CN111625358B (zh) * 2020-05-25 2023-06-20 浙江大华技术股份有限公司 一种资源分配方法、装置、电子设备及存储介质
CN113485789A (zh) * 2021-06-30 2021-10-08 海光信息技术股份有限公司 资源配置方法、装置及计算机架构
CN114089926A (zh) * 2022-01-20 2022-02-25 阿里云计算有限公司 分布式存储空间的管理方法、计算设备及存储介质
CN114089926B (zh) * 2022-01-20 2022-07-05 阿里云计算有限公司 分布式存储空间的管理方法、计算设备及存储介质
CN116028164A (zh) * 2023-03-29 2023-04-28 阿里云计算有限公司 设备虚拟化方法以及装置
CN116028164B (zh) * 2023-03-29 2023-06-20 阿里云计算有限公司 设备虚拟化方法以及装置

Also Published As

Publication number Publication date
CN110058946B (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
CN110058946A (zh) 设备虚拟化方法、装置、设备及存储介质
US8832352B2 (en) Hypervisor-driven protection of data from virtual machine clones
US9552233B1 (en) Virtual machine migration using free page hinting
US10496613B2 (en) Method for processing input/output request, host, server, and virtual machine
US9063793B2 (en) Virtual server and virtual machine management method for supporting zero client by providing host interfaces from classified resource pools through emulation or direct connection modes
US8484307B2 (en) Host fabric interface (HFI) to perform global shared memory (GSM) operations
US9880941B2 (en) Sharing an accelerator context across multiple processes
US8775715B2 (en) Protection of data from virtual machine clones via paravirtualization
US9086907B2 (en) Apparatus and method for managing virtual machine addresses
US10824466B2 (en) Container migration
US10540294B2 (en) Secure zero-copy packet forwarding
CN103282881A (zh) 通过虚拟化直接共享智能设备
US9959227B1 (en) Reducing input/output latency using a direct memory access (DMA) engine
US8255913B2 (en) Notification to task of completion of GSM operations by initiator node
US20090199182A1 (en) Notification by Task of Completion of GSM Operations at Target Node
KR101716715B1 (ko) 가상 머신 환경의 네트워크 입출력 장치 가상화 방법 및 장치
US20220236902A1 (en) Systems and methods for data transfer for computational storage devices
CN111316248A (zh) 促进对存储器局部域信息的访问
US11734430B2 (en) Configuration of a memory controller for copy-on-write with a resource controller
WO2022001808A1 (zh) 一种***以及中断处理方法
US20140325163A1 (en) Cross-Partition Shared Memory Attach for Data Processing Environment
US10810031B2 (en) Dirty memory tracking with assigned devices by exitless paravirtualization
Li et al. A novel disk I/O scheduling framework of virtualized storage system
US8200910B2 (en) Generating and issuing global shared memory operations via a send FIFO
US20230185593A1 (en) Virtual device translation for nested virtual machines

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room a-522, 188 Yesheng Road, Lingang New District, Pudong New Area Free Trade Zone, Shanghai, 201306

Patentee after: Shanghai Suiyuan Technology Co.,Ltd.

Country or region after: China

Patentee after: SHANGHAI SUIYUAN INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: Room 902c-5, 560 shengxia Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201209

Patentee before: SHANGHAI ENFLAME TECHNOLOGY Co.,Ltd.

Country or region before: China

Patentee before: SHANGHAI SUIYUAN INTELLIGENT TECHNOLOGY Co.,Ltd.