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
转载于:https://www.cnblogs.com/deepYY/p/7851606.html
Language-Directed Hardware Design for Network Performance Monitoring——Marple相关推荐
- Language-Directed Hardware Design for Network Performance Monitoring
摘要 现在的网络性能监控能力受到现有的交换机对监控范围支持的限制,迫使运营商严重依赖于对网络核心设备可视性差的终端.交换机供应商对交换机增加了更多的监控功能,但是鉴于网络运营商的不断变化的需求,添加特 ...
- A Step By Step Guide to Tomcat Performance Monitoring【转】
原文地址 https://stackify.com/tomcat-performance-monitoring/ Overview Monitoring the metrics and runtime ...
- 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 ...
- 详解 ARM PMU (Performance Monitoring Unit)
本文会详细讲解ARM PMU模块原理及代码流程 kernel version=4.14.90, arch=arm64 初始化流程: arch/arm64/kernel/perf_event.cdevi ...
- Linux System and Performance Monitoring(Memory篇)
转载于:http://www.ourlinux.net/operating-system/operating-system/linux-system-and-performance-monitorin ...
- Excessive growth of the primary database log mirror and system Performance Monitoring
1 做镜象日志库主库 日志增长过快,并且无法截断. 解决方法 每隔段时间 备份多个日志 并收缩日志 eg: backup log databasename to disk='' dbcc shrink ...
- Linux System and Performance Monitoring
Linux System and Performance Monitoring 转载于:https://blog.51cto.com/gavinshaw/273692
- ASP.NET Performance Monitoring, and When to Alert Administrators
ASP.NET Performance Monitoring, and When to Alert Administrators 转载于:https://www.cnblogs.com/coollzh ...
- Orion Network Performance Monitor 软件在网络管理中的应用
Orion Network Performance Monitor 软件在网络管理中的应用 Orion Network Performance Monitor是完全的带宽性能和故障管理软件,从路由器. ...
最新文章
- 多线程编程--异步转同步之CountDownLatch
- Unable to load native-hadoop library for your platform
- 负载均衡—几种常见算法
- 【POJ - 2301 】Beat the Spread! (简单数学)
- 中国信通院:二季度83款5G手机申请入网 款型数占比已过半
- 实用小程序,快速求A类不确定度(物理实验),保留六位
- python抓取直播源 并更新_直播源抓取软件
- java三角函数计算器_java实现多功能科学计算器(包括进制转换,三角函数,四则运算等)...
- [含论文+源码等]基于java+ssh+mysql实现的共享自行车租赁|出租管理系统
- 关于debug调试在Controller中形参PageWeb<T>(即分页封装泛型)的pageNum,pageSize赋值问题
- css媒体查询iphone4和iphone5
- 软件后台《积分制 / 绩效考核表》管理制度
- YouTube直播SDK集成(一)
- 理工科科研结果展示怎样让PPT高大上?
- 在Unity中使用ComputeShader
- matlab7 fig exe 阴影,Matlab 生成完全独立运行的 EXE文件的问题请教
- 时间序列的分析和预测
- 今天通过了 AWS 的 SAA 认证考试了
- mendeley导入pdf后无法打开:unable to open this file解决办法
- 摇杆控制方向原理_手游摇杆(零)摇杆设计原理
热门文章
- 电脑工具栏怎么调整到下面_雷电模拟器4.0怎么玩召唤与合成 一键下载轻松游玩 - 工具软件...
- java ee 上传文件_17.《JavaEE 学习笔记》Servlet 上传文件
- mysql远程压力测试_mysql压力测试脚本实例
- 查询去重_【Freya的MySQL课堂】DQL基础查询
- 径向基函数RBF三维网格变形
- Vim删除文件到行首或者行尾
- 移动硬盘函数不正确要如何寻回资料
- Luogu1443 马的遍历【STL通俗BFS】
- 二分法查找和普通查找
- jquery 滚动条位置的