CN102460342A - 用于在多处理器核心系统中执行节能的网络数据包处理的方法和装置 - Google Patents

用于在多处理器核心系统中执行节能的网络数据包处理的方法和装置 Download PDF

Info

Publication number
CN102460342A
CN102460342A CN2010800281043A CN201080028104A CN102460342A CN 102460342 A CN102460342 A CN 102460342A CN 2010800281043 A CN2010800281043 A CN 2010800281043A CN 201080028104 A CN201080028104 A CN 201080028104A CN 102460342 A CN102460342 A CN 102460342A
Authority
CN
China
Prior art keywords
idle state
stream
low power
power idle
processing units
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010800281043A
Other languages
English (en)
Other versions
CN102460342B (zh
Inventor
C-F·辛
J-s·蔡
T-Y·C·泰
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
Priority to CN201510781891.3A priority Critical patent/CN105446455B/zh
Publication of CN102460342A publication Critical patent/CN102460342A/zh
Application granted granted Critical
Publication of CN102460342B publication Critical patent/CN102460342B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

提供了一种管理网络数据包处理的核心相关性的方法和装置。包括多个处理单元的系统中的该多个处理单元的低功率空闲状态被监控。网络数据包处理被动态地重新指派给处于非低功率空闲状态的处理单元,以增加处于低功率空闲状态的处理单元的低功率空闲状态时段,从而带来减小的能量消耗。

Description

用于在多处理器核心系统中执行节能的网络数据包处理的方法和装置
技术领域
本公开涉及并且具体涉及多处理器核心系统中的节能,并且具体涉及节能的网络数据包处理。
背景技术
一般,具有多个处理器核心的计算机系统通过在所有的处理器核心之间分配工作负荷来处理高工作负荷。然而,随着工作负荷减少,多个处理器核心中的每一个可能没有被充分利用。
为了减小低工作负荷时多个处理器核心的功耗,操作系统可以基于系统使用水平来调整使用的处理器核心的数量。未被使用的处理器核心被置于低功率空闲状态(“搁置的”)并且可以保持该低功率空闲状态较长的连续时间间隔。操作系统继续在没有处于低功率空闲状态的处理器核心之间分配工作负荷。
附图说明
随着下面详细描述的进行,并且在参照附图后,所要求主题的实施例的特征将变得显而易见,在附图中相同的数字描述相同的部件,并且在附图中:
图1是包括支持接收侧调节的网络接口控制器的实施例的系统的框图;
图2是示出了图1中所示的网络接口控制器和存储器的实施例的框图;
图3是根据本发明的原理动态地调整核心相关性(affinity)设置的方法的实施例的流程图;以及
图4是示出了图1中所示的网络接口控制器和存储器的另一实施例的框图。
虽然参考所要求主题的示例性实施例进行下面的详细描述,但是对本领域技术人员来说,其的多种替换、修改以及变型将是显而易见的。因此,所要求主题旨在被视为是广泛的,并且仅如所附权利要求阐述的那样进行限定。
具体实施方式
计算机系统可以包括网络接口控制器(适配器、卡),该网络接口控制器接收来自网络的网络数据包并且将用于处理的所接收的网络数据包转发至多个处理器核心中的一个。在处理器核心之间分配的工作负荷可以包括对由网络接口控制器接收的网络数据包的处理。
例如,在计算机系统中,对网络数据包的处理可以在处理器核心之间分配,使得对相同通信流(例如,具有相同源地址和目的地址的网络数据包)的处理由相同的处理器核心执行。当工作负荷低时,操作系统可以仅使用多个处理器核心的一个子集,并且将其它的处理器核心置于低功率空闲状态。然而,如果特定通信流的所接收的要被处理的网络数据包被指派给了处于低功率空闲状态的处理器核心(该通信流的核心相关性设置),则该处理器核心从低功率空闲状态唤醒。结果,处于低功率空闲状态的处理器核心不具有保持低功率空闲状态较长时间的机会。
本发明实施例基于操作系统是否将任意的处理器核心置于低功率空闲状态来动态地调整网络数据包处理的核心相关设置。
将对于具有支持由
Figure BDA0000124070040000021
Figure BDA0000124070040000022
操作系统(OS)使用的接收侧调节(RSS)的网络接口控制器的计算机系统描述本发明实施例。然而,本发明不限于RSS。在其它实施例中,网络适配器可以支持由包括具有功率节省模式特征的调度器的Linux操作系统或者包括功率节省模式的任意其它操作系统使用的可调节输入/输出(I/O)。
图1是包括支持接收侧调节的网络接口控制器108的实施例的系统100的框图。系统100包括处理器101、存储控制器中心(MCH)102和输入/输出(I/O)控制器中心(ICH)104。MCH 102包括控制处理器101和存储器110之间的通信的存储控制器106。处理器101和MCH 102通过系统总线116进行通信。
处理器101可以是多核心处理器,诸如
Figure BDA0000124070040000023
Pentium D、
Figure BDA0000124070040000025
处理器、或者
Figure BDA0000124070040000026
双核处理器、
Figure BDA0000124070040000027
CoreTM i7处理器或者任意其它类型的处理器。在所示出的实施例中,系统包括两个多核心处理器101,每个均具有至少两个处理器核心(“核心”)122。在一个实施例中,每个多核心处理器包括四个核心122。
存储器110可以是动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)、双数据速率2(DDR2)RAM或Rambus动态随机存取存储器(RDRAM),或者任意其它类型的存储器。
ICH 104可以使用诸如直接媒体接口(DMI)的高速芯片到芯片互联114来耦合至MCH 102。DMI经由两个单向通道支持2千兆比特/秒的并发传输速率。
ICH 104可以包括存储输入/输出(I/O)控制器,用于控制与耦合至该ICH 104的至少一个存储设备112的通信。例如,该存储设备可以是盘驱动器、数字视频盘(DVD)驱动器、光盘(CD)驱动器、独立冗余磁盘阵列(RAID)、带驱动器或者其它存储设备。ICH 104可以使用诸如串行连接小型计算机系统接口(SAS)或者串行高级技术附件(SATA)等的串行存储协议来通过存储协议互联118与存储设备112进行通信。
在另一实施例中,网络接口控制器108可以包括在没有包括存储I/O控制器120的ICH 104中,或者可以包括在插入系统100的系统卡槽中的分离的网络接口卡上。
图2是示出了图1中所示的网络接口控制器108和存储器110的实施例的框图。网络接口控制器108包括散列功能单元220、间接表230和多个硬件接收队列202。存储器110包括操作系统内核280、滤波器驱动器210和网络设备驱动器(微端口驱动器)270。在一个实施例中,散列功能单元220和间接表230包括在网络接口控制器(“NIC”)108中。在另一实施例中,这些部件中的一些或者这些部件中的一些元件可以位于网络接口控制器108的外部。
在所示出的实施例中,微端口驱动器270和滤波器驱动器210是
Figure BDA0000124070040000031
操作系统模型(WDM)的部件。WDM包括可以是类驱动器(class driver)或者微端口驱动器的设备功能驱动器。微端口驱动器支持特定类型的设备,例如,特定的网络接口控制器108。滤波器驱动器210是可选的驱动器,其将值添加至或者修改功能驱动器(微端口驱动器)270的行为。
网络驱动器接口规范(NDIS)是经由网络接口控制器110的应用程序接口(API)访问的函数库。NDIS用作7层开放式系统互联(OSI)中的第二层(链路层)和第三层(网络层)之间的接口。库函数包括对象标识符(OID)。
网络接口控制器108可以使用散列功能单元220中的散列函数,来通过所接收的网络数据包中的散列类型(例如,头部中的一个或多个字段)计算散列值。散列值的多个最低有效位可以用来对间接表230中的项进行索引,其中该间接表230中的项识别用于进行所接收数据包的处理的处理器核心122(图1)并且识别用于存储所接收的数据包的多个接收队列202中的一个。网络接口控制器108可以中断所识别的处理器核心122。
在实施例中,当每个网络数据包由网络接口控制器108接收时,与该网络数据包相关联的“流”被确定。可以基于包括在数据包中的TCP头部和网际协议(IP)头部中的字段的值,来确定传输控制协议(TCP)数据包的“流”。例如,该“流”的流标识符可以依赖于包括在所接收网络数据包中的IP头部中的IP源地址和IP目的地址以及TCP头部中的源端口地址和目的端口地址的组合。
提供多个硬件接收队列202以存储所接收的网络数据包。为了确保特定流的按次序的数据包传送,每个硬件接收队列202可以被指派给不同的流以及指派给多个处理器核心122中的一个。因此,多个硬件接收队列202中的每个经由间接表230而与多个核心处理器122中的一个相关联。
在所示出的实施例中,网络接口控制器108具有8个接收队列202。然而,接收队列202的数量不限于8个。在其它的实施例中,存在更多或者更少的接收队列202。所接收的网络数据包被存储在多个接收队列202中的一个中。每个接收队列的数据包处理可以与特定的处理器核心122相关。在本发明的实施例中,基于处于功率节省空闲状态(“搁置的”)的处理器核心122的数量来动态地调整数据包处理的核心相关性设置。
下面的表1示出了间接表230的示例,以及在具有8个核心和8个接收队列的系统中,对接收队列202到处理器核心122的初始指派,以在所有的处理器核心122中分配接收数据包处理。
  接收队列   核心
  0   0
  1   1
  2   2
  3   3
  4   4
  5   6
  6   7
  7   8
表1
图3是根据本发明原理动态地调整核心相关性设置的实施例的流程图。
基于由操作系统(OS)内核处理的OS核心搁置状态,来动态地修改接收队列202向核心处理器122的分配。例如,当工作负荷低时,OS内核可以通过将核心处理器122的一部分置于低功率空闲状态来“搁置”核心处理器122的该部分。例如,在具有8个核心处理器的实施例中,8个核心处理器中的6个可以是“搁置的”,而核心处理器的其它部分(例如,8个中的2个)可以被使用。因此,来自网络接口控制器的中断仅被发送至未被搁置的核心,而被搁置的核心仍然处于低功率空闲状态,从而带来能量消耗的减少。
例如,在实施例中,如果在工作负荷低时,
Figure BDA0000124070040000051
7服务器核心搁置特征选择使用三个核心并搁置剩余的核心,则网络接口控制器被修改为在所选择的三个核心上运行网络中断和数据包处理。这使得搁置核心的低功率空闲状态时段的增加。
在一个实施例中,10千兆比特网络接口控制器具有多个接收侧调节接收(RSS Rx)队列,每个均与特定的核心相关。网络接口控制器经由滤波器驱动器210得到OS核心搁置设置的配置,并且基于该OS核心搁置配置来修改RSS间接表230。
在框300处,滤波器驱动器210从OS内核280周期性地请求OS搁置状态。例如,在实施例中,滤波器驱动器210使用由OS内核280提供的应用程序接口(API)命令来请求OS核心搁置状态,以查询每个处理器核心122的搁置状态。在实施例中,滤波器驱动器210基于已经接收到的网络数据包的数量,例如在大约每1000网络数据包被接收以后,周期性地请求OS搁置状态。
在可替换的实施例中,滤波器驱动器210直接地访问CPU 101,以获得每个处理器核心202的当前功率状态。例如,
Figure BDA0000124070040000061
CoreTM i7支持核心级别的低功率状态以用于最佳功率管理。核心功率状态包括C0、C1、C3和C6。C0是正常操作状态,而C1、C3和C6是低功率状态,并且具有不同等级的降低的功率消耗。例如,在C3低功率状态中,所有的时钟停止,并且除了高速缓存之外,处理器核心保持其所有的构架状态。
每个处理器核心202的当前功率状态被存储在可以由滤波器驱动器210访问的CPU 101的一个或多个寄存器中。为了确定特定的核心是否是“搁置的”,滤波器驱动器210周期性地读取存储核心的功率状态的寄存器,并且基于一个时段中该核心的功率状态类型读取的分配,来推断该核心是否是“搁置的”。例如,如果在一个时段内,寄存器被读取了n次,并且每次核心均处于低功率状态,则该核心是“搁置的”。如果在该时段期间,核心n次处于高功率状态,则该核心“搁置的”。如果在该时段期间,该核心的功率状态不同,其中功率状态是低功率状态的次数大于功率状态是高功率状态的次数,则该核心被推断为是“搁置的”。
处理继续到框302。
在框302处,在接收到每个处理器核心122的搁置状态后,滤波器驱动器210确定任意处理器核心122的搁置状态是否改变。如果没有改变,则处理继续到框300,以继续周期性地请求处理器核心122的搁置状态。
如果改变,则滤波器驱动器210基于搁置状态生成要被存储到NIC 108中的间接表230中的新的数据。滤波器驱动器210使用OID_GEN_RECEIVE_SCALE_PARAMETERS对象标识符(OID)来基于处理器核心的搁置状态修改NIC的RSS参数。OID_GEN_RECEIVE_SCALE_PARAMETERS OID包括指定RSS参数的NDIS_RECEIVE_SCALE_PARAMETERS结构。
在实施例中,该结构包括具有指定该对象包括RSS参数的类型的头部、指示间接表和相关联的成员是否改变的标记、以及间接表的大小。在其它结构成员之后附加基于核心搁置状态要被存储在间接表230中的新的数据。处理继续到框304。
在框304处,一旦检测到OID_GEN_RECEIVE_SCALE_PARAMETERSOID的接收,则微端口驱动器270将接收到的间接表230的新数据存储在间接表230中。例如,如果获取的核心搁置状态指示仅处理器核心0和处理器核心4未被搁置,则在有8个接收(RSS Rx)队列202的实施例中,可以执行循环核心指派,从而产生如在下面表2中所示的新的数据(间接表的内容)存储在间接表230中。处理器核心0被指派给接收队列0、2、4和6,而处理器核心4被指派给接收队列1、3、5和7。
  接收队列   核心
  0   0
  1   4
  2   0
  3   4
  4   0
  5   4
  6   0
  7   4
表2
例如,表2中的要被存储的数据可以被表示为如下所示的数据结构IndTable:
IndTable[0]=0
IndTable[1]=4
IndTable[2]=0
IndTable[3]=4
IndTable[4]=0
IndTable[5]=4
IndTable[6]=0
IndTable[7]=4
该IndTable结构被附加至由微端口驱动器270接收的OID,以允许该微端口驱动器270更新存储在间接表230中的数据。
已经针对包括滤波器驱动器210的系统描述了实施例。然而,对核心搁置状态的监控以及对修改间接表230的请求不限于滤波器驱动器210。在另一实施例中,这些功能可以包括在网络驱动器栈的另一部分中。
图4是示出了图1中所示的网络接口控制器108和存储器110的另一实施例的框图。
如图4所示,替代将滤波器驱动器210(图2)添加至网络驱动器栈,对核心搁置状态的监控由OS内核280来执行。更新间接表230的请求被直接从OS内核280发送至微端口驱动器270。与结合图2针对滤波器驱动器210讨论的实施例相似,OS内核280生成具有针对间接表230的修改的内容的OID_GEN_RECEIVE_SCALE_PARAMETERS OID以作为输入参数,如结合图2所示的实施例所讨论的。该OID被直接发送至设备驱动器270,该设备驱动器270基于所接收的修改的内容来相应地修改间接表230。
在一个实施例中,RSS对准功能被添加至OS核心,以调整RSS间接表230。
已经针对
Figure BDA0000124070040000081
操作系统描述了实施例。对核心搁置状态的监控以及基于所监控的核心搁置状态对间接表230的内容的修改不限于
Figure BDA0000124070040000082
操作系统,该方法还可以被应用于例如Linux操作系统等的其它操作系统。
本发明的替代实施例还包括包含用于执行本发明操作的指令的机器可访问介质。这种实施例也可以被称为程序产品。这种机器可访问介质可以包括,但不限于,其上存储有指令(计算机可读程序代码)的计算机可读存储介质,诸如软盘、硬盘、光盘只读存储器(CD-ROM)、只读存储器(ROM)和随机存取存储器(RAM)以及由机器或者设备制造或者形成的粒子的其它有形排列。指令还可以用在分布式环境中,并且可以被本地地和/或远程地存储以用于由单处理器或者多处理器机器访问。
虽然已经参照本发明实施例特别地示出并描述了本发明实施例,但本领域技术人员将理解,在不背离由所述权利要求涵盖的本发明实施例的范围的情况下,可以进行形式和细节上的各种改变。

Claims (19)

1.一种方法,包括:
监控多个处理单元中的每一个的低功率空闲状态;以及
将指派给具有低功率空闲状态的处理单元的流适应性地重新指派给具有非低功率空闲状态的其它处理单元,以减少所述多个处理单元的能量消耗。
2.根据权利要求1所述的方法,其中,适应性地重新指派流包括通过间接表来重新指派所述流,所述间接表包括多个项,每个项包括对与队列相关联的流被指派到的处理单元的识别。
3.根据权利要求1所述的方法,其中,对所述多个处理单元的低功率空闲状态的监控由操作系统来执行。
4.根据权利要求1所述的方法,其中,对所述多个处理单元的低功率空闲状态的监控由与网络接口控制器相关联的驱动器来执行。
5.根据权利要求4所述的方法,其中,所述驱动器是滤波器驱动器。
6.一种制品,包括具有相关联的信息的机器可访问介质,其中当被访问时,所述信息导致机器执行:
监控多个处理单元中的每一个的低功率空闲状态;以及
将指派给具有低功率空闲状态的处理单元的流适应性地重新指派给具有非低功率空闲状态的其它处理单元,以减少所述多个处理单元的能量消耗。
7.根据权利要求6所述的制品,其中,适应性地重新指派流包括通过间接表来重新指派所述流,所述间接表包括多个项,每个项包括对与队列相关联的流被指派到的处理单元的识别。
8.根据权利要求6所述的制品,其中,对所述多个处理单元的低功率空闲状态的监控由操作系统来执行。
9.根据权利要求6所述的制品,其中,对所述多个处理单元的低功率空闲状态的监控由与网络接口控制器相关联的驱动器来执行。
10.一种装置,包括:
多个处理单元;以及
用于监控所述多个处理单元中的每一个的低功率空闲状态以及将指派给具有低功率空闲状态的处理单元的流适应性地重新指派给具有非低功率空闲状态的其它处理单元以减少所述多个处理单元的能量消耗的模块。
11.根据权利要求10所述的装置,还包括:
间接表,所述间接表包括多个项,每个项包括对与队列相关联的流被指派到的处理单元的识别,所述模块适应性地重新指派流是通过经由所述间接表重新指派所述流来进行的。
12.根据权利要求10所述的装置,其中,所述模块包括在操作系统中。
13.根据权利要求10所述的装置,其中,所述模块是与网络接口控制器相关联的驱动器。
14.根据权利要求13所述的装置,其中,所述驱动器是滤波器驱动器。
15.一种系统,包括:
存储与从网络接收的流相关联的数据包的盘驱动器;
多个处理单元;以及
用于监控所述多个处理单元中的每一个的低功率空闲状态以及将指派给具有低功率空闲状态的处理单元的流适应性地重新指派给具有非低功率空闲状态的其它处理单元以减少所述多个处理单元的能量消耗的模块。
16.根据权利要求15所述的系统,还包括:
间接表,所述间接表包括多个项,每个项包括对与队列相关联的流被指派到的处理单元的识别,所述模块适应性地重新指派流是通过经由所述间接表重新指派所述流来进行的。
17.根据权利要求15所述的系统,其中,所述模块包括在操作系统中。
18.根据权利要求15所述的系统,其中,所述模块是与网络接口控制器相关联的驱动器。
19.根据权利要求18所述的系统,其中,所述驱动器是滤波器驱动器。
CN201080028104.3A 2009-06-26 2010-06-25 用于在多处理器核心系统中执行节能的网络数据包处理的方法和装置 Expired - Fee Related CN102460342B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510781891.3A CN105446455B (zh) 2009-06-26 2010-06-25 在多处理器核心系统中执行网络数据包处理的方法和装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/459,114 US8239699B2 (en) 2009-06-26 2009-06-26 Method and apparatus for performing energy-efficient network packet processing in a multi processor core system
US12/459,114 2009-06-26
PCT/US2010/040083 WO2010151824A2 (en) 2009-06-26 2010-06-25 Method and apparatus for performing energy-efficient network packet processing in a multi processor core system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201510781891.3A Division CN105446455B (zh) 2009-06-26 2010-06-25 在多处理器核心系统中执行网络数据包处理的方法和装置

Publications (2)

Publication Number Publication Date
CN102460342A true CN102460342A (zh) 2012-05-16
CN102460342B CN102460342B (zh) 2016-01-20

Family

ID=43382083

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510781891.3A Active CN105446455B (zh) 2009-06-26 2010-06-25 在多处理器核心系统中执行网络数据包处理的方法和装置
CN201080028104.3A Expired - Fee Related CN102460342B (zh) 2009-06-26 2010-06-25 用于在多处理器核心系统中执行节能的网络数据包处理的方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201510781891.3A Active CN105446455B (zh) 2009-06-26 2010-06-25 在多处理器核心系统中执行网络数据包处理的方法和装置

Country Status (5)

Country Link
US (2) US8239699B2 (zh)
EP (1) EP2446340A4 (zh)
KR (1) KR101444990B1 (zh)
CN (2) CN105446455B (zh)
WO (1) WO2010151824A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158764A (zh) * 2014-08-12 2014-11-19 杭州华三通信技术有限公司 报文处理方法及装置
CN107231396A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 数据操作方法、装置、中转设备及客户端
CN109039929A (zh) * 2018-07-06 2018-12-18 华为技术有限公司 业务调度方法及装置
CN111897648A (zh) * 2020-06-04 2020-11-06 华南理工大学 一种温度约束下的暗核感知众核系统处理器资源分配方法

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8064197B2 (en) * 2009-05-22 2011-11-22 Advanced Micro Devices, Inc. Heat management using power management information
US8239699B2 (en) 2009-06-26 2012-08-07 Intel Corporation Method and apparatus for performing energy-efficient network packet processing in a multi processor core system
US9557795B1 (en) * 2009-09-23 2017-01-31 Xilinx, Inc. Multiprocessor system with performance control based on input and output data rates
US8543857B2 (en) * 2009-09-26 2013-09-24 Intel Corporation Method and apparatus for low power operation of multi-core processors
EP2385440A1 (en) * 2010-05-07 2011-11-09 ST-Ericsson SA Method and system for controlling the operation of an electronic device
US8637212B2 (en) 2010-12-22 2014-01-28 Via Technologies, Inc. Reticle set modification to produce multi-core dies
US8631256B2 (en) 2010-12-22 2014-01-14 Via Technologies, Inc. Distributed management of a shared power source to a multi-core microprocessor
US8782451B2 (en) 2010-12-22 2014-07-15 Via Technologies, Inc. Power state synchronization in a multi-core processor
US9460038B2 (en) * 2010-12-22 2016-10-04 Via Technologies, Inc. Multi-core microprocessor internal bypass bus
US8972707B2 (en) 2010-12-22 2015-03-03 Via Technologies, Inc. Multi-core processor with core selectively disabled by kill instruction of system software and resettable only via external pin
US8621479B2 (en) * 2012-01-05 2013-12-31 The Boeing Company System and method for selecting task allocation method based on load balancing and core affinity metrics
US9250901B2 (en) * 2013-03-12 2016-02-02 Intel Corporation Execution context swap between heterogeneous functional hardware units
US9509565B2 (en) * 2013-03-29 2016-11-29 Telefonaktiebolaget L M Ericsson (Publ) Energy efficiency in software defined networks
CN104424156A (zh) * 2013-09-09 2015-03-18 中兴通讯股份有限公司 处理器的核处理方法、装置及终端
US9323544B2 (en) * 2013-10-09 2016-04-26 International Business Machines Corporation Dynamic reconfiguration of queue pairs
US10082858B2 (en) * 2014-06-23 2018-09-25 Mellanox Technologies, Ltd. Peripheral device assistance in reducing CPU power consumption
US10324513B2 (en) 2014-08-31 2019-06-18 Mellanox Technologies, Ltd. Control of peripheral device data exchange based on CPU power state
US20170351311A1 (en) * 2016-06-07 2017-12-07 Intel Corporation Power aware packet distribution
US10423511B2 (en) * 2016-11-29 2019-09-24 International Business Machines Corporation Packet flow tracing in a parallel processor complex
US10826841B2 (en) * 2016-12-06 2020-11-03 Microsoft Technology Licensing, Llc Modification of queue affinity to cores based on utilization
US10639550B2 (en) * 2017-04-18 2020-05-05 Bullguard Ltd System and method for dynamically allocating resources to a game process
KR102563648B1 (ko) * 2018-06-05 2023-08-04 삼성전자주식회사 멀티 프로세서 시스템 및 그 구동 방법
US11431565B2 (en) * 2018-10-15 2022-08-30 Intel Corporation Dynamic traffic-aware interface queue switching among processor cores
US11086379B2 (en) * 2019-10-28 2021-08-10 EMC IP Holding Company LLC Efficient storage system battery backup usage through dynamic implementation of power conservation actions
US11181967B2 (en) 2020-02-07 2021-11-23 Marvell Asia Pte Ltd Power management and transitioning cores within a multicore system from idle mode to operational mode over a period of time
US20210318740A1 (en) * 2020-04-10 2021-10-14 Marvell Asia Pte, Ltd. (Registration No. 199702379M) Power management and staggering transitioning from idle mode to operational mode

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084154A1 (en) * 2001-10-31 2003-05-01 International Business Machines Corporation Energy-induced process migration
US20030110012A1 (en) * 2001-12-06 2003-06-12 Doron Orenstien Distribution of processing activity across processing hardware based on power consumption considerations
JP2004252928A (ja) * 2002-05-08 2004-09-09 Microsoft Corp 無線コンピューティングデバイス内のネットワークインターフェースモジュールの電力消費を管理する方法およびシステム
US7080267B2 (en) * 2002-08-01 2006-07-18 Texas Instruments Incorporated Methodology for managing power consumption in an application
US20070070904A1 (en) * 2005-09-26 2007-03-29 King Steven R Feedback mechanism for flexible load balancing in a flow-based processor affinity scheme
EP1855182A2 (en) * 2006-05-12 2007-11-14 Intel Corporation Method and apparatus for managing power in a processing system with multiple partitions
US20080005352A1 (en) * 2006-06-28 2008-01-03 Goglin Stephen D Flexible and extensible receive side scaling

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986066B2 (en) * 2001-01-05 2006-01-10 International Business Machines Corporation Computer system having low energy consumption
US20030055969A1 (en) 2001-09-17 2003-03-20 International Business Machines Corporation System and method for performing power management on a distributed system
EP1471326B1 (de) * 2003-04-26 2010-04-07 Rheinmetall Waffe Munition GmbH Gasdruckschalter für eine Zünd- und Sicherungseinrichtung einer Munition
US7257572B2 (en) * 2004-04-30 2007-08-14 Intel Corporation Function for directing packets
US7739527B2 (en) * 2004-08-11 2010-06-15 Intel Corporation System and method to enable processor management policy in a multi-processor environment
US7548513B2 (en) * 2005-02-17 2009-06-16 Intel Corporation Techniques to provide recovery receive queues for flooded queues
US7765405B2 (en) * 2005-02-25 2010-07-27 Microsoft Corporation Receive side scaling with cryptographically secure hashing
US20070005742A1 (en) * 2005-06-30 2007-01-04 Avigdor Eldar Efficient network communications via directed processor interrupts
US7490256B2 (en) * 2006-04-04 2009-02-10 Microsoft Corporation Identifying a target processor idle state
US8661160B2 (en) * 2006-08-30 2014-02-25 Intel Corporation Bidirectional receive side scaling
US20080086575A1 (en) * 2006-10-06 2008-04-10 Annie Foong Network interface techniques
US7715428B2 (en) * 2007-01-31 2010-05-11 International Business Machines Corporation Multicore communication processing
US20090006521A1 (en) * 2007-06-29 2009-01-01 Veal Bryan E Adaptive receive side scaling
US8661167B2 (en) * 2007-09-17 2014-02-25 Intel Corporation DMA (direct memory access) coalescing
US8112648B2 (en) * 2008-03-11 2012-02-07 Globalfoundries Inc. Enhanced control of CPU parking and thread rescheduling for maximizing the benefits of low-power state
US8010822B2 (en) * 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US8949472B2 (en) * 2008-09-10 2015-02-03 International Business Machines Corporation Data affinity based scheme for mapping connections to CPUs in I/O adapter
US8009682B2 (en) * 2009-05-05 2011-08-30 Citrix Systems, Inc. Systems and methods for packet steering in a multi-core architecture
US8769067B2 (en) * 2009-06-22 2014-07-01 Citrix Systems, Inc. Systems and methods for statistics exchange between cores for load balancing
US8239699B2 (en) 2009-06-26 2012-08-07 Intel Corporation Method and apparatus for performing energy-efficient network packet processing in a multi processor core system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084154A1 (en) * 2001-10-31 2003-05-01 International Business Machines Corporation Energy-induced process migration
US20030110012A1 (en) * 2001-12-06 2003-06-12 Doron Orenstien Distribution of processing activity across processing hardware based on power consumption considerations
JP2004252928A (ja) * 2002-05-08 2004-09-09 Microsoft Corp 無線コンピューティングデバイス内のネットワークインターフェースモジュールの電力消費を管理する方法およびシステム
US7080267B2 (en) * 2002-08-01 2006-07-18 Texas Instruments Incorporated Methodology for managing power consumption in an application
US20070070904A1 (en) * 2005-09-26 2007-03-29 King Steven R Feedback mechanism for flexible load balancing in a flow-based processor affinity scheme
EP1855182A2 (en) * 2006-05-12 2007-11-14 Intel Corporation Method and apparatus for managing power in a processing system with multiple partitions
US20080005352A1 (en) * 2006-06-28 2008-01-03 Goglin Stephen D Flexible and extensible receive side scaling

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158764A (zh) * 2014-08-12 2014-11-19 杭州华三通信技术有限公司 报文处理方法及装置
CN104158764B (zh) * 2014-08-12 2018-02-06 新华三技术有限公司 报文处理方法及装置
CN107231396A (zh) * 2016-03-25 2017-10-03 阿里巴巴集团控股有限公司 数据操作方法、装置、中转设备及客户端
CN107231396B (zh) * 2016-03-25 2021-05-28 阿里巴巴集团控股有限公司 数据操作方法、装置、中转设备及客户端
CN109039929A (zh) * 2018-07-06 2018-12-18 华为技术有限公司 业务调度方法及装置
CN111897648A (zh) * 2020-06-04 2020-11-06 华南理工大学 一种温度约束下的暗核感知众核系统处理器资源分配方法

Also Published As

Publication number Publication date
CN102460342B (zh) 2016-01-20
KR20140014407A (ko) 2014-02-06
US20120278637A1 (en) 2012-11-01
US20100332869A1 (en) 2010-12-30
WO2010151824A2 (en) 2010-12-29
KR101444990B1 (ko) 2014-10-07
CN105446455A (zh) 2016-03-30
CN105446455B (zh) 2019-04-02
US8239699B2 (en) 2012-08-07
EP2446340A4 (en) 2017-05-31
WO2010151824A3 (en) 2011-04-07
EP2446340A2 (en) 2012-05-02

Similar Documents

Publication Publication Date Title
CN102460342B (zh) 用于在多处理器核心系统中执行节能的网络数据包处理的方法和装置
EP3242185B1 (en) Server rack power management
CN104238712B (zh) 分布式功率输送
US9008079B2 (en) System and method for high-performance, low-power data center interconnect fabric
US11016887B2 (en) Converged memory device and operation method thereof
US9477279B1 (en) Data storage system with active power management and method for monitoring and dynamical control of power sharing between devices in data storage system
TWI514409B (zh) 記憶體裝置電力管理器及其方法
US9317427B2 (en) Reallocating unused memory databus utilization to another processor when utilization is below a threshold
US20090125737A1 (en) Power Management of an Electronic System
Hill et al. THE UNCORE: A MODULAR APPROACH TO FEEDING THE HIGH-PERFORMANCE CORES.
JP2007219759A (ja) マルチプロセッシングシステム
JP2004078942A (ja) ブレード・ベースのコンピュータシステム内のブレードの動作周波数を管理する方法
WO2013165357A1 (en) Master slave qpi protocol for coordinated idle power management in glueless and clustered systems
JP2007226646A (ja) ストレージシステム
US20190253357A1 (en) Load balancing based on packet processing loads
US20040030940A1 (en) System, method and apparatus for performance optimization at the processor level
TW201027357A (en) Technique for controlling computing resources
CN111324503A (zh) 机框管理装置、方法和计算机可读存储介质
TW201506605A (zh) 至少部分接收及/或至少部分發布至少一封包以請求功率消耗狀態之改變的技術
US10082858B2 (en) Peripheral device assistance in reducing CPU power consumption
CN104834562A (zh) 一种异构数据中心及该数据中心的运行方法
US20080273475A1 (en) Reconfigurable computer bus
KR20160106801A (ko) 저전력 프로세서를 이용한 고집적 서버

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160120

Termination date: 20190625