Language-Directed Hardware Design for Network Performance Monitoring——Marple
网络监控困难
- 1、仅仅通过去增加特定的监控功能到交换机是不能满足运营商不断变化的需求的。(交换机需要支持网络性能问题的表达语言)
- 2、他们缺乏对网络深处的性能问题进行本地化的可见性,间接推断网络问题的原因
- 3、当前的交换机监控并没有提供相关的性能数据,没办法直观的查看性能统计信息来诊断问题
操作员使用 Marple

Marple 的功能结构
数据包性能流作为基础输入流的一部分,我们称之为pktstream。Marple为每个队列中的每个分组提供一个元组,并且具有以下字段(switch, qid, hdrs, uid, tin, tout, qsize)。switch和qid表示数据包被观察到的交换机和队列,常规的数据包头(以太网,IP,TCP等)在hdrs字段集合中可用,其中唯一确定一个数据包的uid,tin和tout表示数据包的入队和出队时间戳,qsize表示数据包入队时的队列深度。
pktstream中的元组按照包出队时间(tout)的顺序进行处理,如果丢包,tout和qsize是无穷大的。 对应于丢弃的分组的元组可以以任意顺序处理。
- filter
construct:
filter(R, pred) //R是包含性能元数据(例如,pktstream)的一些流,并且过滤器谓词pred可能涉及分组头,性能元数据。filter的结果是另一个只包含满足pred的元组的流。
example:
result = filter(pktstream, qid == Q and switch == S and tout - tin > 1ms)
- map
construct:
map(R,[exprs],[fields]) //exprs表达式,写在元组流上的可用字段,产生新的字段fields
example:
result = map(pktstream, [tin/epoch _ size], [epoch])
- zip
construct:
zip(R,S) //将R和S合并,输出既满足R又满足S的元组的流
example:
result = zip(R1,R2)
- groupby
construct:
groupby(R,[fields],fun) //根据不同的fields分别执行聚合函数fun
example:
def new _ flow([fcount], []):
if fcount == 0:
fcount = 1
emit()
result = groupby(pktstream, [5tuple], new_flow) //groupby的输出是包含聚合字段(例如,5元组)和聚集值(例如count)的流。输出流仅包含执行聚合函数期间遇到的emit()语句的元组
Marple 的硬件设计
- 一个可编程的键值存储:其中键表示流的标识,值表示由聚合函数计算的状态

线性可拓展聚合(TODO)
我们可以将任何聚合函数与S = A(p)·S + B(p)的状态更新合并,其中S是状态,A(p)和B(p)是最后k个数据包的函数。 我们称这个条件为线性状态条件,并且说A(p)和B(p)是有界包历史的函数。
查询编译(TODO)



相关资料
paper:http://nms.lcs.mit.edu/papers/marple.pdf
marple官网:http://web.mit.edu/marple
视频:https://www.youtube.com/watch?v=-mT4KXBFOfs&t=17s
Language-Directed Hardware Design for Network Performance Monitoring——Marple的更多相关文章
- Linux System and Performance Monitoring
写在前面:本文是对OSCon09的<Linux System and Performance Monitoring>一文的学习笔记,主要内容是总结了其中的要点,以及加上了笔者自己的一些理解 ...
- ITU-T G.1081 IPTV性能监测点 (Performance monitoring points for IPTV)
ITU-T 建议书 G.1081 IPTV性能监测点 Performance monitoring points for IPTV Summary Successful deployment of I ...
- PostgreSQL Performance Monitoring Tools
PostgreSQL Performance Monitoring Tools https://github.com/CloudServer/postgresql-perf-tools This pa ...
- Orion Network Performance Monitor 软件在网络管理中的应用
Orion Network Performance Monitor 软件在网络管理中的应用 Orion Network Performance Monitor是完全的带宽性能和故障管理软件 ...
- After 2 years, I have finally solved my "Slow Hyper-V Guest Network Performance" issue. I am ecstatic.
Edit - It should be known that I was initially researching this issue back in 2012 and the solution ...
- the way of hardware design study
1.器件 主要分类 1.MCU2.DSP3.FPGA4.Embedded5.System on Chip MCU MCU俗称单片机,通常无操作系统,用于简单的控制,如电梯,空调等. DSP DSP叫做 ...
- Top 10 Free Wireless Network hacking/monitoring tools for ethical hackers and businesses
There are lots of free tools available online to get easy access to the WiFi networks intended to he ...
- always NetWork Performance measure Tools
1,iperf key feature:Measuring TCP and UDP BandWidth Performance Iperf features; *TCP .Measure bandwi ...
- Systemtap examples, Network - 4 Monitoring TCP Packets
http://blog.163.com/digoal@126/blog/static/16387704020131014104256627/ 例子来自tcpdumplike.stp脚本, 当tcp ...
随机推荐
- Prim算法和Kruskal算法求最小生成树
Prim算法 连通分量是指图的一个子图,子图中任意两个顶点之间都是可达的.最小生成树是连通图的一个连通分量,且所有边的权值和最小. 最小生成树中,一个顶点最多与两个顶点邻接:若连通图有n个顶点,则最小 ...
- MYSQL安装时解决要输入current root password的解决方法
在装MYSQL的时候发现要输入current root password不记得以前在电脑里装过(你的系统曾经装过MYSQL在重装就会要求输入原来设定的密码,如果是第一次安装就不会出现),在网上苦苦搜寻 ...
- [转]数据库中Schema(模式)概念的理解
在学习数据库时,会遇到一个让人迷糊的Schema的概念.实际上,schema就是数据库对象的集合,这个集合包含了各种对象如:表.视图.存储过程.索引等. 如果把database看作是一个仓库,仓库很多 ...
- ASPxComboBox 自带输入法确定之后再搜索解决方法
<dx:ASPxComboBox ID="comChargeSubject_FixedFee" ClientInstanceName="comChargeSubje ...
- ABP学习入门系列(二)(abp的数据迁移)
本文将介绍在ABP框架中将实体类迁移至数据库表 1.下图是abp的体系结构. 我们要是实现创建实体类并迁移数据到数据库的功能主要就是在下图中domain(领域层)做相应的一些操作. 2,看一下解决方案 ...
- 常常忘记但是很重要的sql语句
一.基础1.说明:创建数据库CREATE DATABASE database-name 2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份 ...
- 鼠标样式——css国际组织
w3c国际标准组织提供的鼠标样式: http://css-cursor.techstream.org/
- 从mysql中dump数据到本地
方法一:使用mysqldump命令,如: mysqldump -h10.90.6.237 -uf_insplat2car_r -P3306 -pxxxxxxxxx nbmp tb_tag_log -- ...
- Hadoop shell 一查就会
Hadoop shell 命令有三种格式 hdfs + dfs (必须是dfs) Hadoop + dfs Hadoop + df 命令 说明 hadoop 版本查看 hadoop version h ...
- jeecg框架解决跨域问题
controller层方法体中添加如下代码 response.setHeader("Access-Control-Allow-Origin", "*");res ...