- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
提升多核系统的网络性能
提升多核系统的网络性能
响应下一代数据中心的需求
现在,运行在Intel平台的多核处理器系统的应用不仅需要更大的网络带宽,还需要对网络数据进行更有效的处理。这些系统的低功耗和强大的处理能力被IT部门用来处理比以前更多的数据。随着服务器虚拟化的加强,大容量数据和实时声音以及视频点播的增长,带宽将增长到10GB,对CPU处理需求的增长也会继续。
Intel的下一代千兆以太网和万兆以太网控制器有很多特点,它们对Intel新的处理器平台进行了优化,并且满足下一代数据中心的网络需求。通过使用一些技术,比如接收端缩放,扩展消息队列,多队列,以及用于分布式网络中多处理器核的虚拟机设备队列,从而降低CPU的使用率并且提高应用程序的响应速度。这些技术也使得虚拟化服务器性能得到显著提升。改进的性能不仅仅是增加带宽,还包括降低CPU使用率和延迟。
在以前的平台中,应用程序的数据请求与单处理器以及处理顺序有关,可以提高CPU的利用率和降低繁重网络负载下的系统性能。图1表示上一代平台中典型的数据流网络场景。
仅仅提高系统的带宽无法提升性能。事实上,增加网络控制器的数目只会使问题更严重:数据包的增多会使得CPU有更多的处理障碍,按比例提升延迟。
解决问题
为了解决这些性能问题,英特尔82575万兆以太网控制器和英特尔82598万兆以太网控制器依靠几个关键功能来分配整个内核中的数据包处理。这些技术协同工作建立独立的数据包队列,以及到达正确队列的直接网络数据包,将队列映射到一个处理器核心或虚拟机,便于系统、队列和内核之间的相互作用。
控制器支持的关键技术如下:
? 多描述符队列
? 接收端缩放(RSS)
? 虚拟机设备队列(VMDq)
? 扩展消息信号中断(MSI-X)
下面来详细讲述这些技术:
多描述符队列
控制器中的多个发送和接受队列允许网络业务流被分配到队列。这些队列可以和特定的处理器内核相关联,从而允许工作量的分派以及防止单处理器任务量过重。运行在不同处理器内核的驱动器线程可以访问包的队列,从而使得多个内核可以并行处理网络数据包。
可以用两种方式将数据包引导到各自的队列中:
? 接收端缩放(RSS),有一个将队列映射到处理器内核的表。
? 虚拟机设备队列(VMDq),使用MAC地址或者VLAN标记将数据过滤进入队列中
Intel 82757千兆以太网控制器允许每个端口有四个发送队列和接受队列。Intel 82598万兆以太网控制器每个端口提供32个传输队列和64个接受队列,最多可以被映射到16个处理器内核。从而使得多处理器核的服务器上的大数据容量平衡。
接收端收缩(RSS)
为了确定用来接收传入数据包的队列,Windows* Server 2003或Windows Vista*中的驻留控制器可以使用接收端收缩(RSS)技术(在Linux系统上,这种技术被称为可扩展的I/O)。RSS可以在不重新排序的情况下将数据包引导到不同的队列。传入的数据包首先被分隔成流。给定包的专用流由数据包头计算出的哈希值确定。所得的哈希值用于表格的查找,从而确定数据包应该指向哪个流或者队列。哈希值也用于选择特定的处理器来处理包的数据,从而保证按顺序处理数据包。
RSS在分组处理以及包的分布上是很聪明的,并且可以被编程。因此,它的合理使用可以使得有多个队列的控制器可以高效的指挥多个TCP/IP流到不同的处理器内核进行处理。Intel 82757千兆以太网以及Intel 82598万兆以太网控制器都支持RSS。
虚拟机设备队列(VMDq)
将流引导到不同内核的能力是支持虚拟化的重要技术。这种设计使得模拟网络控制器的监控程序托管的虚拟机依靠专用的由内核处理的网络流。因此,当多个虚拟机在使用的时候,它们可以在使用自己的私有处理包流的同时共享控制器端口,这是一中极大地提高了虚拟性能的解决方案。
Intel的虚拟机设备队列技术提供了多种硬件队列和卸载的功能,可以用来降低共享多个虚拟机之间的一个网络控制器时的软件开销。在这个技术出来之前,虚拟化平台中仿真的网络交换机将数据包进行排序并且指向各自的虚拟机。这种方法使得在网络分组中存在严重的延迟。使用CMDq技术,每个硬件队列都和运行中的虚拟机的模拟网络接口相关联,所以控制器本身执行接收数据包的路由,从而降低了很多开销。这项技术也可以为送出去的VM包提供传输公平性并且可以避免单个VM阻止访问控制器。
扩展消息信号中断(MSI-X)
队列和特定的处理器内核进行有效沟通的能力由MSI-X提供。MSI-X是下一代的MSI,它可以将中断传递到单个处理器内核。相反,MSI-X提供多个中断向量,允许同时处理多个中断,并且多个内核负载平衡。这种改进有助于提高CPU利用率和降低延迟。Intel 82575千兆以太网控制
文档评论(0)