CN102460342B - 用于在多处理器核心系统中执行节能的网络数据包处理的方法和装置 - Google Patents
用于在多处理器核心系统中执行节能的网络数据包处理的方法和装置 Download PDFInfo
- Publication number
- CN102460342B CN102460342B CN201080028104.3A CN201080028104A CN102460342B CN 102460342 B CN102460342 B CN 102460342B CN 201080028104 A CN201080028104 A CN 201080028104A CN 102460342 B CN102460342 B CN 102460342B
- Authority
- CN
- China
- Prior art keywords
- processing unit
- low power
- idle state
- indirection table
- filter driver
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
-
- 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
-
- 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/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
提供了一种管理网络数据包处理的核心相关性的方法和装置。包括多个处理单元的系统中的该多个处理单元的低功率空闲状态被监控。网络数据包处理被动态地重新指派给处于非低功率空闲状态的处理单元,以增加处于低功率空闲状态的处理单元的低功率空闲状态时段,从而带来减小的能量消耗。
Description
技术领域
本公开涉及并且具体涉及多处理器核心系统中的节能,并且具体涉及节能的网络数据包处理。
背景技术
一般,具有多个处理器核心的计算机系统通过在所有的处理器核心之间分配工作负荷来处理高工作负荷。然而,随着工作负荷减少,多个处理器核心中的每一个可能没有被充分利用。
为了减小低工作负荷时多个处理器核心的功耗,操作系统可以基于系统使用水平来调整使用的处理器核心的数量。未被使用的处理器核心被置于低功率空闲状态(“搁置的”)并且可以保持该低功率空闲状态较长的连续时间间隔。操作系统继续在没有处于低功率空闲状态的处理器核心之间分配工作负荷。
附图说明
随着下面详细描述的进行,并且在参照附图后,所要求主题的实施例的特征将变得显而易见,在附图中相同的数字描述相同的部件,并且在附图中:
图1是包括支持接收侧调节的网络接口控制器的实施例的系统的框图;
图2是示出了图1中所示的网络接口控制器和存储器的实施例的框图;
图3是根据本发明的原理动态地调整核心相关性(affinity)设置的方法的实施例的流程图;以及
图4是示出了图1中所示的网络接口控制器和存储器的另一实施例的框图。
虽然参考所要求主题的示例性实施例进行下面的详细描述,但是对本领域技术人员来说,其的多种替换、修改以及变型将是显而易见的。因此,所要求主题旨在被视为是广泛的,并且仅如所附权利要求阐述的那样进行限定。
具体实施方式
计算机系统可以包括网络接口控制器(适配器、卡),该网络接口控制器接收来自网络的网络数据包并且将用于处理的所接收的网络数据包转发至多个处理器核心中的一个。在处理器核心之间分配的工作负荷可以包括对由网络接口控制器接收的网络数据包的处理。
例如,在计算机系统中,对网络数据包的处理可以在处理器核心之间分配,使得对相同通信流(例如,具有相同源地址和目的地址的网络数据包)的处理由相同的处理器核心执行。当工作负荷低时,操作系统可以仅使用多个处理器核心的一个子集,并且将其它的处理器核心置于低功率空闲状态。然而,如果特定通信流的所接收的要被处理的网络数据包被指派给了处于低功率空闲状态的处理器核心(该通信流的核心相关性设置),则该处理器核心从低功率空闲状态唤醒。结果,处于低功率空闲状态的处理器核心不具有保持低功率空闲状态较长时间的机会。
本发明实施例基于操作系统是否将任意的处理器核心置于低功率空闲状态来动态地调整网络数据包处理的核心相关设置。
将对于具有支持由的操作系统(OS)使用的接收侧调节(RSS)的网络接口控制器的计算机系统描述本发明实施例。然而,本发明不限于RSS。在其它实施例中,网络适配器可以支持由包括具有功率节省模式特征的调度器的Linux操作系统或者包括功率节省模式的任意其它操作系统使用的可调节输入/输出(I/O)。
图1是包括支持接收侧调节的网络接口控制器108的实施例的系统100的框图。系统100包括处理器101、存储控制器中心(MCH)102和输入/输出(I/O)控制器中心(ICH)104。MCH102包括控制处理器101和存储器110之间的通信的存储控制器106。处理器101和MCH102通过系统总线116进行通信。
处理器101可以是多核心处理器,诸如PentiumD、 处理器、或者双核处理器、CoreTMi7处理器或者任意其它类型的处理器。在所示出的实施例中,系统包括两个多核心处理器101,每个均具有至少两个处理器核心(“核心”)122。在一个实施例中,每个多核心处理器包括四个核心122。
存储器110可以是动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)、双数据速率2(DDR2)RAM或Rambus动态随机存取存储器(RDRAM),或者任意其它类型的存储器。
ICH104可以使用诸如直接媒体接口(DMI)的高速芯片到芯片互联114来耦合至MCH102。DMI经由两个单向通道支持2千兆比特/秒的并发传输速率。
ICH104可以包括存储输入/输出(I/O)控制器,用于控制与耦合至该ICH104的至少一个存储设备112的通信。例如,该存储设备可以是盘驱动器、数字视频盘(DVD)驱动器、光盘(CD)驱动器、独立冗余磁盘阵列(RAID)、带驱动器或者其它存储设备。ICH104可以使用诸如串行连接小型计算机系统接口(SAS)或者串行高级技术附件(SATA)等的串行存储协议来通过存储协议互联118与存储设备112进行通信。
在另一实施例中,网络接口控制器108可以包括在没有包括存储I/O控制器120的ICH104中,或者可以包括在插入系统100的系统卡槽中的分离的网络接口卡上。
图2是示出了图1中所示的网络接口控制器108和存储器110的实施例的框图。网络接口控制器108包括散列功能单元220、间接表230和多个硬件接收队列202。存储器110包括操作系统内核280、滤波器驱动器210和网络设备驱动器(微端口驱动器)270。在一个实施例中,散列功能单元220和间接表230包括在网络接口控制器(“NIC”)108中。在另一实施例中,这些部件中的一些或者这些部件中的一些元件可以位于网络接口控制器108的外部。
在所示出的实施例中,微端口驱动器270和滤波器驱动器210是操作系统模型(WDM)的部件。WDM包括可以是类驱动器(classdriver)或者微端口驱动器的设备功能驱动器。微端口驱动器支持特定类型的设备,例如,特定的网络接口控制器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个)可以被使用。因此,来自网络接口控制器的中断仅被发送至未被搁置的核心,而被搁置的核心仍然处于低功率空闲状态,从而带来能量消耗的减少。
例如,在实施例中,如果在工作负荷低时,7服务器核心搁置特征选择使用三个核心并搁置剩余的核心,则网络接口控制器被修改为在所选择的三个核心上运行网络中断和数据包处理。这使得搁置核心的低功率空闲状态时段的增加。
在一个实施例中,10千兆比特网络接口控制器具有多个接收侧调节接收(RSSRx)队列,每个均与特定的核心相关。网络接口控制器经由滤波器驱动器210得到OS核心搁置设置的配置,并且基于该OS核心搁置配置来修改RSS间接表230。
在框300处,滤波器驱动器210从OS内核280周期性地请求OS搁置状态。例如,在实施例中,滤波器驱动器210使用由OS内核280提供的应用程序接口(API)命令来请求OS核心搁置状态,以查询每个处理器核心122的搁置状态。在实施例中,滤波器驱动器210基于已经接收到的网络数据包的数量,例如在大约每1000网络数据包被接收以后,周期性地请求OS搁置状态。
在可替换的实施例中,滤波器驱动器210直接地访问CPU101,以获得每个处理器核心202的当前功率状态。例如,CoreTMi7支持核心级别的低功率状态以用于最佳功率管理。核心功率状态包括C0、C1、C3和C6。C0是正常操作状态,而C1、C3和C6是低功率状态,并且具有不同等级的降低的功率消耗。例如,在C3低功率状态中,所有的时钟停止,并且除了高速缓存之外,处理器核心保持其所有的构架状态。
每个处理器核心202的当前功率状态被存储在可以由滤波器驱动器210访问的CPU101的一个或多个寄存器中。为了确定特定的核心是否是“搁置的”,滤波器驱动器210周期性地读取存储核心的功率状态的寄存器,并且基于一个时段中该核心的功率状态类型读取的分配,来推断该核心是否是“搁置的”。例如,如果在一个时段内,寄存器被读取了n次,并且每次核心均处于低功率状态,则该核心是“搁置的”。如果在该时段期间,核心n次处于高功率状态,则该核心“搁置的”。如果在该时段期间,该核心的功率状态不同,其中功率状态是低功率状态的次数大于功率状态是高功率状态的次数,则该核心被推断为是“搁置的”。
处理继续到框302。
在框302处,在接收到每个处理器核心122的搁置状态后,滤波器驱动器210确定任意处理器核心122的搁置状态是否改变。如果没有改变,则处理继续到框300,以继续周期性地请求处理器核心122的搁置状态。
如果改变,则滤波器驱动器210基于搁置状态生成要被存储到NIC108中的间接表230中的新的数据。滤波器驱动器210使用OID_GEN_RECEIVE_SCALE_PARAMETERS对象标识符(OID)来基于处理器核心的搁置状态修改NIC的RSS参数。OID_GEN_RECEIVE_SCALE_PARAMETERSOID包括指定RSS参数的NDIS_RECEIVE_SCALE_PARAMETERS结构。
在实施例中,该结构包括具有指定该对象包括RSS参数的类型的头部、指示间接表和相关联的成员是否改变的标记、以及间接表的大小。在其它结构成员之后附加基于核心搁置状态要被存储在间接表230中的新的数据。处理继续到框304。
在框304处,一旦检测到OID_GEN_RECEIVE_SCALE_PARAMETERSOID的接收,则微端口驱动器270将接收到的间接表230的新数据存储在间接表230中。例如,如果获取的核心搁置状态指示仅处理器核心0和处理器核心4未被搁置,则在有8个接收(RSSRx)队列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_PARAMETERSOID以作为输入参数,如结合图2所示的实施例所讨论的。该OID被直接发送至设备驱动器270,该设备驱动器270基于所接收的修改的内容来相应地修改间接表230。
在一个实施例中,RSS对准功能被添加至OS核心,以调整RSS间接表230。
已经针对操作系统描述了实施例。对核心搁置状态的监控以及基于所监控的核心搁置状态对间接表230的内容的修改不限于操作系统,该方法还可以被应用于例如Linux操作系统等的其它操作系统。
本发明的替代实施例还包括包含用于执行本发明操作的指令的机器可访问介质。这种实施例也可以被称为程序产品。这种机器可访问介质可以包括,但不限于,其上存储有指令(计算机可读程序代码)的计算机可读存储介质,诸如软盘、硬盘、光盘只读存储器(CD-ROM)、只读存储器(ROM)和随机存取存储器(RAM)以及由机器或者设备制造或者形成的粒子的其它有形排列。指令还可以用在分布式环境中,并且可以被本地地和/或远程地存储以用于由单处理器或者多处理器机器访问。
虽然已经参照本发明实施例特别地示出并描述了本发明实施例,但本领域技术人员将理解,在不背离由所述权利要求涵盖的本发明实施例的范围的情况下,可以进行形式和细节上的各种改变。
Claims (8)
1.一种用于流重新指派的方法,包括:
由与网络接口控制器相关联的滤波器驱动器监控多个处理单元中的每一个的低功率空闲状态;以及
通过间接表将指派给具有低功率空闲状态的处理单元的流适应性地重新指派给具有非低功率空闲状态的其它处理单元,以减少所述多个处理单元的能量消耗,所述间接表包括多个项,每个项包括对与队列相关联的流被指派到的处理单元的识别,其中,所述间接表是基于操作系统核心搁置配置进行修改的,其中,如果所述滤波器驱动器确定所述多个处理单元中的任何一个的搁置状态已经改变,则所述滤波器驱动器基于所述多个处理单元中的每一个的搁置状态生成要被存储在所述间接表中的新数据。
2.根据权利要求1所述的方法,其中,对所述多个处理单元的低功率空闲状态的监控由操作系统来执行。
3.一种用于流重新指派的装置,包括:
用于通过与网络接口控制器相关联的滤波器驱动器监控多个处理单元中的每一个的低功率空闲状态的模块;以及
用于通过间接表将指派给具有低功率空闲状态的处理单元的流适应性地重新指派给具有非低功率空闲状态的其它处理单元,以减少所述多个处理单元的能量消耗的模块,所述间接表包括多个项,每个项包括对与队列相关联的流被指派到的处理单元的识别,其中,所述间接表是基于操作系统核心搁置配置进行修改的,其中,如果所述滤波器驱动器确定所述多个处理单元中的任何一个的搁置状态已经改变,则所述滤波器驱动器基于所述多个处理单元中的每一个的搁置状态生成要被存储在所述间接表中的新数据。
4.根据权利要求3所述的装置,其中,对所述多个处理单元的低功率空闲状态的监控由操作系统来执行。
5.一种用于流重新指派的装置,包括:
多个处理单元;以及
与网络接口控制器相关联的滤波器驱动器,用于监控所述多个处理单元中的每一个的低功率空闲状态以及通过间接表将指派给具有低功率空闲状态的处理单元的流适应性地重新指派给具有非低功率空闲状态的其它处理单元以减少所述多个处理单元的能量消耗,所述间接表包括多个项,每个项包括对与队列相关联的流被指派到的处理单元的识别,其中,所述间接表是基于操作系统核心搁置配置进行修改的,其中,如果所述滤波器驱动器确定所述多个处理单元中的任何一个的搁置状态已经改变,则所述滤波器驱动器基于所述多个处理单元中的每一个的搁置状态生成要被存储在所述间接表中的新数据。
6.根据权利要求5所述的装置,其中,所述滤波器驱动器包括在操作系统中。
7.一种用于流重新指派的系统,包括:
存储与从网络接收的流相关联的数据包的盘驱动器;
多个处理单元;以及
与网络接口控制器相关联的滤波器驱动器,用于监控所述多个处理单元中的每一个的低功率空闲状态以及通过间接表将指派给具有低功率空闲状态的处理单元的流适应性地重新指派给具有非低功率空闲状态的其它处理单元以减少所述多个处理单元的能量消耗,所述间接表包括多个项,每个项包括对与队列相关联的流被指派到的处理单元的识别,其中,所述间接表是基于操作系统核心搁置配置进行修改的,其中,如果所述滤波器驱动器确定所述多个处理单元中的任何一个的搁置状态已经改变,则所述滤波器驱动器基于所述多个处理单元中的每一个的搁置状态生成要被存储在所述间接表中的新数据。
8.根据权利要求7所述的系统,其中,所述滤波器驱动器包括在操作系统中。
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 CN102460342A (zh) | 2012-05-16 |
CN102460342B true 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) |
Families Citing this family (30)
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 |
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 |
US8782451B2 (en) | 2010-12-22 | 2014-07-15 | Via Technologies, Inc. | Power state synchronization in a multi-core processor |
US8631256B2 (en) | 2010-12-22 | 2014-01-14 | Via Technologies, Inc. | Distributed management of a shared power source to a multi-core microprocessor |
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 |
CN104158764B (zh) * | 2014-08-12 | 2018-02-06 | 新华三技术有限公司 | 报文处理方法及装置 |
US10324513B2 (en) | 2014-08-31 | 2019-06-18 | Mellanox Technologies, Ltd. | Control of peripheral device data exchange based on CPU power state |
CN107231396B (zh) * | 2016-03-25 | 2021-05-28 | 阿里巴巴集团控股有限公司 | 数据操作方法、装置、中转设备及客户端 |
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 | 삼성전자주식회사 | 멀티 프로세서 시스템 및 그 구동 방법 |
CN109039929A (zh) * | 2018-07-06 | 2018-12-18 | 华为技术有限公司 | 业务调度方法及装置 |
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 |
US11994925B2 (en) * | 2020-04-10 | 2024-05-28 | Marvell Asia Pte Ltd | Power management and staggering transitioning from idle mode to operational mode |
CN111897648B (zh) * | 2020-06-04 | 2022-06-14 | 华南理工大学 | 一种温度约束下的暗核感知众核系统处理器资源分配方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
EP1855182A2 (en) * | 2006-05-12 | 2007-11-14 | Intel Corporation | Method and apparatus for managing power in a processing system with multiple partitions |
Family Cites Families (24)
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 |
US6985952B2 (en) | 2001-10-31 | 2006-01-10 | International Business Machines Corporation | Energy-induced process migration |
US6804632B2 (en) | 2001-12-06 | 2004-10-12 | Intel Corporation | Distribution of processing activity across processing hardware based on power consumption considerations |
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 |
US20070070904A1 (en) * | 2005-09-26 | 2007-03-29 | King Steven R | Feedback mechanism for flexible load balancing in a flow-based processor affinity scheme |
US7490256B2 (en) * | 2006-04-04 | 2009-02-10 | Microsoft Corporation | Identifying a target processor idle state |
US7584286B2 (en) | 2006-06-28 | 2009-09-01 | Intel Corporation | Flexible and extensible receive side scaling |
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 |
-
2009
- 2009-06-26 US US12/459,114 patent/US8239699B2/en active Active
-
2010
- 2010-06-25 KR KR1020117031560A patent/KR101444990B1/ko active IP Right Grant
- 2010-06-25 EP EP10792757.6A patent/EP2446340A4/en not_active Withdrawn
- 2010-06-25 WO PCT/US2010/040083 patent/WO2010151824A2/en active Application Filing
- 2010-06-25 CN CN201510781891.3A patent/CN105446455B/zh active Active
- 2010-06-25 CN CN201080028104.3A patent/CN102460342B/zh not_active Expired - Fee Related
-
2012
- 2012-07-11 US US13/546,276 patent/US20120278637A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
EP1855182A2 (en) * | 2006-05-12 | 2007-11-14 | Intel Corporation | Method and apparatus for managing power in a processing system with multiple partitions |
Also Published As
Publication number | Publication date |
---|---|
CN102460342A (zh) | 2012-05-16 |
KR101444990B1 (ko) | 2014-10-07 |
US20120278637A1 (en) | 2012-11-01 |
EP2446340A2 (en) | 2012-05-02 |
CN105446455A (zh) | 2016-03-30 |
KR20140014407A (ko) | 2014-02-06 |
WO2010151824A3 (en) | 2011-04-07 |
EP2446340A4 (en) | 2017-05-31 |
CN105446455B (zh) | 2019-04-02 |
US20100332869A1 (en) | 2010-12-30 |
WO2010151824A2 (en) | 2010-12-29 |
US8239699B2 (en) | 2012-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102460342B (zh) | 用于在多处理器核心系统中执行节能的网络数据包处理的方法和装置 | |
EP3242185B1 (en) | Server rack power management | |
US11487661B2 (en) | Converged memory device and operation method thereof | |
US9008079B2 (en) | System and method for high-performance, low-power data center interconnect fabric | |
US10303618B2 (en) | Power savings via dynamic page type selection | |
US8751836B1 (en) | Data storage system and method for monitoring and controlling the power budget in a drive enclosure housing data storage devices | |
CN104573119B (zh) | 云计算中面向节能的Hadoop分布式文件系统存储方法 | |
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 | |
US9317427B2 (en) | Reallocating unused memory databus utilization to another processor when utilization is below a threshold | |
US8898416B2 (en) | Storage allocation management in switches utilizing flow control | |
JP2009116862A (ja) | 電子システムの電力管理の方法、システム、およびプログラム(電子システムの電力管理) | |
US8725873B1 (en) | Multi-server round robin arbiter | |
US20190253357A1 (en) | Load balancing based on packet processing loads | |
CN103365717A (zh) | 内存访问方法、装置及系统 | |
CN103299291B (zh) | 分布式共享存储器多处理器中的分裂流量路由 | |
JP2004078929A (ja) | プロセッサ・レベルにて性能を最適化するシステム、方法、装置 | |
CN111324503A (zh) | 机框管理装置、方法和计算机可读存储介质 | |
CN104834562A (zh) | 一种异构数据中心及该数据中心的运行方法 | |
WO2010029641A1 (ja) | 情報処理装置、情報処理装置制御方法および情報処理装置制御プログラム | |
CN117806851A (zh) | 多主机共享的内存系统、内存访问方法、设备和存储介质 | |
KR20130063882A (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 |
Granted publication date: 20160120 Termination date: 20190625 |
|
CF01 | Termination of patent right due to non-payment of annual fee |