Language-Directed Hardware Design for Network Performance Monitoring——Marple
網(wǎng)絡(luò)監(jiān)控困難
- 1、僅僅通過(guò)去增加特定的監(jiān)控功能到交換機(jī)是不能滿足運(yùn)營(yíng)商不斷變化的需求的。(交換機(jī)需要支持網(wǎng)絡(luò)性能問(wèn)題的表達(dá)語(yǔ)言)
- 2、他們?nèi)狈?duì)網(wǎng)絡(luò)深處的性能問(wèn)題進(jìn)行本地化的可見(jiàn)性,間接推斷網(wǎng)絡(luò)問(wèn)題的原因
- 3、當(dāng)前的交換機(jī)監(jiān)控并沒(méi)有提供相關(guān)的性能數(shù)據(jù),沒(méi)辦法直觀的查看性能統(tǒng)計(jì)信息來(lái)診斷問(wèn)題
操作員使用 Marple
Marple 的功能結(jié)構(gòu)
數(shù)據(jù)包性能流作為基礎(chǔ)輸入流的一部分,我們稱之為pktstream。Marple為每個(gè)隊(duì)列中的每個(gè)分組提供一個(gè)元組,并且具有以下字段(switch, qid, hdrs, uid, tin, tout, qsize)。switch和qid表示數(shù)據(jù)包被觀察到的交換機(jī)和隊(duì)列,常規(guī)的數(shù)據(jù)包頭(以太網(wǎng),IP,TCP等)在hdrs字段集合中可用,其中唯一確定一個(gè)數(shù)據(jù)包的uid,tin和tout表示數(shù)據(jù)包的入隊(duì)和出隊(duì)時(shí)間戳,qsize表示數(shù)據(jù)包入隊(duì)時(shí)的隊(duì)列深度。
pktstream中的元組按照包出隊(duì)時(shí)間(tout)的順序進(jìn)行處理,如果丟包,tout和qsize是無(wú)窮大的。 對(duì)應(yīng)于丟棄的分組的元組可以以任意順序處理。
- filter
construct:
filter(R, pred) //R是包含性能元數(shù)據(jù)(例如,pktstream)的一些流,并且過(guò)濾器謂詞pred可能涉及分組頭,性能元數(shù)據(jù)。filter的結(jié)果是另一個(gè)只包含滿足pred的元組的流。
example:
result = filter(pktstream, qid == Q and switch == S and tout - tin > 1ms)
- map
construct:
map(R,[exprs],[fields]) //exprs表達(dá)式,寫(xiě)在元組流上的可用字段,產(chǎn)生新的字段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) //根據(jù)不同的fields分別執(zhí)行聚合函數(shù)fun
example:
def new _ flow([fcount], []):
if fcount == 0:
fcount = 1
emit()
result = groupby(pktstream, [5tuple], new_flow) //groupby的輸出是包含聚合字段(例如,5元組)和聚集值(例如count)的流。輸出流僅包含執(zhí)行聚合函數(shù)期間遇到的emit()語(yǔ)句的元組
Marple 的硬件設(shè)計(jì)
- 一個(gè)可編程的鍵值存儲(chǔ):其中鍵表示流的標(biāo)識(shí),值表示由聚合函數(shù)計(jì)算的狀態(tài)
線性可拓展聚合(TODO)
我們可以將任何聚合函數(shù)與S = A(p)·S + B(p)的狀態(tài)更新合并,其中S是狀態(tài),A(p)和B(p)是最后k個(gè)數(shù)據(jù)包的函數(shù)。 我們稱這個(gè)條件為線性狀態(tài)條件,并且說(shuō)A(p)和B(p)是有界包歷史的函數(shù)。
查詢編譯(TODO)
相關(guān)資料
paper:http://nms.lcs.mit.edu/papers/marple.pdf
marple官網(wǎng):http://web.mit.edu/marple
視頻:https://www.youtube.com/watch?v=-mT4KXBFOfs&t=17s
轉(zhuǎn)載于:https://www.cnblogs.com/deepYY/p/7851606.html
總結(jié)
以上是生活随笔為你收集整理的Language-Directed Hardware Design for Network Performance Monitoring——Marple的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux查询内存条个数,linux下查
- 下一篇: 车智汇模式系统技术开发数据