CN102859491B - 通过利用接收侧缩放(rss)软件为网络适配器动态添加或移除队列对的资源关联 - Google Patents
通过利用接收侧缩放(rss)软件为网络适配器动态添加或移除队列对的资源关联 Download PDFInfo
- Publication number
- CN102859491B CN102859491B CN201180020285.XA CN201180020285A CN102859491B CN 102859491 B CN102859491 B CN 102859491B CN 201180020285 A CN201180020285 A CN 201180020285A CN 102859491 B CN102859491 B CN 102859491B
- Authority
- CN
- China
- Prior art keywords
- queue
- device driver
- operating load
- storer
- identified
- 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.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 230000007246 mechanism Effects 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 17
- 238000011282 treatment Methods 0.000 claims abstract description 13
- 238000003780 insertion Methods 0.000 claims abstract description 11
- 230000037431 insertion Effects 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 22
- 230000008672 reprogramming Effects 0.000 claims description 7
- 238000009826 distribution Methods 0.000 claims description 5
- 230000007306 turnover Effects 0.000 claims description 5
- 238000007599 discharging Methods 0.000 claims 4
- 238000012544 monitoring process Methods 0.000 claims 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 claims 1
- 238000005192 partition Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 24
- 238000003860 storage Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000005291 magnetic effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- VIKNJXKGJWUCNN-XGXHKTLJSA-N norethisterone Chemical compound O=C1CC[C@@H]2[C@H]3CC[C@](C)([C@](CC4)(O)C#C)[C@@H]4[C@@H]3CCC2=C1 VIKNJXKGJWUCNN-XGXHKTLJSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
- H04L61/5014—Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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 the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
提供了一种用于经由动态重新配置而为多队列网络适配器提供资源关联的机制。设备驱动器在存储器内分配初始队列对。设备驱动器确定数据处理系统的工作负载是否已经上升至高于预定的高阈值。响应于工作负载上升至高于预定的高阈值,设备驱动器在存储器中分配并初始化附加的队列对。设备驱动器对网络适配器中的接收侧缩放(RSS)机制进行编程以允许与附加队列对相关联的附加处理引擎的动态插入。设备驱动器启用向附加队列对传送元组散列。
Description
技术领域
本申请总体上涉及改进的数据处理装置和方法,更具体地,涉及用于经由动态重新配置为多队列网络适配器提供资源关联的机制。
背景技术
随着以太网媒体速度的持续提高,对于使用更多系统资源以尽可能最低的延迟来实现理论上最高的性能存在更大的需求。在以太网适配器需求方面,由于对大量传送/接收描述符和缓冲器的需求,系统资源涉及大型物理存储器占据面积(footprint)以及相对应的直接存储器访问输入/输出存储器映射资源。10Gbps的以太网驱动器通常每个适配器消耗大约150MB至300MB的物理系统存储器和直接存储器访问输入/输出存储器。
在传统的驱动器模型下,设备驱动器向将允许适配器实现其理论最高性能的量分配传送/接收资源。然而,如果工作负载或网络业务量是不要求最高性能限制的这类,则驱动器消耗比所需要的更多的资源,这是对系统资源的浪费。此外,该模型并不具备有效应对变化的工作负载的能力。
发明内容
在一个说明性实施方式中,提供了一种在数据处理系统中用于经由动态重新配置为多队列网络适配器提供资源关联的方法。该说明性实施方式在存储器内分配初始队列对。该说明性实施方式确定数据处理系统的工作负载是否已经上升至高于预定的高阈值。该说明性实施方式响应于工作负载上升至高于预定的高阈值在存储器中分配并初始化附加的队列对。该说明性实施方式对网络适配器中的接收侧缩放(RSS)机制进行编程以允许与附加队列对相关联的附加处理引擎的动态插入。该说明性实施方式启用向附加队列对传送元组散列。
在另一个说明性实施方式中,提供了一种包括具有计算机可读程序的计算机可用或可读介质的计算机程序产品。当该计算机可读程序在计算设备上执行时,使得计算设备执行以上关于说明性方法所概述的各种操作及其组合。
在另一个说明性实施方式中,提供了一种系统/装置。该系统/装置可以包括一个或多个处理器以及耦合至一个或多个处理器的存储器。存储器可以包括如下指令,当该指令被一个或多个处理器所执行时,该指令以使得一个或多个处理器执行以上关于说明性方法所概述的各种操作及其组合。
将在以下对本发明示例实施方式的详细描述中对本发明的这些和其它特征和优势进行描述,或者其将在考虑到以下对本发明示例实施方式的详细描述的情况下而对本领域技术人员变得容易理解。
附图说明
当结合附图进行阅读时,本发明以及优选使用模式及其另外的目标和优势将通过参考以下对说明性实施方式的详细描述而得到最佳地理解,其中:
图1描绘了可以在其中实现说明性实施方式方面的示例分布式数据处理系统的图形化表示;
图2描绘了可以利用其有利地采用说明性实施方式方面的数据处理系统的框图;
图3描绘了可以在其中实现说明性实施方式的示例性逻辑分区平台的框图;
图4描绘了依据说明性实施方式的经由动态重新配置为多队列网络适配器提供资源关联的机制的示例性实现;以及
图5提供了概述了依据说明性实施方式的经由动态重新配置以为多队列网络适配器提供资源关联的示例操作的流程图。
具体实施方式
说明性实施方式提供了一种经由基础硬件的动态重新配置为主动存储器共享(AMS)和中央处理单元(CPU)的利用提供资源关联以满足变化的工作负载需求,而在性能或服务中无中断的机制。现代的适配器可以为最高性能提供多个分组队列对(QP)。这些适配器可以能够经由使用每个接口的多个传送/接收队列(QP)执行并行网络数据处理,这对于高度事务工作负载以及利用小的分组大小来实现更高线路速度而言是实质性特征。入口或接收业务可以由适配器对操作系统处理的适当的QP和相关联中断进行元组散列。出口或传送业务可以由操作系统(OS)驱动器进行元组散列以便递送至适配器。适配器和OS驱动器通常分配具有足够描述符和缓冲器的多个QP以获得最高性能,正常情况下是为每个适配器大约250MB的平均存储器占据面积分配二到四个QP。每个QP可以具有相关联的接收中断,因此如果多个QP处于使用中并且业务量低,就由于增加的中断分派而存在附加的CPU利用开销,这可以轻易地被单个QP所应对。这个问题对性能方面越来越有兴趣,由于已知适配器的分析示出多个QP对大多数正常使用情况具有负面影响,但是针对某些高强度和高事务工作负载实现理论上的最高性能方面非常关键。
因此,说明性实施方式可以在许多不同类型的数据处理环境中得以利用,包括分布式数据处理环境、单数据处理设备等。为了为说明性实施方式的具体要素和功能的描述提供上下文,此后提供图1至图3作为可以在其中实说明性实施方式方面的示例环境。虽然遵循图1至图3的描述将主要集中于经由动态重新配置为多队列网络适配器提供资源关联的机制的单数据处理设备的实现,但是这仅是示例而并非意在明示或暗示关于本发明特征的任何限制。与之相反,说明性实施方式意在包括分布式数据处理环境以及其中可以经由动态重新配置为多队列网络适配器提供资源关联的实施方式。
现在参考附图,尤其是参考图1至图3,提供了可以在其中实现本发明的说明性实施方式的数据处理环境的示例图。应当意识到的是,图1至图3仅是示例而并非意在声称或暗示关于可以在其中实现本发明实施方式的方面的环境的任何限制。可以进行对所描绘环境的许多修改而并不背离本发明的精神和范围。
现在参考附图,图1描绘了可以在其中实现说明实施方式的各方面的示例分布式数据处理系统的图形表示。分布式数据处理系统100可以包括可以在其中实现说明性实施方式的各方面的计算机网络。分布式数据处理系统100包含至少一个网络102,其是用来在分布式数据处理系统100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光线线缆之类的连接。
在所描绘的示例中,服务器104和服务器106连同存储单元108一起连接至网络102。此外,客户端110、112和114也连接到网络102。这些客户端110、112和114例如可以是个人计算机、网络计算机等。在所描绘的示例中,服务器104向客户端110、112和114提供诸如引导文件、操作系统图像和应用之类的数据。客户端110、112和114在所描绘的示例中是服务器104的客户端。分布式数据处理系统100可以包括没有示出的附加服务器、客户端和其它设备。
在所描绘的示例中,分布式数据处理系统100是互联网,其具有表示使用传输控制协议/互联网协议(TCP/IP)协议套件相互进行通信的网络和网关的全球范围的集合的网络102。在互联网的核心是主节点或主机计算机之间的高速数据通信线路的骨干,其由成千上万路由数据和消息的商业、政府、教育和其它计算机系统所构成。当然,分布式数据处理系统100还可以被实现为包括多种不同类型的网络,例如内联网、局域网(LAN)、广域网(WAN)等。如以上所提到的,图1意在作为示例而并非作为针对本发明不同实施方式的架构限制,因此图1所示出的特定要素并不应当被认为是关于可以在其中实施本发明的说明性实施方式的环境的限制。
在说明性实施方式中,计算机架构被实现为硬件和软件的组合。计算机架构的软件部分可以被称作微代码或毫代码。硬件和软件的组合创建了计算机软件的其余部分在其上进行操作的指令集合和系统架构,诸如基本输入/输出系统(BIOS)、虚拟机监视器(VMM)、Hypervisor、应用程序等。除非通过所定义的为数不多的接口,否则初始组合所创建的计算机架构对于计算机软件(BIOS等)是不变的。
现在参考图2,描绘了可以利用其有利地采用说明性实施方式各方面的数据处理系统的框图。如所示出的,数据处理系统200包括处理器单元211a-211n。每个处理器单元211a-211n包括处理器和高速缓存存储器。例如,处理器单元211a包含处理器212a和高速缓存存储器213a,并且处理器单元211n包含处理器212n和高速缓存存储器213n。
处理器单元211a-211n连接至主总线215。主总线215支持包含处理器单元211a-211n和存储器卡223的系统平面(planar)220。系统平面220还包含数据开关221和存储器控制器/高速缓存222。存储器控制器/高速缓存222支持存储器卡223,其包括具有多个双列直插式存储器模块(DIMM)的本地存储器216。
数据开关221连接至位于本机I/O(NIO)平面224内的总线桥217和总线桥218。如所示出的,总线桥218经由系统总线219连接至外围组件接口(PCI)桥225和226。PCI桥225经由PCI总线228连接至各种I/O设备。如所示出的,硬盘236可以经由小型计算机系统接口(SCSI)主机适配器230连接至PCI总线228。图形适配器231可以直接或间接连接至PCI总线228。PCI桥226经由PCI总线227为通过网络适配器234和适配器卡槽235a-235n的外部数据流提供连接。
工业标准架构(ISA)总线229经由ISA桥232连接至PCI总线228。ISA桥232通过具有串行连接Serial1和Serial2的NIO控制器233提供互连功能。通过NIO控制器233提供软盘连接、键盘连接和鼠标连接以允许数据处理器系统200经由相对应的输入设备从用户接受数据输入。此外,连接至ISA总线229的非易失性RAM(NVRAM)240提供非易失性存储器以便保护某些类型的数据免于诸如供电问题之类的系统中断或系统故障。系统固件241也连接至ISA总线229以便实现初始的基本输入/输出系统(BIOS)功能。服务处理器244连接至ISA总线229以提供用于系统诊断和系统服务的功能。
操作系统(OS)存储在硬盘236上,其也可以为供数据处理系统执行的附加应用软件提供存储。NVRAM240被用来存储系统变量和错误信息,以用于现场可替换单元(FRU)的隔离。在系统启动期间,引导程序加载操作系统并初始化操作系统的执行。为了加载操作系统,引导程序首先在硬盘236上加载操作系统内核图像,将OS内核图像加载至存储器中,并且跳至操作系统内核所提供的初始地址。通常,操作系统被加载到数据处理系统内的随机访问存储器(RAM)。一旦被加载和初始化,操作系统就对程序的执行进行控制并且可以提供诸如资源分配、调度、输入/输出控制和数据管理之类的服务。
说明性实施方式可以在利用多种不同的硬件配置以及诸如引导程序和操作系统之类的软件的多种数据处理系统中实现。数据处理系统200例如可以是独立系统或者是诸如局域网(LAN)或广域网(WAN)之类的网络的一部分。如以上所提到的,图2旨在作为示例,而并非是针对本发明不同实施方式的架构限制,并且因此图2所示的特定要素并不被认为是关于可以在其中实现本发明的说明性实施方式的环境的限制。
现在参考图3,描绘了可以在其中实现说明性实施方式的示例性逻辑分区平台的框图。逻辑分区平台300中的硬件例如可以使用图2中的数据处理系统200的硬件来实现。
逻辑分区平台300包括分区硬件330、操作系统302、304、306、308以及虚拟机监视器310。操作系统302、304、306和308可以是单个操作系统的多个副本或者在逻辑分区平台300上同时运行的多个异构操作系统。这些操作系统例如可以使用z/OS来实现,其被设计为与诸如分区管理固件之类的虚拟化机制进行对接,该分区管理固件例如为hypervisor。z/OS仅被用作该说明性实施方式中的示例。当然,根据特定实现可以使用诸如OS/400、和之类的其它类型的操作系统。操作系统302、304、306和308分别位于逻辑分区303、305、307和309中。
Hypervisor软件是可以被用来实现平台(在该示例中为虚拟机监视器310)并且可从国际商业机器公司获得的软件示例。固件是存储在不用电力保存其内容的存储器芯片中的“软件”,存储芯片例如为只读存储器(ROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)和电可擦除可编程ROM(EEPROM)。
逻辑分区平台300还可以利用的PowerVMTMActiveMemoryTMSharing,这是一种PowerVMTM先进存储器虚拟化技术,其向IBMPowerSystems提供了虚拟化功能,允许多个逻辑分区共享共用的物理存储器池。IBMPower的物理软件可以以专用或共享模式而被指定给多个逻辑分区。系统管理员能够向逻辑分区指定一些物理存储器并且向其它逻辑分区所共享的池指定一些物理存储器。单个分区可以具有专用或共享的存储器。ActiveMemoryTMSharing可以被用来通过减少系统存储器需求或者通过允许在现有系统上创建附加逻辑分区来提高系统上的存储器利用。
逻辑分区303、305、307和309还包括分区固件加载器(loader)311、313、315和317。分区固件加载器311、313、315和317可以使用IPL或初始自引导代码、IEEE-1275标准开放固件和运行时抽象软件(RTAS)来实现,其可从国际商业机器公司获得。
当实例化逻辑分区303、305、307和309时,自引导代码的副本被虚拟机监视器310加载到逻辑分区303、305、307和309中。此后,控制被传达至自引导代码,其中自引导代码随后加载开放固件和RTAS。与逻辑分区303、305、307和309相关联或对其指定的处理器随后被分派给逻辑分区的存储器以执行逻辑分区固件。
分区硬件330包括多个处理器332-338、多个系统存储器单元340-346、多个输入/输出(I/O)适配器348-362以及存储单元370。处理器332-338、存储器单元340-346、NVRAM存储398和I/O适配器348-362中的每一个都可以被指定给逻辑分区平台300内的多个逻辑分区303、305、307和309之一,它们中的每一个对应于操作系统302、304、306和308之一。
虚拟机监视器310执行用于逻辑分区303、305、307和309的多个功能和服务以生成并强制逻辑分区平台300的分区。虚拟机监视器310是固件实现的与基础硬件相同的虚拟机。因此,虚拟机监视器310允许独立OS图像302、304、306和308通过对逻辑分区平台300的所有硬件资源进行虚拟化来同时执行。
服务处理器390可以被用来提供各种服务,诸如逻辑分区303、305、307和309中平台错误的处理。服务处理器390还可以充当服务代理以将错误报告回供应商,诸如国际商业机器公司。不同逻辑分区的操作可以通过硬件系统控制台380进行控制。硬件系统控制台380是系统管理员可以从其执行包括对不同逻辑分区的资源重新分配在内的各种功能的单独数据处理系统。
说明性实施方式提供了操作系统(OS)驱动器以初始仅以稍高于最低要求资源来分配单个队列对(QP),即传送器/接收器配对,以实现正常操作。随着业务流或工作负载增加而超过预定阈值,OS驱动器按照需要动态分配附加QP。当QP被添加至运行的OS驱动器并且被使得可用于适配器时,在入口或接收路径以及出口或传送路径中将业务散列至更多中央处理单元(CPU),有效地在性能和CPU/存储器资源利用方面进行缩放。由于性能缩放经由附加QP而不是静态描述符计数来实现,所以可以在不再需要时减少系统资源。随着业务流和工作负载下降至低于所建立的最小阈值,OS驱动器可以移除QP并且下降而最低资源利用以便进行正常操作。该循环在工作负载或业务提高时重复进行。因此,说明性实施方式有效地实现了动态重新配置以针对性能进行调谐,而同时提供了CPU利用和主动存储器共享的关联。
图4是根据一个说明性实施方式图示了主操作组件和它们的交互的示例框图。图4中示出的部件可以以硬件、软件、或者硬件和软件的任何组合实现。在一个说明性实施方式中,图4的部件被实现为在一个或多个数据处理设备或系统的一个或多个处理器上执行的软件。
图4描绘了依据说明性实施方式的经由动态重新配置为多队列网络适配器提供资源关联的机制的示例性实现。数据处理系统400包括操作系统404内的设备驱动器402。设备驱动器402在存储器408中提供一个或多个队列对406a-406n以供应用410和网络适配器412使用。虽然说明性实施方式仅图示了一个设备驱动器402、一个应用410以及一个网络适配器412,但是本领域技术人员可以认识到的是,数据处理系统400可以在数据处理系统400内包括多个设备驱动器、多个应用以及多个网络适配器。
当操作系统404初始化时,操作系统404配置并初始化设备驱动器402。设备驱动器402随后分配初始队列对406a,其可以在存储器408内包括多个接收描述符/缓冲器以及多个传送描述符/缓冲器。设备驱动器402随后开启网络适配器412,从而业务可以被递送至网络适配器412。在操作期间,当仅有队列对406a被初始化时,设备驱动器402接收要传送至网络适配器412的业务并且将该业务发送到网络适配器412上以便进行递送。网络适配器412随后经由网络424将传送业务发送到诸如服务器416、服务器418、客户端420、客户端422等的设备上。相反,当网络适配器412接收要经由网络424从诸如服务器416、服务器418、客户端420、客户端422等的设备传送至设备驱动器402的业务时,网络适配器412产生由操作系统404处理的中断并且该业务被发送至设备驱动器402。可以如以下所描述的进一步进行分配的队列对406a以及406b-406n中的每一个具有其自己相关联的接收中断。
在设备驱动器402分配并实例化队列对406a之后,设备驱动器402通过数据流和资源的可用性持续监视操作系统404的工作负载。设备驱动器402可以监视诸如每秒传送/接收字节、网络适配器412所发送和接收的流控制帧的数量、网络适配器412所检测的DMA周转的数量、设备驱动器402所检测的传送超时事件的数量、设备驱动器402每次中断所处理的接收分组的数量、软件队列上的传送分组的数量等的参数。当设备驱动器402诸如通过预定的高阈值被超过而通过工作负载监视而检测到不充分的资源条件时,设备驱动器402可以动态分配并初始化的队列对406b-406n的附加对。设备驱动器402随后对网络适配器412内的接收侧缩放(RSS)机制414进行编程以允许与队列对406a以及附加队列对406b-406n相关联的附加处理引擎的动态插入。设备驱动器402随后启用向队列对406a以及附加队列对406b-406n进行传送元组散列。网络适配器412所进行的接收元组散列和处理通过RSS机制414的编程自动启用。如果尚未已经被分配和初始化,则设备驱动器402根据工作负载的要求继续添加队列对406b-406n,直至所有可用队列对406b-406n都被消耗或者直至队列对406a-406n超过了数据处理系统400中的中央处理单元的数量。设备驱动器402还在网络适配器412中对RSS机制414进行重新编程以允许附加处理引擎在每次添加队列对406b-406n时的动态插入,以及启用对新的队列对406b-406n进行传送元组散列。
当设备驱动器402诸如通过工作负载下降至低于预定的低阈值而识别出工作负载的降低时,设备驱动器402可以对网络适配器412中的RSS机制414进行动态重新配置,以允许删除所分配的队列对406a-406n。设备驱动器402随后对队列对406a-406n中被删除的队列对禁用传送元组散列。一旦队列对406a-406n中被删除的队列对停止,设备驱动器402就移除队列对406a-406n中被删除的队列对,由此释放队列对406a-406n中被删除的队列对所使用的存储器。正如启用在网络适配器412中进行接收元组散列一样,网络适配器412所进行的接收元组散列和处理通过RSS机制414的重新编程而自动禁用。
因此,说明性实施方式提供了一种经由基础硬件的动态重新配置而为主动存储器共享(AMS)和中央处理单元(CPU)利用提供资源关联,以满足变化的工作负载的需求而在性能或服务中没有中断的机制。随着业务流或工作负载增加超过预定阈值,设备驱动器根据需要动态分配附加队列对。随着业务流和工作负载下降低于预定最小阈值,设备驱动器可以移除队列对并且拉回至最低资源利用以进行正常操作。该循环在工作负载或业务增加和降低时重复进行。
如本领域技术人员将要意识到的,本发明可以被实现为系统、方法或计算机程序产品。因此,本发明的各方面可以采取全硬件实施方式、全软件实施方式(包括固件、驻留软件、微代码等)或者将软件和硬件方面相结合的实施方式的形式,它们在这里都可以被统称为“电路”、“模块”或“系统”。此外,本发明的各方面可以采取具有实现于其上的计算机可用程序代码的任意一个或多个计算机可读介质中所实现的计算机程序产品的形式。
可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质例如可以是(但不限于)电、磁、光、电磁、红外或半导体系统、装置、设备,或者上述的任意适当组合。计算机可读介质的更为具体的示例(非穷举列表)包括以下:具有一个或多个线路的电连接、便携式计算机卡带盒、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式紧致盘只读存储器(CDROM)、光存储设备、磁存储设备或上述的任意适当组合。在本文档的上下文中,计算机可读存储介质可以是能够包含或存储供指令执行系统、装置或设备所使用或结合其使用的程序的任意有形介质。
计算机可读信号介质可以包括具有例如在基带中或者作为载波一部分而记录于其中的计算机可读程序代码的传播数据信号。这样的传播信号可以采取任意的各种形式,包括但不限于电磁、光学、或者其任意适当组合。计算机可读信号介质可以是并非计算机可读存储介质并且能够传达、传播或传送程序以便由指令执行系统、装置或设备所使用或者结合其使用的任意计算机可读媒体。
记录于计算机可读介质上的计算机代码可以使用任意适当介质进行传送,包括但不限于无线、有线、光纤线缆、射频(RF)等或者其任意适当组合。
用于执行本发明各方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合进行编写,包括诸如JavaTM、SmalltalkTM、C++等的面向对象语言,以及诸如“C”编程语言或类似编程语言的传统过程化编程语言。程序代码可以作为独立软件包完全在用户计算机上、部分在用户计算机上执行,部分在用户计算机而部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后者的情形中,远程计算机可以通过任意类型的网络连接至用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以形成到外部计算机的连接(例如,通过使用互联网服务提供商的互联网)。
以下参考根据本发明说明性实施方式的方法、装置(系统)和计算机程序产品的流程图图示和/或框图对本发明的各方面进行描述。将要理解的是,流程图图示和/或框图的每个框能够由计算机程序指令实现。这些计算机程序指令可以被提供至通用计算机、专用计算机或其它可编程数据处理装置的处理器以生产机器,以使得经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中所指定的功能/动作的手段。
这些计算机程序指令还可以存储在计算机可读介质中,其可以指引计算机、其它可编程数据处理装置或其它设备以特定方式进行工作,以使得存储在计算机可读介质中的指令生产出包括实施流程图和/或框图的一个或多个框中所指定的功能/动作的指令的制造物品。
计算机程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备上以使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤以产生计算机实现的步骤,以使得在计算机或其它可编程装置上执行的指令提供处理以便实施流程图和/或框图的一个或多个框中所指定的功能/动作。
现在参照图5,该示图提供了概述依据说明性实施方式的经由动态冲洗那配置而为多队列网络适配器提供资源关联的示例操作的流程图。在操作开始时,经配置和初始化的设备驱动器在存储器内分配初始队列对(步骤502)。设备驱动器随后开启网络适配器,从而业务可以被传送至网络适配器(步骤504)。
在设备驱动器分配并实例化队列对之后,设备驱动器通过数据流和资源的可用性持续监视操作系统的工作负载(步骤506)。设备驱动器可以监视诸如每秒传送/接收字节、网络适配器所发送和接收的流控制帧的数量、网络适配器所检测的DMA周转的数量、设备驱动器所检测的传送超时事件的数量、设备驱动器每次中断所处理的接收分组的数量、软件队列上的传送分组的数量等的参数。设备驱动器随后通过工作负载监视来确定预定的高阈值是否已经被超过,这指示不充分的资源条件(步骤508)。如果在步骤508,工作负载已经上上至高于预定的高阈值,则设备驱动器在存储器中动态分配并初始化附加队列对(步骤510)。设备驱动器随后在网络适配器中对RSS机制进行编程/重新编程以允许附加处理引擎的动态插入(步骤512),并且设备驱动器启用对心分配的队列对进行传送元组散列(步骤514),该操作随后返回至步骤506。
如果在步骤508,工作负载没有上升而高于预定的高阈值,则设备驱动器确定工作负载是否已经下降而低于预定的低阈值(步骤516)。如果在步骤516,设备驱动器确定工作负载还没有下降而低于预定的低阈值,则操作返回至步骤506。如果在步骤516,设备驱动器确定工作负载已经下降而低于预定的低阈值,则设备驱动器确定是否仅存在一个队列对剩余待分配(步骤518)。如果设备驱动器在步骤518确定仅存在一个队列对剩余待分配,则操作返回步骤506。如果在步骤518,设备驱动器确定存在不止一个队列对剩余,则设备驱动器可以对网络适配器中的RSS机制进行重新编程以允许删除所分配的队列对(步骤520)。设备驱动器随后禁用向所识别的队列对传送元组散列(步骤522)。设备驱动器随后确定针对所识别队列对的工作负载是否已经停止(步骤524)。如果在步骤524,设备驱动器确定了针对所识别队列对的工作负载还没有停止,则操作返回步骤524。如果在步骤524,设备驱动器确定针对所识别队列对的工作负载已经停止,则设备驱动器从存储器移除所识别的队列对(步骤526)由此释放被所识别队列对所使用的存储器。操作随后返回步骤506。
附图中的流程图和框图图示了根据本发明各个实施方式的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。就此而言,流程图或框图中的每个框可以表示模块、分段或代码部分,其包括用于实现所指定的(多个)逻辑功能的一个或多个可执行指令。还应当注意的是,在一些备选实施方式中,框中所提到的功能可以以不同于图中所提及的顺序来执行。例如,根据所涉及的功能,连续示出的两个框实际可以实质上同时执行,或者框有时可以以相反顺序来执行。还要注意的是,框图和/或流程图图示的每个框以及框图和/或流程图图示中框的组合可以由执行指定功能或动作的专用的基于硬件的系统或者专用硬件和计算机指令的组合来实现。
因此,说明性实施方式提供了经由基础硬件的动态重新配置为主动存储器共享(AMS)和中央处理单元(CPU)利用提供资源关联以满足变化的工作负载的要求而在性能或服务中没有中断的机制。随着业务流或工作负载增加超出预定阈值,设备驱动器根据需要动态分配附加队列对。随着业务流和工作负载下降低于预定最小阈值,设备驱动器可以移除队列对并且拉回至最低资源利用以进行正常操作。该循环在工作负载或业务增加和降低时重复进行。
如以上所提到的,应当意识到的是,说明性实施方式可以采取全硬件实施方式、全软件实施方式或者包含硬件和软件要素的实施方式的形式。在一个示例实施方式中,说明石化胜利的机制以软件或程序代码来实施,其可以包括但不限于固件、驻留软件、微代码等。
适于存储和/或执行程序代码的数据处理系统将包括至少一个直接或通过系统总线间接耦合至存储器部件的处理器。该存储器部件可以包括程序代码的实际执行期间所采用的本地存储器、大容量存储,以及提供至少一些程序代码的临时存储以便减少执行期间必须从大容量存储获取代码的次数的高速缓存存储器。
输入/输出或I/O设备(包括但不限于键盘、显示器、指示设备等)可以直接或通过中间I/O控制器耦合至系统。网络适配器也可以耦合至系统以使得数据处理系统能够变为通过中间的私有或公众网络而耦合至其它数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器和以太网卡仅是当前可用的一些网络适配器的类型。
已经出于说明和描述的目的给出了本发明的描述,而其并非旨在是穷举的或者将本发明限制为所公开的形式。许多修改和变化对于本领域技术人员而言将是容易理解的。实施方式被选择和描述以便对发明原则、实际应用进行最佳地解释,并且使得本领域普通其它技术人员能够针对适于所预期的特定用途的各种修改的各个实施方式而理解本发明。
Claims (21)
1.一种在数据处理系统中用于经由动态重新配置为多队列网络适配器提供资源关联的方法,所述方法包括:
由所述数据处理系统中的设备驱动器在存储器内分配初始队列对;
由所述设备驱动器确定所述数据处理系统的工作负载是否已经上升至高于预定的高阈值;
由所述设备驱动器响应于所述工作负载上升至高于所述预定的高阈值而在所述存储器中分配并初始化附加的队列对;
由所述设备驱动器对网络适配器中的接收侧缩放机制进行编程以允许与所述附加队列对相关联的附加处理引擎的动态插入;以及
由所述设备驱动器启用向所述附加队列对传送元组散列。
2.根据权利要求1所述的方法,进一步包括:
每次所述数据处理系统的所述工作负载上升至高于预定的高阈值时,由所述设备驱动器重复所述分配和初始化、编程以及使能步骤。
3.根据权利要求1所述的方法,其中对所述网络适配器中的所述接收侧缩放机制进行编程以允许与所述附加队列对相关联的附加处理引擎的动态插入包括:
由所述设备驱动器启用向初始队列对传送元组散列。
4.根据权利要求1所述的方法,其中由所述设备驱动器通过数据流和资源可用性以监视所述数据处理系统的工作负载来执行确定所述数据处理系统的工作负载是否已经上升至高于所述预定的高阈值。
5.根据权利要求4所述的方法,其中所述设备驱动器监视与所述工作负载相关联的至少一个参数,并且其中所述至少一个参数是每秒传送/接收字节、所述网络适配器所发送和接收的流控制帧的数量、所述网络适配器所检测的DMA周转的数量、所述设备驱动器所检测的传送超时事件的数量、所述设备驱动器每次中断所处理的接收分组的数量或者软件队列上的传送分组的数量中的至少一个。
6.根据权利要求1所述的方法,进一步包括:
由所述设备驱动器确定所述工作负载是否已经下降至低于预定的低阈值;
响应于所述工作负载下降至低于所述预定的低阈值而由所述设备驱动器确定所述存储器中是否仅存在一个剩余的被分配的队列对;
响应于所述存储器中存在不止一个剩余的被分配的队列对而由所述设备驱动器对所述网络适配器中的所述接收侧缩放机制进行重新编程以允许删除所分配的队列对;
由所述设备驱动器禁用向所识别的队列对传送元组散列;
由所述设备驱动器确定到所识别的队列对的所述工作负载是否已经停止;以及
响应于到所识别的队列对的所述工作负载停止而由所述设备驱动器从存储器移除所识别的队列对,由此释放被所识别的队列对所使用的存储器。
7.根据权利要求6所述的方法,进一步包括:
响应于到所识别的队列对的工作负载没有停止而由所述设备驱动器在从存储器移除所识别的队列对而等待到所识别的队列对的所述工作负载停止,由此释放被所识别的队列对使用的存储器。
8.一种在数据处理系统中用于经由动态重新配置为多队列网络适配器提供资源关联的系统,所述系统包括:
用于由所述数据处理系统中的设备驱动器在存储器内分配初始队列对的装置;
用于由所述设备驱动器确定所述数据处理系统的工作负载是否已经上升至高于预定的高阈值的装置;
用于由所述设备驱动器响应于所述工作负载上升而高于预定的高阈值而在所述存储器中分配并初始化附加的队列对的装置;
用于由所述设备驱动器对网络适配器中的接收侧缩放机制进行编程以允许与所述附加队列对相关联的附加处理引擎的动态插入的装置;以及
用于启用向所述附加队列对传送元组散列的装置。
9.根据权利要求8所述的系统,进一步包括:
用于在每次所述数据处理系统的所述工作负载上升至高于预定的高阈值时,重复所述分配和初始化、编程以及使能步骤的装置。
10.根据权利要求8所述的系统,其中所述用于有所述设备驱动器对所述网络适配器中的所述接收侧缩放机制进行编程以允许与所述附加队列对相关联的附加处理引擎的动态插入的装置包括:
用于由所述设备驱动器启用向初始队列对传送元组散列的装置。
11.根据权利要求8所述的系统,其中用于由所述设备驱动器确定所述数据处理系统的工作负载是否已经上升至高于预定的高阈值的装置具体为用于由所述设备驱动器通过数据流和资源可用性以监视所述数据处理系统的工作负载来执行确定所述数据处理系统的工作负载是否已经上升至高于所述预定的高阈值的装置。
12.根据权利要求11所述的系统,其中系统进一步包括:用于监视与所述工作负载相关联的至少一个参数的装置,并且其中所述至少一个参数是每秒传送/接收字节、所述网络适配器所发送和接收的流控制帧的数量、所述网络适配器所检测的DMA周转的数量、所述设备驱动器所检测的传送超时事件的数量、所述设备驱动器每次中断所处理的接收分组的数量或者软件队列上的传送分组的数量中的至少一个。
13.根据权利要求8所述的系统,进一步包括:
用于由所述设备驱动器确定所述工作负载是否已经下降至低于预定的低阈值的装置;
用于响应于所述工作负载下降至低于所述预定的低阈值而由所述设备驱动器确定所述存储器中是否仅存在一个剩余的被分配的队列对的装置;
用于响应于所述存储器中存在不止一个剩余的被分配的队列对而由所述设备驱动器对所述网络适配器中的所述接收侧缩放机制进行重新编程以允许删除所分配的队列对的装置;
用于由所述设备驱动器禁用向所识别的队列对传送元组散列的装置;
用于由所述设备驱动器确定到所识别的队列对的所述工作负载是否已经停止的装置;以及
用于响应于到所识别的队列对的所述工作负载停止而从存储器移除所识别的队列对,由此释放被所识别的队列对所使用的存储器的装置。
14.根据权利要求13所述的系统,其中所述系统进一步包括:
用于响应于到所识别的队列对的工作负载没有停止而在从存储器移除所识别的队列对而等待到所识别的队列对的所述工作负载停止,由此释放被所识别的队列使用的存储器的装置。
15.一种在数据处理系统中用于提供资源关联的装置,包括:
处理器;以及
耦合至所述处理器的存储器,其中所述存储器包括指令,当所述指令被所述处理器执行时,使得所述处理器:
在存储器内分配初始队列对;
确定所述数据处理系统的工作负载是否已经上升至高于预定的高阈值;
响应于所述工作负载上升至高于所述预定的高阈值而在所述存储器中分配并初始化附加的队列对;
对网络适配器中的接收侧缩放机制进行编程以允许与所述附加队列对相关联的附加处理引擎的动态插入;以及
启用向所述附加队列对传送元组散列。
16.根据权利要求15所述的装置,其中所述指令进一步使得所述处理器:
每次所述数据处理系统的所述工作负载上升至高于预定的高阈值时,重复所述分配和初始化、编程以及使能步骤。
17.根据权利要求15所述的装置,其中用于对网络适配器中的所述接收侧缩放机制进行编程以允许与所述附加队列对相关联的附加处理引擎的动态插入的所述指令进一步使得所述处理器:
启用向初始队列对传送元组散列。
18.根据权利要求15所述的装置,其中用于确定所述数据处理系统的工作负载是否已经上升至高于所述预定的高阈值的指令由进一步使得所述处理器通过数据流和资源可用性以监视所述数据处理系统的工作负载的指令来执行。
19.根据权利要求18所述的装置,其中所述指令进一步使得所述处理器监视与所述工作负载相关联的至少一个参数,并且其中所述至少一个参数是每秒传送/接收字节、所述网络适配器所发送和接收的流控制帧的数量、所述网络适配器所检测的DMA周转的数量、设备驱动器所检测的传送超时事件的数量、设备驱动器每次中断所处理的接收分组的数量或者软件队列上的传送分组的数量中的至少一个。
20.根据权利要求15所述的装置,其中所述指令进一步使得所述处理器:
确定所述工作负载是否已经下降至低于预定的低阈值;
响应于所述工作负载下降至低于所述预定的低阈值而确定所述存储器中是否仅存在一个剩余的被分配的队列对;
响应于所述存储器中存在不止一个剩余的被分配的队列对而对所述网络适配器中的所述接收侧缩放机制进行重新编程以允许删除所分配的队列对;
禁用向所识别的队列对传送元组散列;
确定到所识别的队列对的工作负载是否已经停止;以及
响应于到所识别的队列对的所述工作负载停止而从存储器移除所识别的队列对,由此释放被所识别的队列对所使用的存储器。
21.根据权利要求20所述的装置,其中所述指令进一步使得所述处理器:
响应于到所识别的队列对的工作负载没有停止而在从存储器移除所识别的队列对而等待到所识别的队列对的工作负载停止,由此释放被所识别的队列对使用的存储器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/766,282 | 2010-04-23 | ||
US12/766,282 US8589941B2 (en) | 2010-04-23 | 2010-04-23 | Resource affinity via dynamic reconfiguration for multi-queue network adapters |
PCT/EP2011/052992 WO2011131400A1 (en) | 2010-04-23 | 2011-03-01 | Resource affinity via dynamically adding or removing queue pairs for network adapters with receive side scaling (rss) software |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102859491A CN102859491A (zh) | 2013-01-02 |
CN102859491B true CN102859491B (zh) | 2016-01-20 |
Family
ID=43770668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180020285.XA Expired - Fee Related CN102859491B (zh) | 2010-04-23 | 2011-03-01 | 通过利用接收侧缩放(rss)软件为网络适配器动态添加或移除队列对的资源关联 |
Country Status (7)
Country | Link |
---|---|
US (3) | US8589941B2 (zh) |
JP (1) | JP5689526B2 (zh) |
CN (1) | CN102859491B (zh) |
DE (1) | DE112011100392B4 (zh) |
GB (1) | GB2492433B (zh) |
TW (1) | TW201218083A (zh) |
WO (1) | WO2011131400A1 (zh) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589941B2 (en) * | 2010-04-23 | 2013-11-19 | International Business Machines Corporation | Resource affinity via dynamic reconfiguration for multi-queue network adapters |
ES2639643T3 (es) | 2010-06-23 | 2017-10-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Gestión de interferencias de señales de referencia en despliegues de redes heterogéneas |
KR101699770B1 (ko) * | 2010-09-06 | 2017-02-13 | 삼성전자주식회사 | 가상화 시스템 및 그 가상화 시스템에서 자원 할당 방법 |
US8627333B2 (en) * | 2011-08-03 | 2014-01-07 | International Business Machines Corporation | Message queuing with flexible consistency options |
US8842562B2 (en) | 2011-10-25 | 2014-09-23 | Dell Products, Lp | Method of handling network traffic through optimization of receive side scaling |
US9736211B2 (en) * | 2012-08-27 | 2017-08-15 | Vmware, Inc. | Method and system for enabling multi-core processing of VXLAN traffic |
US9164809B2 (en) * | 2012-09-04 | 2015-10-20 | Red Hat Israel, Ltd. | Virtual processor provisioning in virtualized computer systems |
US9189260B2 (en) | 2012-09-27 | 2015-11-17 | International Business Machines Corporation | Resource allocation for virtual machines and logical partitions |
JP6033183B2 (ja) * | 2013-07-31 | 2016-11-30 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置、及び画像形成装置の起動方法 |
US9887960B2 (en) | 2013-08-14 | 2018-02-06 | Nicira, Inc. | Providing services for logical networks |
US9952885B2 (en) | 2013-08-14 | 2018-04-24 | Nicira, Inc. | Generation of configuration files for a DHCP module executing within a virtualized container |
US9843540B2 (en) * | 2013-08-26 | 2017-12-12 | Vmware, Inc. | Traffic and load aware dynamic queue management |
US9323544B2 (en) | 2013-10-09 | 2016-04-26 | International Business Machines Corporation | Dynamic reconfiguration of queue pairs |
CN103942097B (zh) * | 2014-04-10 | 2017-11-24 | 华为技术有限公司 | 一种数据处理方法、装置及具备相应装置的计算机 |
US9495217B2 (en) | 2014-07-29 | 2016-11-15 | International Business Machines Corporation | Empirical determination of adapter affinity in high performance computing (HPC) environment |
US9465643B1 (en) * | 2015-06-04 | 2016-10-11 | Dell Products, L.P. | Systems and methods for monitoring a primary operating system (OS) and/or migrating data using an OS hypervisor |
CN104991829B (zh) * | 2015-06-30 | 2018-01-23 | 广东欧珀移动通信有限公司 | 管理移动终端内存的方法和相关设备 |
US10795608B2 (en) | 2016-02-19 | 2020-10-06 | Hitachi, Ltd. | Computer, communication driver, and communication control method |
US10841273B2 (en) | 2016-04-29 | 2020-11-17 | Nicira, Inc. | Implementing logical DHCP servers in logical networks |
US10484515B2 (en) | 2016-04-29 | 2019-11-19 | Nicira, Inc. | Implementing logical metadata proxy servers in logical networks |
CN106407055B (zh) * | 2016-09-13 | 2019-09-24 | 郑州云海信息技术有限公司 | 一种RSS Key值离散性评价方法及系统 |
US10481951B2 (en) * | 2016-11-15 | 2019-11-19 | Red Hat Israel, Ltd. | Multi-queue device assignment for application groups |
CN106789152A (zh) * | 2016-11-17 | 2017-05-31 | 东软集团股份有限公司 | 基于多队列网卡的处理器扩展方法及装置 |
US10554554B2 (en) | 2016-12-06 | 2020-02-04 | Microsoft Technology Licensing, Llc | Hybrid network processing load distribution in computing systems |
US10826841B2 (en) | 2016-12-06 | 2020-11-03 | Microsoft Technology Licensing, Llc | Modification of queue affinity to cores based on utilization |
US10715424B2 (en) | 2016-12-06 | 2020-07-14 | Microsoft Technology Licensing, Llc | Network traffic management with queues affinitized to one or more cores |
US10802878B2 (en) * | 2017-03-31 | 2020-10-13 | Bmc Software, Inc. | Phased start and stop of resources in a mainframe environment |
CN107247626A (zh) * | 2017-06-14 | 2017-10-13 | 山东开创云软件有限公司 | 一种适用于高并发业务模块调度的方法 |
CN111127293B (zh) * | 2018-10-31 | 2024-04-26 | 伊姆西Ip控股有限责任公司 | 用于处理数据的方法、设备和计算机程序产品 |
JP7070372B2 (ja) * | 2018-11-27 | 2022-05-18 | 日本電信電話株式会社 | トラフィックモニタリング方法、トラフィックモニタリング装置、及びプログラム |
CN109586965A (zh) * | 2018-12-04 | 2019-04-05 | 郑州云海信息技术有限公司 | 一种网卡rss自动配置方法、装置、终端及存储介质 |
US11182205B2 (en) * | 2019-01-02 | 2021-11-23 | Mellanox Technologies, Ltd. | Multi-processor queuing model |
US11144226B2 (en) | 2019-04-11 | 2021-10-12 | Samsung Electronics Co., Ltd. | Intelligent path selection and load balancing |
US11216190B2 (en) * | 2019-06-10 | 2022-01-04 | Samsung Electronics Co., Ltd. | Systems and methods for I/O transmissions in queue pair-based NVMeoF initiator-target system |
US11240294B2 (en) | 2019-08-23 | 2022-02-01 | Samsung Electronics Co., Ltd. | Systems and methods for spike detection and load balancing resource management |
US11509578B2 (en) * | 2019-12-13 | 2022-11-22 | Cisco Technology, Inc. | Flexible policy semantics extensions using dynamic tagging and manifests |
CN113759891A (zh) * | 2020-08-17 | 2021-12-07 | 北京京东乾石科技有限公司 | 参数确定的方法、装置、电子设备和存储介质 |
US11860784B1 (en) * | 2022-06-27 | 2024-01-02 | Advanced Micro Devices, Inc. | Live profile-driven cache aging policies |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1391671A (zh) * | 1999-09-28 | 2003-01-15 | 国际商业机器公司 | 计算环境中的工作负载管理 |
US7448044B1 (en) * | 2005-02-02 | 2008-11-04 | Sun Microsystems, Inc. | Systems and methods for efficient queue pair number re-use |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7100000B1 (en) * | 1999-05-28 | 2006-08-29 | International Business Machines Corporation | System and methods for processing audio using multiple speech technologies |
JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
US20030067874A1 (en) | 2001-10-10 | 2003-04-10 | See Michael B. | Central policy based traffic management |
US7307998B1 (en) | 2002-08-27 | 2007-12-11 | 3Com Corporation | Computer system and network interface supporting dynamically optimized receive buffer queues |
US7089378B2 (en) | 2003-03-27 | 2006-08-08 | Hewlett-Packard Development Company, L.P. | Shared receive queues |
CN1327677C (zh) * | 2003-11-21 | 2007-07-18 | 清华大学 | 基于ecn且带预测验证的拥塞控制方法 |
US7548513B2 (en) | 2005-02-17 | 2009-06-16 | Intel Corporation | Techniques to provide recovery receive queues for flooded queues |
US7363399B2 (en) * | 2005-08-17 | 2008-04-22 | International Business Machines Corporation | Method, apparatus and computer program product providing storage network dynamic tuning of I/O flow with Queue Depth |
CN100418313C (zh) * | 2005-12-21 | 2008-09-10 | 中国科学院计算技术研究所 | 适于带宽变化的链路分层共享和管理域的带宽重分配方法 |
JP4702127B2 (ja) * | 2006-03-22 | 2011-06-15 | 日本電気株式会社 | 仮想計算機システム及びその物理リソース再構成方法並びにプログラム |
JP2008060700A (ja) * | 2006-08-29 | 2008-03-13 | Oki Electric Ind Co Ltd | バッファ制御装置及びバッファ制御方法 |
US7715428B2 (en) | 2007-01-31 | 2010-05-11 | International Business Machines Corporation | Multicore communication processing |
US20090055831A1 (en) * | 2007-08-24 | 2009-02-26 | Bauman Ellen M | Allocating Network Adapter Resources Among Logical Partitions |
US8160085B2 (en) | 2007-12-21 | 2012-04-17 | Juniper Networks, Inc. | System and method for dynamically allocating buffers based on priority levels |
US8208396B2 (en) | 2009-05-12 | 2012-06-26 | International Business Machines Corporation | Discovery and capability exchange management in a virtualized computing platform utilizing a SR-IOV adapter |
US8266290B2 (en) * | 2009-10-26 | 2012-09-11 | Microsoft Corporation | Scalable queues on a scalable structured storage system |
US8131772B2 (en) * | 2009-12-04 | 2012-03-06 | Unisys Corporation | Method and apparatus for improving the performance of object-oriented queues |
US8346999B2 (en) * | 2009-12-15 | 2013-01-01 | Intel Corporation | Dynamic receive queue balancing with high and low thresholds |
US8446824B2 (en) * | 2009-12-17 | 2013-05-21 | Intel Corporation | NUMA-aware scaling for network devices |
US8589941B2 (en) * | 2010-04-23 | 2013-11-19 | International Business Machines Corporation | Resource affinity via dynamic reconfiguration for multi-queue network adapters |
-
2010
- 2010-04-23 US US12/766,282 patent/US8589941B2/en not_active Expired - Fee Related
-
2011
- 2011-03-01 CN CN201180020285.XA patent/CN102859491B/zh not_active Expired - Fee Related
- 2011-03-01 DE DE112011100392.7T patent/DE112011100392B4/de active Active
- 2011-03-01 JP JP2013505372A patent/JP5689526B2/ja not_active Expired - Fee Related
- 2011-03-01 WO PCT/EP2011/052992 patent/WO2011131400A1/en active Application Filing
- 2011-03-01 GB GB1204440.0A patent/GB2492433B/en active Active
- 2011-04-18 TW TW100113384A patent/TW201218083A/zh unknown
-
2012
- 2012-04-23 US US13/453,387 patent/US8954997B2/en not_active Expired - Fee Related
-
2014
- 2014-12-10 US US14/566,253 patent/US20150095472A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1391671A (zh) * | 1999-09-28 | 2003-01-15 | 国际商业机器公司 | 计算环境中的工作负载管理 |
US7448044B1 (en) * | 2005-02-02 | 2008-11-04 | Sun Microsystems, Inc. | Systems and methods for efficient queue pair number re-use |
Also Published As
Publication number | Publication date |
---|---|
WO2011131400A1 (en) | 2011-10-27 |
GB2492433B (en) | 2017-06-21 |
CN102859491A (zh) | 2013-01-02 |
JP2013530573A (ja) | 2013-07-25 |
US8954997B2 (en) | 2015-02-10 |
US20110265095A1 (en) | 2011-10-27 |
GB201204440D0 (en) | 2012-04-25 |
DE112011100392B4 (de) | 2019-02-21 |
JP5689526B2 (ja) | 2015-03-25 |
GB2492433A (en) | 2013-01-02 |
TW201218083A (en) | 2012-05-01 |
US8589941B2 (en) | 2013-11-19 |
US20120210337A1 (en) | 2012-08-16 |
DE112011100392T5 (de) | 2012-12-20 |
US20150095472A1 (en) | 2015-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102859491B (zh) | 通过利用接收侧缩放(rss)软件为网络适配器动态添加或移除队列对的资源关联 | |
US9569245B2 (en) | System and method for controlling virtual-machine migrations based on processor usage rates and traffic amounts | |
CN107995129B (zh) | 一种nfv报文转发方法和装置 | |
EP2560098B1 (en) | Method and apparatus to improve efficiency in the use of resources in data center | |
US8276139B2 (en) | Provisioning virtual machine placement | |
KR20180079183A (ko) | 고성능 ssd들을 사용하여 롱 테일 레이턴시를 감소시키기 위한 랙-레벨의 스케줄링 | |
CN102576309B (zh) | 当在运行于相同数据处理系统上的应用程序之间通信时,通过旁路网络栈而在逻辑分区系统中的分区之间的通信 | |
US9811346B2 (en) | Dynamic reconfiguration of queue pairs | |
US11949559B2 (en) | Composed computing systems with converged and disaggregated component pool | |
US11218543B2 (en) | System and method to configure, manage, and monitor stacking of Ethernet devices in a software defined network | |
US20110302287A1 (en) | Quality of service control | |
CN103609077A (zh) | 用于数据传输的方法、装置和系统以及物理网卡 | |
US9424061B2 (en) | Bandwidth-efficient virtual machine image delivery | |
CN110351149A (zh) | 一种维护网络数据转发平面的方法及装置 | |
US20240020174A1 (en) | Memory disaggregation in a multi-node environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160120 |
|
CF01 | Termination of patent right due to non-payment of annual fee |