CN113703913B - 设备测试方法及装置 - Google Patents

设备测试方法及装置 Download PDF

Info

Publication number
CN113703913B
CN113703913B CN202110903357.0A CN202110903357A CN113703913B CN 113703913 B CN113703913 B CN 113703913B CN 202110903357 A CN202110903357 A CN 202110903357A CN 113703913 B CN113703913 B CN 113703913B
Authority
CN
China
Prior art keywords
virtual machine
host
resource consumption
test case
available resources
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.)
Active
Application number
CN202110903357.0A
Other languages
English (en)
Other versions
CN113703913A (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.)
Yangtze Memory Technologies Co Ltd
Original Assignee
Yangtze Memory 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 Yangtze Memory Technologies Co Ltd filed Critical Yangtze Memory Technologies Co Ltd
Priority to CN202110903357.0A priority Critical patent/CN113703913B/zh
Publication of CN113703913A publication Critical patent/CN113703913A/zh
Application granted granted Critical
Publication of CN113703913B publication Critical patent/CN113703913B/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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/45591Monitoring or debugging support

Abstract

本申请提供一种设备测试方法及装置,涉及计算机技术领域,用于解决现有技术中服务器同时对多个SSD进行测试时出现资源抢占的问题。该方法应用于配置有多个虚拟机的主机中,该方法包括:该主机接收来自所述虚拟机的测试请求,该测试请求用于请求执行该虚拟机上分配的被测设备的目标测试用例;确定执行该目标测试用例的资源消耗;判断该主机的可用资源是否能够满足该资源消耗,以及根据判断结果向该虚拟机发送指示该虚拟机是否执行该目标测试用例的应答响应。

Description

设备测试方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及设备测试方法及装置。
背景技术
随着互联网的飞速发展,人们对数据信息的存储需求也在不断提升,固态硬盘(solid state drives,SSD)作为一种用于存储数据信息的载体,因具有存储速度快、功耗低等特点,而被广泛应用于车载、工控、视频监控、网络监控等众多领域。为了确保SSD功能的完整性和可靠性,出厂时需要对SSD的性能进行测试。
现有技术中,在利用服务器测试SSD时,为了节省测试成本、提高测试效率,服务器可以对多个SSD同时进行测试。具体的,服务器可以通过外围组件互连高速(peripheralcomponent interconnect express,PCIe)总线分别连接多个SSD,并通过多进程技术分别同时运行该多个SSD的测试脚本(test script)以对该多个SSD进行测试。
上述测试方法中,每个SSD的测试脚本中都包括多个测试用例(test cases),该多个进程中的每个进程运行对应的SSD的测试脚本时都需要一定的带宽和处理能力,而服务器的总带宽和处理能力是有限的,从而在同时运行该多个SSD的测试脚本时会出现资源抢占的问题,导致测试产生异常,甚至导致服务器的操作系统瘫痪。
发明内容
本申请提供一种设备测试方法及装置,解决了现有技术中服务器同时对多个SSD进行测试时出现资源抢占的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种设备测试方法,应用于配置有多个虚拟机的主机中,该方法包括:该主机接收来自虚拟机的测试请求,该测试请求用于请求执行虚拟机上分配的被测设备的目标测试用例;确定执行该目标测试用例的资源消耗;判断该主机的可用资源是否能够满足该资源消耗,以及根据判断结果向虚拟机发送指示虚拟机是否执行该目标测试用例的应答响应。
上述技术方案中,该主机上配置的多个虚拟机中的每个虚拟机在对被测设备做测试时,会向该主机发送该测试请求,该主机能够确定执行该目标测试用例的资源消耗,并判断该主机的可用资源是否能够满足该资源消耗,从而根据判断结果向虚拟机发送指示虚拟机是否执行该目标测试用例的应答响应,进而可以避免多个虚拟机同时测试时的资源抢占问题;此外,上述测试是以测试用例为粒度进行测试,而不是以包括多个测试用例的测试脚本为粒度进行测试,从而可以提高主机对于资源的控制粒度,避免单个虚拟机对于资源的长期占用。
在第一方面的一种可能的实现方式中,该测试请求用于指示该目标测试用例的资源消耗,从而该主机能够根据该测试请求直接确定该目标测试用例的资源消耗,提高确定该目标测试用例的资源消耗的效率。
在第一方面的一种可能的实现方式中,根据判断结果向该虚拟机发送指示该虚拟机是否执行该目标测试用例的应答响应,包括:若该主机的可用资源能够满足该资源消耗,向该虚拟机发送第一应答响应,第一应答响应用于指示虚拟机执行该目标测试用例;若该可用资源不能满足该资源消耗,向虚拟机发送第二应答响应,第二应答响应用于指示该虚拟机不执行该目标测试用例。上述可能的实现方式中,若该主机的可用资源能够满足该资源消耗,则允许虚拟机执行测试,若该主机的可用资源不能满足该资源消耗,则不允许虚拟机执行测试,从而在该主机的可用资源有限时,避免多个虚拟机同时运行而出现资源抢占的问题。
在第一方面的一种可能的实现方式中,该方法还包括:若该主机的可用资源能满足该资源消耗,该主机根据该资源消耗更新该可用资源。可选的,在该主机向虚拟机发送第一应答响应之后,该方法还包括:该主机接收来自虚拟机的完成指示信息,该完成指示信息用于指示该目标测试用例执行结束;该主机根据该消耗资源再次更新该可用资源。上述可能的实现方式中,该主机在允许虚拟机执行测试和虚拟机的测试执行结束时,可以动态地管理可用资源,从而能够提高资源的利用率和使用灵活性。
在第一方面的一种可能的实现方式中,在该主机接收来自虚拟机的测试请求之前,该方法还包括:该主机向虚拟机发送配置信息,该配置信息用于指示该被测设备的多个测试用例中的每个测试用例的资源消耗,该多个测试用例包括该目标测试用例。上述可能的实现方式中,该主机可以向虚拟机发送用于指示该被测设备的多个测试用例的资源消耗,从而使得虚拟机在需要执行目标测试用例时,可以根据该配置信息确定目标测试用例的资源消耗。
在第一方面的一种可能的实现方式中,虚拟机为运行在该主机的操作系统上的容器,该主机接收来自虚拟机的测试请求之前,该方法还包括:该主机创建用于该容器与该主机之间进行通信的套接字。可选的,该操作系统为Linux操作系统,该容器为Linux容器。上述可能的实现方式中,该主机为每个容器创建一个套接字之后,对于每个容器的访问路径可以是相同的,比如,该访问路径可以为/tmp/unix/socket,从而在分配给某一容器的被测设备被替换或者被测设备的标识发生变化时,仍可以通过该容器对应的套接字实现对该被测设备的测试。
在第一方面的一种可能的实现方式中,该可用资源包括以下至少一种:处理器、内存。可选的,当该可用资源包括该处理器时,该资源消耗包括处理器带宽;当该可用资源包括该内存时,该资源消耗包括内存带宽;当该可用资源包括该处理器和该内存时,该资源消耗包括处理器带宽和内存带宽。上述可能的实现方式中,提供的可用资源和资源消耗,可以方便该主机快速、有效的实现资源的动态管理。
在第一方面的一种可能的实现方式中,该被测设备为存储设备、USB设备、显示设备或者声音设备。可选的,该存储设备包括固态硬盘。上述可能的实现方式中,提供了不同种类的被测设备,从而通过多个虚拟机和该主机可以实现对于不同类型的被测设备的设备测试。
第二方面,提供一种设备测试装置,该装置作为配置有多个虚拟机的主机,用于执行以下步骤:接收来自虚拟机的测试请求,该测试请求用于请求执行虚拟机上分配的被测设备的目标测试用例,虚拟机为该多个虚拟机中的任意一个虚拟机;确定执行该目标测试用例的资源消耗;判断该主机的可用资源是否能够满足该资源消耗,以及根据判断结果向该虚拟机发送指示该虚拟机是否执行该目标测试用例的应答响应。
在第二方面的一种可能的实现方式中,该测试请求用于指示该目标测试用例的资源消耗。
在第二方面的一种可能的实现方式中,该主机还用于执行以下步骤:若该主机的可用资源能够满足该资源消耗,向虚拟机发送第一应答响应,第一应答响应用于指示虚拟机执行该目标测试用例;若该可用资源不能满足该资源消耗,向虚拟机发送第二应答响应,第二应答响应用于指示该虚拟机不执行该目标测试用例。
在第二方面的一种可能的实现方式中,该主机还用于执行以下步骤:若该主机的可用资源能满足该资源消耗,根据该资源消耗更新该可用资源。
在第二方面的一种可能的实现方式中,该虚拟机还用于执行以下步骤:接收来自虚拟机的完成指示信息,该完成指示信息用于指示该目标测试用例执行结束;根据该消耗资源再次更新该可用资源。
在第二方面的一种可能的实现方式中,该主机还用于执行以下步骤:向虚拟机发送配置信息,该配置信息用于指示该被测设备的多个测试用例中的每个测试用例的资源消耗,该多个测试用例包括该目标测试用例。
在第二方面的一种可能的实现方式中,虚拟机为运行在该主机的操作系统上的容器,该主机还用于执行以下步骤:创建用于该容器与该主机之间进行通信的套接字。
在第二方面的一种可能的实现方式中,该操作系统为Linux操作系统,该容器为Linux容器。
在第二方面的一种可能的实现方式中,该可用资源包括以下至少一种:处理器、内存。可选的,当该可用资源包括该处理器时,该资源消耗包括处理器带宽;当该可用资源包括该内存时,该资源消耗包括内存带宽;当该可用资源包括该处理器和该内存时,该资源消耗包括处理器带宽和内存带宽。
在第二方面的一种可能的实现方式中,该被测设备为存储设备、USB设备、显示设备或者声音设备。可选的,该存储设备包括固态硬盘。
第三方面,提供一种计算机,所述计算机包括处理器和存储器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序,使得所述计算机配置有多个虚拟机并执行上述第一方面或第一方面的任一种可能的实现方式所提供的设备测试方法。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得所述计算机执行上述第一方面或第一方面的任一种可能的实现方式所提供的设备测试方法。
第五方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得该计算机执行上述第一方面或第一方面的任一种可能的实现方式所提供的设备测试方法。
应当理解的是,上述提供的任一种设备测试装置、主机、计算机可读存储介质或者计算机程序产品均用于执行上文所提供的设备测试方法,因此,其所能达到的有益效果可参考上文所提供的对应方法中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种虚拟化的系统架构图;
图2为本申请实施例提供的一种服务器的结构示意图;
图3为本申请实施例提供的一种设备测试方法的流程示意图;
图4为本申请实施例提供的另一种设备测试方法的流程示意图;
图5为本申请实施例提供的一种服务器测试多个SSD的架构图;
图6为本申请实施例提供的一种主机与多个容器之间交互的示意图;
图7为本申请实施例提供的一种设备测试过程中的资源消耗的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。另外,本申请的实施例采用了“第一”、“第二”等字样对名称或功能或作用类似的对象进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。本申请中的“当……时”与“在……情况下”的含义等同,在实际应用时可以相互替换。
虚拟化技术是一种资源管理技术,可以将计算机的各种硬件资源,如中央处理器(central processing unit,CPU)、存储器(memory)、网络接口卡(network interfacecard,NIC)、以及诸如硬盘(disk)和磁盘等各种存储等,予以抽象、转换后呈现出来,打破硬件结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些硬件资源。这些硬件资源的虚拟化功能不受现有资源的架设方式、地域或物理组态所限制。
目前,虚拟化技术可以包括四种类型,这四种类型分别是全虚拟化(fullvirtualization)、准虚拟化(para-virtualization)、主机操作系统虚拟化(host OSvirtualization)和基于容器的虚拟化(container based virtualization)。下面分别对这四种类型的虚拟化技术进行介绍说明。
全虚拟化又叫硬件辅助虚拟化,如图1中的(a)所示,全虚拟化是在虚拟机(virtual machine,VM)和硬件资源之间添加了一个超级监视器(hypervisor),该超级监视器可以直接运行在硬件资源之上,该超级监视器也可以称为虚拟机监视器(virtualmachine monitor,VMM)。虚拟机中可以包括客户操作系统(guest operation system,guest OS)(简称客户OS)、以及运行在客户OS上的用户应用(user application)(简称用户APP),该虚拟机可以通过该超级监视器来分享硬件资源,该超级监视器可以捕获和处理该客户OS发出的指令。全虚拟化的优点是该客户OS没有经过任何的修改,但是该超级监视器需要将该客户OS发出的指令翻译为处理器能够识别的指令格式,从而负荷很大。
准虚拟化又称为半虚拟化,如图1中的(b)所示,准虚拟化是在全虚拟化的基础上,将客户OS进行了修改,增加了一个专门的应用程序接口(application programinterface,API),该API可以将客户OS发出的指令进行最优化,即不需要超级监视器耗费资源进行翻译操作,从而该超级监视器的工作负荷变的非常小,整体的性能有很大提高。
主机操作系统虚拟化又称为操作系统层虚拟化,如图1中的(c)所示,主机操作系统虚拟化是在单一操作系统的基础上实现虚拟化,该虚拟化是操作系统内核直接提供的虚拟化,虚拟出的多个虚拟机可以共享主机操作系统内核和底层的硬件资源,该多个虚拟机可以由运行在主机操作系统(主机OS)上的超级监视器管理,每个虚拟机可以包括没有经过任何修改的客户OS以及运行在客户OS上的用户APP。主机操作系统虚拟化的优点是实现了客户操作系统与主机操作系统的隔离,并且可以有效避免主机操作系统的重复安装。
基于容器的虚拟化又称为基于容器的操作系统级虚拟化,如图1中的(d)所示,基于容器的虚拟化是在主机操作系统(主机OS)之上可以创建多个相互独立的虚拟执行环境,一个虚拟执行环境可以称为一个容器(container),多个容器无需专门的系统库来提供需要的功能模块,而是通过共享主机操作系统的系统内核实现,每个容器上可以运行有相应的用户APP。基于容器的虚拟化还可以实现虚拟执行环境(即容器)与主机操作系统之上直接运行的其他APP的隔离。其中,上述容器的本质就是运行在主机操作系统上的进程,每个容器可以通过控制组(control groups,Cgroup)进行资源控制,同时通过命名空间(namespace)进行资源隔离。
需要说明的是,关于Cgroup和namespace的相关描述,以及容器通过Cgroup进行资源控制和通过namespace进行资源隔离的相关描述可以参见相关技术中的描述,本申请实施例在此不作详细阐述。
图2为本申请实施例提供的一种服务器的结构示意图,该服务器上创建有虚拟化系统,该虚拟化系统可以是基于上述四种虚拟化技术虚拟出的任一种虚拟化系统。
其中,该服务器可以为主机101,该主机上运行有至少一个虚拟机102,该主机上连接有至少一个被测设备103,该至少一个虚拟机102与该至少一个被测设备103一一对应。该至少一个虚拟机102中的每个虚拟机102对应的被测设备103可以是该主机101分配给该虚拟机103的,每个虚拟机102可用于对分配的被测设备103进行测试。每个虚拟机102上分配的被测设备可以是存储设备、通用串行总线(universal serial bus,USB)设备、网络转换设备、显示设备或者声音设备等多个不同类型的设备。比如,该存储设备可以是SSD、UFS或eMMC,该USB设备可以为U盘,该网络转换设备可以是网络接口卡,该显示设备可以是显卡,该声音设备可以是声卡。
上述图2中以至少一个虚拟机102包括三个虚拟机102且分别表示为VM1至VM3,该至少一个被测设备103包括三个SSD且分别表示为SSD1至SSD3,VM1对应SSD1、VM2对应SSD2、VM3对应SSD3为例进行说明。
图3为本申请实施例提供的一种设备测试方法的流程示意图,该方法应用于上文所提供的服务器中,该服务器包括配置有至少一个虚拟机的主机,该方法包括以下步骤。
S201:虚拟机向主机发送测试请求,该测试请求用于请求执行该虚拟机上分配的被测设备的目标测试用例,该测试请求用于指示执行目标测试用例的资源消耗。
其中,该至少一个虚拟机可以包括一个或者多个虚拟机,该虚拟机为该一个或者多个虚拟机中的任意一个虚拟机。该一个或者多个虚拟机中的每个虚拟机可以分配有一个被测设备。每个虚拟机上分配的被测设备可以是在该虚拟机启动之前,由该主机分配给该虚拟机的。
另外,每个虚拟机上分配的被测设备可以是存储设备、USB设备、网络转换设备、显示设备或者声音设备等多个不同类型的设备。当该至少一个虚拟机包括多个虚拟机时,该多个虚拟机上分配的被测设备可以是同一类型的被测设备,也可以是不同类型的被测设备。比如,该多个虚拟机包括虚拟机A和虚拟机B,虚拟机A上分配的被测设备和虚拟机B上分配的被测设备可以均为SSD,或者虚拟机A上分配的被测设备为SSD、虚拟机B上分配的被测设备为网络接口卡。
再者,每个被测设备可以有多个测试用例,该多个测试用例可以用于对该被测设备不同性能进行测试,比如,该不同性能可以包括上下电性能和/或读写操作性能。一个虚拟机上分配的被测设备的多个测试用例可以事先配置在该虚拟机中。
在一种可能的实施例中,对于该至少一个虚拟机中的每个虚拟机,该虚拟机可以基于用户的触发向该主机发送测试请求,比如,用户向该虚拟机输入一个测试指令,当该虚拟机接收到该测试指令时,该虚拟机可以向该主机发送测试请求。该测试请求用于请求执行该虚拟机上分配的被测设备的目标测试用例,目标测试用例可以是该被测设备的多个测试用例中的任意一个测试用例。
S202:当该主机接收到该测试请求时,该主机确定执行该目标测试用例的资源消耗。
在一种示例中,该测试请求用于指示执行目标测试用例的资源消耗,该资源消耗可以是指该虚拟机执行目标测试用例时对于该主机的硬件资源的消耗,从而该主机可以根据该测试请求确定该目标测试用例的资源消耗。
在另一种示例中,该主机上配置的每个虚拟机分配的被测设备的多个测试用例对应的资源消耗预先存储在该主机中,从而该主机可以从预先存储中该被测设备的多个测试用例的资源消耗中确定该目标测试用例的资源消耗。
其中,一个被测设备的测试用例的资源消耗可以是预先在该主机上单独测试得到的。每个被测设备的多个测试用例中的每个测试用例的资源消耗可以预先存储在该主机中,也可以存储在每个被测设备对应的虚拟机中。
可选的,目标测试用例的资源消耗可以是该虚拟机执行目标测试用例时需要消耗的处理器带宽、和/或需要消耗的内存带宽。需要说明的是,本文中仅以该资源消耗是需要消耗的处理器带宽和内存带宽为例进行说明,在实际应用中,该资源消耗还可以通过处理器的占用时间和占用率、和/或内存的占用尺寸和占用率等参数来表示,或者该资源消耗还可以包括对于网络接口卡和输入输出设备等其他硬件资源的消耗,本申请实施例对此不作具体限定。
进一步的,在该主机确定执行该目标测试用例的资源消耗之后,该主机可以判断该主机的可用资源是否能够满足该资源消耗,以及根据判断结果向该虚拟机发送指示该虚拟机是否执行该目标测试用例的应答响应。下面对该过程进行详细说明。
S203:当该主机接收到该测试请求时,若该主机的可用资源满足该资源消耗,该主机向该虚拟机发送第一应答响应,第一应答响应用于指示该虚拟机执行目标测试用例。
其中,该主机的可用资源可以是指该主机的硬件资源中当前可以使用的资源,该可用资源也可以称为该主机的剩余资源或者该硬件资源中处于空闲状态的资源。在一种可能的示例中,该主机的可用资源可以包括处理器、和/或内存,比如该主机的可用资源具体可以是指该处理器的剩余带宽和该内存的剩余带宽。
在一种可能的实施例中,若该主机的剩余资源是该处理器的剩余带宽和该内存的剩余带宽,且目标测试用例的资源消耗是该虚拟机执行目标测试用例时需要消耗的处理器带宽和内存带宽,则当该主机接收到该测试请求时,若该处理器的剩余带宽大于需要消耗的处理器带宽、且该内存的剩余带宽大于需要消耗的内存带宽,则该主机向该虚拟机发送用于指示该虚拟机执行目标测试用例的第一应答响应,第一应答响应也可以称为肯定应答(acknowledge,ACK)响应。
S204:当该虚拟机接收到第一应答响应时,该虚拟机执行目标测试用例以测试该被测设备。
当该虚拟机接收到第一应答响应时,该虚拟机可以执行目标测试用例,即该虚拟机可以使用该主机的可用资源中的资源来执行目标测试用例。比如,该虚拟机可以使用该主机中处理器的剩余带宽和内存的剩余带宽中的部分资源来执行目标测试用例,以实现对该被测设备的测试。
可选的,在该主机接收到该测试请求之后,若该主机的可用资源不满足该资源消耗,该主机还可以向该虚拟机发送第二应答响应,第二应答响应用于指示该虚拟机不执行目标测试用例。
在一种可能的实施例中,假设该主机的可用资源具体是该处理器的剩余带宽和该内存的剩余带宽,目标测试用例的资源消耗是该虚拟机执行目标测试用例时需要消耗的处理器带宽和内存带宽。此时,当该主机接收到该测试请求时,若该处理器的剩余带宽小于需要消耗的处理器带宽、或者该内存的剩余带宽小于需要消耗的内存带宽,该主机向该虚拟机发送第二应答响应。第二应答响应用于指示该虚拟机不执行目标测试用例,第二应答响应也可以称为否定应答(negative acknowledge,NACK)响应。
需要说明的是,在该主机的可用资源不满足该资源消耗时,该主机也可以不向该虚拟机发送第二应答响应,该虚拟机在接收不到第一应答响应(比如,该虚拟机在预设时长内未接收到第一应答响应)时,该虚拟机不执行目标测试用例。
进一步的,该主机还可以动态的管理和统计可用资源。如图4所示,若该主机的可用资源满足该资源消耗,该方法还可以包括S205,S205与S203中该主机发送第一应答响应的步骤可以不分先后顺序,图4中以S205位于S203之后为例进行说明。
S205:若该主机的可用资源满足该资源消耗,该主机根据该资源消耗更新该可用资源。
其中,若该主机的可用资源满足该资源消耗,该主机向该虚拟机发送用于指示该虚拟机执行目标测试用例的第一应答响应,即该主机允许该虚拟机执行目标测试用例。这样该虚拟机在执行目标测试用例时会消耗掉该可用资源中的资源,从而该主机可以从该可用资源中去除该资源消耗所消耗的资源,以实现对该可用资源的更新。
在一种可能实施例中,假设该主机的可用资源是指该处理器的剩余带宽和该内存的剩余带宽,目标测试用例的资源消耗是该虚拟机执行目标测试用例时需要消耗的处理器带宽和内存带宽。此时,该主机可以从该处理器的剩余带宽中减去该需要消耗的处理器带宽,并从该内存的剩余带宽中减去该需要消耗的内存带宽,并将减去之后得到的处理器的带宽和内存的带宽作为更新后的可用资源。比如,该处理器的剩余带宽为800M、该内存的剩余带宽为700M,该虚拟机执行目标测试用例时需要消耗的处理器带宽和内存带宽均为300M,则更新后的可用资源中处理器的剩余带宽和内存的剩余带宽分别为500M和400M。
相应的,如图4所示,在该虚拟机执行目标测试用例以测试该被测设备之后,即在S204之后,该方法还可以包括S206-S207。
S206:该虚拟机向该主机发送完成指示信息,该完成指示信息用于指示目标测试用例执行结束。
当该虚拟机根据目标测试用例完成对该虚拟机上分配的被测设备的测试时,即目标测试用例执行结束或者称为该虚拟机已完成该被测设备的目标测试用例的执行,该虚拟机可以向该主机发送完成指示信息,以通过该完成指示信息通知该主机目标测试用例执行结束。
S207:当该主机接收到该完成指示信息时,该主机根据该消耗资源再次更新该可用资源。
当该虚拟机已完成目标测试用例的执行时,该虚拟机不再使用上述用于执行目标测试用例的资源。这样,当该主机接收到该虚拟机发送的该完成指示信息时,该主机可以将执行目标测试用例的资源添加至该可用资源中,以实现对该可用资源的再次更新。
在一种可能实施例中,假设该主机的可用资源是指该处理器的剩余带宽和该内存的剩余带宽,目标测试用例的资源消耗是该虚拟机执行目标测试用例时需要消耗的处理器带宽和内存带宽。此时,当该主机接收到该完成指示信息时,该主机可以将该处理器的剩余带宽和执行目标测试用例时消耗的处理器带宽相加,将该内存的剩余带宽和执行目标测试用例时消耗的内存带宽相加;之后,该主机将相加之后得到的处理器的带宽和内存的带宽作为再次更新后的可用资源。
比如,该处理器的剩余带宽为500M、该内存的剩余带宽为400M,该虚拟机执行目标测试用例时消耗的处理器带宽和内存带宽均为300M,则更新后的可用资源中处理器的剩余带宽和内存的剩余带宽分别为800M和700M。
进一步的,如图4所示,在S201之前,该方法还可以包括S208。
S208:该主机向该虚拟机发送配置信息,该配置信息用于指示该被测设备的多个测试用例中的每个测试用例的资源消耗,该多个测试用例包括目标测试用例。
对于该主机上运行的该至少一个虚拟机中的每个虚拟机,该主机可以向该虚拟机发送配置信息,以通过该配置信息指示该虚拟机上分配的测试设备的多个测试用例中每个测试用例的资源消耗。即将该虚拟机上分配的测试设备的多个测试用例中每个测试用例的资源消耗通知给该虚拟机。这样,当该虚拟机需要执行目标测试用例时,该虚拟机可以根据该配置信息确定目标测试用例的资源消耗,从而在通过上述S201向该主机发送该测试请求时,可以通过该测试请求将目标测试用例的资源消耗发送给该主机。
进一步的,该主机上运行的该至少一个虚拟机可以是基于全虚拟化、准虚拟化或者主机操作系统虚拟化技术虚拟出的虚拟机,也可以是基于容器的虚拟化技术虚拟出的容器,即该至少一个虚拟机为至少一个容器。
其中,该至少一个虚拟机为至少一个容器时,该主机还可以为该至少一个容器中的每个容器创建一个套接字(socket),该套接字也可以称为通信的端点,通常包括一个IP地址和一个端口号。对于该至少一个容器中的每个容器,该主机为该容器创建的套接字可用于实现该容器与该主机之间的通信。比如,该容器可以通过为该容器创建的套接字向该主机发送测试请求,该主机可以通过该套接字向该主机发送第一应答响应和配置信息等。该主机为每个容器创建一个套接字之后,对于每个容器的访问路径可以是相同的,比如,该访问路径可以为/tmp/unix/socket。这样当分配给某一容器的被测设备被替换或者被测设备的标识发生变化时,仍可以通过该容器对应的套接字实现对该被测设备的测试。
在一种示例中,当至少一个虚拟机为至少一个容器时,该主机的操作系统可以为Linux操作系统,该至少一个容器可以为运行在该Linux操作系统上的至少一个Linux容器(Linux container,LXC)。可选的,该至少一个容器也可以为Docker容器,本申请实施例对此不作具体限制。
为便于理解,下面以该主机上运行三个容器且这三个容器上分配的被测设备均为SSD为例,对本申请实施例提供的设备测试方法进行举例说明。
如图5所示,该服务器包括主机,该主机上运行有LXC1、LXC2和LXC3,该主机为LXC1、LXC2和LXC3创建的套接字分别表示为Sk1、Sk2和Sk3,该主机为LXC1、LXC2和LXC3分配的SSD分别为SSD1、SSD2和SSD3。
具体的,在LXC1、LXC2和LXC3执行测试之前,该主机可以通过Sk1将SSD1的多个测试用例TCS1(TCS1包括TC11至TC1n,参照图6)中每个测试用例的资源消耗通过第一配置信息发送给LXC1;通过Sk2将SSD2的多个测试用例TCS2(TCS2包括TC21至TC2n,参照图6)中每个测试用例的资源消耗通过第二配置信息发送给LXC2;通过Sk3将SSD3的多个测试用例TCS3(TCS3包括TC31至TC3n,参照图6)中每个测试用例的资源消耗通过第三配置信息发送给LXC3。
之后,如图6所示,当LXC1、LXC2和LXC3分别对SSD1、SSD2和SSD3进行设备测试时,LXC1、LXC2和LXC3可以分别通过Sk1、Sk2和Sk3向该主机发送用于请求执行某一测试用例的测试请求;该主机在接收到LXC1、LXC2或LXC3的测试请求时,若当前的可用资源满足对应的测试请求所指示的资源消耗则发送第一应答响应,若可用资源不满足对应的测试请求所指示的资源消耗则发送第二应答响应。LXC1、LXC2或LXC3在执行完对应的测试用例之后,还可以向该主机发送完成指示信息,该主机还可以在发出第一应答响应和接收到完成指示信息时动态地更新可用资源。需要说明的是,图5中以该LXC1按照TC11至TC1n的顺序请求执行,该LXC2按照TC21至TC2n的顺序请求执行,该LXC3按照TC31至TC3n的顺序请求执行,且TC22和TC33的测试请求因可用资源的不足被暂缓处理的情况为例进行说明。图6中将第一应答响应或者可用资源满足资源消耗表示为ACK,将完成指示信息或者更新可用资源表示为RES,将第二应答响应或者可用资源不满足资源消耗表示为NACK。图6中的信息处理可以包括该主机接收测试请求、以及发送第一应答信息或第二应答信息的过程。
示例性的,如图7所示,下面以该主机中处理器CPU的总带宽为800M、内存MEM的总带宽为500M,LXC1和LXC2在不同时刻分别请求执行TC11至TC13、以及TC21至TC23为例,对该主机动态地更新可用资源的过程进行举例说明。图7中将CPU剩余带宽和内存剩余带宽、以及每个测试用例的资源消耗中需要消耗的CPU带宽和需要消耗的内存带宽均表示为CPU:xxxM MEM:xxxM)
具体的,在t1时刻,该主机的可用资源为CPU:800M MEM:500M,LXC1向该主机发送用于请求执行TC11的测试请求,TC11的资源消耗为CPU:300M MEM:300M,该主机向LXC1发送用于指示LXC1执行TC11的第一应答响应,同时将该主机的可用资源更新为CPU:500MMEM:200M。
在t2时刻,LXC2向该主机发送用于请求执行TC21的测试请求,TC21的资源消耗为CPU:600M MEM:300M,此时该可用资源不满足TC21的资源消耗,该主机向LXC2发送用于指示LXC2不执行TC21的第二应答响应。
在t3时刻,该主机接收到LXC1发送的TC11的完成指示信息,该主机将可用资源更新为CPU:800M MEM:500M,同时LXC2再次向该主机发送用于请求执行TC21的测试请求,该主机向LXC2发送用于指示LXC2执行TC21的第一应答响应,并将可用资源更新为CPU:200MMEM:200M。
在t4时刻,LXC1向该主机发送用于请求执行TC12的测试请求,TC12的资源消耗为CPU:200M MEM:200M,此时该可用资源满足TC12的资源消耗,该主机向LXC1发送用于指示LXC1执行TC12的第一应答响应,同时将该主机的可用资源更新为CPU:0M MEM:0M。
在t5时刻,该主机接收到LXC2发送的TC21的完成指示信息,该主机将可用资源更新为CPU:600M MEM:300M。
在t6时刻,LXC2向该主机发送用于请求执行TC22的测试请求,TC22的资源消耗为CPU:200M MEM:300M,此时该可用资源满足TC22的资源消耗,该主机向LXC2发送用于指示LXC2执行TC22的第一应答响应,同时将该主机的可用资源更新为CPU:400MMEM:0M。
在t7时刻,该主机接收到LXC1发送的TC12的完成指示信息,该主机将可用资源更新为CPU:600M MEM:200M。
在t8时刻,LXC1向该主机发送用于请求执行TC13的测试请求,TC13的资源消耗为CPU:700M MEM:300M,此时该可用资源不满足TC13的资源消耗,该主机向LXC1发送用于指示LXC1不执行TC13的第二应答响应。
在t9时刻,该主机接收到LXC2发送的TC22的完成指示信息,该主机将可用资源更新为CPU:800M MEM:500M。
在t10时刻,LXC1再次向该主机发送用于请求执行TC13的测试请求,此时该可用资源满足TC13的资源消耗,该主机向LXC1发送用于指示LXC1执行TC13的第一应答响应,同时将该可用资源更新为CPU:100M MEM:200M。
在t11时刻,LXC2向该主机发送用于请求执行TC23的测试请求,TC23的资源消耗为CPU:500M MEM:400M,此时该可用资源不满足TC23的资源消耗,该主机向LXC2发送用于指示LXC2不执行TC23的第二应答响应。
在t12时刻,该主机接收到LXC1发送的TC13的完成指示信息,该主机将可用资源更新为CPU:800M MEM:500M。
在t13时刻,LXC2再次向该主机发送用于请求执行TC23的测试请求,此时该可用资源满足TC23的资源消耗,该主机向LXC2发送用于指示LXC2执行TC23的第一应答响应,同时将该可用资源更新为CPU:300M MEM:100M。
在t14时刻,该主机接收到LXC2发送的TC23的完成指示信息,该主机将可用资源更新为CPU:800M MEM:500M。至此,TC11至TC13、以及TC21至TC23的执行结束。
在本申请实施例中,对于该主机上运行的至少一个虚拟机中的每个虚拟机,该虚拟机在对分配的被测设备做测试时,会向该主机发送用于指示当前测试的资源消耗,该主机在确定可用资源满足该资源消耗时才允许虚拟机执行测试,若可用资源不满足该资源消耗则不允许该虚拟机执行测试,从而可以在该主机的可用资源有限时,避免多个虚拟机同时运行而出现资源抢占的问题。此外,上述测试是以测试用例为粒度进行测试,而不是以包括多个测试用例的测试脚本为粒度进行测试,从而可以提高该主机对于资源的控制粒度,避免单个虚拟机对于资源的长期占用。
本申请实施例还提供一种设备测试装置,该设备测试装置可以为服务器,该服务器也可以称为主机、该主机上配置有至少一个虚拟机,该设备测试装置的结构示意图可以参考上述图2所示。
在该设备测试装置中,对于该至少一个虚拟机中的每个虚拟机,该虚拟机用于:向该主机发送测试请求,该测试请求用于请求执行该虚拟机上分配的被测设备的目标测试用例,该测试请求用于指示执行该目标测试用例的资源消耗;该主机用于:当接收到该测试请求时,若可用资源满足该资源消耗,向该虚拟机发送第一应答响应,该第一应答响应用于指示该虚拟机执行该目标测试用例;该虚拟机还用于:当接收到该第一应答响应时,执行该目标测试用例以测试该被测设备。
在一种示例中,该可用资源包括以下至少一种:处理器、内存。相应的,当该可用资源包括该处理器时,该资源消耗包括处理器带宽;当该可用资源包括该内存时,该资源消耗包括内存带宽;当该可用资源包括该处理器和该内存时,该资源消耗包括处理器带宽和内存带宽。
在一种示例中,该被测设备可以为存储设备、USB设备、显示设备或者声音设备。可选的,该存储设备包括固态硬盘。
在一种可能的实施例中,该主机还用于:若该可用资源满足该资源消耗,根据该资源消耗更新该可用资源。相应的,该虚拟机还用于:向该主机发送完成指示信息,该完成指示信息用于指示该目标测试用例执行结束;该主机还用于:当接收到该完成指示信息时,根据该消耗资源再次更新该可用资源。
进一步的,该主机还用于:当该可用资源不满足该资源消耗时,向该虚拟机发送第二应答响应,该第二应答响应用于指示该虚拟机不执行该目标测试用例。
此外,对于该至少一个虚拟机中的每个虚拟机,该主机还用于:向该虚拟机发送配置信息,该配置信息用于指示该被测设备的多个测试用例中的每个测试用例的资源消耗,该多个测试用例包括该目标测试用例。
在一种可能的实施例中,该虚拟机为运行在该主机的操作系统上的容器,该主机还用于:创建用于该容器与该主机之间进行通信的套接字。示例性的,该操作系统为Linux操作系统,该容器为Linux容器。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应装置实施例中的对应模块的功能描述,在此不再赘述。
本申请实施例提供的设备测试装置中,对于该主机上运行的至少一个虚拟机中的每个虚拟机,该虚拟机在对分配的被测设备做测试时,会向该主机发送用于指示当前测试的资源消耗,该主机在确定可用资源满足该资源消耗时才允许虚拟机执行测试,从而可以在该主机的可用资源有限时,避免多个虚拟机同时运行而出现资源抢占的问题。此外,上述测试是以测试用例为粒度进行测试,而不是以包括多个测试用例的测试脚本为粒度进行测试,从而可以提高该主机对于资源的控制粒度,避免单个虚拟机对于资源的长期占用。
在本申请的又一方面,提供一种计算机,该计算机包括处理器和存储器,该存储器用于存储计算机程序;该处理器用于执行该计算机程序,使得该计算机配置有多个虚拟机并执行上述方法实施例所提供的设备测试方法。
在本申请的又一方面,提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得该计算机执行上述方法实施例所提供的设备测试方法。
在本申请的又一方面,提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述方法实施例所提供的设备测试方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (13)

1.一种设备测试方法,其特征在于,应用于配置有多个虚拟机的主机中,所述方法包括:
所述主机接收来自所述虚拟机的测试请求,所述测试请求用于请求执行所述虚拟机上分配的被测设备的目标测试用例;
确定执行所述目标测试用例的资源消耗;
判断所述主机的可用资源是否能够满足所述资源消耗;以及
根据判断结果向所述虚拟机发送指示所述虚拟机是否执行所述目标测试用例的应答响应;
其中,所述主机接收来自所述虚拟机的测试请求之前,所述方法还包括:
所述主机向所述虚拟机发送配置信息,所述配置信息用于指示所述被测设备的多个测试用例中的每个测试用例的资源消耗,所述多个测试用例包括所述目标测试用例。
2.根据权利要求1所述的方法,其特征在于,所述测试请求用于指示所述目标测试用例的资源消耗。
3.根据权利要求1所述的方法,其特征在于,所述根据判断结果向所述虚拟机发送指示所述虚拟机是否执行所述目标测试用例的应答响应,包括:
若所述主机的可用资源能够满足所述资源消耗,向所述虚拟机发送第一应答响应,所述第一应答响应用于指示所述虚拟机执行所述目标测试用例;
若所述可用资源不能满足所述资源消耗,向所述虚拟机发送第二应答响应,所述第二应答响应用于指示所述虚拟机不执行所述目标测试用例。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述可用资源能够满足所述资源消耗,所述主机根据所述资源消耗更新所述可用资源。
5.根据权利要求4所述的方法,其特征在于,所述向所述虚拟机发送第一应答响应之后,所述方法还包括:
所述主机接收来自所述虚拟机的完成指示信息,所述完成指示信息用于指示所述目标测试用例执行结束;
所述主机根据所述消耗资源再次更新所述可用资源。
6.根据权利要求1所述的方法,其特征在于,所述虚拟机为运行在所述主机的操作系统上的容器,所述主机接收来自虚拟机的测试请求之前,所述方法还包括:
所述主机创建用于所述容器与所述主机之间进行通信的套接字。
7.根据权利要求6所述的方法,其特征在于,所述操作系统为Linux操作系统,所述容器为Linux容器。
8.根据权利要求1所述的方法,其特征在于,所述可用资源包括以下至少一种:处理器、内存。
9.根据权利要求8所述的方法,其特征在于,当所述可用资源包括所述处理器时,所述资源消耗包括处理器带宽;当所述可用资源包括所述内存时,所述资源消耗包括内存带宽;当所述可用资源包括所述处理器和所述内存时,所述资源消耗包括处理器带宽和内存带宽。
10.根据权利要求1所述的方法,其特征在于,所述被测设备为存储设备、USB设备、显示设备或者声音设备。
11.根据权利要求10所述的方法,其特征在于,所述存储设备包括固态硬盘。
12.一种计算机,其特征在于,所述计算机包括处理器和存储器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序,使得所述计算机配置有多个虚拟机并执行如权利要求1-11中任一项所述的设备测试方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机上执行时,使得所述计算机执行如权利要求1-11任一项所述的设备测试方法。
CN202110903357.0A 2021-08-06 2021-08-06 设备测试方法及装置 Active CN113703913B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110903357.0A CN113703913B (zh) 2021-08-06 2021-08-06 设备测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110903357.0A CN113703913B (zh) 2021-08-06 2021-08-06 设备测试方法及装置

Publications (2)

Publication Number Publication Date
CN113703913A CN113703913A (zh) 2021-11-26
CN113703913B true CN113703913B (zh) 2024-04-23

Family

ID=78651894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110903357.0A Active CN113703913B (zh) 2021-08-06 2021-08-06 设备测试方法及装置

Country Status (1)

Country Link
CN (1) CN113703913B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610469B (zh) * 2023-07-21 2023-11-14 江苏华存电子科技有限公司 一种固态硬盘的综合质量性能测试方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010277509A (ja) * 2009-06-01 2010-12-09 Hitachi Ltd サーバシステム及びその消費電力計算方法
US8769102B1 (en) * 2010-05-21 2014-07-01 Google Inc. Virtual testing environments
CN104750537A (zh) * 2013-12-31 2015-07-01 腾讯科技(深圳)有限公司 一种执行测试用例的方法和装置
CN107368426A (zh) * 2017-08-28 2017-11-21 郑州云海信息技术有限公司 一种测试方法及测试装置
CN109634825A (zh) * 2018-12-11 2019-04-16 郑州云海信息技术有限公司 一种虚拟化平台稳定性测试方法
CN109960569A (zh) * 2019-03-26 2019-07-02 联想(北京)有限公司 一种虚拟化处理方法及装置
CN110928638A (zh) * 2018-09-20 2020-03-27 北京国双科技有限公司 一种虚拟机部署的宿主机的选择方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708621B (zh) * 2015-11-16 2020-10-27 阿里巴巴集团控股有限公司 一种获得应用集群容量的方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010277509A (ja) * 2009-06-01 2010-12-09 Hitachi Ltd サーバシステム及びその消費電力計算方法
US8769102B1 (en) * 2010-05-21 2014-07-01 Google Inc. Virtual testing environments
CN104750537A (zh) * 2013-12-31 2015-07-01 腾讯科技(深圳)有限公司 一种执行测试用例的方法和装置
CN107368426A (zh) * 2017-08-28 2017-11-21 郑州云海信息技术有限公司 一种测试方法及测试装置
CN110928638A (zh) * 2018-09-20 2020-03-27 北京国双科技有限公司 一种虚拟机部署的宿主机的选择方法和装置
CN109634825A (zh) * 2018-12-11 2019-04-16 郑州云海信息技术有限公司 一种虚拟化平台稳定性测试方法
CN109960569A (zh) * 2019-03-26 2019-07-02 联想(北京)有限公司 一种虚拟化处理方法及装置

Also Published As

Publication number Publication date
CN113703913A (zh) 2021-11-26

Similar Documents

Publication Publication Date Title
US10691363B2 (en) Virtual machine trigger
US8327083B2 (en) Transparent hypervisor pinning of critical memory areas in a shared memory partition data processing system
US9135079B2 (en) Dynamically assigning a portion of physical computing resource to logical partitions based on characteristics of executing logical partitions
US9697024B2 (en) Interrupt management method, and computer implementing the interrupt management method
CN107479943B (zh) 基于工业互联网操作系统的多操作系统运行方法及装置
EP2881860B1 (en) Method for implementing an interrupt between virtual processors, related device, and system
US9697031B2 (en) Method for implementing inter-virtual processor interrupt by writing register data in a single write operation to a virtual register
US9201823B2 (en) Pessimistic interrupt affinity for devices
KR20110083518A (ko) 호스트 usb 어댑터 가상화
US9003094B2 (en) Optimistic interrupt affinity for devices
US20150052081A1 (en) Capacity Upgrade on Demand Automation
US20150193249A1 (en) Idle processor management in virtualized systems via paravirtualization
CN115988218A (zh) 一种虚拟化视频编解码系统、电子设备和存储介质
CN105556473A (zh) 一种i/o任务处理的方法、设备和系统
CN113703913B (zh) 设备测试方法及装置
US9378057B2 (en) Paravirtualized migration counter
US9483300B2 (en) Importing a running VM
US9122549B2 (en) Method and system for emulation of instructions and hardware using background guest mode processing
US11954534B2 (en) Scheduling in a container orchestration system utilizing hardware topology hints
US20230393874A1 (en) Efficient pagefaults for virtual machines
US20220358049A1 (en) Memory access handling for peripheral component interconnect devices
US20200319940A1 (en) Management of dynamic sharing of central processing units
CN114691296A (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