前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >局域网SDN硬核技术内幕 30 钩深致远 —— 意图驱动与自动驾驶(上)

局域网SDN硬核技术内幕 30 钩深致远 —— 意图驱动与自动驾驶(上)

作者头像
用户8289326
发布于 2022-07-27 03:01:15
发布于 2022-07-27 03:01:15
4040
举报

在前面几期专题中,我们从RDMA讲起,引入了INT(带内遥测)作为高精度实时质量检测的手段;ERSPAN精准检测关键报文丢包;gRPC监测网络设备控制平面信息等。通过这些手段,我们可以收集网络中的时延、抖动、丢包等转发平面外部信息;交换芯片计数、缓存使用量、拥塞程度等转发平面内部信息;以及路由转发表项、温度环境等控制平面信息。

有了这些信息收集手段以后,实际上,相对于SNMP打天下的阶段,我们对网络的管理控制,已经迈入了新时代——大数据时代的大门。

这是为什么呢?

对大数据技术有一定了解的朋友可能会发现,大数据相关处理的算法,如最小二乘,拟合,回归,相关度分析,马尔可夫链以及贝叶斯公式等,并没有超出工学硕士研究生的数学基础课程范畴。大数据与传统数据统计的区别主要在于,大数据分析的是全部的而非抽样的数据。

显然,通过前面提到的这些手段,相对于SNMP的采样,获取的数据量是巨大的。而在实践中,这些实时采集手段往往用于大型数据中心和园区网络中。因此,相关的大数据分析需要海量数据的存储,管理及分析能力。

显然,大数据在网络管理控制中的应用要付出一定代价。那么,它的产出在哪里呢?

首先是AI相关大规模分布式存储与计算应用的性能优化和诊断。

我们在前面提到,Tensorflow,GlusterFS,MAPR等AI相关的开发框架,底层均使用RDMA机制。为了保障RDMA业务无丢包,在以太网交换机上需要配置PFC和ECN技术,在RDMA相关业务即将发生拥塞,相关队列长度到达水线时,一方面向上游发送拥塞控制PFC,另一方面向下游传达拥塞标记ECN,从而实现以太网的无损传输。但,无损付出的代价是,有可能以太网接口无法达到线速,因为线速传输意味着有上游数据的丢失。

如何在丢包和无损之间找到平衡点呢?

显然,如果交换机流控的水线配置过低,会导致RDMA源服务器发送过慢,25G的以太网有可能只能利用15-20G,造成效率的降低。而如果流控的水线配置过高,在快要发生拥塞的时候才启动流控机制,流控信令尚未反馈到发送端,数据包缓存已经耗竭而引发丢包,则会使得RDMA整块数据重传,这是大家都不希望看见的。因此,合理配置交换机缓存水线,在优化无损以太网性能中是非常重要的。

不言而喻地,对交换机缓存水线的优化,是一个动态的过程,本质上是自动控制原理在网络中的应用。

学过自动控制的同学看到这张图,一定会开心地笑出来吧!对了,这就是PID控制的框图,单输入单输出自动控制系统的基本功。

部分二线交换机厂商,受到这些21岁大三学生应该掌握的内容的启发,在交换机内部增加了自动控制协处理器,可以对单个节点实现所谓的动态水线配置,从而优化RDMA性能,并包装成为所谓的AI网络方案,但市场反馈并不理想。这是为什么呢?

明天,我们将为大家揭开真正全局优化大数据及AI网络的奥秘。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
对Javascript 类、原型链、继承的理解
  和其他面向对象的语言(如Java)不同,Javascript语言对类的实现和继承的实现没有标准的定义,而是将这些交给了程序员,让程序员更加灵活地(当然刚开始也更加头疼)去定义类,实现继承。(以下不讨论ES6中利用class、extends关键字来实现类和继承;实质上,ES6中的class、extends关键字是利用语法糖实现的)
smy
2019/02/13
6930
对Javascript 类、原型链、继承的理解
JavaScript原型和原型链( prototype 与 __proto__ )
var a = new A; //a 类型:对象 //A 类型:函数 var Object = new Function(); //var 对象 = new 函数; Object.__proto__ === Function.prototype; //对象.__proto__ === 函数.prototype; Function.__proto__ === Function.prototype; //因为 Function 也是 Object
Leophen
2019/08/23
8190
彻底搞懂JS原型与原型链
说到JavaScript的原型和原型链,相关文章已有不少,但是大都晦涩难懂。本文将换一个角度出发,先理解原型和原型链是什么,有什么作用,再去分析那些令人头疼的关系。
hellocoder2029
2022/10/17
3.1K1
关于javascript的原型和原型链,看我就够了(二)
Object就是一个构造函数,是js内置的构造函数,上面的例子中Object就是obj的构造函数,这个例子似乎不太明显,我们继续看
陌上寒
2019/04/02
5030
关于javascript的原型和原型链,看我就够了(二)
JavaScript原型链与继承
只要是对象,一定有原型对象,就是说只要这个东西是个对象,那么一定有proto属性。(错的)
用户7043603
2022/02/26
1.6K0
javascript中原型链的说明
“函数”是我们在学习js中最常见的对象,每个实例化的对象都有一个私有属性( __proto__ )指向它的构造函数的原型对象(prototype ),每个原型都有一个自己的原型对象,基本上所有的对象最后的原型链都是Object的实例。
小明爱学习
2020/01/21
3840
前端day18-JS高级(完整的原型链)学习笔记
01-面向对象三大特征(封装、继承、多态) a.封装:将某个具体功能封装在对象中,只对外部暴露指定的接口,外界在使用的时候,只考虑接口怎么用,不用考虑内部怎么实现(前面学习的api其实就是一种封装思想) ​ b.继承:一个对象拥有其他对象的属性和方法 ​ c.多态:一个对象在不同情况下的多种状态 1.1-多态(js中了解即可) <script> /*多态(JS中了解即可,使用不多):一个对象在不同情况的多种状态 饲养员对象Person : 给动物对象喂养
帅的一麻皮
2020/05/07
4960
前端day18-JS高级(完整的原型链)学习笔记
[我的理解]Javascript的原型与原型链
一、原型与原型链的定义 原型:为其他对象提供共享属性的对象     注:当构造器创建一个对象,为了解决对象的属性引用,该对象会隐式引用构造器的"prototype"属性。程序通过constructor.prototype可以直接引用到构造器的"prototype"属性。并且添加到对象原型里的属性,会通过继承与所有共享此原型的对象共享。 原型链:每个由构造器创建的对象,都有一个隐式引用(叫做对象的原型)链接到构造器的"prototype"属性。再者,原型可能有一个非空隐式引用链接到它自己的原型,以此类推,这叫
sam dragon
2018/01/17
8840
[我的理解]Javascript的原型与原型链
JavaScript学习总结(四)——this、原型链、javascript面向对象
根据题目要求,对给定的文章进行摘要总结。
张果
2018/01/04
1.5K0
JavaScript学习总结(四)——this、原型链、javascript面向对象
从零开始学 Web 之 JS 高级(二)原型链,原型的继承
原型链表示的是实例对象与原型对象之间的一种关系,这种关系是通过__proto__原型来联系的。
Daotin
2018/08/31
2.2K0
从零开始学 Web 之 JS 高级(二)原型链,原型的继承
深入JavaScript原型链污染
相比其他语言(如Java、python等传统OOP语言),JavaScript的机制和类完全不同。
raye
2024/02/04
2301
原型和原型链
prototype(原型):prototype是Function对象的一个属性,它定义了构造函数制造出的对象的公用祖先(属性和方法),可以继承该原型的属性和方法。原型也是对象。
jade_
2021/04/28
5420
一站搞定原型链:深入理解JavaScript的继承机制
JavaScript 的原型链(prototype chain)是理解 JavaScript 对象和继承机制的关键。它是通过对象的原型(prototype)属性实现的,用于实现对象属性和方法的共享和继承。以下是对 JavaScript 原型链的详细介绍,这一篇文章将会通过理论与demo相结合的方式,力争一文概括原型、对象、原型链以及基于原型链实现JavaScript的继承机制的所有方面,帮助您一站式搞定原型链。
watermelo37
2025/01/22
960
一站搞定原型链:深入理解JavaScript的继承机制
JavaScript 进阶教程(3)---让你彻底搞懂原型链和继承
关于原型在JavaScript 进阶教程(1)--面向对象编程这篇文章已经讲过了,今天简单来复习一下。
AlbertYang
2020/09/08
5240
JavaScript 进阶教程(3)---让你彻底搞懂原型链和继承
【前端基础进阶】JS原型、原型链、对象详解
在上面的例子中 o1 o2 o3 为普通对象, f1 f2 f3 为函数对象。 怎么区分,其实很简单,凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象。 f1,f2,归根结底都是通过 new Function()的方式进行创建的。
super.x
2019/04/12
7990
【前端基础进阶】JS原型、原型链、对象详解
JS原型链与继承别再被问倒了
继承是OO语言中的一个最为人津津乐道的概念.许多OO语言都支持两种继承方式: 接口继承 和 实现继承 .接口继承只继承方法签名,而实现继承则继承实际的方法.由于js中方法没有签名,在ECMAScript中无法实现接口继承.ECMAScript只支持实现继承,而且其 实现继承 主要是依靠原型链来实现的.
全栈程序员站长
2021/06/10
6340
Js原型链与类
理解原型链与类有利于我们对代码的封装与简化 # JS原型链理论 # 1、函数与对象的关系 函数是对象,对象都是通过函数创建的。 函数与对象并不是简单的包含与被包含的关系。 # 2、原型的类别 显示原型:prototype,是每个函数function独有的属性。 隐式原型: __proto__,是每个对象都具有的属性。 # 3、原型和原型链 原型:一个函数可以看成一个类,原型是所有类都有的一个属性,原型的作用就是给这个类的一个对象都添加一个统一的方法。 原型链:每个对象都有一个__proto__,它指向它的p
隔壁老陈
2023/01/12
1K0
原来你是这样的---原型和原型链
  把JS的原型和原型链重新梳理了一遍,然后动手绘制了一张流程图,原型和原型链的秘密就藏在这张图上。绘制流程图的好处就是在绘制的过程中,既检验自己对这个知识点的掌握状况,同时在绘制过程中会对这个知识点印象更深刻,理解更透彻,建议每个感兴趣的小伙都来身体力行一次。
tandaxia
2019/06/05
5510
原来你是这样的---原型和原型链
第202天:js---原型与原型链终极详解
JavaScript 中,万物皆对象!但对象也是有区别的。分为普通对象和函数对象,Object 、Function 是 JS 自带的函数对象。下面举例说明
半指温柔乐
2018/09/11
9650
第202天:js---原型与原型链终极详解
JavaScript继承与原型链
当谈到继承时,JavaScript 只有一种结构:对象。每个实例对象(object)都有一个私有属性(称之为 __proto__)指向它的构造函数的原型对象(prototype)。该原型对象也有一个自己的原型对象(__proto__),层层向上直到一个对象的原型对象为 null。根据定义,null 没有原型,并作为这个原型链中的最后一个环节。
Andromeda
2023/10/21
1780
JavaScript继承与原型链
推荐阅读
相关推荐
对Javascript 类、原型链、继承的理解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档