CN105743808A - 一种适配QoS的方法和装置 - Google Patents

一种适配QoS的方法和装置 Download PDF

Info

Publication number
CN105743808A
CN105743808A CN201410745161.3A CN201410745161A CN105743808A CN 105743808 A CN105743808 A CN 105743808A CN 201410745161 A CN201410745161 A CN 201410745161A CN 105743808 A CN105743808 A CN 105743808A
Authority
CN
China
Prior art keywords
business
qos
configuration template
pcie endpoint
virtual 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
CN201410745161.3A
Other languages
English (en)
Other versions
CN105743808B (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
Priority to CN201410745161.3A priority Critical patent/CN105743808B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710662507.7A priority patent/CN107645407B/zh
Priority to EP15867762.5A priority patent/EP3206125B1/en
Priority to AU2015361607A priority patent/AU2015361607B2/en
Priority to EP19177796.0A priority patent/EP3620919A1/en
Priority to SG11201701729UA priority patent/SG11201701729UA/en
Priority to ES15867762T priority patent/ES2757375T3/es
Priority to JP2017519483A priority patent/JP6408148B2/ja
Priority to RU2017114648A priority patent/RU2673707C1/ru
Priority to MX2017005248A priority patent/MX365979B/es
Priority to BR112017005195-8A priority patent/BR112017005195B1/pt
Priority to KR1020177008903A priority patent/KR101880407B1/ko
Priority to PCT/CN2015/093800 priority patent/WO2016091035A1/zh
Priority to CA2961283A priority patent/CA2961283C/en
Priority to CN201580003144.5A priority patent/CN105874432A/zh
Publication of CN105743808A publication Critical patent/CN105743808A/zh
Priority to ZA2017/01765A priority patent/ZA201701765B/en
Priority to US15/471,202 priority patent/US10489207B2/en
Application granted granted Critical
Publication of CN105743808B publication Critical patent/CN105743808B/zh
Priority to US16/434,403 priority patent/US11379265B2/en
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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • 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]
    • 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
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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
    • 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/45579I/O management, e.g. providing access to device drivers or storage

Abstract

本发明提供一种适配QoS的方法和装置,涉及计算机领域,PCIe端点根据配置模板动态配置虚拟设备,满足了不同业务的QoS要求。本发明的实施例提供的方法包括:确定利用输入输出I/O资源的第一业务的QoS需求;根据所述第一业务的QoS需求生成所述第一业务的SLA;其中,所述SLA包含所述第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;根据第一业务的SLA包含的服务质量需求值生成第一业务的配置模板;其中,配置模板包含的软硬件资源所提供的服务质量值的和等于第一业务的服务质量需求值之和;向第一PCIe端点发送配置模板,指示第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备。

Description

一种适配QoS的方法和装置
技术领域
本发明涉及计算机领域,尤其涉及一种适配QoS的方法和装置。
背景技术
高速外围组件互联(英文:PeripheralComponentInterconnectExpress,缩写:PCIe)端点为一种通过虚拟化软件和相应的硬件逻辑给物理主机提供不同的输入输出(英文:Input-Out,缩写:I/O)视图的融合设备,目前,越来越多的数据中心采用PCIe端点组成融合基础架构(ConvergedInfrastructure),将数据中心的计算、存储、网络三大核心资源进行融合,建立成一个统一的、可弹性扩展的、高效的全新数据中心架构。在该架构中,PCIe端点连接物理主机的中央处理器(英文:CentralProcessingUnit,缩写:CPU)和数据中心的I/O资源(如存储设备、计算设备、网络设备等),将资源池中的I/O资源进行融合,并通过虚拟设备提供给物理主机运行某业务。
由于不同的业务对于虚拟设备的服务有不同的诉求,例如,有的业务要求高带宽而对延时不在意;而需要处理快速交易的业务则需要低延时反而对带宽不是很重要等等,因此,在为不同的物理主机提供不同的虚拟设备的同时,还需要满足使用该虚拟设备的不同业务的服务质量(英文:QualityofService,缩写:QoS)要求。可见,如何根据业务的服务质量要求灵活地为各个物理主机的虚拟主机配置虚拟设备是亟需解决的一个问题。
发明内容
本发明的实施例提供一种适配QoS的方法和装置,满足了不同业务的QoS要求。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种适配服务质量QoS的方法,包括:
确定利用输入输出I/O资源的第一业务的服务质量QoS需求;其中,所述第一业务运行在第一物理主机上,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务,所述第一业务的QoS需求由至少一个服务质量需求值表示;
根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA;其中,所述SLA包含所述第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;
根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板;其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;
向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。
在第一方面的第一种可能的实现方式中,结合第一方面,
所述软硬件资源包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。
在第一方面的第二种可能的实现方式中,结合第一方面或第一方面的第一种可能的实现方式,所述方法还包括:存储所述配置模板;
当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;
其中,所述第二业务运行在所述第一物理主机上。
在第一方面的第三种可能的实现方式中,结合第一方面的第二种可能的实现方式,所述方法还包括:当接收到迁移所述第一业务的迁移指令时,向所述第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;
其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。
在第一方面的第四种可能的实现方式中,结合第一方面至第一方面的第三种可能的实现方式中的任一种实现方式,所述方法还包括:
实时地检测所述虚拟设备的相关指标;
若所述相关指标大于预设阈值,则更新所述SLA;
根据更新后的SLA更新所述配置模板;
其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。
第二方面,本发明实施例提供一种适配QoS的装置,包括:
确定单元,用于确定利用输入输出I/O资源的第一业务的服务质量QoS需求;其中,所述第一业务运行在第一物理主机上,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务,所述第一业务的QoS需求由至少一个服务质量需求值表示;
生成单元,用于根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA;其中,所述SLA包含所述第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;
以及,根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板;其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;
发送单元,用于向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。
在第二方面的第一种可能的实现方式中,结合第二方面,
所述软硬件资源包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。
在第二方面的第二种可能的实现方式中,结合第二方面或第二方面的第一种可能的实现方式,所述适配QoS的装置还包括:
存储单元,用于存储所述配置模板;
所述发送单元,还用于当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;
其中,所述第二业务运行在所述第一物理主机上。
在第二方面的第三种可能的实现方式中,结合第二方面的第二种可能的实现方式,
所述发送单元,还用于当接收到迁移所述第一业务的迁移指令时,向所述第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;
其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。
在第二方面的第四种可能的实现方式中,结合第二方面至第二方面的第三种可能的实现方式中的任一种实现方式,
所述装置还包括:
检测单元,用于实时地检测所述虚拟设备的相关指标;
所述生成单元,还用于若所述相关指标大于预设阈值,则更新所述SLA;根据更新后的SLA更新所述配置模板;
其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。
由上可知,本发明实施例提供一种适配QoS的方法和装置,首先确定利用输入输出I/O资源的第一业务的服务质量QoS需求,然后根据所述第一业务的QoS需求生成所述第一服务等级协议SLA,再根据所述SLA生成用于配置执行第一业务的虚拟设备的配置模板,其中,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和,最后,向第一PCIe端点发送所述配置模板,指示第一PCIe端点根据该配置模板配置虚拟设备。由于,配置模板包含的软硬件资源所提供的服务质量值之和与业务的QoS需求相等,所以,PCIe端点根据该配置模板动态配置的虚拟设备在执行业务时,能够向业务提供满足业务的QoS需求的I/O资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用场景示意图;
图2为本发明实施例提供的一种PCIe端点为物理主机提供I/O资源的示意图;
图3为本发明实施例提供的一种适配QoS的方法流程图。
图4为本发明实施例提供的一种虚拟机迁移情况下适配QoS的示意图;
图5为本发明实施例提供的一种适配QoS的装置的结构图;
图5A为本发明实施例提供的一种适配QoS的装置的结构图;
图5B为本发明实施例提供的一种适配QoS的装置的结构图;
图6为本发明实施例提供的一种适配QoS的装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,示出了本发明适配服务质量(英文:QualityofService,缩写:QoS)的方法的实施环境的网络架构。该实施环境的系统可以包括至少一个物理主机10、至少一个PCIe端点20、至少一个输入/输出(英文:Input/Out,缩写:I/O)资源30以及适配QoS的装置40。其中,物理主机10由中央处理器(英文:CentralProcessingUnit,缩写:CPU)、内存以及输入输出设备构成,可以包含至少一个虚拟机(英文:VirtualMachine,缩写:VM),虚拟机可以利用物理主机10中的部分资源和/或I/O资源的全部或部分资源运行某一业务;PCIe端点20的一端与物理主机10连接,另一端与I/O资源连接,PCIe端点20有自身的网络,可以将I/O资源30组成的I/O资源池中各设备的能力进行融合,生成具有不同功能的虚拟设备,通过该虚拟设备将I/O资源的部分能力或者全部能力提供给物理主机10;I/O资源30可以为计算设备、存储设备、网络设备等实体设备;适配QoS的装置40为本实施例提供的适配QoS的装置,可以为一台包含管理软件的管理服务器,用于管理所有的硬件组件(如物理主机、PCIe端点以及I/O资源)、监控整个系统的利用率、智能地部署数据的图形以及优化系统环境的操作,实现对该实施环境的运行和维护。
图2示出了上述PCIe端点20给物理主机提供I/O资源的示意图。如图2所示,PCIe端点20通过逻辑引擎、队列缓存以及相应的软件(图2中未示出)将I/O资源30的部分能力或者全部能力提供给物理主机10,其中,逻辑引擎、队列缓存以及相应的软件以虚拟设备的形式表现出来;PCIe端点通过不同功能的逻辑引擎为物理主机提供不同逻辑功能的虚拟设备,并使用相应的软件驱动逻辑引擎的运行,同时,每个逻辑引擎使用队列缓存作为PCIe端点和I/O资源通信的缓冲。例如,如图2所示,当PCIe端点给物理主机10提供具有计算功能的虚拟设备a时,使用具有计算功能的逻辑引擎及一定数量的队列缓存,并使用相应驱动软件驱动该逻辑引擎的运行;当PCIe端点给物理主机10提供具有存储功能的虚拟设备时,使用具有存储功能的逻辑引擎及一定数量的队列缓存,并使用相应驱动软件驱动该逻辑引擎运行。
不难理解,在本发明的实时环境中,虚拟设备的服务质量特性对是否能够满足利用I/O资源的业务的服务质量要求有至关重要的作用,然而,由于虚拟设备的服务质量特性是由PCIe端点配置的,所以,在本发明实施例中,若要使得虚拟设备提供的服务满足业务的服务质量要求,则需要PCIe端点合理的配置逻辑引擎、队列缓存以及相应软件来实现。此外,本领域普通技术人员可以理解,图2所示仅为示意,其并不对PCIe端点通过逻辑引擎、队列缓存以及相应的软件(图2中未示出)配置虚拟设备构成限定。例如,PCIe端点还可以通过比图2所示的逻辑引擎和队列缓存更多或者更少的逻辑组件配置虚拟设备,或者与图2所示仅通过逻辑引擎、队列缓存及相应软件配置虚拟设备。
图3为第一实施例提供的适配QoS的方法的流程图。如图3所示,该方法可以包括:
301、确定利用输入输出I/O资源的第一业务的服务质量QoS需求。
其中,所述第一业务为运行在物理主机上的任一业务,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务;由于上述图2中已提到PCIe端点通过虚拟设备将I/O资源提供给物理主机中的虚拟机使用,所以,该步骤中利用输入输出I/O资源的业务的QoS需求实际上是业务对PCIe配置的虚拟设备的QoS需求。
所述第一业务的QoS需求可以由下述至少一个服务质量需求值表示:吞吐量、时延、带宽、丢包率、抖动。
优选的,本发明实施例中,可以根据业务的业务类型确定利用I/O资源的业务的QoS需求;例如,若业务是快速交付业务(如银行支付业务),则确定利用I/O资源的业务需要低时延;若业务为多媒体业务,则确定利用I/O资源的业务需要大带宽。
此外,还可以根据历史数据库的统计确定利用I/O资源的业务的QoS需求;例如,根据对某电商业务的QoS需求的统计可知:在一些特定的时间内(如淘宝在双十一期间)会有大量的突发访问需求,此时该业务则需要大带宽,而在其他一些时间段(如淡季)因用户访问量大幅度降低,则无此需求。
302、根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA。
其中,服务等级协议(ServiceLevelAgreement,SLA)是服务提供商和用户双方之间协商而确定的关于服务质量等级的协议和合同,该协议或合同的制定使该服务提供商和用户对服务、优先权和责任等达成共识。SLA主要包括两部分:(1)商业部分,如签约双方、权力责任、计费规则等;(2)技术部分,如源、目的节点地址、预留带宽大小、时延、抖动、丢包等服务质量需求值,以及其他一些与网络相关的技术参数。需要说明的是,本发明实施例生成的SLA仅包含服务对象以及服务质量需求值,如第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;其他部分则不在本实施例的讨论范围之内。例如,一快速交付业务1的时延要求为:小于等于0.5ms,则针对该业务生成的SLA为:业务1,时延:小于等于0.5ms。
303、根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板。
其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;
所述软硬件资源可以包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。
优选的,可以根据第一业务的SLA包含的服务质量需求值以及每种软硬件资源提供的服务质量值,自定义组合配置模板包含的软硬件资源的种类以及数量;例如:假设第一业务的SLA中要求带宽10M,每个逻辑引擎能提供2M带宽、每个队列缓存能提供1M带宽,则生成的配置模板可以为:逻辑引擎4个、队列缓存2个;或者,逻辑引擎3个、队列缓存4个等组合方式。
还可以根据第一业务的SLA包含的服务质量需求值、以及预设的服务质量需求值与软硬件资源的映射关系生成配置模板;例如:第一业务SLA中要求带宽10M,预设映射关系为:5M带宽=逻辑引擎1个+队列缓存2个+中断向量2个,则为第一业务生成的配置模板可以为:2倍*(逻辑引擎1个+队列缓存2个+中断向量2个),即逻辑引擎2个、队列缓存4个、中断向量4个。
304、向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备。
其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。
进一步的,为了便于后期PCIe端点为具有同样QoS需求的业务配置同样功能的虚拟设备,所述方法还包括:存储所述配置模板;
当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;
其中,所述第二业务运行在所述第一物理主机上。
或者,当接收到迁移所述第一业务的迁移指令时,向所述第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;
其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。
如此,当运行业务的第一物理主机中的虚拟机从第一物理主机迁移至第二物理主机时,可以直接将存储的与该业务对应的配置模板应用于与第二物理主机连接的PCIe端点,由该PCIe端点根据该配置模板配置虚拟设备,通过该虚拟设备给业务提供I/O资源,保证迁移后的虚拟设备能够很好的满足业务的QoS需求,同时,由于该配置模板预先存储,当为相同QoS需求配置虚拟设备时,可以直接应用,大大缩短了适配QoS的时间。
例如,图4为本发明实施例提供的一种虚拟机迁移情况下适配QoS的示意图,如图4所示,包括物理主机1、物理主机2、与物理主机1以及存储设备和计算设备连接的PCIe端点1、与物理主机2连接的PCIe端点2,其中,物理主机1包含虚拟机1和虚拟机2,PCIe端点1根据虚拟设备b的配置模板配置虚拟设备b,并将存储设备的能力通过虚拟设备b提供给虚拟机2,以满足虚拟机2上业务的QoS需求。当虚拟机2从物理主机1迁移至物理主机2时,为了保证运行在虚拟机2上业务的QoS需求,此时,需要与物理主机2连接的PCIe端点2与存储设备连接,同时调用已存储的虚拟设备b的配置模板,根据该虚拟模板配置具有相同QoS特性的虚拟设备b,并将PCIe端点1中虚拟设备b当前状态与PCIe端点2中虚拟设备b的状态相同步。
进一步的,本发明实施例中,还可以根据PCIe配置的虚拟设备的利用情况,动态的更新配置模板,具体的,所述方法还包括:
实时地检测所述虚拟设备的相关指标;
若所述相关指标大于预设阈值,则更新所述SLA;
根据更新后的SLA更新所述配置模板;
其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。
优选的,可以通过QoS传感器实时地检测所述虚拟设备的相关指标。
其中,所述更新所述SLA包括:根据所述虚拟设备的相关指标增加或者降低所述SLA中包含的服务质量需求值。
例如,若检测到逻辑引擎的利用率大于等于预设阈值,则表示虚拟设备中配置的逻辑引擎的数量不能满足业务的QoS需求,此时,为了保证满足QoS需求,可以增加SLA中包含的服务质量需求值,根据该更新的SLA的增加配置模板中包含的逻辑引擎数量;若检测到逻辑引擎的利用率小于预设阈值,则表示虚拟设备中配置的逻辑引擎的数量能够满足业务的QoS需求且有很大的剩余空间,为了确保资源利用率,此时,可以降低SLA中包含的服务质量需求值,根据该更新的SLA的降低配置模板中包含的逻辑引擎数量;其中,预设阈值根据需要设置,本发明实施例对比不进行限定。
由上可知,本发明实施例提供一种适配QoS的方法和装置,首先确定利用输入输出I/O资源的第一业务的服务质量QoS需求,然后根据所述第一业务的QoS需求生成所述第一服务等级协议SLA,再根据所述SLA生成用于配置执行第一业务的虚拟设备的配置模板,其中,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和,最后,向第一PCIe端点发送所述配置模板,指示第一PCIe端点根据该配置模板配置虚拟设备。由于,配置模板包含的软硬件资源所提供的服务质量值之和与业务的QoS需求相等,所以,PCIe端点根据该配置模板动态配置的虚拟设备在执行业务时,能够向业务提供满足业务的QoS需求的I/O资源。
图5为第二实施例提供的适配QoS的装置40的结构图,如图5所示,可以包括:
确定单元401,用于确定利用输入输出I/O资源的第一业务的服务质量QoS需求。
其中,所述第一业务为运行在物理主机上的任一业务,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务;由于上述图2中已提到PCIe端点通过虚拟设备将I/O资源提供给物理主机中的虚拟机使用,所以,该步骤中利用输入输出I/O资源的业务的QoS需求实际上是业务对PCIe配置的虚拟设备的QoS需求。
所述第一业务的QoS需求可以由下述至少一个服务质量需求值表示:吞吐量、时延、带宽、丢包率、抖动。
生成单元402,用于根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA;
以及,根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板。
其中,服务等级协议(ServiceLevelAgreement,SLA)是服务提供商和用户双方之间协商而确定的关于服务质量等级的协议和合同,该协议或合同的制定使该服务提供商和用户对服务、优先权和责任等达成共识。SLA主要包括两部分:(1)商业部分,如签约双方、权力责任、计费规则等;(2)技术部分,如源、目的节点地址、预留带宽大小、时延、抖动、丢包等服务质量需求值,以及其他一些与网络相关的技术参数。需要说明的是,本发明实施例生成的SLA仅包含服务对象以及服务质量需求值,如第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;其他部分则不在本实施例的讨论范围之内。例如,一快速交付业务1的时延要求为:小于等于0.5ms,则针对该业务生成的SLA为:业务1,时延:小于等于0.5ms。
其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;
所述软硬件资源可以包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。
发送单元403,用于向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备。
其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。
进一步的,所述确定单元401,具体用于:根据业务的业务类型确定利用I/O资源的业务的QoS需求;例如,若业务是快速交付业务(如银行支付业务),则确定利用I/O资源的业务需要低时延;若业务为多媒体业务,则确定利用I/O资源的业务需要大带宽。
或者,根据历史数据库的统计确定利用I/O资源的业务的QoS需求;例如,根据对某电商业务的QoS需求的统计可知:在一些特定的时间内(如淘宝在双十一期间)会有大量的突发访问需求,此时该业务则需要大带宽,而在其他一些时间段(如淡季)因用户访问量大幅度降低,则无此需求。
进一步的,所述生成单元402,具体用于:
根据第一业务的SLA包含的服务质量需求值以及每种软硬件资源提供的服务质量值,自定义组合配置模板包含的软硬件资源的种类以及数量;例如:假设第一业务的SLA中要求带宽10M,每个逻辑引擎能提供2M带宽、每个队列缓存能提供1M带宽,则生成的配置模板可以为:逻辑引擎4个、队列缓存2个;或者,逻辑引擎3个、队列缓存4个等组合方式。
或者,根据第一业务的SLA包含的服务质量需求值、以及预设的服务质量需求值与软硬件资源的映射关系生成配置模板;例如:第一业务SLA中要求带宽10M,预设映射关系为:5M带宽=逻辑引擎1个+队列缓存2个+中断向量2个,则为第一业务生成的配置模板可以为:2倍*(逻辑引擎1个+队列缓存2个+中断向量2个),即逻辑引擎2个、队列缓存4个、中断向量4个。
进一步的,为了便于后期PCIe端点为具有同样QoS需求的业务配置同样功能的虚拟设备,如图5A所示,所述适配QoS的装置还包括:存储单元404,用于存储所述配置模板;
所述发送单元403,还用于当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;
其中,所述第二业务运行在所述第一物理主机上。
或者,当接收到迁移所述第一业务的迁移指令时,向所述第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;
其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。
如此,当运行业务的第一物理主机中的虚拟机从第一物理主机迁移至第二物理主机时,可以直接将存储的与该业务对应的配置模板应用于与第二物理主机连接的PCIe端点,由该PCIe端点根据该配置模板配置虚拟设备,通过该虚拟设备给业务提供I/O资源,保证迁移后的虚拟设备能够很好的满足业务的QoS需求,同时,由于该配置模板预先存储,当为相同QoS需求配置虚拟设备时,可以直接应用,大大缩短了适配QoS的时间。
例如,图4为本发明实施例提供的一种虚拟机迁移情况下适配QoS的示意图,如图4所示,包括物理主机1、物理主机2、与物理主机1以及存储设备和计算设备连接的PCIe端点1、与物理主机2连接的PCIe端点2,其中,物理主机1包含虚拟机1和虚拟机2,PCIe端点1根据虚拟设备b的配置模板配置虚拟设备b,并将存储设备的能力通过虚拟设备b提供给虚拟机2,以满足虚拟机2上业务的QoS需求。当虚拟机2从物理主机1迁移至物理主机2时,为了保证运行在虚拟机2上业务的QoS需求,此时,需要与物理主机2连接的PCIe端点2与存储设备连接,同时调用已存储的虚拟设备b的配置模板,根据该虚拟模板配置具有相同QoS特性的虚拟设备b,并将PCIe端点1中虚拟设备b当前状态与PCIe端点2中虚拟设备b的状态相同步。
进一步的,为了根据PCIe配置的虚拟设备的利用情况,动态的更新配置模板,如图5B所示,所述适配QoS的装置还包括:
检测单元405,用于实时地检测所述虚拟设备的相关指标;
所述生成单元402,还用于若所述相关指标大于预设阈值,则更新所述SLA;
根据更新后的SLA更新所述配置模板;
其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。
示例性的,所述检测单元405,具体用于通过QoS传感器实时地检测所述虚拟设备的相关指标。
示例性的,所述生成单元402,具体用于根据所述虚拟设备的相关指标增加或者降低所述SLA中包含的服务质量需求值。
例如,若检测到逻辑引擎的利用率大于等于预设阈值,则表示虚拟设备中配置的逻辑引擎的数量不能满足业务的QoS需求,此时,为了保证满足QoS需求,可以增加SLA中包含的服务质量需求值,根据该更新的SLA的增加配置模板中包含的逻辑引擎数量;若检测到逻辑引擎的利用率小于预设阈值,则表示虚拟设备中配置的逻辑引擎的数量能够满足业务的QoS需求且有很大的剩余空间,为了确保资源利用率,此时,可以降低SLA中包含的服务质量需求值,根据该更新的SLA的降低配置模板中包含的逻辑引擎数量;其中,预设阈值根据需要设置,本发明实施例对比不进行限定。
由上可知,本发明实施例提供一种适配QoS的装置40,首先确定利用输入输出I/O资源的第一业务的服务质量QoS需求,然后根据所述第一业务的QoS需求生成所述第一服务等级协议SLA,再根据所述SLA生成用于配置执行第一业务的虚拟设备的配置模板,其中,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和,最后,向第一PCIe端点发送所述配置模板,指示第一PCIe端点根据该配置模板配置虚拟设备。由于,配置模板包含的软硬件资源所提供的服务质量值之和与业务的QoS需求相等,所以,PCIe端点根据该配置模板动态配置的虚拟设备在执行业务时,能够向业务提供满足业务的QoS需求的I/O资源。
图6为第二实施例提供的适配QoS的装置60的结构图,如图6所示,该装置可以包括:处理器601、存储器602、通信单元603,至少一个通信总线604,用于实现这些装置之间的连接和相互通信;
处理器601可能是一个中央处理器(英文:centralprocessingunit,简称为CPU);
存储器602,可以是易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:RAM);或者非易失性存储器(英文:non-volatilememory),例如只读存储器(英文:read-onlymemory,缩写:ROM),快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:HDD)或固态硬盘(英文:solid-statedrive,缩写:SSD);或者上述种类的存储器的组合,并向处理器601提供指令和数据;
通信单元603,用于与外部网元之间进行数据传输。
处理器601,用于确定利用输入输出I/O资源的第一业务的服务质量QoS需求;
根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA;
根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板。
其中,所述第一业务为运行在物理主机上的任一业务,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务;由于上述图2中已提到PCIe端点通过虚拟设备将I/O资源提供给物理主机中的虚拟机使用,所以,该步骤中利用输入输出I/O资源的业务的QoS需求实际上是业务对PCIe配置的虚拟设备的QoS需求。
所述第一业务的QoS需求可以由下述至少一个服务质量需求值表示:吞吐量、时延、带宽、丢包率、抖动。
所述服务等级协议(ServiceLevelAgreement,SLA)是服务提供商和用户双方之间协商而确定的关于服务质量等级的协议和合同,该协议或合同的制定使该服务提供商和用户对服务、优先权和责任等达成共识。SLA主要包括两部分:(1)商业部分,如签约双方、权力责任、计费规则等;(2)技术部分,如源、目的节点地址、预留带宽大小、时延、抖动、丢包等服务质量需求值,以及其他一些与网络相关的技术参数。需要说明的是,本发明实施例生成的SLA仅包含服务对象以及服务质量需求值,如第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;其他部分则不在本实施例的讨论范围之内。例如,一快速交付业务1的时延要求为:小于等于0.5ms,则针对该业务生成的SLA为:业务1,时延:小于等于0.5ms。
其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;
所述软硬件资源可以包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。
通信单元603,用于向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备。
其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。
进一步的,所述处理器601,具体用于:根据业务的业务类型确定利用I/O资源的业务的QoS需求;例如,若业务是快速交付业务(如银行支付业务),则确定利用I/O资源的业务需要低时延;若业务为多媒体业务,则确定利用I/O资源的业务需要大带宽。
或者,根据历史数据库的统计确定利用I/O资源的业务的QoS需求;例如,根据对某电商业务的QoS需求的统计可知:在一些特定的时间内(如淘宝在双十一期间)会有大量的突发访问需求,此时该业务则需要大带宽,而在其他一些时间段(如淡季)因用户访问量大幅度降低,则无此需求。
进一步的,所述处理器601,具体用于:
根据第一业务的SLA包含的服务质量需求值以及每种软硬件资源提供的服务质量值,自定义组合配置模板包含的软硬件资源的种类以及数量;例如:假设第一业务的SLA中要求带宽10M,每个逻辑引擎能提供2M带宽、每个队列缓存能提供1M带宽,则生成的配置模板可以为:逻辑引擎4个、队列缓存2个;或者,逻辑引擎3个、队列缓存4个等组合方式。
或者,根据第一业务的SLA包含的服务质量需求值、以及预设的服务质量需求值与软硬件资源的映射关系生成配置模板;例如:第一业务SLA中要求带宽10M,预设映射关系为:5M带宽=逻辑引擎1个+队列缓存2个+中断向量2个,则为第一业务生成的配置模板可以为:2倍*(逻辑引擎1个+队列缓存2个+中断向量2个),即逻辑引擎2个、队列缓存4个、中断向量4个。
进一步的,为了便于后期PCIe端点为具有同样QoS需求的业务配置同样功能的虚拟设备,所述处理器601,还用于存储所述配置模板;
所述通信单元603,还用于当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;
其中,所述第二业务运行在所述第一物理主机上。
或者,当接收到迁移所述第一业务的迁移指令时,向所述第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;
其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。
如此,当运行业务的第一物理主机中的虚拟机从第一物理主机迁移至第二物理主机时,可以直接将存储的与该业务对应的配置模板应用于与第二物理主机连接的PCIe端点,由该PCIe端点根据该配置模板配置虚拟设备,通过该虚拟设备给业务提供I/O资源,保证迁移后的虚拟设备能够很好的满足业务的QoS需求,同时,由于该配置模板预先存储,当为相同QoS需求配置虚拟设备时,可以直接应用,大大缩短了适配QoS的时间。
例如,图4为本发明实施例提供的一种虚拟机迁移情况下适配QoS的示意图,如图4所示,包括物理主机1、物理主机2、与物理主机1以及存储设备和计算设备连接的PCIe端点1、与物理主机2连接的PCIe端点2,其中,物理主机1包含虚拟机1和虚拟机2,PCIe端点1根据虚拟设备b的配置模板配置虚拟设备b,并将存储设备的能力通过虚拟设备b提供给虚拟机2,以满足虚拟机2上业务的QoS需求。当虚拟机2从物理主机1迁移至物理主机2时,为了保证运行在虚拟机2上业务的QoS需求,此时,需要与物理主机2连接的PCIe端点2与存储设备连接,同时调用已存储的虚拟设备b的配置模板,根据该虚拟模板配置具有相同QoS特性的虚拟设备b,并将PCIe端点1中虚拟设备b当前状态与PCIe端点2中虚拟设备b的状态相同步。
进一步的,为了根据PCIe配置的虚拟设备的利用情况,动态的更新配置模板,所述处理器601,还用于:
实时地检测所述虚拟设备的相关指标;
若所述相关指标大于预设阈值,则更新所述SLA;
根据更新后的SLA更新所述配置模板;
其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。
示例性的,所述处理器601,具体用于通过QoS传感器实时地检测所述虚拟设备的相关指标。
示例性的,所述处理器601,具体用于根据所述虚拟设备的相关指标增加或者降低所述SLA中包含的服务质量需求值。
例如,若检测到逻辑引擎的利用率大于等于预设阈值,则表示虚拟设备中配置的逻辑引擎的数量不能满足业务的QoS需求,此时,为了保证满足QoS需求,可以增加SLA中包含的服务质量需求值,根据该更新的SLA的增加配置模板中包含的逻辑引擎数量;若检测到逻辑引擎的利用率小于预设阈值,则表示虚拟设备中配置的逻辑引擎的数量能够满足业务的QoS需求且有很大的剩余空间,为了确保资源利用率,此时,可以降低SLA中包含的服务质量需求值,根据该更新的SLA的降低配置模板中包含的逻辑引擎数量;其中,预设阈值根据需要设置,本发明实施例对比不进行限定。
由上可知,本发明实施例提供一种适配QoS的装置60,首先确定利用输入输出I/O资源的第一业务的服务质量QoS需求,然后根据所述第一业务的QoS需求生成所述第一服务等级协议SLA,再根据所述SLA生成用于配置执行第一业务的虚拟设备的配置模板,其中,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和,最后,向第一PCIe端点发送所述配置模板,指示第一PCIe端点根据该配置模板配置虚拟设备。由于,配置模板包含的软硬件资源所提供的服务质量值之和与业务的QoS需求相等,所以,PCIe端点根据该配置模板动态配置的虚拟设备在执行业务时,能够向业务提供满足业务的QoS需求的I/O资源。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种适配服务质量QoS的方法,其特征在于,包括:
确定利用输入输出I/O资源的第一业务的服务质量QoS需求;其中,所述第一业务运行在第一物理主机上,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务,所述第一业务的QoS需求由至少一个服务质量需求值表示;
根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA;其中,所述SLA包含所述第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;
根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板;其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;
向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。
2.根据权利要求1所述的适配QoS的方法,其特征在于,
所述软硬件资源包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。
3.根据权利要求1或2所述的适配QoS的方法,其特征在于,所述方法还包括:存储所述配置模板;
当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;
其中,所述第二业务运行在所述第一物理主机上。
4.根据权利要求3所述的适配QoS的方法,其特征在于,所述方法还包括:
当接收到迁移所述第一业务的迁移指令时,向所述第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;
其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。
5.根据权利要求1-4任一项所述的适配QoS的方法,其特征在于,所述方法还包括:
实时地检测所述虚拟设备的相关指标;
若所述相关指标大于预设阈值,则更新所述SLA;
根据更新后的SLA更新所述配置模板;
其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。
6.一种适配QoS的装置,其特征在于,包括:
确定单元,用于确定利用输入输出I/O资源的第一业务的服务质量QoS需求;其中,所述第一业务运行在第一物理主机上,所述第一物理主机与第一PCIe端点连接,所述第一PCIe端点用于配置虚拟设备,所述虚拟设备用于执行运行在第一物理主机上的业务,所述第一业务的QoS需求由至少一个服务质量需求值表示;
生成单元,用于根据所述第一业务的QoS需求生成所述第一业务的服务等级协议SLA;其中,所述SLA包含所述第一业务的标识,以及与所述第一业务的标识对应的服务质量需求值;
以及,根据所述第一业务的SLA包含的服务质量需求值生成所述第一业务的配置模板;其中,所述配置模板包含为所述第一业务分配的软硬件资源的种类以及数量,所述配置模板包含的软硬件资源所提供的服务质量值的和等于所述第一业务的服务质量需求值之和;
发送单元,用于向所述第一PCIe端点发送所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;其中,所述虚拟设备包含的软硬件资源的种类以及数量与所述配置模板中包含的软硬件种类以及数量相等。
7.根据权利要求6所述的适配QoS的装置,其特征在于,
所述软硬件资源包括:逻辑引擎、队列缓存、中断向量、缓存空间、仲裁优先级、调度优先级中的一种或多种。
8.根据权利要求6或7所述的适配QoS的装置,其特征在于,所述装置还包括:
存储单元,用于存储所述配置模板;
所述发送单元,还用于当确定利用输入输出I/O资源的第二业务的QoS需求与所述第一业务的QoS需求相同时,向所述第一PCIe端点发送存储的所述配置模板,指示所述第一PCIe端点根据所述配置模板为所述第二业务配置虚拟设备;
其中,所述第二业务运行在所述第一物理主机上。
9.根据权利要求8所述的适配QoS的装置,其特征在于,
所述发送单元,还用于当接收到迁移所述第一业务的迁移指令时,向所述第二PCIe端点发送存储的所述配置模板,指示所述第二PCIe端点根据所述配置模板为所述第一业务配置虚拟设备;
其中,所述迁移指令用于指示将所述业务从第一物理主机迁移至第二物理主机;所述第二PCIe端点与第二物理主机连接,用于配置执行运行在所述第二物理主机上的业务的虚拟设备。
10.根据权利要求6-8任一项所述的适配QoS的装置,其特征在于,所述装置还包括:
检测单元,用于实时地检测所述虚拟设备的相关指标;
所述生成单元,还用于若所述相关指标大于预设阈值,则更新所述SLA;
根据更新后的SLA更新所述配置模板;
其中,所述相关指标包含逻辑引擎利用率、队列缓存平均深度、中断向量数量中的一个或多个。
CN201410745161.3A 2014-12-08 2014-12-08 一种适配QoS的方法和装置 Active CN105743808B (zh)

Priority Applications (18)

Application Number Priority Date Filing Date Title
CN201710662507.7A CN107645407B (zh) 2014-12-08 2014-12-08 一种适配QoS的方法和装置
CN201410745161.3A CN105743808B (zh) 2014-12-08 2014-12-08 一种适配QoS的方法和装置
CA2961283A CA2961283C (en) 2014-12-08 2015-11-04 Resource management method, host, and endpoint
EP19177796.0A EP3620919A1 (en) 2014-12-08 2015-11-04 Resource management method, host, and endpoint
SG11201701729UA SG11201701729UA (en) 2014-12-08 2015-11-04 Resource management method, host, and endpoint
ES15867762T ES2757375T3 (es) 2014-12-08 2015-11-04 Método, servidor, y punto final de gestión de recursos
JP2017519483A JP6408148B2 (ja) 2014-12-08 2015-11-04 リソース管理方法、ホストおよびエンドポイント
RU2017114648A RU2673707C1 (ru) 2014-12-08 2015-11-04 Способ управления ресурсами, хост и конечная точка
MX2017005248A MX365979B (es) 2014-12-08 2015-11-04 Metodo de gestion de recursos, huesped y punto de extremo.
BR112017005195-8A BR112017005195B1 (pt) 2014-12-08 2015-11-04 Método de gerenciamento de recursos, hospedeiro e ponto final
EP15867762.5A EP3206125B1 (en) 2014-12-08 2015-11-04 Resource management method, host, and endpoint
PCT/CN2015/093800 WO2016091035A1 (zh) 2014-12-08 2015-11-04 一种资源管理方法、主机和端点
AU2015361607A AU2015361607B2 (en) 2014-12-08 2015-11-04 Resource management method, host, and endpoint
CN201580003144.5A CN105874432A (zh) 2014-12-08 2015-11-04 一种资源管理方法、主机和端点
KR1020177008903A KR101880407B1 (ko) 2014-12-08 2015-11-04 리소스 관리 방법, 호스트 및 엔드포인트
ZA2017/01765A ZA201701765B (en) 2014-12-08 2017-03-10 Resource management method, host, and endpoint
US15/471,202 US10489207B2 (en) 2014-12-08 2017-03-28 System for resource management using performance specification and description information of the process
US16/434,403 US11379265B2 (en) 2014-12-08 2019-06-07 Resource management method, host, and endpoint based on performance specification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410745161.3A CN105743808B (zh) 2014-12-08 2014-12-08 一种适配QoS的方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710662507.7A Division CN107645407B (zh) 2014-12-08 2014-12-08 一种适配QoS的方法和装置

Publications (2)

Publication Number Publication Date
CN105743808A true CN105743808A (zh) 2016-07-06
CN105743808B CN105743808B (zh) 2017-09-19

Family

ID=56106661

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201710662507.7A Active CN107645407B (zh) 2014-12-08 2014-12-08 一种适配QoS的方法和装置
CN201410745161.3A Active CN105743808B (zh) 2014-12-08 2014-12-08 一种适配QoS的方法和装置
CN201580003144.5A Pending CN105874432A (zh) 2014-12-08 2015-11-04 一种资源管理方法、主机和端点

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710662507.7A Active CN107645407B (zh) 2014-12-08 2014-12-08 一种适配QoS的方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201580003144.5A Pending CN105874432A (zh) 2014-12-08 2015-11-04 一种资源管理方法、主机和端点

Country Status (14)

Country Link
US (2) US10489207B2 (zh)
EP (2) EP3206125B1 (zh)
JP (1) JP6408148B2 (zh)
KR (1) KR101880407B1 (zh)
CN (3) CN107645407B (zh)
AU (1) AU2015361607B2 (zh)
BR (1) BR112017005195B1 (zh)
CA (1) CA2961283C (zh)
ES (1) ES2757375T3 (zh)
MX (1) MX365979B (zh)
RU (1) RU2673707C1 (zh)
SG (1) SG11201701729UA (zh)
WO (1) WO2016091035A1 (zh)
ZA (1) ZA201701765B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506189A (zh) * 2016-09-13 2017-03-15 中国电子科技集团公司第三十二研究所 虚拟平台实时与非实时处理环境数据交换方法
CN108199864A (zh) * 2017-12-06 2018-06-22 中国航空工业集团公司西安航空计算技术研究所 一种基于PCIe事务层数据传输的带宽分配方法
CN109992314A (zh) * 2019-04-09 2019-07-09 Oppo广东移动通信有限公司 数据上报方法、装置、终端和存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10296383B2 (en) 2015-07-10 2019-05-21 Samsung Electronics Co., Ltd. Computing system with resource management mechanism and method of operation thereof
CN110392400B (zh) * 2018-04-21 2022-04-12 华为技术有限公司 一种通信方法及相关设备
US11036649B2 (en) * 2019-04-04 2021-06-15 Cisco Technology, Inc. Network interface card resource partitioning
CN110581776B (zh) * 2019-06-10 2022-06-21 阿里巴巴集团控股有限公司 QoS处理及控制方法及网络接口控制器
JP7191906B2 (ja) * 2020-09-09 2022-12-19 株式会社日立製作所 リソース割当制御装置、計算機システム、及びリソース割当制御方法
KR102488615B1 (ko) * 2021-01-18 2023-01-17 주식회사 텐 리소스 크기 추전 방법, 장치 및 컴퓨터 프로그램
KR102488614B1 (ko) * 2021-01-18 2023-01-17 주식회사 텐 가상화된 리소스를 관리하는 방법, 장치 및 컴퓨터 프로그램
CN115729694A (zh) * 2021-08-31 2023-03-03 华为技术有限公司 一种资源管理的方法及相应装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140007097A1 (en) * 2012-06-29 2014-01-02 Brocade Communications Systems, Inc. Dynamic resource allocation for virtual machines
CN103503404A (zh) * 2011-12-05 2014-01-08 华为技术有限公司 资源调度方法、装置和系统
CN103870341A (zh) * 2014-03-12 2014-06-18 汉柏科技有限公司 一种调整虚拟机资源的方法和系统
CN104111800A (zh) * 2013-04-18 2014-10-22 阿里巴巴集团控股有限公司 一种虚拟磁盘的io口调度方法及其调度装置

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6816456B1 (en) * 2000-02-04 2004-11-09 At&T Corp. Methods and apparatus for network use optimization
US7058826B2 (en) * 2000-09-27 2006-06-06 Amphus, Inc. System, architecture, and method for logical server and other network devices in a dynamically configurable multi-server network environment
US7159010B2 (en) * 2002-02-06 2007-01-02 Intel Corporation Network abstraction of input/output devices
US20030208581A1 (en) * 2002-05-02 2003-11-06 Behren Paul D. Von Discovery of fabric devices using information from devices and switches
US7818447B1 (en) 2003-03-28 2010-10-19 Emc Corporation End-to-end broadcast based flow control in a switch fabric
KR101198246B1 (ko) * 2003-11-17 2012-11-07 텔레콤 이탈리아 소시에떼 퍼 아찌오니 서비스 품질 모니터링 구조, 관련 방법, 네트워크 및컴퓨터 프로그램 제품
US7685281B1 (en) * 2004-02-13 2010-03-23 Habanero Holdings, Inc. Programmatic instantiation, provisioning and management of fabric-backplane enterprise servers
US7623516B2 (en) * 2004-06-29 2009-11-24 Damaka, Inc. System and method for deterministic routing in a peer-to-peer hybrid communications network
US8139598B2 (en) * 2005-03-21 2012-03-20 Telefonaktiebolaget L M Ericsson (Publ) Automatic QoS configuration
US7574536B2 (en) * 2005-04-22 2009-08-11 Sun Microsystems, Inc. Routing direct memory access requests using doorbell addresses
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8108550B2 (en) 2006-10-25 2012-01-31 Hewlett-Packard Development Company, L.P. Real-time identification of an asset model and categorization of an asset to assist in computer network security
US7752360B2 (en) * 2007-05-16 2010-07-06 Nuova Systems, Inc. Method and system to map virtual PCIe I/O devices and resources to a standard I/O bus
US20090006702A1 (en) * 2007-06-26 2009-01-01 Nitin Sarangdhar Sharing universal serial bus isochronous bandwidth between multiple virtual machines
US7970903B2 (en) * 2007-08-20 2011-06-28 Hitachi, Ltd. Storage and server provisioning for virtualized and geographically dispersed data centers
US8141094B2 (en) * 2007-12-03 2012-03-20 International Business Machines Corporation Distribution of resources for I/O virtualized (IOV) adapters and management of the adapters through an IOV management partition via user selection of compatible virtual functions
US7711789B1 (en) * 2007-12-07 2010-05-04 3 Leaf Systems, Inc. Quality of service in virtual computing environments
US7962587B2 (en) * 2007-12-10 2011-06-14 Oracle America, Inc. Method and system for enforcing resource constraints for virtual machines across migration
US20100138829A1 (en) 2008-12-01 2010-06-03 Vincent Hanquez Systems and Methods for Optimizing Configuration of a Virtual Machine Running At Least One Process
US8549516B2 (en) * 2008-12-23 2013-10-01 Citrix Systems, Inc. Systems and methods for controlling, by a hypervisor, access to physical resources
US8144582B2 (en) * 2008-12-30 2012-03-27 International Business Machines Corporation Differentiating blade destination and traffic types in a multi-root PCIe environment
US8458368B2 (en) * 2009-05-26 2013-06-04 Oracle America, Inc. System and method for discovering and protecting shared allocated resources in a shared virtualized I/O device
US8521915B2 (en) * 2009-08-18 2013-08-27 Fusion-Io, Inc. Communicating between host computers and peripheral resources in an input/output (I/O) virtualization system
US8112505B1 (en) * 2009-10-20 2012-02-07 Wanova Technologies, Ltd. On-demand block-level file system streaming to remote desktops
US8732349B2 (en) * 2009-11-18 2014-05-20 Fusion-Io, Inc. Assignment of resources in an input/output (I/O) virtualization system
US8473947B2 (en) * 2010-01-18 2013-06-25 Vmware, Inc. Method for configuring a physical adapter with virtual function (VF) and physical function (PF) for controlling address translation between virtual disks and physical storage regions
US8732310B2 (en) * 2010-04-22 2014-05-20 International Business Machines Corporation Policy-driven capacity management in resource provisioning environments
CN101938416B (zh) 2010-09-01 2012-08-08 华南理工大学 一种基于动态重配置虚拟资源的云计算资源调度方法
CN102087618A (zh) * 2011-02-12 2011-06-08 浪潮(北京)电子信息产业有限公司 云计算操作系统的资源管理方法及系统
US9021475B2 (en) * 2011-05-04 2015-04-28 Citrix Systems, Inc. Systems and methods for SR-IOV pass-thru via an intermediary device
US8631154B2 (en) 2011-06-29 2014-01-14 International Business Machines Corporation Dynamically modifying quality of service levels for resources in a networked computing environment
WO2012109870A1 (zh) 2011-08-01 2012-08-23 华为技术有限公司 虚拟资源管理方法、系统及装置
US9372827B2 (en) * 2011-09-30 2016-06-21 Commvault Systems, Inc. Migration of an existing computing system to new hardware
US8276140B1 (en) * 2011-11-14 2012-09-25 Google Inc. Adjustable virtual network performance
US20130138813A1 (en) 2011-11-28 2013-05-30 Microsoft Corporation Role instance reachability in data center
US8707316B1 (en) * 2012-01-05 2014-04-22 The Boeing Company Methods and systems for mission-driven quality of service management
US9239786B2 (en) * 2012-01-18 2016-01-19 Samsung Electronics Co., Ltd. Reconfigurable storage device
WO2013132735A1 (ja) * 2012-03-08 2013-09-12 日本電気株式会社 仮想マシン管理装置及び仮想マシン管理方法
CN102662750A (zh) * 2012-03-23 2012-09-12 上海交通大学 基于弹性虚拟机池的虚拟机资源优化控制方法及其系统
US9397954B2 (en) 2012-03-26 2016-07-19 Oracle International Corporation System and method for supporting live migration of virtual machines in an infiniband network
US9311122B2 (en) * 2012-03-26 2016-04-12 Oracle International Corporation System and method for providing a scalable signaling mechanism for virtual machine migration in a middleware machine environment
US9027024B2 (en) * 2012-05-09 2015-05-05 Rackspace Us, Inc. Market-based virtual machine allocation
US8966321B2 (en) * 2012-05-09 2015-02-24 Ixia Logical port and layer protocol test configuration resource manager
JP2013254304A (ja) * 2012-06-06 2013-12-19 Sony Corp 情報処理装置、情報処理方法およびプログラム
US9154589B1 (en) * 2012-06-28 2015-10-06 Amazon Technologies, Inc. Bandwidth-optimized cloud resource placement service
US9348385B2 (en) * 2012-07-09 2016-05-24 L. Pierre deRochement Hybrid computing module
WO2014058411A1 (en) * 2012-10-08 2014-04-17 Hewlett-Packard Development Company, L.P. Hybrid cloud environment
US9444800B1 (en) * 2012-11-20 2016-09-13 Amazon Technologies, Inc. Virtual communication endpoint services
KR102020046B1 (ko) * 2012-12-06 2019-09-10 한국전자통신연구원 서버 가상화 환경에서의 플로우 관리 장치 및 방법, 서비스품질 정책 적용 방법
US9608933B2 (en) * 2013-01-24 2017-03-28 Hitachi, Ltd. Method and system for managing cloud computing environment
US20140324862A1 (en) * 2013-04-30 2014-10-30 Splunk Inc. Correlation for user-selected time ranges of values for performance metrics of components in an information-technology environment with log data from that information-technology environment
US9380467B2 (en) * 2013-05-10 2016-06-28 Elwha Llc Dynamic point to point mobile network including intermediate device aspects system and method
CN103353861B (zh) * 2013-06-18 2016-06-29 中国科学院计算技术研究所 实现分布式i/o资源池化的方法及装置
US9495211B1 (en) * 2014-03-04 2016-11-15 Google Inc. Allocating computing resources based on user intent
US9424216B2 (en) * 2014-03-14 2016-08-23 International Business Machines Corporation Ascertaining configuration of a virtual adapter in a computing environment
US9374324B2 (en) * 2014-03-14 2016-06-21 International Business Machines Corporation Determining virtual adapter access controls in a computing environment
US9658897B2 (en) * 2014-06-23 2017-05-23 International Business Machines Corporation Flexible deployment and migration of virtual machines
US9635103B2 (en) * 2014-09-11 2017-04-25 Amazon Technologies, Inc. Dynamic virtual resource request rate control for utilizing physical resources
US9842075B1 (en) * 2014-09-12 2017-12-12 Amazon Technologies, Inc. Presenting multiple endpoints from an enhanced PCI express endpoint device
US9804877B2 (en) * 2014-09-16 2017-10-31 Unisys Corporation Reset of single root PCI manager and physical functions within a fabric

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103503404A (zh) * 2011-12-05 2014-01-08 华为技术有限公司 资源调度方法、装置和系统
US20140007097A1 (en) * 2012-06-29 2014-01-02 Brocade Communications Systems, Inc. Dynamic resource allocation for virtual machines
CN104111800A (zh) * 2013-04-18 2014-10-22 阿里巴巴集团控股有限公司 一种虚拟磁盘的io口调度方法及其调度装置
CN103870341A (zh) * 2014-03-12 2014-06-18 汉柏科技有限公司 一种调整虚拟机资源的方法和系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506189A (zh) * 2016-09-13 2017-03-15 中国电子科技集团公司第三十二研究所 虚拟平台实时与非实时处理环境数据交换方法
CN106506189B (zh) * 2016-09-13 2019-08-30 中国电子科技集团公司第三十二研究所 虚拟平台实时与非实时处理环境数据交换方法
CN108199864A (zh) * 2017-12-06 2018-06-22 中国航空工业集团公司西安航空计算技术研究所 一种基于PCIe事务层数据传输的带宽分配方法
CN109992314A (zh) * 2019-04-09 2019-07-09 Oppo广东移动通信有限公司 数据上报方法、装置、终端和存储介质
CN109992314B (zh) * 2019-04-09 2022-03-29 Oppo广东移动通信有限公司 数据上报方法、装置、终端和存储介质

Also Published As

Publication number Publication date
CA2961283C (en) 2019-03-05
ZA201701765B (en) 2018-04-25
US11379265B2 (en) 2022-07-05
JP6408148B2 (ja) 2018-10-17
WO2016091035A1 (zh) 2016-06-16
BR112017005195B1 (pt) 2023-01-17
CN105743808B (zh) 2017-09-19
MX365979B (es) 2019-06-21
CN105874432A (zh) 2016-08-17
RU2673707C1 (ru) 2018-11-29
CA2961283A1 (en) 2016-06-16
CN107645407B (zh) 2021-02-12
JP2017533509A (ja) 2017-11-09
US10489207B2 (en) 2019-11-26
EP3206125A4 (en) 2017-12-06
EP3206125A1 (en) 2017-08-16
US20190286488A1 (en) 2019-09-19
BR112017005195A8 (pt) 2018-12-26
KR20170046786A (ko) 2017-05-02
SG11201701729UA (en) 2017-04-27
ES2757375T3 (es) 2020-04-29
BR112017005195A2 (pt) 2017-12-12
CN107645407A (zh) 2018-01-30
US20170199767A1 (en) 2017-07-13
AU2015361607B2 (en) 2019-01-31
AU2015361607A1 (en) 2017-03-30
KR101880407B1 (ko) 2018-07-19
EP3206125B1 (en) 2019-09-11
MX2017005248A (es) 2018-01-30
EP3620919A1 (en) 2020-03-11

Similar Documents

Publication Publication Date Title
CN105743808A (zh) 一种适配QoS的方法和装置
US11573831B2 (en) Optimizing resource usage in distributed computing environments by dynamically adjusting resource unit size
US11070625B2 (en) Server connection capacity management
US10261840B2 (en) Controlling virtual machine density and placement distribution in a converged infrastructure resource pool
US10757180B2 (en) Sender system status-aware load balancing
US9880751B2 (en) Cost-effective IAAS (infrastructure-as-a-service) cloud storage based on adaptive virtual disks (AVD)
US10540170B2 (en) Concurrent I/O enclosure firmware/field-programmable gate array (FPGA) update in a multi-node environment
US20190155512A1 (en) Policy-based optimization of cloud resources on tiered storage operations
US10310738B2 (en) Avoid out of space outage in a thinly provisioned box
US11144230B2 (en) Data copy amount reduction in data replication
US20200142822A1 (en) Multi-tenant cloud elastic garbage collector
US10880360B2 (en) File transmission in a cluster
CN111158905A (zh) 调整资源的方法和装置
US10789008B2 (en) Reducing write collisions in data copy
US10630554B1 (en) Input/output (I/O) performance of hosts through bi-directional bandwidth feedback optimization
US11622029B2 (en) Optimizing information transmitted over a direct communications connection
US11799945B2 (en) Pipelined file server based data transmission
US10831412B2 (en) Optimizing dual-layered compression in storage systems
US20140189157A1 (en) Energy management for communication network elements

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant