首页> 中国专利> 通过利用接收侧缩放(RSS)软件为网络适配器动态添加或移除队列对的资源关联

通过利用接收侧缩放(RSS)软件为网络适配器动态添加或移除队列对的资源关联

摘要

提供了一种用于经由动态重新配置而为多队列网络适配器提供资源关联的机制。设备驱动器在存储器内分配初始队列对。设备驱动器确定数据处理系统的工作负载是否已经上升至高于预定的高阈值。响应于工作负载上升至高于预定的高阈值,设备驱动器在存储器中分配并初始化附加的队列对。设备驱动器对网络适配器中的接收侧缩放(RSS)机制进行编程以允许与附加队列对相关联的附加处理引擎的动态插入。设备驱动器启用向附加队列对传送元组散列。

著录项

  • 公开/公告号CN102859491A

    专利类型发明专利

  • 公开/公告日2013-01-02

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201180020285.X

  • 申请日2011-03-01

  • 分类号G06F9/50;H04L9/32;

  • 代理机构北京市金杜律师事务所;

  • 代理人酆迅

  • 地址 美国纽约阿芒克

  • 入库时间 2024-02-19 17:42:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-01-20

    授权

    授权

  • 2013-02-20

    实质审查的生效 IPC(主分类):G06F9/50 申请日:20110301

    实质审查的生效

  • 2013-01-02

    公开

    公开

说明书

技术领域

本申请总体上涉及改进的数据处理装置和方法,更具体地,涉 及用于经由动态重新配置为多队列网络适配器提供资源关联的机制。

背景技术

随着以太网媒体速度的持续提高,对于使用更多系统资源以尽 可能最低的延迟来实现理论上最高的性能存在更大的需求。在以太网 适配器需求方面,由于对大量传送/接收描述符和缓冲器的需求,系统 资源涉及大型物理存储器占据面积(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和Serial 2的NIO控制 器233提供互连功能。通过NIO控制器233提供软盘连接、键盘连接 和鼠标连接以允许数据处理器系统200经由相对应的输入设备从用户 接受数据输入。此外,连接至ISA总线229的非易失性RAM(NVRAM) 240提供非易失性存储器以便保护某些类型的数据免于诸如供电问题 之类的系统中断或系统故障。系统固件241也连接至ISA总线229以 便实现初始的基本输入/输出系统(BIOS)功能。服务处理器244连 接至ISA总线229以提供用于系统诊断和系统服务的功能。

操作系统(OS)存储在硬盘236上,其也可以为供数据处理系 统执行的附加应用软件提供存储。NVRAM 240被用来存储系统变量 和错误信息,以用于现场可替换单元(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还可以利用的PowerVMTM Active  MemoryTM Sharing,这是一种PowerVMTM先进存储器虚拟化技 术,其向IBM Power Systems提供了虚拟化功能,允许多个逻辑分区 共享共用的物理存储器池。IBM Power的物理软件可以以专 用或共享模式而被指定给多个逻辑分区。系统管理员能够向逻辑分区 指定一些物理存储器并且向其它逻辑分区所共享的池指定一些物理 存储器。单个分区可以具有专用或共享的存储器。Active MemoryTMSharing可以被用来通过减少系统存储器需求或者通过允许在现有系 统上创建附加逻辑分区来提高系统上的存储器利用。

逻辑分区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控制器耦合至系统。网络适配器也可以 耦合至系统以使得数据处理系统能够变为通过中间的私有或公众网 络而耦合至其它数据处理系统或远程打印机或存储设备。调制解调 器、线缆调制解调器和以太网卡仅是当前可用的一些网络适配器的类 型。

已经出于说明和描述的目的给出了本发明的描述,而其并非旨 在是穷举的或者将本发明限制为所公开的形式。许多修改和变化对于 本领域技术人员而言将是容易理解的。实施方式被选择和描述以便对 发明原则、实际应用进行最佳地解释,并且使得本领域普通其它技术 人员能够针对适于所预期的特定用途的各种修改的各个实施方式而 理解本发明。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号