再聊数据中心网络

fc6bf335ddc97d1eef3110214c616646.gif

作者 | 鲜枣课堂

来源 | 小枣君

本着“将通信科普到底”的原则,今天,我再继续聊一下这个话题。

故事还是要从头开始说起。

1973年夏天,两名年轻的科学家(温顿·瑟夫和罗伯特卡恩)开始致⼒于在新⽣的计算机⽹络中,寻找⼀种能够在不同机器之间进行通讯的⽅法。

不久后,在一本黄⾊的便签本上,他们画出了TCP/IP协议族的原型。

dedb8abd38d5a0682cb954f50af49f54.png

几乎在同时,施乐公司的梅特卡夫和博格思,发明了以太网(Ethernet)。

我们现在都知道,互联网的最早原型,是老美搞出来的ARPANET(阿帕网)。

ARPANET最开始用的协议超烂,满足不了计算节点规模增长的需求。于是,70年代末,大佬们将ARPANET的核心协议替换成了TCP/IP(1978年)。

进入80年代末,在TCP/IP技术的加持下,ARPANET迅速扩大,并衍生出了很多兄弟姐妹。这些兄弟姐妹互相连啊连啊,就变成了举世闻名的互联网。

可以说,TCP/IP技术和以太网技术,是互联网早期崛起的基石。它们成本低廉,结构简单,便于开发、部署,为计算机网络的普及做出了巨大贡献。

01a1841911a5b1b11ad6e50dafa1791f.png

但是后来,随着网络规模的急剧膨胀,传统TCP/IP和以太网技术开始显现疲态,无法满足互联网大带宽、高速率的发展需求。

最开始出现问题的,是存储

早期的存储,大家都知道,就是机器内置硬盘,通过IDE、SCSI、SAS等接口,把硬盘连到主板上,通过主板上的总线(BUS),实现CPU、内存对硬盘数据的存取。

后来,存储容量需求越来越大,再加上安全备份的考虑(需要有RAID1/RAID5),硬盘数量越来越多,若干个硬盘搞不定,服务器内部也放不下。于是,就有了磁阵。

ac4d60ef31cbbc917f9c72a9097abe89.png

磁阵,磁盘阵列

磁阵就是专门放磁盘的设备,一口子插几十块那种。

硬盘数据存取,一直都是服务器的瓶颈。开始的时候,用的是网线或专用电缆连接服务器和磁阵,很快发现不够用。于是,就开始用光纤。这就是FC通道(Fibre Channel,光纤通道)。

2000年左右,光纤通道还是比较高大上的技术,成本不低。

当时,公共通信网络(骨干网)的光纤技术处于在SDH 155M、622M的阶段,2.5G的SDH和波分技术才刚起步,没有普及。后来,光纤才开始爆发,容量开始迅速跃升,向10G(2003)、40G(2010)、100G(2010)、400G(现在)的方向发展。

光纤不能用于数据中心的普通网络,那就只能继续用网线,还有以太网。

好在那时服务器之间的通信要求还没有那么高。100M和1000M的网线,勉强能满足一般业务的需求。2008年左右,以太网的速率才勉强达到了1Gbps的标准。

2010年后,又出幺蛾子。

除了存储之外,因为云计算、图形处理、人工智能、超算还有比特币等乱七八糟的原因,人们开始盯上了算力。

摩尔定律的逐渐疲软,已经无法支持CPU算力的提升需求。牙膏越来越难挤,于是,GPU开始崛起。使用显卡的GPU处理器进行计算,成为了行业的主流趋势。

得益于AI的高速发展,各大企业还搞出了AI芯片、APU、xPU啊各自五花八门的算力板卡。

算力极速膨胀(100倍以上),带来的直接后果,就是服务器数据吞吐量的指数级增加。

除了AI带来的变态算力需求之外,数据中心还有一个显著的变化趋势,那就是服务器和服务器之间的数据流量急剧增加。

互联网高速发展、用户数猛涨,传统的集中式计算架构无法满足需求,开始转变为分布式架构

1cb8c05d0f7ff80cc37715437e86f12a.png

举例来说,现在618,大家都在血拼。百八十个用户,一台服务器就可以,千万级亿级,肯定不行了。所以,有了分布式架构,把一个服务,放在N个服务器上,分开算。

分布式架构下,服务器之间的数据流量大大增加了。数据中心内部互联网络的流量压力陡增,数据中心与数据中心之间也是一样。

这些横向(专业术语叫东西向)的数据报文,有时候还特别大,一些图形处理的数据,包大小甚至是Gb级别。

综上原因,传统以太网根本搞不定这么大的数据传输带宽和时延(高性能计算,对时延要求极高)需求。所以,少数厂家就搞了一个私有协议的专用网络通道技术,也就是Infiniband网络(直译为“无限带宽”技术,缩写为IB)。

19dc449b00cfc3a1025438e86415d730.png

FC vs IB vs 以太网

IB技术时延极低,但是造价成本高,而且维护复杂,和现有技术都不兼容。所以,和FC技术一样,只在特殊的需求下使用。

算力高速发展的同时,硬盘不甘寂寞,搞出了SSD固态硬盘,取代机械硬盘。内存嘛,从DDR到DDR2、DDR3、DDR4甚至DDR5,也是一个劲的猥琐发育,增加频率,增加带宽。

处理器、硬盘和内存的能力爆发,最终把压力转嫁到了网卡和网络身上。

375b64ace7bca60a4d6205645dea4be8.png

学过计算机网络基础的同学都知道,传统以太网是基于“载波侦听多路访问/冲突检测(CSMA/CD)”的机制,极容易产生拥塞,导致动态时延升高,还经常发生丢包。

TCP/IP协议的话,服役时间实在太长,都40多年的老技术了,毛病一大堆。

举例来说,TCP协议栈在接收/发送报文时,内核需要做多次上下文切换,每次切换需要耗费5us~10us左右的时延。另外,还需要至少三次的数据拷贝和依赖CPU进行协议封装。

这些协议处理时延加起来,虽然看上去不大,十几微秒,但对高性能计算来说,是无法忍受的。

除了时延问题外,TCP/IP网络需要主机CPU多次参与协议栈内存拷贝。网络规模越大,带宽越高,CPU在收发数据时的调度负担就越大,导致CPU持续高负载。

按照业界测算数据:每传输1bit数据需要耗费1Hz的CPU,那么当网络带宽达到25G以上(满载)的时候,CPU要消费25GHz的算力,用于处理网络。大家可以看看自己的电脑CPU,工作频率是多少。

那么,是不是干脆直接换个网络技术就行呢?

不是不行,是难度太大。

CPU、硬盘和内存,都是服务器内部硬件,换了就换了,和外部无关。

但是通信网络技术,是外部互联技术,是要大家协商一起换的。我换了,你没换,网络就嗝屁了。

全世界互联网同时统一切换技术协议,你觉得可不可能?

不可能。所以,就像现在IPv6替换IPv4,就是循序渐进,先双栈(同时支持v4和v6),然后再慢慢淘汰v4。

数据中心网络的物理通道,光纤替换网线,还稍微容易一点,先小规模换,再逐渐扩大。换了光纤后,网络的速度和带宽上的问题,得以逐渐缓解。

网卡能力不足的问题,也比较好解决。既然CPU算不过来,那网卡就自己算呗。于是,就有了现在很火的智能网卡。某种程度来说,这就是算力下沉。

搞5G核心网的同事应该很熟悉,5G核心网媒体面网元UPF,承担了无线侧上来的所有业务数据,压力极大。

c8a873616a9c9a942ff9535053f01fc7.png

现在,UPF网元就采用了智能网卡技术,由网卡自己进行协议处理,缓解CPU的压力,流量吞吐还更快。

如何解决数据中心通信网络架构的问题呢?专家们想了半天,还是决定硬着头皮换架构。他们从服务器内部通信架构的角度,重新设计一个方案。

在新方案里,应用程序的数据,不再经过CPU和复杂的操作系统,直接和网卡通信。

这就是新型的通信机制——RDMA(Remote Direct Memory Access,远程直接数据存取)。

9f3f0fc2e8a2738e17c2fe1f966b0b7c.png

RDMA相当于是一个“消灭中间商”的技术,或者说“走后门”技术。

RDMA的内核旁路机制,允许应用与网卡之间的直接数据读写,将服务器内的数据传输时延降低到接近1us。

同时,RDMA的内存零拷贝机制,允许接收端直接从发送端的内存读取数据,极大的减少了CPU的负担,提升CPU的效率。

RDMA的能力远远强于TCP/IP,逐渐成为主流的网络通信协议栈,将来一定会取代TCP/IP。

RDMA有两类网络承载方案,分别是专用InfiniBand传统以太网络

7990ecd737544323d5f7ce58a9089918.png

RDMA最早提出时,是承载在InfiniBand网络中。

但是,InfiniBand是一种封闭架构,交换机是特定厂家提供的专用产品,采用私有协议,无法兼容现网,加上对运维的要求过于复杂,并不是用户的合理选择。

于是,专家们打算把RDMA移植到以太网上。

比较尴尬的是,RDMA搭配传统以太网,存在很大问题。

RDMA对丢包率要求极高。0.1%的丢包率,将导致RDMA吞吐率急剧下降。2%的丢包率,将使得RDMA的吞吐率下降为0。

660ca5efcadd2b7ad589f7f9d2c5c7ec.png

InfiniBand网络虽然贵,但是可以实现无损无丢包。所以RDMA搭配InfiniBand,不需要设计完善的丢包保护机制。

现在好了,换到传统以太网环境,以太网的人生态度就是两个字——“摆烂”。以太网发包,采取的是“尽力而为”的原则,丢包是家常便饭,丢了就再传。

于是,专家们必须解决以太网的丢包问题,才能实现RDMA向以太网的移植。再于是,就有了前天文章提到的,华为的超融合数据中心网络智能无损技术

说白了,就是让以太网做到零丢包,然后支撑RDMA。有了RDMA,就能实现超融合数据中心网络。

值得一提的是,引入AI的网络智能无损技术是华为的首创,但超融合数据中心,是公共的概念。除了华为之外,别的厂家(例如深信服、联想等)也讲超融合数据中心,而且,这个概念在2017年就很热了。

什么叫超融合?

准确来说,超融合就是一张网络,通吃HPC高性能计算、存储和一般业务等多种业务类型。处理器、存储、通信,全部都是超融合管理的资源,大家平起平坐。

超融合不仅要在性能上满足这些低时延、大带宽的变态需求,还要有低成本,不能太贵,也不能太难维护。

未来,数据中心在整体网络架构上,就是叶脊网络一条路走到黑。路由交换调度上,SDN、IPv6、SRv6慢慢发展。微观架构上,RDMA技术发展,替换TCP/IP。物理层上,全光继续发展,400G、800G、1.2T…

我个人臆测,目前电层光层的混搭,最终会变成光的大一统。光通道到全光交叉之后,就是渗透到服务器内部,服务器主板不再是普通PCB,而是光纤背板。芯片和芯片之间,全光通道。芯片内部,搞不好也是光。

ad1995d7b4a1a9f85a1f9c25af0eaae2.png

光通道是王道

路由调度上,以后都是AI的天下,网络流量啊协议啊全部都是AI接管,不需要人为干预。大量的通信工程师下岗。

好了,关于数据中心通信网络的介绍就是这么多。不知道大家这次有没有看明白?

没看明白的话,就再看一次。aaf66736b67d3b66051d1be53133c4e6.png

ccac1191e18cdfe61d5cf7e29555deac.gif

197987dd72d52200f79461dd7cfd8f37.png

往期推荐

如何跨 Namespace 同步 Secret 和 ConfigMap?

掘地三尺搞定 Redis 与 MySQL 数据一致性问题

Redis 内存满了怎么办?这样置才正确!

云原生的本手、妙手和俗手

e9e9f094b0e38f4148be7100f8dfae75.gif

点分享

cb2c93b663e5f2b487c4cb641a25f556.gif

点收藏

2c3440988a2bd5004ea13ef754576b45.gif

点点赞

7fdf8d21b7aae628c9bcdb419263c4af.gif

点在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面向中后台复杂场景的低代码实践思路

简介:现实中,业务场景多,迭代频繁,变化快到跟不上,规则可能由多人掌握,无法通过一个人了解全貌; 还有业务所在行业固有的复杂度和历史包袱,这些问题都会让我们感到痛苦。 除了逻辑问…

阿里云发布云数据中心专用处理器CIPU, 构建新一代云计算架构体系

6月13日,阿里云智能总裁张建锋在峰会上正式发布CIPU(Cloud infrastructure Processing Units),这是为新型云数据中心设计的专用处理器,未来将替代CPU成为云计算的管控和加速中心。 在这个全新体系架构下,C…

Java依赖冲突高效解决之道

简介:由于阿里妈妈联盟团队负责业务的特殊性,系统有庞大的对外依赖,依赖集团六七十个团队服务及N多工具组件,通过此文和大家分享一下我们积累的一些复杂依赖有效治理的经验,除了简单技术技巧的总结外,也会探…

多分支集成发布各种坑怎么填?

简介:一文为你详细介绍云效分支模式的原理及实践,云效 Flow 这套灵活高效的分支模式可以让用户只关心集成和发布哪些特性分支,而对发布分支创建和管理、分支间合并等一系列工作,托付给云效完成。 小明的研发团队要发布一个版本&a…

Gartner:中国企业构建边缘计算解决方案最佳实践

作者 | Gartner研究总监 李晶 供稿 | Gartner 随着中国企业数字化成熟度和渗透度的不断提升,基础设施和运营 (I&O) 团队和领导者所需要提供的数字基础设施的位置也在逐渐增加,从云端、数据中⼼,延伸到了⽹络边缘,并且每个位置…

php生成pdf文档,PHP生成PDF文件类库大全[开源]

虽然 PHP 有附 PDFlib ,不过使用起来实在有点复杂。(PHP 说明文件中的范例)FPDF虽然现在已经停止更新了,但 FPDF 可谓是元老级的 PDF 链接库,短短的几行程序就可以产生出 PDF 档案。最可怕的是现今的PHP PDF 链接库大多是由 FPDF 衍生出来的。…

从阿里核心场景看实时数仓的发展趋势

简介:随着2021年双11的完美落幕,实时数仓技术在阿里双11场景也经历了多年的实践和发展。从早期的基于不同作业的烟囱式开发,到基于领域分层建模的数仓引入,再到分析服务一体化的新型融合式一站式架构,开发效率逐步提升…

QUIC技术创新 让视频和图片分发再提速

简介:在1月12日的「阿里云CDN产品发布会-新一代传输协议QUIC让CDN更快一步」之上,阿里云技术专家淮叶分享了QUIC技术及其应用落地实践,内容包含:QUIC协议介绍、相比TCP有哪些优势、应用场景以及技术落地实践中的协议库选择&#x…

Spring Boot Serverless 实战 | Serverless 应用的监控与调试

简介:Spring Boot 是基于 Java Spring 框架的套件,它预装了 Spring 的一系列组件,让开发者只需要很少的配置就可以创建独立运行的应用程序。在云原生的环境中,有大量的平台可以运行 Spring Boot 应用,例如虚拟机、容器…

一文读懂 Serverless 的起源、发展和落地实践

简介:Serverless 适合哪些业务场景?它可以对业务产生何种价值呢? 讲师 | 洛浩(阿里云云原生高级架构师) Serverless 的发展轨迹 2012 年,Serverless 这个单词第一次出现,由 Iron 公司提出&…

Mendix:数字化转型下一个目标,提供准时制信息

作者 | Mendix公司首席低代码解决方案官Jethro Borsje 供稿 | Mendix 从孤立系统到支持决策的信息体系 二十世纪下半叶,丰田开发的“Toyota Production System”(TPS)曾帮助公司提高了效率并能快速生产出高质量的汽车,TPS的价值得…

实战经验 | 怎样才能提升代码质量?

简介:提升代码质量的三个有效方法:领域建模、设计原则、设计模式。 影响代码差的根因 差代码的体现 我们可以列举出非常多质量差的代码的表现现象,如名字不知所意、超大类、超大方法、重复代码、代码难懂、代码修改困难……其中最为影响代码…

zblog php 静态化,ASP版ZBLOG全站静态化

现在好像很多人已经转战PHP版的ZBLOG阵营了,不过对于我建的小博客来说,ASP版的更加简单便捷,完全够用了。ASP版程序自带的文章页面静态化功能加上YTBuild这个插件可以实现全站静态化(文章页面纯静态化,其他页面伪静态化)&#xff…

简单、有效、全面的Kubernetes监控方案

简介:近年来,Kubernetes作为众多公司云原生改造的首选容器化编排平台,越来越多的开发和运维工作都围绕Kubernetes展开,保证Kubernetes的稳定性和可用性是最基础的需求,而这其中最核心的就是如何有效地监控Kubernetes集…

如何优雅保护 Kubernetes 中的 Secrets

来源 | 进击云原生现如今开发的大多数应用程序,或多或少都会用到一些敏感信息,用于执行某些业务逻辑。比如使用用户名密码去连接数据库,或者使用秘钥连接第三方服务。在代码中直接使用这些密码或者秘钥是最直接的方式,但同时也带来…

智能巡检告警配置实践

简介:智能异常分析的检测结果通过 SLS 告警功能输出到用户配置的通知渠道。在智能巡检场景中,单个任务往往会巡检大量的实体对象,涉及到的对象规则很多,我们通过SLS新版告警可以实现较好的对于巡检事件的管理。 智能异常分析的检…

基于链路思想的SpringBoot单元测试快速写法

简介:本文更偏向实践而非方法论,所提及的SpringBoot单元测试写法亦并非官方解,仅仅是笔者自身觉得比较方便、效率较高的一种写法。每个团队甚至团队内的每位开发可能都有自己的写法习惯和风格,只要能实现单元测试的效果&#xff0…

access数据库文件导入mysql数据库文件怎么打开,Access数据库从外部数据导入文本文件和VF数据库-dbf文件怎么打开...

亲爱的小伙伴们,我们又见面了!上一期我们学习了Access数据库从外部数据导入Excel文件,下图学生成绩表2就是我们新导入的数据:导入Excel文件今天我们来学习如何从外部数据导入文本文件和VF数据库。导入文本文件:我们点击…

数据在网络中是如何传输的

作者 | 杰哥来源 | 杰哥的IT之旅你有想过吗,在计算机网络当中,数据是怎么样保证准确的从客户端发送到服务器端的?中间涉及到了哪些理论?01 客户端各层对数据的封装 java实现客户端的代码如下:应用层会指定发送的服务器…

龙蜥利器:系统运维工具 SysAK的云上应用性能诊断 | 龙蜥技术

简介:本文从大量的性能诊断实践出发,来介绍 SysAK 在性能诊断上的方法论及相关工具。 文/张毅:系统运维SIG核心成员、SysAK 项目负责人;毛文安:系统运维 SIG 负责人。 系统运维既要业务稳定的运行,又要最大…