提供了一种管理网络数据包处理的核心相关性的方法和装置。包括多个处理单元的系统中的该多个处理单元的低功率空闲状态被监控。网络数据包处理被动态地重新指派给处于非低功率空闲状态的处理单元,以增加处于低功率空闲状态的处理单元的低功率空闲状态时段,从而带来减小的能量消耗。
【技术实现步骤摘要】
【专利说明】用于在多处理器核心系统中执行节能的网络数据包处理的方 法和装置 本申请是2010年6月25日提交的,申请号为201080028104.3的同名专利申请的分 案申请。
本公开设及并且具体设及多处理器核屯、系统中的节能,并且具体设及节能的网络 数据包处理。
技术介绍
-般,具有多个处理器核屯、的计算机系统通过在所有的处理器核屯、之间分配工作 负荷来处理高工作负荷。然而,随着工作负荷减少,多个处理器核屯、中的每一个可能没有被 充分利用。 为了减小低工作负荷时多个处理器核屯、的功耗,操作系统可W基于系统使用水平 来调整使用的处理器核屯、的数量。未被使用的处理器核屯、被置于低功率空闲状态Γ搁置 的")并且可W保持该低功率空闲状态较长的连续时间间隔。操作系统继续在没有处于低功 率空闲状态的处理器核屯、之间分配工作负荷。【附图说明】 随着下面详细描述的进行,并且在参照附图后,所要求主题的实施例的特征将变 得显而易见,在附图中相同的数字描述相同的部件,并且在附图中: 图1是包括支持接收侧调节的网络接口控制器的实施例的系统的框图; 图2是示出了图1中所示的网络接口控制器和存储器的实施例的框图;[000引图3是根据本专利技术的原理动态地调整核屯、相关性(affinity)设置的方法的实施例 的流程图;W及 图4是示出了图1中所示的网络接口控制器和存储器的另一实施例的框图。 虽然参考所要求主题的示例性实施例进行下面的详细描述,但是对本领域技术人 员来说,其的多种替换、修改W及变型将是显而易见的。因此,所要求主题旨在被视为是广 泛的,并且仅如所附权利要求阐述的那样进行限定。【具体实施方式】 计算机系统可W包括网络接口控制器(适配器、卡),该网络接口控制器接收来自 网络的网络数据包并且将用于处理的所接收的网络数据包转发至多个处理器核屯、中的一 个。在处理器核屯、之间分配的工作负荷可W包括对由网络接口控制器接收的网络数据包的 处理。 例如,在计算机系统中,对网络数据包的处理可W在处理器核屯、之间分配,使得对 相同通信流(例如,具有相同源地址和目的地址的网络数据包)的处理由相同的处理器核屯、 执行。当工作负荷低时,操作系统可w仅使用多个处理器核屯、的一个子集,并且将其它的处 理器核屯、置于低功率空闲状态。然而,如果特定通信流的所接收的要被处理的网络数据包 被指派给了处于低功率空闲状态的处理器核屯、(该通信流的核屯、相关性设置),则该处理器 核屯、从低功率空闲状态唤醒。结果,处于低功率空闲状态的处理器核屯、不具有保持低功率 空闲状态较长时间的机会。本专利技术实施例基于操作系统是否将任意的处理器核屯、置于低功率空闲状态来动 态地调整网络数据包处理的核屯、相关设置。 将对于具有支持由Microsoft⑩的Windows⑧操作系统(0S)使用的接收侧调节 (RSS)的网络接口控制器的计算机系统描述本专利技术实施例。然而,本专利技术不限于RSS。在其它 实施例中,网络适配器可W支持由包括具有功率节省模式特征的调度器的Linux操作系统 或者包括功率节省模式的任意其它操作系统使用的可调节输入/输出(I/O)。图1是包括支持接收侧调节的网络接口控制器108的实施例的系统100的框图。系 统100包括处理器101、存储控制器中屯、(MCHH02和输入/输出(I/O)控制器中屯、(ICH)104。 MCH102包括控制处理器101和存储器110之间的通信的存储控制器106。处理器101和MCH 102通过系统总线116进行通信。 处理器101可W是多核屯、处理器,诸如拉把.1⑥.PentiumD、.虹tel?Xeo.ll⑩处理 器、或者Intel⑩Core⑥双核处理器、Intel?Core?i7处理器或者任意其它类型的处理 器。在所示出的实施例中,系统包括两个多核屯、处理器101,每个均具有至少两个处理器核 屯、Γ核屯、")122。在一个实施例中,每个多核屯、处理器包括四个核屯、122。 存储器110可W是动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步 动态随机存取存储器(SDRAM)、双数据速率2(DDR2)RAM或Rambus动态随机存取存储器 (RDRAM),或者任意其它类型的存储器。ICH104可W使用诸如直接媒体接口(DMI)的高速忍片到忍片互联114来禪合至 MCH102"DMI经由两个单向通道支持2千兆比特/秒的并发传输速率。ICH104可W包括存储输入/输出(I/O)控制器,用于控制与禪合至该ICH104的至 少一个存储设备112的通信。例如,该存储设备可W是盘驱动器、数字视频盘(DVD巧g动器、 光盘(CD巧g动器、独立冗余磁盘阵列(RAID)、带驱动器或者其它存储设备。ICH104可W使 用诸如串行连接小型计算机系统接口(SAS)或者串行高级技术附件(SATA)等的串行存储协 议来通过存储协议互联118与存储设备112进行通信。 在另一实施例中,网络接口控制器108可W包括在没有包括存储I/O控制器120的 ICH104中,或者可W包括在插入系统100的系统卡槽中的分离的网络接口卡上。 图2是示出了图1中所示的网络接口控制器108和存储器110的实施例的框图。网络 接口控制器108包括散列功能单元220、间接表230和多个硬件接收队列202。存储器110包括 操作系统内核280、滤波器驱动器210和网络设备驱动器(微端口驱动器)270。在一个实施例 中,散列功能单元220和间接表230包括在网络接口控制器("NIC')108中。在另一实施例中, 运些部件中的一些或者运些部件中的一些元件可W位于网络接口控制器108的外部。 在所示出的实施例中,微端口驱动器2 7 0和滤波器驱动器2 1 0是 Μicors她敏賴ndows⑩操作系统模型(WDM)的部件。WDM包括可W是类驱动器(C1aSS driver)或者微端口驱动器的设备功能驱动器。微端口驱动器支持特定类型的设备,例如, 特定的网络接口控制器108。滤波器驱动器210是可选的驱动器,其将值添加至或者修改功 能驱动器(微端口驱动器)270的行为。 网络驱动器接口规范(NDIS)是经由网络接口控制器110的应用程序接口(API)访 问的函数库。NDIS用作7层开放式系统互联(0SI)中的第二层(链路层)和第Ξ层(网络层)之 间的接口。库函数包括对象标识符(0ID)。 网络接口控制器108可W使用散列功能单元220中的散列函数,来通过所接收的网 络数据包中的散列类型(例如,头部中的一个或多个字段)计算散列值。散列值的多个最低 有效位可W用来对间接表230中的项进行索引,其中该间接表230中的项识别用于进行所接 收数据包的处理的处理器核屯、122(图1)并且识别用于存储所接收的数据包的多个接收队 列202中的一个。网络接口控制器108可W中断所识别的处理器核屯、122。 在实施例中,当每个网络数据包由网络接口控制器108接收时,与该网络数据包相 关联的"流"被确定。可W基于包括在数据包中的TCP头部和网际协议(IP)头部中的字段的 值,来确定传输控制协议(TCP)数据包的"流"。例如,该"流"的流标识符可W依赖于包括在 所接收网络数据包中的I本文档来自技高网...
【技术保护点】
一种方法,包括:监控多个处理单元中的每一个的低功率空闲状态;以及将指派给具有低功率空闲状态的处理单元的流适应性地重新指派给具有非低功率空闲状态的其它处理单元,以减少所述多个处理单元的能量消耗。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:CF·辛,JS·蔡,TY·C·泰,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。