Google B4 论文阅读一

目录

一、B4网络介绍

1. 全局控制层(global)

2. 局部网络控制层(site controllers)

3. 物理设备层(switch hardware)

二、B4网络的效果

三、B4网络的改进和展望


说在前面,博客上有很多人已经写了关于B4的文章,所以我也在怀疑要不要再次重复写一遍。昨天听了华为的HDC.Cloud开发者大会学校分会场,回答了问题奖励了一本《鲲鹏处理器架构与编程》,会上华为的技术专家在讲华为自研的轻量级容器引擎iSula时就说:“Docker已经流行很多年了,并且功能也非常强大了,但是华为为什么还要自研,是否是重复造轮子呢?” 我本来想这应该也是华为布局的一部分吧,避免遭到更多的制裁而无法继续相应业务,但是华为技术专家的回答是“需求驱动”,因为iSula不仅能够启动更快,更节省内存空间,还能适应IOT、边缘计算等多场景。我也想说的是,我的方向不是计算机网络的,这个很多也借鉴了网上的内容,毕竟论文内容讲的就是那些,就像iSula也完全兼容Dockefile的语法,我写也是为了让自己了解的更多一些,才疏学浅,共同学习,争取每周分享一到两篇内容,欢迎批评指正,谢谢。

论文名:B4: Experience with a Globally-Deployed Software Defifined WAN

一、B4网络介绍

Google的数据中心之间传输的数据可以分为三大类:

            1、用户数据远程数据中心备份,如邮件、文档、音视频文件等;

            2、跨数据中心的分布式存储访问,例如计算资源和存储资源分布在不同的数据中心;

            3、大规模的跨数据中心的数据同步。

这三大类从前往后数据量依次变大,对延时的敏感度依次降低,优先级依次变低。这些都是B4网络改造中涉及到的流量工程(TE,Traffic Engineering)部分所要考虑的因素。最为关键的是B4之前的WAN的链路带宽利用率只有30%-40%,而为了保证高可靠性,对每个字节数据都是平等对待,没有面对流量激增较好的负载均衡措施,依靠的是付出昂贵的代价来增加2-3倍带宽和高端的路由设备。同时数据链路上的转发失败信息全部被屏蔽,使得应用程序无法得到消息,也没有相关中央设备对路由线路重新规划,而只是依靠竞争策略来不断抢占数据通路。

因此Google就提出了基于SDN和OpenFlow的B4网络,来相应地解决弹性带宽需求、到达适中的站点数量、有能力处理终端应用和网络问题,并且不至于太高的成本。还有就是可以让新的协议在网络设备中快速迭代、简化测试环境、有中央TE服务器来规划容量和路由策略、网络中心简化管理。

下面来介绍B4的架构,如图1. B4架构[1]。

                                                

                                                                                                    图1. B4架构[1]

谷歌对于B4网络系统的设计可分类三个层次:全局控制层(global),局部网络控制层(site controllers)和物理设备层(switch hardware)。

1. 全局控制层(global)

全局的TE Server通过SDN Gateway从各个数据中心(Site A、Site B、Site C)的控制器收集并掌握个站点的链路信息。TE Server获取各站点链路信息后,根据SDN Gateway上报的拓扑和链路情况以及bandwidth情况,计算出最优路径(即每个流映射到对应的tunnel)和需要分配对应的带宽,把这些信息通过SDN Gateway下发到站点的Controller,再由OFC(OpenFlow Controller)下发到OpenFlow交换机(OFA Switch)的TE转发表(ACL)中进行转发,这些ACL转发表项优先级高于LPM路由表。如下图2.,选择器(selector)就选择了ACL Table中的Multiple table index =0,entries=2这个表项。

                                                          

                                                                                          图2. 在交换机上最短路径转发[1]

 

2. 局部网络控制层(site controllers)

每个数据中心(stie)有一组controller用来控制该数据中心WAN网的交换机,一个controller可以控制多台交换机,而一个交换机也可以连接到多个controller,因此需要Paxos算法来进行master选举,作为处于工作状态的主用controller。在Controller中,RAP(Routing Application Proxy)作为SDN应用与Quagga(三层路由协议栈,支持多路由协议)通信。Controller收到交换机送上来的路由协议报文和链路状态变化通知时,把自己管理的信息通过RAP传递给Quagga协议栈,Quagga计算出路由方案后在controller中保留一份,放在RIB中,同时下发到交换机中,如下图3.。

                                                                 

                                                                                      图3. 集成路由和OpenFlow控制[1]

站点controller中的TE Agent作用是与全局Gateway通信,每个OpenFlow交换机的链路状态信息都会通过TE Agent发送到全局Gateway中,全局Gateway汇总后,发送给TE Server进行路径和带宽信息计算。

3. 物理设备层(switch hardware)

B4网络中,数据中心内部的路由器运行eBGP路由协议,与他数据中心WAN里面的设备之间运行iBGP路由协议。

B4网络中的物理交换机运行OpenFlow协议。OpenFlow协议用来描述OFC和OpenFlow交换机之间交互信息的接口标准。参考图3. 集成路由和OpenFlow控制。图4. 交换机实体及其物理拓扑[1],谷歌强大的一点可能就是它研究东西只要能做到最好那怕自己重新设计一个交换机,下图应该是谷歌设计的采用经典CLOS架构的Saturn交换机。

                                                         

                                                                                     图4. 交换机实体及其物理拓扑[1]

二、B4网络的效果

谷歌针对TE算法中最大可用路径数和分流量化大小进行了实验。如下图5. TE全局吞吐量的提升比例[1],(a)中设置的分流量化大小是1/64时,最大路径在增长到4条之后TE全局吞吐量便无明显增长,谷歌实际的网络中就采用4条路径作为TE算法参数。在(b)中最大路径数设置为4时,分流的量化越大效果越好。添加更多路径和使用更细粒度的流量分割都为TE提供了更多的灵活性,但它会消耗额外的硬件资源,实际应用是1/4的分流量化大小。

                                                                

                                                                                       图5. TE全局吞吐量提升比例[1]                                                                                                                    

在使用集中式TE后,B4的网络链路利用率(如图6.(a)所示)在一天的变化都是接近100%的,比传统的WAN的30%-40%有了大幅度的提高。

图6.(b)中红线表示高优先级与低优先级的数据包的比例,蓝色部分带“*”线段表示高优先级的丢包率,绿色“+”表示低优先级的丢包率。可以看出高优先级的丢包率在全天24小时内几乎都为0,这样就可以满足对延迟较高的应用的要求。

                                             

                                                                                图6. 站点边缘利用率和丢包率

如图7. 链路的利用率[1],可以看出B4的整体负载平衡方案还是非常不错的。对于至少75%的站点到站点的边缘链路,各链路利用率的最大值:最小值为1.05(即最佳值为5%),最大值:最小值为2.0。但问题就在这,B4网络在没有故障的时候,边缘网络中链路的最大利用率与最小利用率比例为1.05,但在发生故障的时候上升为2.0,说明负载均衡方案可以进一步提升,论文也提到这个也是正在进行研究的主题。

                                   

                                                                            图7.  链路的利用率[1]

 

三、B4网络的改进和展望

本篇文章发表较早,所以在后续谷歌2018年发表的“B4 and after: ...”一文中有了更多的改进,但是了解B4网络还是先从它的发展起源开始了解更好。不过B4网络的改进和展望会提到2018年发表的文章谈及的一些需要改进的点。

  1. 从控制平面到数据平面的协议数据包桥接的瓶颈和硬件编程的开销;
  2. B4网络的架构不能推广到所有SDNs或者所有WANs;
  3. 在发生故障时采取更加有效的负载均衡策略。在B4网络没有故障时,边缘网络链路的最大利用率与最小利用率比例为1.05,而当发生故障时,比例上升为2。说明负载均衡策略还有优化空间。

     

 

 

 

 

 

 

 

References:

[1]Jain S ,  Kumar A ,  Mandal S , et al. B4: Experience with a Globally-Deployed Software Defined WAN[C]// Proceedings of the ACM SIGCOMM 2013 conference on SIGCOMM. ACM, 2013:3-14.

[2]谷歌B4广域网论文笔记_jianghuiyou的专栏-CSDN博客 

 

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

5v升9v升压电路

5v升9v升压电路 现在市场上有许多电子设备需要提供不同电压的供电能力。其中,升压电路是一种常见的电路类型,可以将低电压升高到所需要的电压水平。在本文中,我们将介绍一种5V升9V的升压电路方案,该方案具有以下特点:…

3日行程安排

22号 13:30出发到峡山码头坐船--横山岛景区 峡山码头 船费:来回70r 固定开船时间:9:30,12:00,14:00 或者🈵️12人自动开船,最晚4点有船返回 岛上风景 逛山海“小普陀”寺庙普南禅院,被誉为宁…

多线程与高并发--------线程

一、线程的基础概念 一、基础概念 1.1 进程与线程 什么是进程? 进程是指运行中的程序。 比如我们使用钉钉,浏览器,需要启动这个程序,操作系统会给这个程序分配一定的资源(占用内存资源)。 什么线程&am…

MMORPG大型游戏设计与开发(服务器 游戏场景 地图和区域)

地图的数据以及区域的信息是场景的重要组成部分,这些数据同时存在客户端和服务器,而且都是由编辑器生成的。那么保存的文件数据结构是怎样的?一张3D的场景地图又是怎样处理这些数据的?同时告诉大家这里同样只是讲的理论与设计&…

对话CMU计算机新院长:看好AI交叉创新出成果,建议新生先泛后专

2019-11-21 13:25:16 唐木 发自 天龙寺 量子位 报道 | 公众号 QbitAI 谁是全球最好的大学?谁有全球最好的计算机学院? 如果你问李开复、陆奇、沈向洋、洪小文等功成名就的计算机大牛,多半都会得到同一个答案: Carnegie Mellon …

[转]天龙八部服务器端-共享内存的设计

一、服务器构架 一个天龙八部游戏区,主要服务器部署情况如下图所示: 实际部署可能有所不同。区角色数据库可以安装到Machine4,那么一个区有5台物理机器。LoginServer和WorldServer、CharacterDB、BillingServer有连接。WorldServer和各个GameServer有连接…

天龙八部服务器端---共享内存的设计

2019独角兽企业重金招聘Python工程师标准>>> 原文地址:http://zhktiger.blog.sohu.com/163971755.html,非常感谢作者的分享。 一、服务器构架 一个天龙八部游戏区,主要服务器部署情况如下图所示: 实际部署可能有所不同。区角色…

天龙八部服务器端共享内存的设计

原文:http://zhktiger.blog.sohu.com/163971760.html 一、服务器构架 一个天龙八部游戏区,主要服务器部署情况如下图所示: 实际部署可能有所不同。区角色数据库可以安装到Machine4,那么一个区有5台物理机器。LoginServer和WorldServer、Chara…

初识鸿蒙跨平台开发框架ArkUI-X

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景&#…

虚拟DOM(Virtual DOM)和真实DOM(Real DOM)区别

虚拟DOM(Virtual DOM) 虚拟DOM是以Javascript的形式存在来描述DOM,创建虚拟DOM的目的就是将虚拟DOM更好的渲染到页面UI中,它与真实的DOM是一一对应的不可以直接更新HTML元素更新,更新JSX操作DOM方便,消耗少…

【技术科普】VR、AR、MR的区别

VR、AR、MR定义: 什么是虚拟现实? 虚拟现实(Virtual Reality,简称VR,又译作灵境、幻真)是近年来出现的高新技术,也称灵境技术或人工环境。虚拟现实是利用电脑模拟产生一个三维空间的虚拟世界,提供使用者关…

OSVR接入HMD设备

推荐一本书<<金字塔原理>>&#xff0c;本文按照书中说提的“是什么&#xff0c;为什么&#xff0c;怎么做”&#xff0c;来说明如何把HMD设备接入到OSVR上。 为什么要做OSVR插件 对于我们来说&#xff0c;后续要制作的产品是头盔&#xff0c;对于头盔设备通过插件…

迈德威视SDK

引入 代码 public class MVCamera : InterfaceCamera{#region 属性字段PictureBox pb_ShowImage;//图像框tSdkCameraDevInfo[] tCameraDevInfoList;CameraSdkStatus status;public static CameraHandle[] m_hCamera; // 句柄CAMERA_SNAP_PROC m_CaptureCallback;In…

MVVM 架构,ViewModel和LiveData(一)

MVVM 架构,ViewModel和LiveData(一) 标签&#xff08;空格分隔&#xff09;&#xff1a; 翻译计划 Android开发 原文链接 MVVM architecture, ViewModel and LiveData (Part 1) 正文 在Google I/O之间,Google推出了包含LiveData和ViewModel的组件架构,这有助于开发者们使用…

DRMM model

Paper 的引用&#xff1a; Guo J, Fan Y, Ai Q, et al. A deep relevance matching model for ad-hoc retrieval[C]//Proceedings of the 25th ACM International on Conference on Information and Knowledge Management. ACM, 2016: 55-64. Retrieval or Matching 论文中说到…

JVM(JAVA虚拟机)、DVM(Dalvik虚拟机)和ART虚拟机

一、什么是DVM&#xff0c;和JVM有什么不同&#xff1f; JVM是Java Virtual Machine&#xff0c;而DVM就是Dalvik Virtual Machine&#xff0c;是安卓中使用的虚拟机&#xff0c;所有安卓程序都运行在安卓系统进程里&#xff0c;每个进程对应着一个Dalvik虚拟机实例。他们都提…

关于Hdmi2.1,FRL,DSC,VRR,ALLM你需要知道这些

文章目录 TMDSFRLDSCVRRALLM相关设备Nvidia显卡电视游戏机显示器 注意的坑 最近在研究Hdmi相关内容&#xff08;看游戏设备hhh&#xff09;&#xff0c;网上很多信息都是零零碎碎的&#xff0c;结合自己的一些研究简单记录一下。 Hdmi&#xff0c;High Definition Multimedia I…

HDMI 2.1 VRR功能详解

7.6可变刷新率和快速更新 可变刷新率&#xff08;VRR&#xff09;允许图片在源完成准备后立即通过链路发送。在链路支持的最大字符速率大于给定视频定时所需的速率的情况下&#xff0c;Fast VActive&#xff08;FVA&#xff09;减少了传输图片所需的时间。这些特性提供了性能、…

VVC帧间预测(八)DMVR

解码端运动向量修正(Decoder side motion vector refinement ,DMVR)是为了提高merge模式下双向预测MV的准确性而提出的技术。双向预测是在list0和list1中分别找一个运动向量MV0和MV1&#xff0c;然后将MV0和MV1所指向的预测块进行加权得到最终的预测块。而DMVR不是直接使用MV0和…

ARVR技术 | AR, VR, MR和XR?想搞清楚不?

AR, VR, MR&#xff0c;现在还有XR ?这些缩写是什么?它们代表什么? 让我们快速梳理一下技术术语。 首先&#xff0c;虽然你可能熟悉其中的一些术语&#xff0c;如AR和VR, 但MR和XR对许多人来说仍然是新鲜的术语。 目前的共识是&#xff0c;所有这些互补形式的现实都落在一…