背景和动机

  1. 背景:
    网络中经常遇到拥塞,扫描攻击,DDOS攻击,在这种情况下,流量的性能要求更高,因此提出,此方法。能更好的适应流量的性能,更好的完成测量任务和platforms

  2. 动机:
    但无人聚焦于:无论流量特征(包括可用带宽、流量大小分布和数据包速率)如何变化,都能实现准确的网络测量。
    可用带宽,因为出现拥塞时,没有带宽可用于测量,解决方案是在较小精度丢失的情况下对sketch进行压缩,从而减少带宽使用。

贡献

  • 本文提出新的sketch: elastic sketch
    有两部分组成:a heavy part and a light part,利用Ostracism技术使elephant flows 在heavy part ,mouse flows 在light part。(就是分为大流和小流,分别存放)
  • 实现 “弹性”:
    为适应带宽,提出压缩(留出可能进行网络测量的余地)和合并sketch的方法。首先,将sketch压缩成适合可用带宽的大小,其次,使用服务器来进行合并。
    当包传送速率变大时,采用这样的处理方式:每个数据包只访问heavy part来记录elephant flows的信息,丢弃mouse flows的信息,这种方式在以合理降低精度的代价的情况下,能实现更快的处理速度
    针对elephant flows的数量变化以及无法事先预知的情况,提出一种动态增加heavy part的内存大小的算法
  • 实现“通用”:
    为实现在测量任务的通用性(跨平台使用),保留每个数据包的所有必要信息,但丢弃mouse flows的id(消耗内存但实际并无用)
    提出硬件和软件版本的elastic sketch,还做了P4版本的

方法

为实现分离:(基础版本)

  • 定义
    每个存储桶存储三个字段:流id、positive votes、negative votes。给定一个id为f1的数据包,如果如果此id存在于桶中,投positive votes,否则,投negative votes。如果
    Negative votes与positive votes之比大于" λ" (给定的预设门限),则将flow从bucket中排出,将f1插入
    定义数据结构:由两部分组成,记录大象流的heavy部分与记录老鼠流的light部分。

  • 插入
    给定flowID f的数据包,将其散列到桶H [h(f )%B](其中B是在heavy部分中的桶的数量)。假定存储桶(f1,vote+, f lag1,vote−)如果f==f1,vote+加1,否则,vote-加1并根据两个vote的比分决定是否排除f1.会出现四种情况。

  • 查询
    对于不在heavy部分的流,由light部分报告其大小。对于heavy部分的任何流f,有两种情况:
    1)f的标志为假。其大小为对应的VOTE+,没有错误;
    2)f的标志为真。需要添加相应的vote+和CMsketch的查询结果。

  • 大象流冲突
    已证明映射到每一个桶里的大象流的数目服从二项分布
    如何处理出现的大象冲突:
    使用多个子表;
    在一个存储桶里使用多个键值对

核心,体现elastic

  • 适应可用带宽
    方法:因为light部分是较大的,在发送之前压缩light部分
    具体压缩sketch:先将其计数器分组,再将计数器对应合并(合
    并分为两个SC和MC,采用MC更好)

  • 适应包到达速率
    方法:主要将两种流分离
    具体:将数据包缓存入输入队列里,当在输入队列中的数据包>阈值时,仅访存heavy部分,这样可以达到让hash访存降为1的效果

  • 适应流大小分布
    现象:大的流是未知的,且是容易变化的。在heavy部分,大象流是不断增加的,要求能够随着流量变化不断变化
    方法:当桶内的大象流达到一定的数量(设定的阈值)后,将其内容复制一份并与原来的合并,当来新的流时,hash函数变为h()%2W,当再来流与已存在的冲突时,将两个都改用新的hash函数来映射。

优化(主要是针对大流冲突速率的问题)

  • 硬件版本:在heavy部分使用多个子表

  • 软件版本:扩大了桶的大小,一个桶里可以放多个流。桶内共享vote-,在heavy中总是尝试驱逐最小的流。Light中d(sketch的宽度)=1,方便计算。

  • P4Switch版本:
    在硬件版本里寄存器实现了heavy part和light part,而不是match-action表,因为需要直接从数据平面更新条目。We leverage the Stateful Algorithm and Logical Unit (Stateful ALU) in each stage to lookup and update the entries in register array. 但是Stateful ALU资源有限,每一个Stateful ALU只能更新一对32bit的寄存器,但是硬件版本的Elastic需要插入时存取4个fields。为了解决这个问题,将Elastic sketch修改了一下以适应P4交换机,精度损失了一点。
    在hard-ware版本的基础上做了如下变动:
    We only store three fields in two physical stages vote all , and (key, vote + ) , where vote all指的是正投票和负投票的和。
    当vote all /vote + ⩾ λ ′时,采取驱逐策略 λ ′ = 32 原因在技术报告section B里面。

  • 多core版本:
    采用多线程 ,最后整合时,取max,能够提高精度

实验

使用CAIDA数据集对常见的任务进行测量,跟现有算法进行对比。
评价指标:ARE 、F1 core、WMRE、RE、throughput
任务:

Flow size estimation:

Heavy hitter detection

Heavy change detection

Flow size distribution

Entropy estimation

Cardinality estimation

评估错误的来源:由于发生冲突,导致大流进入light部分,精度受损。在light部分许多流在相同的计数器发生碰撞。
带宽和内存利用上,可以降低几倍的数量级。

  • 在适应包速率方面

  • 适应流分布的变化

  • 处理速度

读ElasticSketch笔记相关推荐

  1. 【读文献笔记】图神经网络加速结构综述

    [读文献笔记]图神经网络加速结构综述 前言 一.图神经网络来源 1.图神经网络用途 2.图神经网络特点 3.图神经网络主要阶段 4.图神经网络加速面临的挑战 5.本笔记内容包含内容 二.图与图神经网络 ...

  2. 读文章笔记(八):多模态情感分析数据集整理

    读文章笔记(八):多模态情感分析数据集(Multimodal Dataset)整理 双模态(一般是文本.图像和语音的两两组合) 三模态(一般是文本.图像加语音) 作者:骑着白马的王子 地址:https ...

  3. 读文章笔记-自适应和加速GB生成算法

    读文章笔记-GBC 文章 背景 内容 定义1+现有GB生成过程 GBKNN 文章的GB生成算法 疑问与反思 文献脉络 文章 An Efficient and Adaptive Granular-Bal ...

  4. 读文章笔记(三):从源码学习Transformer

    读文章笔记(三):从源码学习Transformer encoder分为两部分: decoder 公众号机器学习算法工程师 文章链接: https://mp.weixin.qq.com/s/0NajB_ ...

  5. 读文章笔记(十):多任务学习

    读文章笔记(十):多任务学习 多任务学习优点 多任务学习方法 hard parameter sharing soft parameter sharing 多任务学习改进的方向 注意事项 来源于公众号: ...

  6. 读文章笔记(十一):对比学习(Contrastive Learning)

    读文章笔记(十一):对比学习(Contrastive Learning) 对比学习 来源于:对比学习(Contrastive Learning):研究进展精要 对比学习 对比学习属于无监督或者自监督学 ...

  7. 读文章笔记(十三):多模态特征融合方法总结

    读文章笔记(十三):多模态特征融合方法总结 来源于:多模态特征融合方法总结 多模态特征融合的方法大体分为三种:前端融合.中间融合和后端融合.

  8. 读文章笔记(二):模型结构优化前沿动态综述

    读文章笔记(二):模型结构优化前沿动态综述 公众号东大自然语言处理实验室文章链接: link. NLP领域神经网络结构的发展历程: 相关模型总结分析,NLP领域模型结构的整体趋势 神经网络模型结构优化 ...

  9. 读文章笔记(七):赛尔笔记 | 多模态情感分析简述

    读文章笔记(七):多模态情感分析简述 相关任务概览 数据集和方法 面向图文的情感分类任务 面向图文的方面级情感分类任务 赛尔笔记 | 多模态情感分析简述 https://zhuanlan.zhihu. ...

最新文章

  1. java php 单点登陆,cas实现单点登录,登出(java跟php客户端)(转)
  2. Lucene教程具体解释
  3. 计算机没考好检讨,考试没考好检讨书范文(精选6篇)
  4. 笔记-信息系统安全管理-网络安全工具
  5. boost::type_erasure模块construction相关的测试程序
  6. 魅族17系列正式发布:17年梦想之作,3699元起
  7. layui的tree实现 struts 2+layui+jsp
  8. 逆天闪存设备 居然能将数据保存至少百年
  9. TP框架漏洞复现(持续更新)
  10. 风尚云网笔记-vue中echarts引入
  11. time stamp convert
  12. layui 表格前端分页
  13. “80后”博士,晋升正厅!
  14. 一个屌丝程序猿的人生(八十)
  15. CentOS 7 安装rar解压缩软件
  16. 开关灯效果HTML,开关灯效果
  17. c学前儿童语言教育试卷,学前儿童语言教育期中试卷
  18. 利用JUZ包实现文件压缩和解压
  19. esp32例子初始化流程
  20. #发现你#桃子还是苹果——沉锚效应

热门文章

  1. 网络安全风险评估关键技术讨论
  2. iOS 获取 WKWebView 里面图片
  3. 忘记手机密码怎么用计算机解开,手机忘记密码怎么办?教你三种方法帮你搞定!...
  4. 好用android平板,好用却不平凡,Remix OS让安卓平板活过来!
  5. Spring学习-初识Spring
  6. # CF #807 Div.2(A - D)
  7. 阿里云虚拟主机wordpress伪静态设置Nginx设置
  8. 怎样黑进Microsoft:循序渐进指南 (转)
  9. 如何让Div层悬浮在Flash Object对象之上!
  10. mysql 设置密码出现ERROR 1819 (HY000): Your password does not satisfy the current policy requirements