CN110278104A - 用于优化的服务质量加速的技术 - Google Patents

用于优化的服务质量加速的技术 Download PDF

Info

Publication number
CN110278104A
CN110278104A CN201910117004.0A CN201910117004A CN110278104A CN 110278104 A CN110278104 A CN 110278104A CN 201910117004 A CN201910117004 A CN 201910117004A CN 110278104 A CN110278104 A CN 110278104A
Authority
CN
China
Prior art keywords
qos
node
tree
computing device
layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910117004.0A
Other languages
English (en)
Inventor
M.德瓦尔
D.洪
Y.拉古拉姆
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN110278104A publication Critical patent/CN110278104A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS

Abstract

用于配置网络服务质量(QoS)参数的技术包括具有带调度器树的网络控制器的计算装置。计算装置在驱动器QoS树的共享层中为QoS参数创建QoS节点。该节点具有设置成专属的状态,并且与时间戳相关联。如果该节点与多个实体相关联,那么可将其状态设置成共享。计算装置在调度器树的共享层中采用用于QoS参数的QoS节点对网络控制器进行编程。计算装置确定共享层中的可用节点是否低于阈值。如果其低于阈值,那么计算装置在驱动器QoS树的共享层中寻找最老专属QoS节点,并将该节点移动到驱动器QoS树和调度器树的专属层。还描述和要求保护其它实施例。

Description

用于优化的服务质量加速的技术
对相关申请的交叉引用
本申请主张2018年3月16日提交的序号为62/644,040的美国临时专利申请的权益。
背景技术
云服务提供商对诸如企业、个人或其它实体的多个租户提供云计算环境的一个或多个组成部分(例如,平台、基础设施、应用、存储或其它云服务)。在虚拟化CSP环境中,管理程序层可适当地基于遂道方案提供增值型服务,如分组监测、计量和修改。在某些情况下(例如,对于40 Gbps和更高速度),可通过在单个根I/O虚拟化(SR-IOV)模式中执行网络操作来减少管理程序开销。在该模式中,由管理程序提供的服务可在信任模式中由硬件提供。这些服务可包括基于控制平面策略丢弃或允许流的接入控制列表(ACL)、和提供分组修改以便增加或脱去隧道报头的隧道端点、以及对单个流或流群组的速率限制或带宽保证。
附图说明
附图中举例而非限制性地示出本文中描述的概念。为了简单和图示的清楚性,图中示出的元件不一定按比例绘制。在认为合适的情况下,在图中对参考标记进行重复以便指示对应或类似要素。
图1是用于优化的服务质量(QoS)加速的系统的至少一个实施例的简化框图;
图2是图1的计算装置的环境的至少一个实施例的简化框图;
图3是可由图1-2的计算装置执行的用于对网络接口控制器的QoS加速进行编程的方法的至少一个实施例的简化流程图;
图4是可由图1-2的计算装置执行的用于优化网络接口控制器的QoS加速的方法的至少一个实施例的简化流程图;
图5是示出图1-4的网络接口控制器的调度器树的示意图;以及
图6是示出图1-4的网络接口控制器的优化的调度器树的示意图。
具体实施方式
尽管本公开的概念易于具有各种修改和备选形式,但是图中举例示出其特定实施例,并且本文中将详细描述这些特定实施例。但是,应了解,没有意图要将本公开的概念局限于公开的特定形式,而是相反,意图是要覆盖符合本公开和随附权利要求的所有修改、等效物和备选方案。
说明书中对“一个实施例”、“实施例”、“说明性实施例”等的提及指示,描述的实施例可包括特定特征、结构或特性,但每个实施例可能包括或者可能不一定包括该特定特征、结构或特性。而且,此类短语不一定指相同实施例。此外,当结合实施例描述特定特征、结构或特性时,认为本领域技术人员知道结合其它实施例(无论是否被明确描述)来实现此类特征、结构或特性。另外,应明白,以“至少一个A、B和C”的形式包含在列表中的项目可表示:(A);(B);(C);(A和B);(A和C);(B和C);或(A, B和C)。类似地,以“A、B或C中的至少一个”的形式列出的项目可表示:(A);(B);(C);(A和B);(A和C);(B和C);或(A, B和C)。
在一些情况下,公开的实施例可以用硬件、固件、软件或其任何组合实现。公开的实施例也可作为由暂时性或非暂时性机器可读(例如,计算机可读)存储介质携带或存储在它上面的指令实现,这些指令可由一个或多个处理器读取并执行。机器可读存储介质可作为用于存储或传送可由机器读取的形式的信息的任何存储装置、机构或其它物理结构(例如,易失性或非易失性存储器、介质盘或其它介质装置)而被实施。
在附图中,可按特定布置和/或排序示出一些结构或方法特征。但是,应明白,可能并不要求此类特定布置和/或排序。而是,在一些实施例中,可按与说明性附图中示出的方式和/或顺序不同的方式和/或顺序布置此类特征。另外,在特定图中包括结构或方法特征不是意在要暗示所有实施例中都要求此类特征,且在一些实施例中,可不包含此类特征,或者此类特征可与其它特征组合。
现在参考图1,用于优化的QoS加速的系统100包括通过网络104进行通信的多个计算装置102。每个计算装置包括用于业务整形或其它服务质量(QoS)操作的硬件加速器支持。在使用中,计算装置102最初对于每个带宽配置利用共享带宽资源。共享带宽资源包括由诸如队列、虚拟机、业务类别或其它实体的多个QoS实体共享的带宽限制、带宽保证或其它调度器资源。驱动器监测共享资源的使用,以便推断共享资源是真的共享还是实际上可能是个体特性。如果没有与另一个实体共享给定带宽特性,那么无缝地重新配置共享带宽特性以便利用个体带宽资源并释放共享资源。共享资源还可用于其中共享它或者它的共享状态尚未确定的带宽特性配置。系统100可通过动态地推理控制平面的要求(例如,在运行时基于观察的行为确定要求)在现有技术上进行改进,由此可允许用户有效地利用调度器节点资源。因此,系统100用具成本效益的硬件来支持精细粒度的服务质量(QoS)规则。如下文进一步描述,调度器可在硬件中作为树实现,其中树提供比共享节点多得多的各个调度器节点。动态地推理资源是个体的还是共享的可减少使用的共享资源的数量,由此可允许使用具成本效益的硬件(例如,通过减小硬件的大小或开支)和/或允许支持额外共享实体。另外,系统100可在对网络业务具有最小破坏的情况下执行QoS优化。
每个计算装置102可作为能够执行本文中所描述的功能的任何类型的计算或计算机装置实施,包括但不限于计算机、服务器、工作站、桌面型计算机、膝上型计算机、笔记本型计算机、平板计算机、移动计算装置、可穿戴计算装置、网络设备、web设备、分布式计算系统、基于处理器的系统和/或消费型电子装置。如图1中所示,计算装置102说明性地包括处理器120、输入/输出子系统124、存储器126、数据存储装置128、通信子系统130、加速器134和/或在服务器或类似计算装置中常见的其它组件和装置。当然,在其它实施例中,计算装置102可包括其它或额外组件,诸如在服务器计算机中常见的组件(例如,各种输入/输出装置)。另外,在一些实施例中,说明性组件中的一个或多个说明性组件可并入在另一个组件中或者以其它方式形成另一个组件的一部分。例如,在一些实施例中,存储器126或其部分可并入在处理器120中。
处理器120可作为能够执行本文中所描述的功能的任何类型的处理器实施。处理器120说明性地是多核处理器,但是在其它实施例中,处理器120可作为(一个或多个)单或多核处理器、数字信号处理器、微控制器或其它处理器或处理/控制电路实施。说明性处理器120包括多个处理器核122,其中每个处理器核122是能够执行程序化指令的独立通用处理单元。例如,每个处理器核122可执行来自诸如IA-32或Intel® 64之类的通用指令集架构(ISA)的指令。尽管采用一个处理器核122来示出,但是在一些实施例中,处理器120可包括更大数量的处理器核122,例如4个处理器核122、14个处理器核122、28个处理器核122或不同数量。另外,尽管示为包括单个处理器120,但是在一些实施例中,计算装置102可作为具有多个处理器120的多插口服务器实施。
存储器126可作为能够执行本文中所描述的功能的任何类型的易失性或非易失性存储器或数据存储设备实施。在操作中,存储器126可存储在计算装置102的操作期间所使用的各种数据和软件,诸如操作系统、应用、程序、库和驱动程序。存储器126在通信上经由I/O子系统124耦合到处理器120,I/O子系统124可作为利于与处理器120、加速器134、存储器126和计算装置102的其它组件进行输入/输出操作的电路和/或组件实施。例如,I/O子系统124可作为存储器控制器集线器、输入/输出控制集线器、传感器集线器、固件装置、通信链路(即,点到点链路、总线链路、导线、电缆、光导、印刷电路板迹线等)和/或利于进行输入/输出操作的其它组件和子系统实施或以其它方式包括它们。在一些实施例中,I/O子系统124可形成片上系统(SoC)的一部分,并且可与处理器120、存储器126和计算装置102的其它组件一起并入在单个集成电路芯片上。
数据存储装置128可作为配置成用于短期或长期存储数据的任何类型的装置或多个装置实施,诸如例如存储器装置和电路、存储卡、硬盘驱动器、固态盘驱动器、非易失性闪速存储器或其它数据存储装置。计算装置102还包括通信子系统130,它可作为能够通过计算机网络104在计算装置102和其它远程装置之间实现通信的任何通信电路、装置或其合集实施。例如,通信子系统130可作为用于与远程装置发送和/或接收网络数据的网络接口控制器(NIC)132或其它网络控制器实施或以其它方式包括它们。NIC 132可作为将计算装置102连接到网络104的任何网络接口卡、网络适配器、主机织构接口、网络协处理器或其它组件实施。通信子系统130可配置成利用任何一个或多个通信技术(例如,有线或无线通信)和相关联的协议(例如,以太网、InfiniBand®、Bluetooth®、Wi-Fi®、WiMAX、3G、4G、LTE等)来实现此类通信。在一些实施例中,通信子系统132和/或NIC 132可形成SoC的一部分,并且可与处理器120和计算装置102的其它组件一起并入在单个集成电路芯片上。
如图1中所示,计算装置102还可包括加速器134。加速器134可作为能够执行加速的网络功能的现场可编程门阵列(FPGA)、专用集成电路(ASIC)、嵌入式数字逻辑块、协处理器或其它数字逻辑装置实施。尽管示为是独立组件,但是应了解,在一些实施例中,加速器134可并入到NIC 132中或以其它方式耦合到NIC 132。另外地或备选地,在一些实施例中,加速器134可作为与处理器120和NIC 132一起包含在多芯片封装中的FPGA实施。加速器134可经由包括一致和/或非一致互连的多个高速连接接口被耦合到处理器120和/或NIC 132。
计算装置102还可包括一个或多个外围装置136。外围装置136可包括任何数量的额外输入/输出装置、接口装置和/或其它外围装置。例如,在一些实施例中,外围装置136可包括触摸屏、图形电路、图形处理单元(GPU)和/或处理器显卡、音频装置、麦克风、相机、键盘、鼠标、网络接口、和/或其它输入/输出装置、接口装置和/或外围装置。
计算装置102可配置成通过网络104与彼此和/或与系统100的其它装置传送和接收数据。网络104可作为任何数量的各种有线和/或无线网络实施。例如,网络104可作为有线或无线局域网(LAN)、和/或有线或无线广域网(WAN)实施或以其它方式包括它们。因此,网络104可包括利于在系统100的装置中通信的任何数量的额外装置,诸如额外计算机、路由器和交换机。在说明性实施例中,网络104作为本地以太网网络实施。
现在参考图2,在说明性实施例中,计算装置102在操作期间建立环境200。说明性环境200包括应用202、网络堆栈204、NIC驱动器206和NIC 132。NIC驱动器206还包括树管理器208、NIC编程器210和树更新器212。NIC 132还包括业务整形加速器216。如图所示,环境200的各种组件可作为硬件、微代码、固件、软件或其组合实施。因此,在一些实施例中,环境200的组件中的一个或多个组件可作为电路或电气装置(例如,应用电路202、网络堆栈电路204、NIC驱动器电路206和/或业务整形加速器电路216)的合集实施。应明白,在此类实施例中,应用电路202、网络堆栈电路204、NIC驱动器电路206和/或业务整形加速器电路216中的一个或多个可形成处理器120、NIC 132、加速器134、I/O子系统124、和/或计算装置102的其它组件的一部分。在说明性实施例中,通过处理器120的一个或多个处理器核122来执行应用202、网络堆栈204和NIC驱动器206,并将业务整形加速器216作为硬件、固件、微代码或NIC 132的其它资源实施。另外地或备选地,在一些实施例中,业务整形加速器216可作为一个或多个独立加速器134实施或者以其它方式包含在一个或多个独立加速器134中。另外,在一些实施例中,说明性组件中的一个或多个说明性组件可形成另一个组件的一部分,和/或说明性组件中的一个或多个说明性组件可彼此独立。
应用202可配置成生成用于传输的网络数据和/或处理接收的网络数据。例如,应用202可将分组数据存储在存储器126中的一个或多个应用缓冲器中。应用202可作为由计算装置102执行的任何客户端、服务器或其它网络应用实施。在一些实施例中,应用202可作为诸如虚拟机的虚拟化工作负载实施。虚拟机(VM)可包括部分或完全仿真的计算机系统,其包括宾客操作系统和一个或多个网络队列。VM可利用计算装置102的虚拟化硬件支持(包括处理器120和/或NIC 132的虚拟化I/O支持)来被执行。在一些实施例中,每个VM可在例如单个根I/O虚拟化(SR-IOV)模式中访问NIC 132的专用虚拟功能。
网络堆栈204配置成创建服务质量(QoS)参数,并将那些QoS参数提供给NIC驱动器206。QoS参数可包括带宽限制、带宽保证或其它QoS参数。网络堆栈204还配置成在QoS参数和诸如队列、虚拟机、业务类别或其它实体的QoS实体之间创建关联。网络堆栈204配置成将这些关联提供给NIC驱动器206。
树管理器208配置成在QoS树214的共享层中为每个QoS参数创建QoS节点。QoS树214由NIC驱动器206维持在例如存储器126中,并且可以是NIC 132的调度器树218的副本,这在下文进一步被描述。树管理器208配置成最初将每个QoS节点的状态设置成专属并在创建期间创建与每个QoS节点相关联的时间戳。树管理器208还可配置成接收QoS参数和QoS实体之间的关联、确定QoS参数是否与多个QoS实体相关联、并且如果关联的话,那么将该第一个QoS节点的状态设置成共享。
NIC编程器210配置成在调度器树218的共享层中采用用于QoS参数的QoS节点对NIC 132进行编程。调度器树218可作为NIC 132的存储器、表、寄存器或其它可编程存储设备实施。如下文进一步描述,NIC 132可基于调度器树执行业务整形或其它QoS操作。调度器树218可包括组织成多个层的多个QoS节点,每个层可共享或专属。例如,在一实施例中,共享层可以是虚拟机共享层,并且专属层可以是虚拟机层。作为另一示例,共享层可以是队列共享层,并且专属层可以是队列层。可从对应于NIC 132的网络端口的根一直到对应于各个队列的叶节点来向上组织调度器树218的节点。当从叶到根来遍历树时,节点的数量减少到例如四分之一或二分之一。因此,NIC 132可包括对比共享节点更多的专属节点的支持。
树更新器212配置成确定QoS树214的共享层中的可用节点的数量是否与预定阈值(例如,共享层中的总节点的一半)具有预定关系(例如,小于、或小于等于等)。每个共享层可与特定预定阈值相关联。树更新器212还可配置成在可用节点的数量与预定阈值具有预定关系时标识共享层中其状态被设置成专属的候选节点,并且在那些候选节点中,基于相关联的时间戳标识最老的候选节点。树更新器212还配置成将标识的节点移动到QoS树214的专属层,并将调度器树218的对应节点移动到调度器树218的专属层。将节点移动到专属层可包括:在调度器树218的专属层中采用用于对应的QoS参数的节点对NIC 132进行编程;并从调度器树218的共享层释放该节点。预定阈值包括共享层的总节点的一半。
业务整形加速器216配置成响应于对NIC 132进行编程而基于调度器树218对计算装置的网络业务进行整形。如上所述,调度节点按照调度器树218进行布置。调度器信用在调度器树218中向上流动。如果与调度器节点相关联的实体(例如,队列、VM或业务类别)具有信用,那么该实体可发送与信用成比例的业务。
现在参考图3,在使用中,计算装置102可执行用于对QoS加速进行编程的方法300。应明白,在一些实施例中,方法300的操作可由如图2中所示的计算装置102的环境200的一个或多个组件执行。方法300在框302中开始,在框302中,计算装置102从网络堆栈204接收一个或多个服务质量(QoS)参数。例如,QoS参数可由NIC驱动器206接收。QoS参数可作为由网络堆栈204指定的带宽限制、带宽保证或其它QoS参数实施。在框304中,计算装置102从网络堆栈204接收QoS参数与实体的关联。QoS参数可以是专属的,或在诸如队列、虚拟机(VM)或业务类别的多个实体中共享。QoS参数最终可适当地取决于与计算装置102的租户或其它用户的一个或多个服务等级协定(SLA)。例如,由计算装置102执行的来自特定租户的所有VM可共享诸如带宽限制的QoS参数。但是,可通过织构编排器或其它控制平面实体来迁移或以其它方式调度VM以便在计算装置102上执行。因此,当从网络堆栈204接收QoS参数时,NIC驱动器206可能不知道该QoS参数是共享的还是专属的。
在框306中,计算装置102在共享层中采用添加的QoS参数来更新由NIC驱动器206维持的QoS树214。计算装置102可例如将对应于添加的QoS参数的新节点插入到QoS树214中。由于此时不知道该节点是否可与多个实体共享,所以将该节点插入到共享层中,诸如QoS树214的队列共享层、VM共享层或VM共享聚合器层。在框308中,计算装置102将该节点的初始状态标志设置成专属。状态标志可作为指示该节点是共享还是专属的位或其它布尔值实施。因此,默认地,将节点插入到共享层中,但是将它们标记为专属。在框310中,计算装置102设置新添加的节点的时间戳。时间戳可设置成例如将节点插入到QoS树214的时间。
在框312中,如果驱动器QoS树214中的QoS节点与多个实体相关联,那么计算装置102可将该节点的状态设置成共享。例如,计算装置102可确定多个VM(例如,来自相同租户或其它用户的VM)共享QoS参数。在该示例中,计算装置102可将对应于该QoS参数的QoS树214中的QoS节点的状态位设置成共享。
在框314中,计算装置102在共享层中采用用于添加的QoS参数的QoS节点对NIC132的调度器树218进行编程。计算装置102用与添加到QoS树214的节点对应的节点对调度器树218进行编程。因此,QoS树214可以是调度器树218的内容的副本。在一些实施例中,在框316中,计算装置102可将该节点编程到层n-1。如上所述,调度器树218包括从根节点到叶节点布置在层中的节点。因此,可通过距离根节点的深度(例如,深度n-1)来描述每个层。在对NIC调度器树218进行编程之后,方法300环回到框302以便继续处理QoS参数。
现在参考图4,在使用中,计算装置102可执行用于优化QoS加速的方法400。应明白,在一些实施例中,方法400的操作可由如图2中所示的计算装置102的环境200的一个或多个组件执行。方法400可由计算装置102周期性地、连续地或响应地执行。例如,可在由NIC驱动器206执行的计时器线程或其它维护线程中执行方法400。作为另一个示例,可响应于诸如将节点编程到NIC 132的调度器树218的某些事件来执行方法400。方法400在框402中开始,在框402中,计算装置102将驱动器QoS树214的共享层中的可用QoS节点的数量与预定阈值进行比较。预定阈值可以是指示可能存在共享节点的缺点的任何比例或其它量的可用节点。例如,阈值可以是QoS树214的特定共享层的总节点的一半。在框404中,计算装置102确定可用QoS节点的数量是否小于预定阈值(或以其它方式与阈值具有预定关系)。如果否,那么方法400环回到框402以便继续优化QoS加速。如果可用QoS节点的数量小于阈值,那么方法400前进到框406。
在框406中,计算装置102在共享层n-1中寻找状态设置成专属的所有QoS节点。如上所述,共享层可以是QoS树214的队列共享层、VM共享层、VM共享聚合器层或其它共享层。在框408中,计算装置102确定是否找到任何专属QoS节点。如果否,那么方法400环回到框402以便继续优化QoS加速。如果找到专属QoS节点,那么方法400前进到框410。
在框410中,计算装置102利用与每个QoS节点相关联的时间戳在共享层n-1中寻找最老的专属QoS节点。在框412中,计算装置102对NIC 132的调度器树218进行编程,其中将对应于最老专属QoS节点的QoS节点编程到调度器树218的专属层中。例如,计算装置102可将新节点编程到调度器树218的队列层、VM层或其它专属层中。因此,在调度器树218的专属层中创建的节点对应于之前在共享层中创建的节点的相同QoS参数和实体。在一些实施例中,在框410中,计算装置102可将新QoS节点编程到调度器树218的层n中。如上所述,共享层是层n-1,并且因此,层n是进一步远离调度器树的根的一个层。层n可具有比层n-1更多的可用节点(例如,具有两倍或四倍的节点)。
在框416中,计算装置102对NIC 132的调度器树218进行编程以便从共享层释放对应于最老专属QoS节点的节点。释放该节点可空出该节点以用于调度共享实体。在一些实施例中,在框418中,计算装置102可在调度器树218的层n-1中释放该节点。
在框420中,计算装置102将在驱动器QoS树214中找到的最老专属节点移动到专属层。在移动该节点之后,QoS树214可以是NIC 132的调度器树218的副本。在一些实施例中,在框422中,计算装置102可将该节点从层n-1移动到层n。在更新QoS树214之后,方法400环回到框402以便继续优化QoS加速。在一些实施例中,可在驱动器QoS树214的多个不同节点和/或层上递归地或以其它方式重复地执行方法400。例如,可重复执行方法400,直到在共享层中可用的QoS节点的数量大于阈值。作为另一个示例,可对于QoS树214的每个共享层递归地、同步地或以其它方式重复地执行方法400。
现在参考图5,图500示出可编程到NIC 132的调度器树218。如图所示,从根布置到叶节点,调度器树218包括端口层502、VM共享聚合器层504、VM共享层506、VM层508和队列层510。在说明性实施例中,VM层508是专属层,并且VM共享层506和VM共享聚合器层504是共享层。当然,在其它实施例中,调度器树218可包括不同的层数和/或层布置,诸如队列共享层。端口层502包括节点512,VM共享聚合器层504包括节点514,VM共享层506包括节点516,VM层508包括节点518,并且队列层510包括节点520。
图5示出在如结合图3所描述那样配置有多个节点之后、但在如结合图4所描述那样进行优化之前的调度器树218的一个潜在实施例。说明性地,用于VM 522a、522b、522c、522d、522e的QoS节点已被编程到调度器树218中。在说明性示例中,VM 522a、522b、522c不是共享实体,并且VM 522d、522e是共享的。如图所示,利用共享节点、特别是共享节点516a、516b、516c将VM 522a、522b、522c中的每个初始地添加到调度器树218。可被NIC驱动器206知道是共享实体的VM 522d、522e被通过使用共享节点516d来添加。
现在参考图6,图600示出在如上文结合图4所描述执行优化之后的NIC 132的调度器树218。如图所示,由于VM 522a、522b、522c不是共享实体,所以释放VM共享层506中的节点516b、516c。可改为在VM层508中分别将用于那些VM 522a、522b、522c的对应QoS节点创建为节点518a、518b、518c。类似地,由于在VM共享层506中所使用的节点的数量被减少,所以也释放在VM共享聚合器层504中的节点514b。如图6中所示释放共享节点减少了资源消耗,并且可允许NIC 132支持更大数量的实体(共享和/或专属实体)。
应明白,在一些实施例中,方法300和/或400可作为存储在计算机可读介质上的各种指令实施,这些指令可由计算装置102的处理器120、NIC 132、加速器134和/或其它组件执行以使得计算装置102执行相应的方法300和/或400。计算机可读介质可作为能够由计算装置102读取的任何类型的介质实施,包括但不限于:计算装置102的存储器126、数据存储装置128、固件装置、微代码、其它存储器或数据存储装置;由计算装置102的外围装置136可读的便携式介质;和/或其它介质。
本公开/申请提供了如下的技术方案:
1. 一种用于配置网络服务质量参数的计算装置,所述计算装置包括:
网络控制器,所述网络控制器包括调度器树;
驱动器树管理器,所述驱动器树管理器用于在驱动器QoS树的共享层中为QoS参数创建第一QoS节点;
网络控制器编程器,所述网络控制器编程器用于在所述调度器树的共享层中采用用于所述QoS参数的第二QoS节点对所述网络控制器进行编程;以及
驱动器树更新器,所述驱动器树更新器用于:(i) 响应于所述网络控制器的编程,确定所述驱动器QoS树的所述共享层中的可用节点的数量是否与预定阈值具有预定关系,其中所述预定阈值与所述驱动器QoS树的所述共享层相关联;以及(ii) 响应于可用节点的所述数量与所述预定阈值具有所述预定关系的确定,将所述第二QoS节点移动到所述网络控制器的所述调度器树的专属层,并将所述第一QoS节点移动到所述驱动器QoS树的专属层。
2. 如技术方案1所述的计算装置,其中所述驱动器树更新器还用于:
响应于可用节点的所述数量与所述预定阈值具有所述预定关系的所述确定,在所述驱动器QoS树的所述共享层中标识多个候选节点,其中所述多个候选节点中的每个节点具有设置成专属的状态,并且其中所述多个候选节点包括所述第一QoS节点;
其中将所述第一QoS节点移动到所述专属层包括响应于所述多个候选节点的标识而将所述第一QoS节点移动到所述专属层。
3. 如技术方案2所述的计算装置,其中所述驱动器树更新器还用于:
标识所述多个候选节点中的最老候选节点,其中所述多个候选节点中的每个节点与时间戳相关联,并且其中所述最老候选节点包括所述第一QoS节点;
其中创建所述第一QoS节点包括创建与所述第一QoS节点相关联的所述时间戳。
4. 如技术方案1所述的计算装置,其中将所述第二QoS节点移动到所述专属层包括:
在所述调度器树的所述专属层中采用用于所述QoS参数的第三QoS节点对所述网络控制器进行编程;以及
对所述网络控制器进行编程以便从所述调度器树的所述共享层释放所述第二QoS节点。
5. 如技术方案1所述的计算装置,其中所述驱动器树管理器还用于接收所述QoS参数和QoS实体之间的关联,其中所述QoS实体包括队列、虚拟机或业务类别。
6. 如技术方案5所述的计算装置,其中:
创建所述第一QoS节点包括将所述第一QoS节点的状态设置成专属;并且
所述驱动器树管理器还用于:确定所述QoS参数是否与多个QoS实体相关联;以及响应于确定所述QoS参数与多个QoS实体相关联,将所述第一QoS节点的所述状态设置成共享。
7. 如技术方案1所述的计算装置,其中所述QoS参数包括带宽限制或带宽保证。
8. 如技术方案1所述的计算装置,其中所述共享层包括虚拟机共享层,并且其中所述专属层包括虚拟机层。
9. 如技术方案1所述的计算装置,其中所述共享层包括队列共享层,并且其中所述专属层包括队列层。
10. 如技术方案1所述的计算装置,其中所述预定阈值包括所述共享层的总节点的一半。
11. 如技术方案1所述的计算装置,其中所述网络控制器包括用于响应于所述网络控制器的编程而基于所述调度器树对所述计算装置的网络业务进行整形的业务整形加速器。
12. 一种用于配置网络服务质量参数的方法,所述方法包括:
由计算装置在驱动器QoS树的共享层中为QoS参数创建第一QoS节点;
由所述计算装置在所述计算装置的网络控制器的调度器树的共享层中采用用于所述QoS参数的第二QoS节点对所述计算装置的所述网络控制器进行编程;
响应于编程所述网络控制器,由所述计算装置确定所述驱动器QoS树的所述共享层中的可用节点的数量是否与预定阈值具有预定关系,其中所述预定阈值与所述驱动器QoS树的所述共享层相关联;以及
响应于确定可用节点的所述数量与所述预定阈值具有所述预定关系:
由所述计算装置将所述第二QoS节点移动到所述网络控制器的所述调度器树的专属层;以及
由所述计算装置将所述第一QoS节点移动到所述驱动器QoS树的专属层。
13. 如技术方案12所述的方法,还包括:
响应于确定可用节点的所述数量与所述预定阈值具有所述预定关系,由所述计算装置在所述驱动器QoS树的所述共享层中标识多个候选节点,其中所述多个候选节点中的每个节点具有设置成专属的状态,并且其中所述多个候选节点包括所述第一QoS节点;
其中将所述第一QoS节点移动到所述专属层包括响应于标识所述多个候选节点而将所述第一QoS节点移动到所述专属层。
14. 如技术方案13所述的方法,还包括:
由所述计算装置标识所述多个候选节点中的最老候选节点,其中所述多个候选节点中的每个节点与时间戳相关联,并且其中所述最老候选节点包括所述第一QoS节点;
其中创建所述第一QoS节点包括创建与所述第一QoS节点相关联的所述时间戳。
15. 如技术方案12所述的方法,其中将所述第二QoS节点移动到所述专属层包括:
在所述调度器树的所述专属层中采用用于所述QoS参数的第三QoS节点对所述网络控制器进行编程;以及
对所述网络控制器进行编程以便从所述调度器树的所述共享层释放所述第二QoS节点。
16. 如技术方案12所述的方法,还包括由所述计算装置接收所述QoS参数和QoS实体之间的关联,其中所述QoS实体包括队列、虚拟机或业务类别。
17. 如技术方案16所述的方法,还包括:
由所述计算装置确定所述QoS参数是否与多个QoS实体相关联;以及
响应于确定所述QoS参数与多个QoS实体相关联,由所述计算装置将所述第一QoS节点的状态设置成共享;
其中创建所述第一QoS节点包括将所述第一QoS节点的所述状态设置成专属。
18. 如技术方案12所述的方法,还包括响应于编程所述网络控制器,由所述网络控制器基于所述调度器树对所述计算装置的网络业务进行整形。
19. 一种或多种计算机可读存储介质,包括存储在其上面的多个指令,所述指令响应于被执行而使得计算装置执行以下操作:
在驱动器QoS树的共享层中为QoS参数创建第一QoS节点;
在所述计算装置的网络控制器的调度器树的共享层中采用用于所述QoS参数的第二QoS节点对所述计算装置的所述网络控制器进行编程;
响应于编程所述网络控制器,确定所述驱动器QoS树的所述共享层中的可用节点的数量是否与预定阈值具有预定关系,其中所述预定阈值与所述驱动器QoS树的所述共享层相关联;以及
响应于确定可用节点的所述数量与所述预定阈值具有所述预定关系:
将所述第二QoS节点移动到所述网络控制器的所述调度器树的专属层;以及
将所述第一QoS节点移动到所述驱动器QoS树的专属层。
20. 如技术方案19所述的一种或多种计算机可读存储介质,还包括存储在其上面的多个指令,所述指令响应于被执行而使得所述计算装置执行如下操作:
响应于确定可用节点的所述数量与所述预定阈值具有所述预定关系,在所述驱动器QoS树的所述共享层中标识多个候选节点,其中所述多个候选节点中的每个节点具有设置成专属的状态,并且其中所述多个候选节点包括所述第一QoS节点;
其中将所述第一QoS节点移动到所述专属层包括响应于标识所述多个候选节点而将所述第一QoS节点移动到所述专属层。
21. 如技术方案20所述的一种或多种计算机可读存储介质,还包括存储在其上面的多个指令,所述指令响应于被执行而使得所述计算装置执行如下操作:
标识所述多个候选节点中的最老候选节点,其中所述多个候选节点中的每个节点与时间戳相关联,并且其中所述最老候选节点包括所述第一QoS节点;
其中创建所述第一QoS节点包括创建与所述第一QoS节点相关联的所述时间戳。
22. 如技术方案19所述的一种或多种计算机可读存储介质,其中将所述第二QoS节点移动到所述专属层包括:
在所述调度器树的所述专属层中采用用于所述QoS参数的第三QoS节点对所述网络控制器进行编程;以及
对所述网络控制器进行编程以便从所述调度器树的所述共享层释放所述第二QoS节点。
23. 如技术方案19所述的一种或多种计算机可读存储介质,还包括存储在其上面的多个指令,所述指令响应于被执行而使得所述计算装置接收所述QoS参数和QoS实体之间的关联,其中所述QoS实体包括队列、虚拟机或业务类别。
24. 如技术方案23所述的一种或多种计算机可读存储介质,还包括存储在其上面的多个指令,所述指令响应于被执行而使得所述计算装置执行以下操作:
确定所述QoS参数是否与多个QoS实体相关联;以及
响应于确定所述QoS参数与多个QoS实体相关联,将所述第一QoS节点的状态设置成共享;
其中创建所述第一QoS节点包括将所述第一QoS节点的所述状态设置成专属。
25. 如技术方案19所述的一种或多种计算机可读存储介质,还包括存储在其上面的多个指令,所述指令响应于被执行而使得所述计算装置响应于编程所述网络控制器,而通过所述网络控制器基于所述调度器树对所述计算装置的网络业务进行整形。
示例
下面提供本文中公开的技术的说明性示例。这些技术的实施例可包括下文描述的示例中的任何一个或多个示例及其任何组合。
示例1包括一种用于配置网络服务质量参数的计算装置,所述计算装置包括:网络控制器,所述网络控制器包括调度器树;驱动器树管理器,所述驱动器树管理器用于在驱动器QoS树的共享层中为QoS参数创建第一QoS节点;网络控制器编程器,所述网络控制器编程器用于在所述调度器树的共享层中采用用于所述QoS参数的第二QoS节点对所述网络控制器进行编程;以及驱动器树更新器,所述驱动器树更新器用于:(i) 响应于所述网络控制器的编程,确定所述驱动器QoS树的所述共享层中的可用节点的数量是否与预定阈值具有预定关系,其中所述预定阈值与所述驱动器QoS树的所述共享层相关联;以及(ii) 响应于可用节点的所述数量与所述预定阈值具有所述预定关系的确定,将所述第二QoS节点移动到所述网络控制器的所述调度器树的专属层,并将所述第一QoS节点移动到所述驱动器QoS树的专属层。
示例2包括示例1所述的主题,并且其中所述驱动器树更新器还用于:响应于可用节点的所述数量与所述预定阈值具有所述预定关系的所述确定,在所述驱动器QoS树的所述共享层中标识多个候选节点,其中所述多个候选节点中的每个节点具有设置成专属的状态,并且其中所述多个候选节点包括所述第一QoS节点;其中将所述第一QoS节点移动到所述专属层包括响应于所述多个候选节点的标识而将所述第一QoS节点移动到所述专属层。
示例3包括示例1和2中任一示例所述的主题,并且其中所述驱动器树更新器还用于:标识所述多个候选节点中的最老候选节点,其中所述多个候选节点中的每个节点与时间戳相关联,并且其中所述最老候选节点包括所述第一QoS节点;其中创建所述第一QoS节点包括创建与所述第一QoS节点相关联的所述时间戳。
示例4包括示例1-3中任一示例所述的主题,并且其中将所述第二QoS节点移动到所述专属层包括:在所述调度器树的所述专属层中采用用于所述QoS参数的第三QoS节点对所述网络控制器进行编程;以及对所述网络控制器进行编程以便从所述调度器树的所述共享层释放所述第二QoS节点。
示例5包括示例1-4中任一示例所述的主题,并且其中所述驱动器树管理器还用于接收所述QoS参数和QoS实体之间的关联,其中所述QoS实体包括队列、虚拟机或业务类别。
示例6包括示例1-5中任一示例所述的主题,并且其中:创建所述第一QoS节点包括将所述第一QoS节点的状态设置成专属;并且所述驱动器树管理器还用于:确定所述QoS参数是否与多个QoS实体相关联;以及响应于确定所述QoS参数与多个QoS实体相关联,将所述第一QoS节点的所述状态设置成共享。
示例7包括示例1-6中任一示例所述的主题,并且其中所述QoS参数包括带宽限制或带宽保证。
示例8包括示例1-7中任一示例所述的主题,并且其中所述共享层包括虚拟机共享层,并且其中所述专属层包括虚拟机层。
示例9包括示例1-8中任一示例所述的主题,并且其中所述共享层包括队列共享层,并且其中所述专属层包括队列层。
示例10包括示例1-9中任一示例所述的主题,并且其中所述预定阈值包括所述共享层的总节点的一半。
示例11包括示例1-10中任一示例所述的主题,并且其中所述网络控制器包括用于响应于所述网络控制器的编程而基于所述调度器树对所述计算装置的网络业务进行整形的业务整形加速器。
示例12包括一种用于配置网络服务质量参数的方法,所述方法包括:由计算装置在驱动器QoS树的共享层中为QoS参数创建第一QoS节点;由所述计算装置在所述计算装置的网络控制器的调度器树的共享层中采用用于所述QoS参数的第二QoS节点对所述计算装置的所述网络控制器进行编程;响应于编程所述网络控制器,由所述计算装置确定所述驱动器QoS树的所述共享层中的可用节点的数量是否与预定阈值具有预定关系,其中所述预定阈值与所述驱动器QoS树的所述共享层相关联;以及响应于确定可用节点的所述数量与所述预定阈值具有所述预定关系:由所述计算装置将所述第二QoS节点移动到所述网络控制器的所述调度器树的专属层;以及由所述计算装置将所述第一QoS节点移动到所述驱动器QoS树的专属层。
示例13包括示例12所述的主题,并且还包括:响应于确定可用节点的所述数量与所述预定阈值具有所述预定关系,由所述计算装置在所述驱动器QoS树的所述共享层中标识多个候选节点,其中所述多个候选节点中的每个节点具有设置成专属的状态,并且其中所述多个候选节点包括所述第一QoS节点;其中将所述第一QoS节点移动到所述专属层包括响应于标识所述多个候选节点而将所述第一QoS节点移动到所述专属层。
示例14包括示例12和13中任一示例所述的主题,并且还包括:由所述计算装置标识所述多个候选节点中的最老候选节点,其中所述多个候选节点中的每个节点与时间戳相关联,并且其中所述最老候选节点包括所述第一QoS节点;其中创建所述第一QoS节点包括创建与所述第一QoS节点相关联的所述时间戳。
示例15包括示例12-14中任一示例所述的主题,并且其中将所述第二QoS节点移动到所述专属层包括:在所述调度器树的所述专属层中采用用于所述QoS参数的第三QoS节点对所述网络控制器进行编程;以及对所述网络控制器进行编程以便从所述调度器树的所述共享层释放所述第二QoS节点。
示例16包括示例12-15中任一示例所述的主题,并且还包括由所述计算装置接收所述QoS参数和QoS实体之间的关联,其中所述QoS实体包括队列、虚拟机或业务类别。
示例17包括示例12-16中任一示例所述的主题,并且还包括:由所述计算装置确定所述QoS参数是否与多个QoS实体相关联;以及响应于确定所述QoS参数与多个QoS实体相关联,由所述计算装置将所述第一QoS节点的状态设置成共享;其中创建所述第一QoS节点包括将所述第一QoS节点的所述状态设置成专属。
示例18包括示例12-17中任一示例所述的主题,并且其中所述QoS参数包括带宽限制或带宽保证。
示例19包括示例12-18中任一示例所述的主题,并且其中所述共享层包括虚拟机共享层,并且其中所述专属层包括虚拟机层。
示例20包括示例12-19中任一示例所述的主题,并且其中所述共享层包括队列共享层,并且其中所述专属层包括队列层。
示例21包括示例12-20中任一示例所述的主题,并且其中所述预定阈值包括所述共享层的总节点的一半。
示例22包括示例12-21中任一示例所述的主题,并且还包括响应于编程所述网络控制器,由所述网络控制器基于所述调度器树对所述计算装置的网络业务进行整形。
示例23包括一种或多种计算机可读存储介质,包括存储在其上面的多个指令,所述指令响应于被执行而使得计算装置执行以下操作:在驱动器QoS树的共享层中为QoS参数创建第一QoS节点;在所述计算装置的网络控制器的调度器树的共享层中采用用于所述QoS参数的第二QoS节点对所述计算装置的所述网络控制器进行编程;响应于编程所述网络控制器,确定所述驱动器QoS树的所述共享层中的可用节点的数量是否与预定阈值具有预定关系,其中所述预定阈值与所述驱动器QoS树的所述共享层相关联;以及响应于确定可用节点的所述数量与所述预定阈值具有所述预定关系:将所述第二QoS节点移动到所述网络控制器的所述调度器树的专属层;以及将所述第一QoS节点移动到所述驱动器QoS树的专属层。
示例24包括示例23所述的主题,并且还包括存储在其上面的多个指令,所述指令响应于被执行而使得所述计算装置执行如下操作:响应于确定可用节点的所述数量与所述预定阈值具有所述预定关系,在所述驱动器QoS树的所述共享层中标识多个候选节点,其中所述多个候选节点中的每个节点具有设置成专属的状态,并且其中所述多个候选节点包括所述第一QoS节点;其中将所述第一QoS节点移动到所述专属层包括响应于标识所述多个候选节点而将所述第一QoS节点移动到所述专属层。
示例25包括示例23和24中任一示例所述的主题,并且还包括存储在其上面的多个指令,所述指令响应于被执行而使得所述计算装置执行如下操作:标识所述多个候选节点中的最老候选节点,其中所述多个候选节点中的每个节点与时间戳相关联,并且其中所述最老候选节点包括所述第一QoS节点;其中创建所述第一QoS节点包括创建与所述第一QoS节点相关联的所述时间戳。
示例26包括示例23-25中任一示例所述的主题,并且其中将所述第二QoS节点移动到所述专属层包括:在所述调度器树的所述专属层中采用用于所述QoS参数的第三QoS节点对所述网络控制器进行编程;以及对所述网络控制器进行编程以便从所述调度器树的所述共享层释放所述第二QoS节点。
示例27包括示例23-26中任一示例所述的主题,并且还包括存储在其上面的多个指令,所述指令响应于被执行而使得所述计算装置接收所述QoS参数和QoS实体之间的关联,其中所述QoS实体包括队列、虚拟机或业务类别。
示例28包括示例23-27中任一示例所述的主题,并且还包括存储在其上面的多个指令,所述指令响应于被执行而使得所述计算装置执行以下操作:确定所述QoS参数是否与多个QoS实体相关联;以及响应于确定所述QoS参数与多个QoS实体相关联,将所述第一QoS节点的状态设置成共享;其中创建所述第一QoS节点包括将所述第一QoS节点的所述状态设置成专属。
示例29包括示例23-28中任一示例所述的主题,并且其中所述QoS参数包括带宽限制或带宽保证。
示例30包括示例23-29中任一示例所述的主题,并且其中所述共享层包括虚拟机共享层,并且其中所述专属层包括虚拟机层。
示例31包括示例23-30中任一示例所述的主题,并且其中所述共享层包括队列共享层,并且其中所述专属层包括队列层。
示例32包括示例23-31中任一示例所述的主题,并且其中所述预定阈值包括所述共享层的总节点的一半。
示例33包括示例23-32中任一示例所述的主题,并且还包括存储在其上面的多个指令,所述指令响应于被执行而使得所述计算装置响应于编程所述网络控制器,而通过所述网络控制器基于所述调度器树对所述计算装置的网络业务进行整形。

Claims (25)

1.一种用于配置网络服务质量参数的计算装置,所述计算装置包括:
网络控制器,所述网络控制器包括调度器树;
驱动器树管理器,所述驱动器树管理器用于在驱动器QoS树的共享层中为QoS参数创建第一QoS节点;
网络控制器编程器,所述网络控制器编程器用于在所述调度器树的共享层中采用用于所述QoS参数的第二QoS节点对所述网络控制器进行编程;以及
驱动器树更新器,所述驱动器树更新器用于:(i) 响应于所述网络控制器的编程,确定所述驱动器QoS树的所述共享层中的可用节点的数量是否与预定阈值具有预定关系,其中所述预定阈值与所述驱动器QoS树的所述共享层相关联;以及(ii) 响应于可用节点的所述数量与所述预定阈值具有所述预定关系的确定,将所述第二QoS节点移动到所述网络控制器的所述调度器树的专属层,并将所述第一QoS节点移动到所述驱动器QoS树的专属层。
2.如权利要求1所述的计算装置,其中所述驱动器树更新器还用于:
响应于可用节点的所述数量与所述预定阈值具有所述预定关系的所述确定,在所述驱动器QoS树的所述共享层中标识多个候选节点,其中所述多个候选节点中的每个节点具有设置成专属的状态,并且其中所述多个候选节点包括所述第一QoS节点;
其中将所述第一QoS节点移动到所述专属层包括响应于所述多个候选节点的标识而将所述第一QoS节点移动到所述专属层。
3.如权利要求2所述的计算装置,其中所述驱动器树更新器还用于:
标识所述多个候选节点中的最老候选节点,其中所述多个候选节点中的每个节点与时间戳相关联,并且其中所述最老候选节点包括所述第一QoS节点;
其中创建所述第一QoS节点包括创建与所述第一QoS节点相关联的所述时间戳。
4. 如权利要求1所述的计算装置,其中将所述第二QoS节点移动到所述专属层包括:
在所述调度器树的所述专属层中采用用于所述QoS参数的第三QoS节点对所述网络控制器进行编程;以及
对所述网络控制器进行编程以便从所述调度器树的所述共享层释放所述第二QoS节点。
5.如权利要求1所述的计算装置,其中所述驱动器树管理器还用于接收所述QoS参数和QoS实体之间的关联,其中所述QoS实体包括队列、虚拟机或业务类别。
6. 如权利要求5所述的计算装置,其中:
创建所述第一QoS节点包括将所述第一QoS节点的状态设置成专属;并且
所述驱动器树管理器还用于:确定所述QoS参数是否与多个QoS实体相关联;以及响应于确定所述QoS参数与多个QoS实体相关联,将所述第一QoS节点的所述状态设置成共享。
7.如权利要求1所述的计算装置,其中所述QoS参数包括带宽限制或带宽保证。
8.如权利要求1所述的计算装置,其中所述共享层包括虚拟机共享层,并且其中所述专属层包括虚拟机层。
9.如权利要求1所述的计算装置,其中所述共享层包括队列共享层,并且其中所述专属层包括队列层。
10.如权利要求1所述的计算装置,其中所述预定阈值包括所述共享层的总节点的一半。
11.如权利要求1所述的计算装置,其中所述网络控制器包括用于响应于所述网络控制器的编程而基于所述调度器树对所述计算装置的网络业务进行整形的业务整形加速器。
12.一种用于配置网络服务质量参数的方法,所述方法包括:
由计算装置在驱动器QoS树的共享层中为QoS参数创建第一QoS节点;
由所述计算装置在所述计算装置的网络控制器的调度器树的共享层中采用用于所述QoS参数的第二QoS节点对所述计算装置的所述网络控制器进行编程;
响应于编程所述网络控制器,由所述计算装置确定所述驱动器QoS树的所述共享层中的可用节点的数量是否与预定阈值具有预定关系,其中所述预定阈值与所述驱动器QoS树的所述共享层相关联;以及
响应于确定可用节点的所述数量与所述预定阈值具有所述预定关系:
由所述计算装置将所述第二QoS节点移动到所述网络控制器的所述调度器树的专属层;以及
由所述计算装置将所述第一QoS节点移动到所述驱动器QoS树的专属层。
13.如权利要求12所述的方法,还包括:
响应于确定可用节点的所述数量与所述预定阈值具有所述预定关系,由所述计算装置在所述驱动器QoS树的所述共享层中标识多个候选节点,其中所述多个候选节点中的每个节点具有设置成专属的状态,并且其中所述多个候选节点包括所述第一QoS节点;
其中将所述第一QoS节点移动到所述专属层包括响应于标识所述多个候选节点而将所述第一QoS节点移动到所述专属层。
14.如权利要求13所述的方法,还包括:
由所述计算装置标识所述多个候选节点中的最老候选节点,其中所述多个候选节点中的每个节点与时间戳相关联,并且其中所述最老候选节点包括所述第一QoS节点;
其中创建所述第一QoS节点包括创建与所述第一QoS节点相关联的所述时间戳。
15. 如权利要求12所述的方法,其中将所述第二QoS节点移动到所述专属层包括:
在所述调度器树的所述专属层中采用用于所述QoS参数的第三QoS节点对所述网络控制器进行编程;以及
对所述网络控制器进行编程以便从所述调度器树的所述共享层释放所述第二QoS节点。
16.如权利要求12所述的方法,还包括由所述计算装置接收所述QoS参数和QoS实体之间的关联,其中所述QoS实体包括队列、虚拟机或业务类别。
17. 如权利要求16所述的方法,还包括:
由所述计算装置确定所述QoS参数是否与多个QoS实体相关联;以及
响应于确定所述QoS参数与多个QoS实体相关联,由所述计算装置将所述第一QoS节点的状态设置成共享;
其中创建所述第一QoS节点包括将所述第一QoS节点的所述状态设置成专属。
18.如权利要求12所述的方法,还包括响应于编程所述网络控制器,由所述网络控制器基于所述调度器树对所述计算装置的网络业务进行整形。
19.一种用于配置网络服务质量参数的计算装置,所述计算装置包括:
用于在驱动器QoS树的共享层中为QoS参数创建第一QoS节点的部件;
用于在所述计算装置的网络控制器的调度器树的共享层中采用用于所述QoS参数的第二QoS节点对所述计算装置的所述网络控制器进行编程的部件;
用于响应于编程所述网络控制器,确定所述驱动器QoS树的所述共享层中的可用节点的数量是否与预定阈值具有预定关系的部件,其中所述预定阈值与所述驱动器QoS树的所述共享层相关联;
用于响应于确定可用节点的所述数量与所述预定阈值具有所述预定关系,将所述第二QoS节点移动到所述网络控制器的所述调度器树的专属层的部件;以及
用于响应于确定可用节点的所述数量与所述预定阈值具有所述预定关系,将所述第一QoS节点移动到所述驱动器QoS树的专属层的部件。
20.如权利要求19所述的计算装置,还包括:
用于响应于确定可用节点的所述数量与所述预定阈值具有所述预定关系,在所述驱动器QoS树的所述共享层中标识多个候选节点的部件,其中所述多个候选节点中的每个节点具有设置成专属的状态,并且其中所述多个候选节点包括所述第一QoS节点;
其中用于将所述第一QoS节点移动到所述专属层的所述部件包括用于响应于标识所述多个候选节点而将所述第一QoS节点移动到所述专属层的部件。
21.如权利要求20所述的计算装置,还包括:
用于标识所述多个候选节点中的最老候选节点的部件,其中所述多个候选节点中的每个节点与时间戳相关联,并且其中所述最老候选节点包括所述第一QoS节点;
其中用于创建所述第一QoS节点的所述部件包括用于创建与所述第一QoS节点相关联的所述时间戳的部件。
22. 如权利要求19所述的计算装置,其中用于将所述第二QoS节点移动到所述专属层的所述部件包括:
用于在所述调度器树的所述专属层中采用用于所述QoS参数的第三QoS节点对所述网络控制器进行编程的部件;以及
用于对所述网络控制器进行编程以便从所述调度器树的所述共享层释放所述第二QoS节点的部件。
23.如权利要求19所述的计算装置,还包括用于接收所述QoS参数和QoS实体之间的关联的部件,其中所述QoS实体包括队列、虚拟机或业务类别。
24. 如权利要求23所述的计算装置,还包括:
用于确定所述QoS参数是否与多个QoS实体相关联的部件;以及
用于响应于确定所述QoS参数与多个QoS实体相关联,将所述第一QoS节点的状态设置成共享的部件;
其中用于创建所述第一QoS节点的所述部件包括用于将所述第一QoS节点的所述状态设置成专属的部件。
25.如权利要求19所述的计算装置,还包括用于响应于编程所述网络控制器,而通过所述网络控制器基于所述调度器树对所述计算装置的网络业务进行整形的部件。
CN201910117004.0A 2018-03-16 2019-02-15 用于优化的服务质量加速的技术 Pending CN110278104A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862644040P 2018-03-16 2018-03-16
US62/644040 2018-03-16
US16/022,815 US20190044832A1 (en) 2018-03-16 2018-06-29 Technologies for optimized quality of service acceleration
US16/022815 2018-06-29

Publications (1)

Publication Number Publication Date
CN110278104A true CN110278104A (zh) 2019-09-24

Family

ID=65231226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910117004.0A Pending CN110278104A (zh) 2018-03-16 2019-02-15 用于优化的服务质量加速的技术

Country Status (3)

Country Link
US (1) US20190044832A1 (zh)
CN (1) CN110278104A (zh)
DE (1) DE102019103932A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11258714B1 (en) * 2018-09-28 2022-02-22 Google Llc Fine grain traffic shaping offload for a network interface card
US11188368B2 (en) 2018-10-31 2021-11-30 Nutanix, Inc. Asynchronous workload migration control
US11194620B2 (en) * 2018-10-31 2021-12-07 Nutanix, Inc. Virtual machine migration task management
CN110505105B (zh) * 2019-09-26 2022-02-11 中国联合网络通信集团有限公司 网络服务质量的控制方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080291916A1 (en) * 2007-05-22 2008-11-27 Bo Xiong Systems and methods for dynamic quality of service
US10255218B1 (en) * 2018-06-25 2019-04-09 Apple Inc. Systems and methods for maintaining specific ordering in bus traffic

Also Published As

Publication number Publication date
DE102019103932A1 (de) 2019-09-19
US20190044832A1 (en) 2019-02-07

Similar Documents

Publication Publication Date Title
CN110278104A (zh) 用于优化的服务质量加速的技术
CN107113290B (zh) 用于带宽管理的方法和系统
US9692706B2 (en) Virtual enhanced transmission selection (VETS) for lossless ethernet
KR101583325B1 (ko) 가상 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
WO2020258920A1 (zh) 一种网络切片资源管理方法及设备
TWI668975B (zh) 網路處理器中封包成形之電路與方法
US8725875B2 (en) Native cloud computing via network segmentation
US9686203B2 (en) Flow control credits for priority in lossless ethernet
US9569245B2 (en) System and method for controlling virtual-machine migrations based on processor usage rates and traffic amounts
TWI559706B (zh) 網路處理器中的封包調度
US10230591B2 (en) Network resource governance in multi-tenant datacenters
WO2021136137A1 (zh) 一种资源调度方法、装置及相关设备
CN108667859A (zh) 一种实现资源调度的方法及装置
KR20150024845A (ko) 물리적 큐들로의 가상 머신 플로우들의 오프로딩 기법
KR101639797B1 (ko) 가상머신 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법
CN105264509A (zh) 融合网络中的自适应中断联合
US11734172B2 (en) Data transmission method and apparatus using resources in a resource pool of a same NUMA node
WO2014114072A1 (zh) 虚拟化平台下i/o通道的调整方法和调整装置
CN107967164A (zh) 一种虚拟机热迁移的方法及系统
CN103634223B (zh) 一种基于网络业务流的动态控制传输方法和装置
CN105653347B (zh) 一种服务器、资源管理方法及虚拟机管理器
CN113824689B (zh) 边缘计算网络、数据传输方法、装置、设备和存储介质
WO2021208101A1 (zh) 一种有状态业务的处理方法及装置
KR101773528B1 (ko) 가상머신 패킷을 처리하는 네트워크 인터페이스 장치 및 그 방법

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