网络接口卡多队列支持及RSS功能简要介绍
发布时间
阅读量:
阅读量
多队列网卡被设计为一种技术最初被设计用于解决网络IO QoS问题随后随着带宽持续提升单核CPU已无法完全满足其需求为此借助多队列网卡驱动实现将各个队列为不同核心分配中断从而能够更好地满足其性能需求
应用中常见的Intel公司的82575、82576网络接口卡,在服务器领域应用较多的是Intel 82575网卡。深入探讨了多队列网卡硬件架构的设计以及Linux内核软件的支持情况。
多队列网卡的硬件架构设计
图1.1 82575硬件逻辑图
RSS(接收侧缩放)是一种能够实现接收报文在多处理器系统中高效分配到各个CPU上的网络适配器技术
网卡接收 incoming packets并进行解码以获取包含IP地址、protocol以及port quintuple的信息。配置好的HASH function能够基于这些quintuple计算出对应的HASH value;此外该系统还支持基于部分quintuple(如2-4 elements)进行HASH计算以提高效率。为了提高查找效率取运算结果最低几位bit作为redirection table(RETA)的索引标识其中具体的位数取决于该网卡的设计参数。随后系统会按照RETA中记录的信息将数据转发至相应的CPU。下图展示了一个完整的处理流程:
利用RSS技术程序借助硬件在多个CPU之间实现数据流的分配。此外,在RETA上进行优化以实现实
全部评论 (0)
还没有任何评论哟~
