CN103460199A - 基于业务类别的自适应中断调整 - Google Patents
基于业务类别的自适应中断调整 Download PDFInfo
- Publication number
- CN103460199A CN103460199A CN2012800169235A CN201280016923A CN103460199A CN 103460199 A CN103460199 A CN 103460199A CN 2012800169235 A CN2012800169235 A CN 2012800169235A CN 201280016923 A CN201280016923 A CN 201280016923A CN 103460199 A CN103460199 A CN 103460199A
- Authority
- CN
- China
- Prior art keywords
- timer
- interrupt vector
- adjustment
- queue
- interrupt
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提出一种包括与中断矢量相关联的两个或更多个调整计时器的装置。在一个实施例中,所述装置包括两个或更多个中断矢量,并且调整计时器被设置有不同的中断率。如果存在来自与调整计时器相关联的队列的中断事件并且调整计时器到期,则中断矢量逻辑单元发送中断矢量。
Description
技术领域
本发明的实施例涉及计算机系统的输入/输出接口,更具体地,本发明的实施例涉及数据业务的中断处理。
背景技术
例如主机系统的计算设备可以包括多个中断生成代理,如输入/输出(I/O)控制器。许多I/O控制器每秒能够接收数万或者数十万的分组(例如,帧、信元等)。I/O控制器,包括高速I/O控制器(例如,千兆以太网MAC),可以将中断用作指示I/O事件(如分组的到达)的方法。与对应于I/O控制器的设备驱动器相关联的中断服务例程可以处理I/O事件。所述处理可以包括向协议堆栈指示到达的分组,然后向需要包含于所述分组的数据的应用程序指示到达的分组。高速互连的例子包括以太网光纤通道(FCoE)、互联网广域RDMA协议(iWARP)、数据中心桥(DCB)上的iSCSI,等等。在虚拟化系统中,中断会占据多达20,000个时钟周期。
频繁的中断会降低计算设备的系统性能。高速率的中断能增加CPU利用率。结果,系统可能成为CPU受限的且不能服务接收到的分组。此外,对协议堆栈、操作系统、应用程序等其它部件可用的处理时间量将被减少。在发送确认时会存在延时,或者后续分组会被丢弃。总的系统吞吐量和系统的可靠性将被降低,并且可能发生活锁。“活锁”指的是处理器带宽完全被中断处理所消耗并且其它功能被饿死的状态。
当系统中的中断级别影响系统性能时,来自中断生成代理的中断级别必须得调节。一些技术包括轮询,其不使用中断,以限制系统中的中断级别。I/O控制器也可以使用单个中断来指示发生若干中断事件,如正在接收十个分组,以减少中断次数。
分层协议堆栈结构允许复杂的通信过程分解成可管理的组分,并还允许在一定程度上模块化系统设计。例如,在网络环境中,耦合到主机计算机的例如以太网卡或者光纤通道卡的网络适配器可以接收输入/输出(I/O)请求或对从主机发起的I/O请求的响应。主机计算机操作系统可以包括一个或多个设备驱动器,以与网络适配器硬件进行通信,从而管理网络上传送的I/O请求。在网络适配器处接收到的数据分组可以存储在主机存储器中可用的已分配分组缓冲区中。主机计算机还可以包括传输协议驱动器,以处理由网络适配器接收到的存储于分组缓冲区中的分组,并访问嵌入到分组中的I/O命令或数据。传输协议驱动器可以包括传送控制协议(TCP)和互联网协议(IP)(TCP/IP)协议堆栈,以处理在网络适配器处接收到的TCP/IP分组。例如存储联网环境的特定计算环境可以实现更复杂的通信协议。
附图说明
根据以下给出的详细描述并且根据本发明的各个实施例的附图,可以更全面地理解本发明的实施例,然而,所述描述和附图不应被视为将本发明限制为特定实施例,而是仅用于解释和理解。
图1是根据本发明一个实施例的中断处理系统的框图。
图2示出了根据本发明一个实施例的利用调整(moderation)计时器进行中断处理的图。
图3是利用调整计时器进行中断处理的过程的一个实施例的流程图。
图4示出了用于与本发明的一个实施例一起使用的计算机系统。
图5示出了用于与本发明的一个实施例一起使用的点对点计算机系统。
具体实施方式
提出包括与中断矢量相关联的两个或更多个调整计时器的装置。在一个实施例中,所述装置包括两个或更多个中断矢量,并且调整计时器设置有不同的中断率。如果存在来自与调整计时器相关联的队列的中断事件且调整计时器到期,则中断矢量逻辑单元发送中断矢量。
在后续的描述中,阐述多个细节来提供对本发明实施例的更详尽描述。然而,对于本领域的技术人员而言,显然可以不用这些特定细节而实践本发明的实施例。在其他情况下,以框图的形式而不是细节示出了已知的结构和设备,以免模糊本发明的实施例。
后续详细描述的一些部分借助于算法和在计算机存储器内数据位上的操作的符号化表示呈现。这些算法描述和表示是数据处理领域的技术人员用于将其工作的实质最有效地传达给同领域中的其他技术人员的手段。在本文中以及通常地将算法认为是导致期望结果的自相一致的步骤序列。所述步骤是那些需要物理操纵物理量的步骤。通常,虽然不是必要的,这些量呈电信号或磁信号的形式,其能够被存储、传输、组合、比较以及操纵。已经证明在时间上是便利的,主要是一般使用的原因,以将这些信号称作位、值、元件、符号、字符、项目、数字等。
然而,需要牢记在心的是,所有这些和类似的术语与适当的物理量相关联,且仅是应用到这些量上的便利标签。除非具体声明,否则是从以下讨论中明显得出的,可以理解的是贯穿整个描述,利用诸如“处理”或“运算”或“计算”或者“确定”或“显示”等的术语的讨论指的是计算机系统或类似电子计算设备的动作或过程,所述计算设备操纵表示为计算机寄存器和存储器内的物理(电子)量的数据并将其变换成类似表示为计算机系统存储器或寄存器或其它这种信息存储、传送或显示设备内的物理量的其它数据。
本发明的实施例还涉及用于执行本文的操作的装置。一些装置可以特别构造用于所要求的目的,或者其可以包括由存储在计算机内的计算机程序可选择地激活或配置的通用计算机。这种计算机程序可以存储于计算机可读存储介质中,例如但是不限于,任意类型的磁盘,包括软盘、光盘、CD-ROM、DVD-ROM,以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、NVRAM、磁卡或光卡,或者任意类型的适于存储电子指令的介质,并且每一个都耦合到计算机系统总线。
本文所呈现的算法和显示并不固有地涉及任何具体计算机或其它装置。各种通用系统可以与依照本文教导的程序一起使用,或者可以提供便于构造更专用的装置以执行所需的方法步骤。多种这些系统所需的结构根据以下描述将变得清晰。另外,本发明的实施例并不参考任何具体编程语言进行描述。期望的是多种编程语言可以用于实现本文描述的本发明教导。
机器可读介质包括用于存储或传送呈机器(例如,计算机)可读形式的信息。例如,机器可读介质包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;等等。
本文所描述的方法和装置用于一般输入/输出互连。具体地,输入/输出互连主要参考多核处理器计算机系统进行讨论。然而,输入/输出互连并不限于此,它们可以在任意的集成电路设备或系统上实现或者与其相关联地实现,例如蜂窝电话、个人数字助理、嵌入控制器、移动平台、台式平台、以及服务器平台,并与例如硬件/软件线程的其它资源结合。
概述
提出包括与中断矢量相关联的两个或更多个调整计时器的装置。在一个实施例中,所述装置包括两个或更多个中断矢量,并且调整计时器设置有不同的中断率。如果存在来自与调整计时器相关联的队列的中断事件且调整计时器到期,则中断矢量逻辑单元发送中断矢量。
图1是根据本发明一个实施例的中断处理系统的框图。诸如总线和外围部件的许多相关部件未示出,以免模糊本发明。参考图1,在一个实施例中,系统包括操作系统网络堆栈101、网络驱动器102、以及包括以太网控制器104的CPU103。在一个实施例中,网络驱动器102支持基于业务类别的自适应中断调整(TCAIM)。在一个实施例中,CPU103包括一个或多个处理核心(例如,核心110、核心111)和PCI-快速(PCIe)接口120。在一个实施例中,CPU103经由PCIe总线121耦合到以太网控制器104。
在一个实施例中,以太网控制器104包括DMA/PCIe接口130、中断矢量逻辑单元143、中断矢量逻辑单元144、分组处理引擎170、MAC/PHY层171、以及映射寄存器164。在一个实施例中,以太网控制器104包括一个或多个存储器设备以支持一个或多个LAN队列161、一个或多个FCoE队列162、以及一个或多个iWARP队列163。中断矢量逻辑单元143经由“中断矢量0”接口121耦合以发送中断矢量(中断消息)。
在一个实施例中,基于业务类别的自适应中断调整使得中断能够在不同业务类别之间共享,并提供用于每个业务类别的中断调整率。通过在来自不同业务类别(例如,LAN、FCoE或IWARP)的队列间共享相同的中断矢量,中断共享减少了总的系统中断。在一个实施例中,通过在来自不同业务类别的队列上应用不同的中断调整率,中断处理提供独立的自适应调整算法以达到用于高优先级业务类别的更好的时延。在一个实施例中,系统包括硬件支持以太网控制器104以及设备驱动器支持(例如,网络驱动102)。
在一个实施例中,中断矢量逻辑单元143包括三个中断调整计时器(ITR)。中断矢量逻辑单元144包括四个或更多个中断调整计时器。队列或其它中断原因被分配给每个ITR,以共享相同的中断调整计时器。例如,LAN队列161与ITR140相关联,FCoE队列162与ITR141相关联,并且iWARP队列163与ITR142相关联。在一个实施例中,映射寄存器164耦合以存储关于所述关联的信息。在一个实施例中,ITR能够服务一个或多个队列。在一个实施例中,如果系统决定不区分队列,则LAN队列161和FCoE队列162共享一个ITR。
在一个实施例中,ITR(例如,ITR140、ITR141、以及ITR143)共享相同的中断矢量(即,中断消息)以减少总的中断矢量。在一个实施例中,中断矢量的数量(例如,在一个例子中为2)小于与不同中断率相关联的调整计时器的总数量(例如,在一个例子中为7)。
图2示出了根据本发明一个实施例的利用调整计时器进行中断处理的图。该图示出了结合控制中断矢量的中断信号逻辑(例如,中断矢量逻辑单元143)进行中断处理的例子。在一个实施例中,中断矢量逻辑单元控制何时发送中断矢量(例如,中断251-255)。中断矢量逻辑单元包括三个调整计时器(ITR),例如,ITR221、ITR222以及ITR223。每个调整计时器(ITR)与一个或多个业务队列相关联。每个ITR设置有计时器值。例如,ITR223设置设置有比ITR221的中断率(计时器值230,即5)更高的中断率(计时器值232,即3)。
在一个实施例中,为了达到用于高优先级业务类别(例如,与iWARPITR223相关联的iWARP队列)的更好的时延,分配较小(最小的)中断率(例如,3个单位时间)。在一个实施例中,例如,iWARP队列与ITR223相关联,这是因为ITR223的中断率被设置为3(在ITR中是最小的)。
在一个实施例中,如果存在中断事件并且相关联的ITR到期,则触发中断矢量。中断矢量逻辑单元将所有的ITR的值重新设置为0。在一个实施例中,执行重新设置计时器,从而中断时间并不累积。具有最高率的活动事件将确定用于给定中断矢量的总的中断率。
在一个实施例中,例如,当iWARP ITR223到期,并且在与ITR223相关联的iWARP队列中存在事件(见事件262)时触发中断252。在一个实施例中,事件263使得在ITR221到期时(ITR221设置为5,见计时器值230)触发中断矢量254。
在一个实施例中,中断矢量逻辑单元基于三个ITR控制每个中断矢量的调整。具有相同业务属性的多个队列链接成列表,然后被分配给共享相同中断矢量的三个ITR中的一个。在一个实施例中,每个ITR设置在运行过程中被软件驱动器进一步调节。
在一个实施例中,仅当存在挂起事件并且相关联的ITR计时器到期时,中断矢量逻辑单元触发中断矢量(中断消息)。当中断矢量被触发时,中断矢量逻辑单元重新设置与相同中断矢量相关联的所有的三个ITR。在一个实施例中,通过在以太网控制器中提供这种机制,具有TCAIM的设备驱动器在统一数据中心结构中为每个业务类别提供定制的自适应中断调整(AIM)算法。TCAIM能应用到单个队列或具有相同属性的一组队列。TCAIM支持每个业务类别以达到更好的性能(或最优性能),并且同时减少总的中断以改善总体系统性能。
在一个实施例中,TCAIM支持各种自适应中断调整算法,甚至是非DCB模式的,例如,UDP传送通常在金融服务工业中使用的定向应用程序。在这种环境中,定制化驱动器能够处理在发送新的UDP分组的上下文中传送完成先前UDP分组。在一个实施例中,这种方案将中断矢量减少到几乎为0(非常低)。使用中断来解决在长时间窗口中不再有分组要发送的极端情况(corner case)。在一个实施例中,通过TCAIM,用于UDP传送的队列被链接作为列表并分配给具有非常低中断率的ITR。用于UDP接收的队列被链接作为列表并分配给具有高中断率的ITR。在一个实施例中,TCP队列分配有不同的ITR设置,即使它们与UDP队列共享相同的中断矢量。
昂贵的中断成本和大量中断是多核或众核系统中用于高速网络设备的定标瓶颈。在一个实施例中,ITR共享中断矢量以减少总的系统中断。在一个实施例中,两个或更多个ITR(共享相同中断矢量)设置有不同的计时器值或中断率。这使得系统支持每业务类别不同的AIM算法,以提供统一数据中心网络环境下用于每个类别的好的性能。
图3是利用调整计时器进行中断处理的过程的一个实施例的流程图。通过处理逻辑执行所述过程,该处理逻辑可包括硬件(电路、专用逻辑等)、软件(如在通用计算机系统或专用机器上运行的软件)、或者两者的结合。在一个实施例中,结合装置(例如,以太网控制器、网络设备驱动器、或者参考图1的两者)执行所述过程。在一个实施例中,通过关于图4的计算机系统执行所述过程。
参考图3,在一个实施例中,处理逻辑开始于确定队列的数量、业务类别的数量、以及中断矢量的数量(过程框400)。在一个实施例中,处理逻辑取决于DCB结构配置决定待支持的业务类别的数量。处理逻辑至少取决于带宽设置和系统信息(例如核心的数量)决定用于每个业务类别的待支持队列的数量。在一个实施例中,处理逻辑基于业务类别的数量和来自每个业务类别的队列的数量决定待支持的中断矢量的总数量。
在一个实施例中,对于来自每个业务类别的每个队列,处理逻辑选择具有适当CPU亲和力的中断矢量。处理逻辑配置并分配队列到共享中断矢量的ITR之一。在一个实施例中,例如,将高优先级或时延敏感业务类别队列分配给具有高中断率的ITR。将大批吞吐量业务类别队列分配给具有低中断率的ITR。
在一个实施例中,处理逻辑将调整计时器设置为不同的值(过程框401)。例如,处理逻辑基于每个队列的业务类别属性配置每个ITR上的初始中断调整率。
在一个实施例中,如果存在来自与调整计时器相关联的队列的中断事件并且调整计时器已经到期,则处理逻辑触发中断矢量(过程框402)。在一个实施例中,触发中断矢量,并将中断消息经由PCIe总线发送给CPU。
在一个实施例中,在中断矢量被触发之后,处理逻辑重新设置与同一中断矢量相关联的所有调整计时器(过程框403)。在一个实施例中,将调整计时器重新设置为0。在一个实施例中,处理逻辑调用中断处理程序。处理逻辑处理共享同一中断矢量的队列。对于共享同一ITR的队列,处理逻辑执行另一级别的细粒度自适应中断调整控制。
在一个实施例中,基于业务分组的数量和在每次中断处理中接收或传送的类型的数量,处理逻辑动态地计算和更新相关联的具有新的设置的ITR。
在一个实施例中,业务类别与定制化AIM算法相关联。例如,iWARP队列时延的低时延要求在AIM算法中被优先化。例如,在一个实施例中,LAN和FCoE队列使用吞吐量优先AIM算法以最小CPU利用率达到更高(最高)的吞吐量。
本发明的实施例可以以多种电子设备和逻辑电路实现。此外,包括本发明实施例的设备或电路可以包含于多种计算机系统中。本发明的实施例还可以包含于其它计算机系统拓扑和体系结构中。
图4示出了结合本发明的一个实施例的计算机系统的例子。处理器705从级别1(L1)高速缓冲存储器706、级别2(L2)高速缓冲存储器710、以及主存储器715访问数据。在本发明的其它实施例中,高速缓冲存储器706可以是多级别高速缓冲存储器,其包括计算机系统存储器层级中的L1高速缓存以及例如L2高速缓存的其它存储器,并且高速缓冲存储器710是后续较低级别高速缓冲存储器,例如L3高速缓存或者更多多级别高速缓存。此外,在其它实施例中,计算机系统可以使高速缓冲存储器710作为用于多于一个处理器核心的共享高速缓存。
在一个实施例中,存储器/图形控制器716、IO控制器717、或者其组合集成到处理器705中。在一个实施例中,存储器/图形控制器716、IO控制器717的一部分、或者其组合集成到处理器705中。
处理器705可以具有任意数量的处理核心。然而,本发明的其它实施例可以实施于系统中的其它设备中或者以硬件、软件或其一些组合遍布系统而分布。
主存储器715可以以各种存储器资源实现,例如动态随机存取存储器(DRAM)、硬盘驱动(HDD)720、基于NVRAM技术的固态磁盘725、或者经由网络接口730或经由无线接口740的位于远离计算机系统的存储器资源(包含各种存储设备和技术)。高速缓冲存储器可以位于处理器内或者在处理器的近邻附近,例如在处理器的局部总线707上。此外,高速缓冲存储器可以包含相对较快的存储器单元,例如六晶体管(6T)单元,或者基本等于或快于访问速度的其它存储器单元。
然而,本发明的其它实施例可以存在于其它电路、逻辑单元、或图4的系统中的设备中。此外,本发明的其它实施例可以分布遍布若干电路、逻辑单元、或图4所示的设备。
图5示出了用于与本发明的一个实施例一起使用的点对点计算机系统。
图5例如示出了布置为点对点(PtP)配置的计算机系统。特别地,图5示出了处理器、存储器、以及输入/输出设备通过多个点对点接口互连的系统。
图5的系统还可以包括若干处理器,其中为了清晰仅示出两个处理器870、880。处理器870、880中的每一个可包括本地存储器控制器中心(MCH)811、821,来与存储器850、851连接。处理器870、880可以经由点对点(PtP)接口853利用PtP接口电路812、822交换数据。处理器870、880中的每一个可以经由个体PtP接口830、831利用点对点接口电路813、823、860、861与芯片组890交换数据。芯片组890还可以经由高性能图形接口862与高性能图形电路852交换数据。本发明的实施例可以耦合到计算机总线(834或835),或在芯片组890内,或者耦合到数据存储装置875,或耦合到图5的存储器850。
然而,本发明的其它实施例可以存在于其它电路、逻辑单元、或图5的系统内的设备中。此外,在本发明的其它实施例中,可以分布遍布若干电路、逻辑单元、或图5所示的设备。
本发明并不局限于所描述的实施例,而是可以以随附权利要求的精神和范围内的变型和替换进行实践。例如,应该理解的是,本发明适用于与各种类型的半导体集成电路(IC)芯片一起使用。这些IC芯片的例子包括但不限于处理器、控制器、芯片组部件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片等。此外,可以理解的是,已经给出了示例性尺寸/模型/值/范围,但是本发明的实施例并不局限于此。由于制造技术(例如,光刻法)随着时间日益成熟,期望的是能够制造较小尺寸的设备。
虽然本发明的实施例的替换和变型无疑对本领域的技术人员阅读前述描述后变得显而易见,但是应该理解的是,通过例证所示出和描述的任意具体实施例并不意图被认为是限制性的。因此,对各个实施例的细节的引用并不意图限制权利要求的范围,所述权利要求本身仅引用被认为是对本发明必要的那些特征。
Claims (20)
1.一种方法,包括:
为与第一中断矢量相关联的第一多个调整计时器设置计时器值,其中每个调整计时器能够服务一个或多个队列;
如果存在来自与第一调整计时器相关联的第一队列的中断事件并且所述第一调整计时器到期,则触发所述第一中断矢量,其中所述第一多个调整计时器包括所述第一调整计时器和第二调整计时器;以及
响应于所述第一中断矢量的触发,重新设置所述第一多个调整计时器。
2.如权利要求1所述的方法,其中,所述第一多个调整计时器共享相同的第一中断矢量,但是每个调整计时器设置有不同的中断率。
3.如权利要求1所述的方法,其中,所述第一多个调整计时器是网络接口控制器的一部分,所述网络接口控制器能够响应于所述第一中断矢量的触发而经由输入/输出接口发送所述第一中断矢量。
4.如权利要求1所述的方法,还包括:为与第二中断矢量相关联的第二多个调整计时器设置第二组计时器值,其中中断矢量的数量小于与不同中断率相关联的调整计时器的总数量。
5.如权利要求1所述的方法,其中,如果所述第一队列是时延敏感队列,则所述第一队列与具有高于所述第二调整计时器的中断率的第一中断率的所述第一调整计时器相关联。
6.如权利要求1所述的方法,还包括:
基于预先确定的值设置用于所述第一调整计时器的第一计时器值;以及
至少基于与所述第一调整计时器相关联的所述一个或多个队列的数据业务,动态更新所述第一计时器值。
7.如权利要求6所述的方法,其中,所述数据业务包括:结合与所述第一调整计时器相关联的所述一个或多个队列接收或传送的分组的数量和字节数量。
8.如权利要求1所述的方法,还包括:使得一组中断矢量包括所述第一中断矢量,其中中断矢量的数量至少基于业务队列的数量。
9.如权利要求1所述的方法,还包括:确定将被允许的多个业务类别,包括包含所述一个或多个队列的第一业务类别。
10.如权利要求1所述的方法,还包括:至少基于带宽设置和核心数量,确定在业务类别中的队列的数量。
11.一种装置,包括:
与第一中断矢量相关联的第一多个调整计时器,其中所述第一多个调整计时器包括第一调整计时器和第二调整计时器,其中每个调整计时器能够服务一个或多个队列;以及
第一中断矢量逻辑单元,如果存在来自与所述第一调整计时器相关联的第一队列的中断事件并且所述第一调整计时器到期,则所述第一中断矢量逻辑单元发送第一中断矢量。
12.如权利要求11所述的装置,其中,所述第一中断矢量逻辑单元能够在所述第一中断矢量的触发之后重新设置所述第一多个调整计时器。
13.如权利要求11所述的装置,其中,所述第一多个调整计时器和所述第一中断矢量逻辑单元是网络接口控制器的一部分。
14.如权利要求11所述的装置,还包括映射寄存器,用于至少存储在所述第一队列和所述第一调整计时器之间的关联信息。
15.如权利要求11所述的装置,还包括与第二中断矢量相关联的第二多个调整计时器,其中所述第一多个调整计时器和所述第二多个调整计时器被设置为不同的中断率。
16.如权利要求11所述的装置,其中,如果所述第一调整计时器用于服务更时延敏感的所述第一队列,则所述第一调整计时器的第一中断率高于所述第二调整计时器的第二中断率。
17.如权利要求11所述的装置,其中,所述第一中断矢量逻辑单元能够操作以设置用于所述第一调整计时器的第一计时器值,以及至少基于与所述第一调整计时器相关联的数据业务调节所述第一计时器值。
18.一种包括计算机可读存储介质的制品,所述计算机可读存储介质上包括数据存储指令,当由机器存取时,所述指令使得所述机器执行包括以下步骤的方法:
为与第一中断矢量相关联的第一多个调整计时器设置计时器值,其中每个调整计时器能够服务一个或多个队列;
如果存在来自与第一调整计时器相关联的第一队列的中断事件并且所述第一调整计时器到期,则触发所述第一中断矢量,其中所述第一多个调整计时器包括所述第一调整计时器和第二调整计时器;以及
响应于所述第一中断矢量的触发,重新设置所述第一多个调整计时器。
19.如权利要求18所述的制品,其中,所述第一多个调整计时器共享相同的第一中断矢量,但是每个调整计时器设置有不同的中断率。
20.如权利要求18所述的制品,其中,所述方法还包括:为与第二中断矢量相关联的第二多个调整计时器设置第二组计时器值,其中中断矢量的数量小于与不同中断率相关联的调整计时器的总数量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/076,789 US8566494B2 (en) | 2011-03-31 | 2011-03-31 | Traffic class based adaptive interrupt moderation |
US13/076,789 | 2011-03-31 | ||
PCT/US2012/024374 WO2012134638A1 (en) | 2011-03-31 | 2012-02-08 | Traffic class based adaptive interrupt moderation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103460199A true CN103460199A (zh) | 2013-12-18 |
CN103460199B CN103460199B (zh) | 2016-02-17 |
Family
ID=46928838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280016923.5A Expired - Fee Related CN103460199B (zh) | 2011-03-31 | 2012-02-08 | 基于业务类别的自适应中断调整 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8566494B2 (zh) |
CN (1) | CN103460199B (zh) |
WO (1) | WO2012134638A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108199864A (zh) * | 2017-12-06 | 2018-06-22 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于PCIe事务层数据传输的带宽分配方法 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012143943A2 (en) * | 2011-04-18 | 2012-10-26 | Ineda Systems Pvt. Ltd | Multi-host ethernet controller |
JP5681576B2 (ja) | 2011-06-29 | 2015-03-11 | ルネサスエレクトロニクス株式会社 | ホストコントローラ装置、情報処理装置及びイベント情報出力方法 |
US9009367B2 (en) | 2012-08-03 | 2015-04-14 | Intel Corporation | Adaptive interrupt moderation |
US9164935B2 (en) | 2013-01-04 | 2015-10-20 | International Business Machines Corporation | Determining when to throttle interrupts to limit interrupt processing to an interrupt processing time period |
US9298652B2 (en) | 2013-03-15 | 2016-03-29 | Microsoft Technology Licensing, Llc | Moderated completion signaling |
US11061840B2 (en) | 2013-09-24 | 2021-07-13 | Red Hat Israel, Ltd. | Managing network interface controller-generated interrupts |
US9634944B2 (en) * | 2013-10-24 | 2017-04-25 | Dell Products, Lp | Multi-level iSCSI QoS for target differentiated data in DCB networks |
US10380047B2 (en) | 2014-04-07 | 2019-08-13 | Mellanox Technologies, Ltd. | Traffic-dependent adaptive interrupt moderation |
US9455922B2 (en) | 2014-05-19 | 2016-09-27 | Intel Corporation | Technologies for moderating packet ingress interrupt generation |
KR102280543B1 (ko) | 2014-12-01 | 2021-07-26 | 삼성전자주식회사 | 전자 디바이스의 작업 수행 장치 및 방법 |
US10037292B2 (en) * | 2015-05-21 | 2018-07-31 | Red Hat Israel, Ltd. | Sharing message-signaled interrupt vectors in multi-processor computer systems |
US10089266B2 (en) | 2015-07-10 | 2018-10-02 | Apple Inc. | Power saving feature for storage subsystems |
US10120809B2 (en) * | 2015-09-26 | 2018-11-06 | Intel Corporation | Method, apparatus, and system for allocating cache using traffic class |
US10467161B2 (en) | 2016-05-25 | 2019-11-05 | Mellanox Technologies, Ltd. | Dynamically-tuned interrupt moderation |
US10929146B2 (en) * | 2018-04-30 | 2021-02-23 | Intel Corpoartion | Dynamic timer adjustment to improve performance and inhibit livelock conditions |
CN109547361B (zh) * | 2018-11-16 | 2023-03-24 | 上海博达数据通信有限公司 | 一种用于fcf设备的报文处理方法及系统 |
US11797333B2 (en) * | 2019-12-11 | 2023-10-24 | Intel Corporation | Efficient receive interrupt signaling |
US11595472B2 (en) | 2021-01-19 | 2023-02-28 | Mellanox Technologies, Ltd. | Controlling packet delivery based on application level information |
US11792139B2 (en) | 2022-01-24 | 2023-10-17 | Mellanox Technologies, Ltd. | Efficient packet reordering using hints |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040123008A1 (en) * | 2002-12-20 | 2004-06-24 | Intel Corporation | Method, system, and article of manufacture for adjusting interrupt levels |
US20050086401A1 (en) * | 2003-10-17 | 2005-04-21 | Intel Corporation | Method, apparatus, system, and article of manufacture for generating interrupts |
CN101111055A (zh) * | 2006-07-21 | 2008-01-23 | 华为技术有限公司 | 控制切换执行的方法、终端 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4385384A (en) * | 1977-06-06 | 1983-05-24 | Racal Data Communications Inc. | Modem diagnostic and control system |
US5302952A (en) * | 1992-08-28 | 1994-04-12 | Motorola, Inc. | Automatic A/D converter operation with pause capability |
US5768599A (en) | 1995-02-28 | 1998-06-16 | Nec Corporation | Interrupt managing system for real-time operating system |
US7137117B2 (en) * | 2000-06-02 | 2006-11-14 | Microsoft Corporation | Dynamically variable idle time thread scheduling |
US7975042B2 (en) * | 2001-05-01 | 2011-07-05 | International Business Machines Corporation | Method for adapting an internet web server to short-term changes in demand |
US7360217B2 (en) * | 2001-09-28 | 2008-04-15 | Consentry Networks, Inc. | Multi-threaded packet processing engine for stateful packet processing |
US7340572B2 (en) * | 2002-03-06 | 2008-03-04 | Hewlett-Packard Development Company, L.P. | Method and system for reliable remote-mirror resynchronization in disk arrays and other mass storage devices |
US20040268366A1 (en) * | 2003-06-24 | 2004-12-30 | Kidd Nelson F | Efficient event delivery |
US10521265B2 (en) * | 2008-09-19 | 2019-12-31 | Microsoft Technology Licensing, Llc | Coalescing periodic timer expiration in guest operating systems in a virtualized environment |
-
2011
- 2011-03-31 US US13/076,789 patent/US8566494B2/en active Active
-
2012
- 2012-02-08 WO PCT/US2012/024374 patent/WO2012134638A1/en active Application Filing
- 2012-02-08 CN CN201280016923.5A patent/CN103460199B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040123008A1 (en) * | 2002-12-20 | 2004-06-24 | Intel Corporation | Method, system, and article of manufacture for adjusting interrupt levels |
US20050086401A1 (en) * | 2003-10-17 | 2005-04-21 | Intel Corporation | Method, apparatus, system, and article of manufacture for generating interrupts |
CN101111055A (zh) * | 2006-07-21 | 2008-01-23 | 华为技术有限公司 | 控制切换执行的方法、终端 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108199864A (zh) * | 2017-12-06 | 2018-06-22 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于PCIe事务层数据传输的带宽分配方法 |
Also Published As
Publication number | Publication date |
---|---|
US20120254492A1 (en) | 2012-10-04 |
US8566494B2 (en) | 2013-10-22 |
CN103460199B (zh) | 2016-02-17 |
WO2012134638A1 (en) | 2012-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103460199B (zh) | 基于业务类别的自适应中断调整 | |
US11575609B2 (en) | Techniques for congestion management in a network | |
US7398335B2 (en) | Method and system for DMA optimization in host bus adapters | |
US7430211B2 (en) | System and method for receive queue provisioning | |
US7596644B2 (en) | Transmit rate pacing system and method | |
JP7010598B2 (ja) | 再構成可能なマルチポートを具備するPCIeストレージシステムのためのQoSを認識した入出力管理方法、管理システム、及び管理装置 | |
US7647444B2 (en) | Method and apparatus for dynamic hardware arbitration | |
US20040120332A1 (en) | System and method for sharing a resource among multiple queues | |
US10834008B2 (en) | Arbitration of multiple-thousands of flows for convergence enhanced ethernet | |
US20190042151A1 (en) | Hybrid framework of nvme-based storage system in cloud computing environment | |
US10536385B2 (en) | Output rates for virtual output queses | |
US8301805B2 (en) | Managing I/O request in a storage system | |
US20140068205A1 (en) | Systems and methods for managing queues | |
KR20130137539A (ko) | 데이터 컷-스루를 수행하기 위한 시스템 | |
Stephens et al. | Titan: Fair Packet Scheduling for Commodity Multiqueue {NICs} | |
TW202349215A (zh) | 可重構資料處理器中的網路的仲裁 | |
EP2363807B1 (en) | Address encryption/rate pacing | |
US10567292B2 (en) | Traffic shaper with policer(s) and adaptive timers | |
TWI625953B (zh) | 用於在分段操作期間的網路封包調步之技術 | |
CN116868553A (zh) | 用于管理端点资源和拥塞缓解的数据中心网络上的动态网络接收器驱动的数据调度 | |
US11552905B2 (en) | Managing virtual output queues | |
McGuinness et al. | Evaluating the performance of software NICs for 100-gb/s datacenter traffic control | |
Lee et al. | Efficient user-level multi-path utilization in RDMA networks | |
US20120278514A1 (en) | Systems and Methods for Notification of Quality of Service Violation | |
WO2016088371A1 (ja) | 管理ノード、端末、通信システム、通信方法、および、プログラム記録媒体 |
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: 20160217 Termination date: 20200208 |
|
CF01 | Termination of patent right due to non-payment of annual fee |