首页
学习
活动
专区
工具
TVP
发布

为什么云计算数据中心要使用25G TOR交换机?

从去年商用25G以太网交换芯片交付之后,各大网络设备厂商就开始向互联网行业的客户推荐25G以太网交换机。但是除了几个独角兽客户之外,很多其他的客户表示:我们不需要25G啊,10G还用不满呢!

卖方通常会用一个简单粗暴的算术题来讲解25G的好处:

你看,25G是10G的2.5倍带宽,但是25G交换机的价格却没有10G交换机的2.5倍哦,性价比更高!

但是买房在心里却会计算另外一个算术题:

我的10G网卡只跑了三五个G,换成25G也还是跑三五个G,多花一笔钱换25G网卡和交换机我不是傻么?

那么作为售前,应该怎样把这个故事讲好呢?今天就来胡思乱想一下,欢迎来留言打脸。

首先我发现了一个很有意思的数据报告,叫做Data Never Sleeps,数据永不眠。前几天向老板汇报的时候还是2017年的Version 5.0,今天再去看,2018年Version 6.0的报告已经发布了。完整的报告请移步至 http://t.cn/R1dIqwL

下面是2018年部分国外的互联网公司每分钟所生产的数据量的统计:

具体的数字就不再重复了,反正数据量很惊人。每分钟就会生产这么多,而且生产出来之后呢?

当然是存起来呀,肯定不会删掉的。

那么存起来之后呢?如果仅仅是存起来,上一套足够大的存储就行了。一套不够可以上N套。

但现实世界显然不是这么简单。

然后我又发现了另外一个好文章《终于有人把云计算、大数据和人工智能讲明白了!》,作者的公号是 @刘超的通俗云计算 ,文章地址在 http://t.cn/R1dJ0x5

这篇文章告诉我们,单纯的数据是没有意义的。需要将数据进行清洗,找出有价值的数据;然后将数据进行梳理,找到数据之间的联系和规律,形成知识,这就是大数据;再然后,要将知识运用到预测和判断上面,形成智慧,这就是AI。要不然,你觉得那些广告和小视频是怎么推送给你的?那些美颜相机是怎么让你变漂亮的?

而在数据在云计算数据中心里面流转的过程中,就涉及到数据的传输,所以有了分布式队列;涉及到海量数据的计算,所以有了分布式计算;涉及到数据的存储,所以有了分布式存储。

分布式意味着什么呢?意味着多副本,对数据量进行了放大;意味着参与计算的节点多了,其中某一个节点或者某一个步骤的延时增大,都会导致整个计算工作的速度变慢。

下面是在必应搜索引擎点击搜索按钮之后发生的事情,一个搜索动作会产生150多个计算步骤,最长的路径超过10个节点。大家感受一下。

图片来源:Talk on “Speeding up Distributed Request-Response Workflows”

by Virajith Jalaparti at ACM SIGCOMM’13

分布式存储和并行计算技术现在已经成为互联网公司的标配,对数据传输速度和网络延时的追求应该是无法节制的,因为更快意味着用户体验更好,意味着更有效率,意味着资源利用率更高,意味着更加节省成本。

本着对“更快”的追求,计算科学家们为服务器增加了GPU来进行浮点运算,减轻CPU的压力;研究出了基于内存的计算技术,基于缓存的数据库,增强NFV转发性能的DPDK;还有SSD、NVMe硬盘等等。这些都使得服务器在单位时间内能够吞吐的数据量变多了。

另外一个最近很火的加速技术就是RDMA over Commodity Ethernet。它是一种Kernel bypass的技术,无需操作系统和协议栈的介入,直接在两个端点的应用软件之间实现Buffer的直接传递,所以可以提高I/O性能,降低CPU利用率。

几年前Azure就采用Mellanox的方案在存储区域部署了RDMA网络,成本相比FC SAN节省了50%:

相比于TCP/IP,RDMA的IOPS提高了28%,读延时降低了28%,写延时降低了36%,CPU使用效率提升了27%。数据来源:To RDMA, or not to RDMA – that is the question. March 27, 2017 by clausjor 网址:http://t.cn/R1dDbWs

而Azure做的事情也不仅是RDMA这一件,还有SR-IOV(Single root I/O virtualization)。微软从Windows Server 2012开始支持SR-IOV,它是一种PCIe的虚拟化技术,可以把一块PCIe网卡虚拟成多个网卡,直通给VM使用。使用SR-IOV技术会使处理器利用率和网络延迟降低50%,而且会增加30%的网络吞吐率。因此可以在不增加投资的情况下,让服务器支持更多的虚拟机,或者在高I/O负载的机器上更好地运行VM。

图片来源:http://t.cn/R1gANMF

此外,云计算数据中心的分布式网络基于VXLAN或NVGRE,需要vSwitch承担VTEP的工作,对报文进行隧道封装和解封装。这些工作都是由CPU来完成的。Azure自研了具备FPGA可编程芯片的SmartNIC,目的是解放CPU,将这些工作卸载到网卡来完成,支持SR-IOV,还可以对RDMA进行优化。

使用SmartNIC将NVGRE Offload之后,同一个Cluster内,VM到VM的带宽可以从4Gbps提升到18Gbps(终于有一个超过10Gbps的数据了~):

图片来源:http://t.cn/R1gcPX2

废了好大劲,终于说明万兆网络不够用,应该升级。然后我们会发现,上面关于Azure的报告,用的都是40G网卡!那为什么要用25G?

在技术层面,这篇《为什么是25G?》http://t.cn/R1gcCeg 说的很明白,因为25G和PHY层的SerDes速率更匹配,兼容10G的光纤,对PCIe通道的利用效率也更高。而40G实际上是4个10G,需要升级布线系统,对PCIe的利用效率比较低。

这一切都会体现在价格上。根据IDC的报告,万兆端口每端口的价格是$147,而25G端口每端口的价格是$113。不明白这个数据是怎么得出来的,至少在国内,25G交换机的价格相对来说还比较贵,每端口的成本肯定比万兆端口高很多。换算成每Gbit的价格,差异就更大了。万兆端口每千兆带宽的价格是$14.7,而25G端口每千兆带宽的价格只有$4.51

图片来源:http://t.cn/R1gIdA6

所以40G以太网只是一个过渡,25G以太网才是未来。事实上,Azure现在也研发了25G/50G的SmartNIC,各大云厂商也都提供25G网卡的服务器实例,针对视频类、游戏类和并行计算的客户。

故事讲到这里就差不多了,如果是视频类或游戏类的应用,客户比较容易接受万兆网卡不够用的事实。对于其他的客户,现在万兆网卡的带宽还比较富裕说明加速工作做得还不够。需要对其进行Guidence,建议他们采用RDMA技术来加速Hadoop、Spark,加速AI计算环境的GPU Direct,加速Ceph、HDFS等等。如果有条件就采用FPGA卡。

不过说点丧气的,传统设备厂商对客户做这方面的引导,非常挑战。只有当客户自己有采用RDMA的意愿,再去讲交换机能够支持DCB、PFC、ECN,支持带内网络遥测、gRPC、ERSPAN等技术,才能起到更好的效果。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180606G2291X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券