论文阅读 SIMON 2019 NSDI 谷歌

面对现有基于主机和交换机的网络遥测方法无法实时反映网络关键状态变量,谷歌的研究人员于2019年提出了simon,simon能重建数据包队列长度、链路利用率等关键网络状态变量,是一种准确且可扩展的主机侧数据中心测量系统。
现有基于交换机的方案:NetFlow [50] 和 sFlow [44] 只能获得通过单个交换机传递的数据包/字节的近似数并需要额外开销进行数据汇总到网络边缘,在准确性即速度方面都表现不佳;利用可编程交换机和带内网络遥测的最新方案会捕获每个交换机上的每个数据包,在准确性方面有一定优势,但会产生大量数据导致可拓展性受限。且交换机与终端主机不相邻,不能轻易地将网络瓶颈和应用程序性能联系起来。
基于主机的方案几乎不依赖于网络,具有可扩展性。现有方案只能获得部分网络状态:端到端延迟、丢失数据包的链路、静默数据包丢失。simon可以在小时间间隔内对队列延迟、链路利用率和队列/链路组成进行几乎精确的重建。
Simon利用层析成像技术对关键网络状态变量进行重建,重建算法步骤如下:
##1. 构建探测网格并选择重建间隔
构建探测网格:需要确定某个服务器发送探针到其他服务器的数量K
在这里插入图片描述

通过上图可以看出当k取【10,20】时能够同时平衡重建网络的质量和重建的效率。

确定重建间隔:重建间隔的取值根据网络中的最高线速率来确定。链路速度越快,队列变化得越快(或者说噪声频率越高),重建间隔就越小。
在这里插入图片描述

对于1Gbps的链路,重建间隔为10毫秒,对于10Gbps的链路为1毫秒,对于40Gbps的链路为250微秒。Simon重建的I时间内的平均队列保留了超过97.5%的信号功率,减少了60倍的总存储空间,并将计算速度提高了40倍,而精度损失却可以忽略不计。

##2. 确定网络关键变量
队列长度:在构建探测网格并选择重建间隔后进行数据发送以及收集处理工作,由于Clos拓扑始终缺秩,simmon通过Lasso求解方程(6)重建每个交换机出端口的队列长度。Simon也表明通过探针时间延迟比通过数据包时间延迟所构建的队列长度有更高的准确性。
在这里插入图片描述

链路利用率、队列组成:在确定队列长度的基础上,利用数据包发送时间和每个交换机上的排队时间以及链路传播时间可以推算出t时间数据包位于哪条链路或哪个交换机队列上。重建效果如下所示:
在这里插入图片描述

Simon利用拓扑分层特性和使用神经网络来模拟LASSO来实时计算网络关键状态变量:
对经典三层fattree拓扑:
1.L1探针:根据tor提供的线性方程组,重建L1中所有队列 TOR下行链路
2.L2探针:经过一个ToR上行链路、一个L2下行链路和一个ToR下行链路(L1已知)。 L2可重建 一个ToR上行链路、一个L2下行链路
3.L3:重建L3队列
加速了1000倍;利用多层神经网络优化simon使用的lasso推断算法实现5000-10000倍的加速。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值