多个描述符队列( Multiple Descriptor Queues )
为了在多处理器核之间分摊工作负载,会通过接收端扩展(Receive-Side Scal-ing, RSS)、根据媒介访问控制(Media Access Control, MAC)地址筛选或者使用虚拟 LAN 标签对网络通信量流进行划分。 不同的处理器核上运行的驱动程序线程可以访问报文分组队列,以便多核可以并行处理网络报文分组。 Intel 10GbE 适配器的 32 个传输队列以及 64 个接收队列可以映射到最多 16 个处理器核上。 对于装有若干多核处理器的服务器而言,多个描述符队列有利于实现功能强大的负载平衡功能。 Intel 82575 1GbE适配器拥有 4 个传输队列及 4 个接收队列。
接收端扩展( Receive-Side Scal-ing, RSS )
为了确定出对传入的报文分组使用哪些队列,系统上驻留的、使用 Microsoft® Win-dows Server® 2003 或者 Windows Vista® 操作系统的网络适配器会使用 RSS,在无需重新排序的情况下将报文分组引导到不同的队列。 (在使用 Linux® 操作系统的系统上,这一技术称为可扩展的 I/O)。 RSS 具有智能化的报文分组分发处理功能,并也是可编程的。 因此,使用多个队列的网络控制器可以有效地将多个 TCP/IP 流引导到不同的处理器核进行处理。
消息信号中断扩展(Message-Signaled Interrupts Extended,MSI-X)
作为 PCI Express(PCIe)标准的部分内容,MSI-X 技术可促进队列以及特定处理器核之间的效率,让网络适配器硬件在网络报文分组放置在处理器队列时将中断引导到标明的核。 通过这种方法,MSI-X 对标准 MSI 提供十分重要的增强功能,仅将中断传递到单个处理器核。 Intel 82575 1GbE/ 82598 10GbE 适配器可为每个队列提供可控制的一系列 MSI-X 中断矢量,提供高效的报文分组管理,调整处理器负载。
Intel 虚拟计算机设备队列(Virtual Machine Device Queues,VMDq)
VMDq 提供多个硬件队列以及卸载功能,降低多个 VM 之间共享单个网络控制器方面的软件开销。 此前,虚拟软件模拟的网络交换机会将报文分组逐一地进行分类,并路由到 VM。 这种流程通常会导致网络报文分组处理出现巨大的延迟。 通过使用 VMDq,各个硬件队列都与运行 VM 的模拟网络接口联系在一起。 网络控制器自身完成所接收报文分组的路由,从而大幅度地降低开销。 VMDq 也可用在传出 VM 报文分组上,提供流畅的传输,避免单个 VM 阻止对于控制器的访问。
Intel I/O 加速技术(Intel® I/O Acceleration Technology, I/OAT )
Intel 82598 10GbE 适配器还配有 Intel I/O 加速技术,通过重定向标头处理和加速报文分组组件的内存存取优化带宽。
Intel® 82575 Gigabit Ethernet Controller
www.intel.com/design/network/products/lan/controllers/82575EB.htm
Intel® 82598 10 Gigabit Ethernet Controller
www.intel.com/design/network/products/lan/controllers/82598.htm