科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道路由交换10G以太网:不只是一个更大的管道(4)

10G以太网:不只是一个更大的管道(4)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

虽然虚拟机设备队列(Virtual Machine Devices Queues)解决了许多问题,但仍然还有一些CPU开销存在,每次CPU中断时,Hypervisor必须从Hypervisor空间将数据复制到VM内存空间。最早提出“统一通信”(UC, Unified Co…   教程专题系列:综合布线技术专题综合布线由不同系列和规格部件组成。

作者:佚名 来源:51cto 2010年12月7日

关键字: VMware 以太网

  • 评论
  • 分享微博
  • 分享邮件

  [导读]通过多队列技术,10G以太网的速度可以达到9Gbit/s,我们拿它和用4个千兆网卡端口链路集合进行对比,从性能和经济角度来看,四端口链路聚合(IEEE 802.3ad)被认为是"最佳点",但10G以太网比四端口链路集合解决方案消耗的CPU周期更少,并且速度也将近其2倍(9.5Gbit/s对比3.8Gbit/s),延迟也更小。

  英特尔使用VT-d,AMD使用新的IOMMU技术解决了这个问题,I/O集线器将虚拟或客户机OS假物理地址(紫色)转换成真实的物理地址(蓝色)。新的IOMMU通过给不同的设备分配不同的物理内存子集,实现了不同I/O设备相互隔离。

  虚拟服务器很少使用这项功能,因为它使虚拟机迁移变成不可能完成的任务,相反,它们是从底层硬件解耦虚拟机,直接将VM分配给底层硬件,因此AMD IOMMU和英特尔VT-d技术单独使用没有多大用处,这仅仅是I/O虚拟化难题的1/3。

  第二步:多队列

  接下来是使网卡变得更强大,而不是让Hypervisor对所有接收到的数据包进行排序,然后再发送给正确的VM,网卡变成一个完整的硬件开关,将所有数据包排序后放入多个队列,每个VM一个。

图 6 虚拟机多队列传输

  更少的中断和CPU负载。如果让Hypervisor处理数据包交换,这意味着CPU 0要被中断,检查接收到的数据包,并确定目标VM,目标VM和相关的CPU立即中断,使用网卡中的硬件开关,数据包被立即发送到正确的队列,相关CPU立即中断,并开始接收数据包。

  更短的延迟。单个队列负责接收和转发多个VM的数据包会受不了,因此可能会出现丢包,让每个VM拥有自己的队列,吞吐量更高,延迟更低。

  虽然虚拟机设备队列(Virtual Machine Devices Queues)解决了许多问题,但仍然还有一些CPU开销存在,每次CPU中断时,Hypervisor必须从Hypervisor空间将数据复制到VM内存空间。

  最后的难题:SR-IOV

  最后一步是给你多个队列设备中的每个队列添加一些缓冲区和Rx/Tx描述符,单块网卡可以伪装成数十个"小"网卡,这也是PCI SIG做的工作,它们称每个小网卡为一个虚函数(virtual functions,VF),根据PCI SIG SR-IOV规范,每块网卡最大可以提供256个虚函数(注意:SR-IOV规范不限于网卡,其它I/O设备也可以有SR-IOV功能)。

图 7 具有SR-IOV功能的网卡可以创建多个虚函数

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章