成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

開放網絡操作系統 ONOS Blackbird性能評估

開源 系統
ONOS是一個網絡控制器。applications通過intent APIs與ONOS進行交互。ONOS通過其南向適配層控制數據網絡的轉發(例如,openflow網絡)。ONOS控制層與數據轉發層之間是ONOS流 子系統,ONOS流子系統是將application intens轉換為openflow流規則的重要組成部分。

目標

ONOS是一個網絡控制器。applications通過intent APIs與ONOS進行交互。ONOS通過其南向適配層控制數據網絡的轉發(例如,openflow網絡)。ONOS控制層與數據轉發層之間是ONOS流 子系統,ONOS流子系統是將application intens轉換為openflow流規則的重要組成部分。ONOS也是一個分布式系統,至關重要的是ONOS分布式架構使其性能隨著集群數量增加而提 高。這份評估報告將ONOS看作一個整體的集群系統,計劃從應用和操作環境兩個角度去評估ONOS性能。

我們設計了一系列的實驗,測試在各種應用和網絡環境下ONOS的延遲和吞吐量。并通過分析結果,我們希望提供給網絡運營商和應用開發商***手資料去了解ONOS的性能。此外,實驗的結果將有助于開發人員發現性能瓶頸并優化。
下圖把ONOS分布式系統作為一個整體,介紹了關鍵的測試點。

[[133226]]

圖中包括如下性能測試點:

延遲:

  • A -交換機 連接/斷開;
  • B -link啟用/斷開;
  • C -intent的批量安裝/刪除/路徑切換;

吞吐量:

  • D -intent操作;
  • E -link事件(測試暫緩);
  • F –迸發流規則安裝。

 

通用實驗設置

集群規模性能測試:

ONOS最突出的特點是其分布式架構。因此,ONOS性能測試的一個關鍵方面是比較和分析不同集群大小下ONOS的性能。所有的測試用例將以ONOS集群節點數量為1,3,5,7展開。

 

測試工具

為了展示ONOS的本質特征,使測試不受測試儀器的瓶頸限制,我們采用了一些比較實用的工具進行實驗。所有實驗,除了與Openflow協議交互的 交換機和端口及其它相關的,我們在ONOS的適配層部署了一套Null Providers與ONOS core進行交互。Null Providers擔任著生成device,link,host以及大量的流規則的角色。通過使用Null Providers,我們可以避免并消除Openflow適配和使用真實設備或者模擬的Openflow設備所存在的潛在的性能瓶頸。

同時,我們也部署了一些負載生成器,這樣可以使應用或者網絡接口生成高強度的負載去觸及ONOS的性能極限。

這些生成器包括:

1.Intent performance 生成器“onos-app-intent-perf”,它與intent API交互,生成intent安裝/刪除操作,并根據ONOS可承受的***速度自我調節生成的Intent操作的負載。

2.流規則安裝Python腳本工具與ONOS flow subsystem交互去安裝和刪除subsystem中的流規則。

3.Null LinkProvider中的link 事件(閃爍)生成器,可以迅速提升發送速度到ONOS所能承受的極限并依此速率發送link up/down信息給ONOS core。

4.此外,我們在"topology-events-metrics" 和"intents-events-metrics" 應用中利用計數器去獲取關鍵事件的時間戳與處理速率來方便那些時間及速度相關的測試。

我們將在后續的每個不同的測試過程中詳細介紹這些生成器的配置。

 

測試環境配置

A 7臺 集群實驗所需要的裸服務器。每個服務器的規格如下:

  • 雙Intel Xeon E5-2670v2處理器為2.5GHz - 10核心/20超線程內核
  • 32GB1600MHz的DDR3 DRAM
  • 1Gbps的網絡接口卡
  • Ubuntu的14.04 OS
  • 集群之間使用ptpd同步

 

ONOS軟件環境

  • Java HotSpot(TM) (TM)64-Bit server VM; version 1.8.0_31
  • JAVA_OPTS=“${JAVA_OPTS: - Xms8G-Xmx8G}”
  • onos-1.1.0 snapshot:
  • a31e13471ee626abce2bc43c413fab17586f4fc3
  • 其他的具體與用例相關的ONOS參數將在具體的用例中進行說明

下面將具體介紹每個用例的細節配置,測試結果討論及分析。

 

實驗A&B - 拓撲(Switch,Link)發現時延測試


目標

本實驗是測試ONOS控制器在不同規模的集群環境中是如何響應拓撲事件的,測試拓撲事件的類型包括:

1)交換機連接或斷開ONOS節點

2)在現有拓撲中鏈路的up和down

ONOS作為一個分布式的系統架構,多節點集群相比于獨立節點可能會發生額外的同步拓撲事件的延遲。除了限制獨立模式下的延遲時間,也要減少由于onos集群間由于EW-wise通信事件產生額外延時。

配置和方法—交換機連接/斷開的延遲

下面的圖表說明了測試設置。一個交換機連接事件,是在一個“floating”(即沒有交換機端口和鏈路)的OVS(OF1.3)上通過“set- controller”命令設置OVS橋連接到onos1控制器。我們在OF控制層面網絡上使用tshark工具捕捉交換機上線的時間戳,ONOS Device和Graph使用“topology-event-metrics”應用記錄時間戳。通過整理核對這些時間戳,我們得出從最初的事件觸發到 ONOS在其拓撲中記錄此事件的“端到端”的時序曲線。

[[133227]]

所需得到的幾個關鍵時間戳如下:

1.設備啟動連接時間點t0,tcp syn/ ack;

2.OpenFlow協議的交換:

  • t0 -> ONOS Features Reply;
  • OVS Features Reply -> ONOS Role Request; (ONOS 在這里處理選擇主備控制器);
  • ONOS Role Request -> OVS Role Reply –OF協議的初始交換完成。

3.ONOS core處理事件的過程:

  • OF協議交換完成后觸發Device Event;
  • 本地節點的Device Event觸發Topology (Graph) Event。

同樣的,測試交換機斷開事件,我們使用ovs命令“del-controller”斷開交換機與它連接的ONOS節點,捕獲的時間戳如下:

1.OVS tcp syn/fin (t0);

2.OVS tcp fin;

3.ONOS Device Event;

4.ONOS Graph Event (t1).

交換機斷開端到端的延遲為(T1 - T0)

當我們增大ONOS集群的大小,我們只連接和斷開ONOS1上的交換機,并記錄所有節點上的事件時間戳。集群的整體延遲是Graph Event報告中最遲的節點的延時時間。在我們的測試腳本中,我們一次測試運行多個迭代(例如,20次迭代)來收集統計結果。

 

設置和方法—鏈路up/down的延遲

測試一條鏈接up / down事件的延遲,除了我們用兩個OVS交換機創建鏈路(我們使用mininet創建一個簡單的兩個交換機的線性拓撲結構)外,我們使用了與交換機連接 測試的類似方法。這兩個交換機的主控權屬于ONOS1。參照下面的圖表。初步建立交換機-控制器連接后,設置一個交換機的接口up或down,我們通過端 口up或down事件來觸發此測試。

一些關鍵的時間戳記錄,如下所述:

1. 交換機端口up/down, t0;

2. OVS向ONOS1發送OF PortStatus Update消息;

2a.在端口up的情況下,ONOS通過給每個OVS交換機發送鏈路發現消息來產生鏈路發現事件,同時ONOS收到其他交換機發送的Openflow PacketIn消息。

3.ONOS core處理事件過程:

由OF port status消息引起的Device事件; (ONOS處理)

鏈路down時,Link Event由Device Event觸發在本地節點產生,鏈路up時,Link Event是在鏈路發現PacketIn/out完成后產生的;(主要時間都是在OFP消息和ONOS處理上)

本地節點生成Graph Event。(ONOS處理)

類似于交換機的連接測試,我們認為在Graph Event中登記的集群中最遲的節點的延時時間為集群的延遲。

[[133228]]

 

結果

Switch-add Event:

[[133229]] 

[[133230]]

Link Up/Down Event:

[[133231]] 

[[133232]]

 

分析和總結

Switch Connect/Disconnect Event:

當一個交換機連接到ONOS時,明顯的時延劃分為以下幾個部分:

1.鏈路發現的中時延最長的部分,是從最初的tcp連接到ONOS收到Openflow features-replay消息。進一步分析數據包(在結果圖中未示出),我們可以看到大部分時間是花在初始化控制器與交換機的OpenFlow握手 階段,ONOS等待OVS交換機響應它的features_request。而這個時延很大程度上不是由ONOS的處理引起的。

2.其次是在"OFP feature reply -> OFP role request"部分,這部分時延也會隨著ONOS集群規模增加而增加,其主要花費在ONOS給新上線的交換機選擇主控權上,這是由于單節點的ONOS只 需在本地處理,而多節點的集群環境中,集群節點之間的通信將會帶來這個額外的延時

3.接著便是從OpenFlow握手完成(OFP role reply)到ONOS登記一個Device Event的過程中消耗的時延。這部分的時延也受多節點ONOS配置影響,因為此事件需要ONOS將其寫入Device Store。
4.***一個延時比較長的是ONOS在本地處理來著Device store的Device event到向Graph中注冊拓撲信息事件的部分。

斷開交換機時,隨著ONOS集群規模的增大ONOS觸發Device事件的時延將略有增加。

總之,在OpenFlow消息交換期間,OVS對feature-request的響應時延占據了交換機建立連接事件中,整體時延的絕大部分。接 著,ONOS花費約9毫秒處理主控權選。***,ONOS在多節點集群環境下,由于各節點之間需要通信選舉主節點,交換機上/下線時延將都會增加。

Link Up/Down Events:

此次測試,我們首先觀察到的是,鏈路up事件比鏈路down事件花費更長的時間。通過時延分析,我們可以看到OVS的端口up事件觸發了ONOS特 殊的行為鏈路發現,因此,絕大多數時延主要由處理鏈路發現事件引起。與單節點的ONOS相比這部分時延受集群節點的影響也比較大。另外,大多數ONOS core花費在向Graph登記拓撲事件上的時延在個位數的ms級別。

在大部分的網絡操作情況下,雖然整體拓撲事件的低延遲是可以被容忍的,但是交換機/鏈路斷開事件卻至關重要,因為它們被更多的看作是 applications的adverse events。當ONOS能更快速的檢測到link down/up事件時,pplications也就能更快速的響應此adverse events,我們測試的此版本的ONOS具有在個位數ms級發現switch/link down事件的能力。

#p#

 

實驗C :intent install/remove/re-route延遲測試

 

目的

這組測試旨在得到ONOS當一個application安裝,退出多種批大小的intents時的延遲特性(即響應時間)。

同時也得到ONOS路徑切換事件的延時特性,即最短路徑不可用,已安裝的intent由于路徑改變而需要重路由時所花費的時延。這是一個ONOS的 全方位系統測試,從ONOS的 NB API 經過intent 和flow subsystem 到ONOS的 SB API;采用Null Provider代替Openflow Adaptor進行測試。

這組測試結果將向網絡運營商和應用開發者提供當operating intents時applications所期望的響應時間以及intents批的大小和集群數量的大小對時延的影響的***手資料。

配置和方法—batch intent安裝與退出

參考下圖,我們用ONOS內置的app“push-test-intent”從ONOS1并通過ONOS1的intent API推進一個批的點對點intents。“push-test-intent”工具構造一系列的基于終點的,批大小和application id的intents。然后通過intent API 發送這些intents請求。當成功安裝所有的intents時,返回延遲(響應時間)。隨后退出這些intents并返回一個退出響應時間。當 intents請求被發送時,ONOS內部轉換intents到流規則并寫入相應的分布式存儲來分發intents和流表。

參考下圖,特別是我們的實驗中,intents被構建在一個端到端的7個線性配置的交換機上,也就是說所有intents的入口是從S1的一個端口 和它們的出口是S7的一個端口。(我們使用在拓撲中額外的交換機S8進行intent re-route測試,這個測試后續描述)。我們通過Null Providers來構建交換機(Null Devices),拓撲(Null Links)和流量(Null Flows)。

當增大集群節點數量時,我們重新平均分配switch的主控權到各個集群節點。

[[133233]]

在這個實驗中,我們將使用如下指標來衡量ONOS性能:

  • 所有安裝的intents是6hops點到點intents;
  • Intent批的大小:1,10,100,1000,5000 intents;
  • 測試次數:每個用例重復測試20次(4次預測試之后統計);
  • 集群規模大小從1到3,5,7個節點。

 

配置和方法--intent Re-route

同樣參照上圖,intent re-route延遲是一個測試ONOS在最短路徑不可用的情況下,重新安裝所有intents到新路徑的速度。

測試順序如下:

1.我們通過“push-test-intents -i”選項預安裝不會自動退出的intents在線性最短路徑上。然后我們通過修改Null Provider 鏈路定義文件模擬最短路徑的故障。當新拓撲被ONOS發現時,我們通過檢查ONOS 日志獲取觸發事件的初始時間戳t0;

2.由于 6-hop最短路徑已不可用。ONOS切換到通過S8的7-hop備份路徑。Intent和流系統響應該事件,退出舊intents并刪除舊流表(因為ONOS當前實現,所有intents和流已不可重新使用)。

3.接下來,ONOS重新編譯intents和流,并安裝。在驗證所有intents確實被成功安裝后,我們從“Intents-events-metrics”捕獲***的intent安裝時間戳(t1)。

4.我們把(t1-t0)作為ONOS 重路由intent(s)的延遲。

5.測試腳本迭代的幾個參數:

a. Intent初始安裝的批大小:1,10,100,1000和5000 intents;

b.每個測試結果統計的是運行20次的結果平均值(4個預測試之后開始統計);

c. ONOS集群規模從1,到3,5,7節點。

 

結果

[[133234]] 

[[133235]] 

[[133236]] 

[[133237]] 

[[133238]]

 

分析和總結

我們從這個實驗中得出結論:

1.正如預期,與單節點的ONOS相比,多個節點的ONOS集群由于EW-wise通信的需要延遲比較大

2.小批intents(1-100),不計批大小時,其主要的延時是一個固定的處理時延,因此當批大小增大,每一個intent安裝時間減少,這就是時延大批的優點。

3.批大小非常大的情況下(如5000),隨著集群大小增加(從3到7),延遲減少,其主要是由于每個節點處理較小數量的intents;

4.Re-routeing延時比初始化安裝和退出的延遲都小。

#p#

 

實驗D:Intents Operation吞吐量

 

目標

本項測試的目的是衡量ONOS處理intents operations 請求的能力。SDN控制器其中一個重要用例就是允許agile applications通過intents和流規則頻繁更改網絡配置。作為一款SDN控制器,ONOS應該具有高水平的intents安裝和撤銷處理能 力。ONOS使用的分布式架構, 隨著集群規模的增加,理應能夠維持較高的intent operation吞吐量。

 

設置和方法

下圖描述了測試方法:

[[133239]]

本測試使用工具"intent-perf"來產生大量的Intents operation請求。這個intent-perf工具可以在ONOS集群環境中的任何一個節點激活并使用。這個工具在使用過程中有個三個參數需要配置:

  • numKeys – 唯一的intents數量, 默認 40,000;
  • cyclePeriod – intents安裝和撤銷的周期(時間間隔),默認 1000ms;
  • numNeighbors –程序運行時,發送到各個集群節點的方式。0表示本節點;-1表示所有的集群節點

當intent-perf在ONOS節點運行時,以恒定的速率產生大量的、ONOS系統可以支持的intents安裝撤銷請求。在ONOS 日志中或 cli request中,會周期性的給出總體的intents處理吞吐量。持續運行一段時間后,我們可以觀察到在集群的某個或某些節點總體吞吐量達到了飽和狀 態。總體吞吐量需要包含intents安裝撤銷操作。統計所有運行intent-perf這個工具的ONOS節點上的吞吐量并求和,從而得到ONOS集群 的總體吞吐量。

intent-perf只產生"1-hop" 的intents,即這些intents被編譯而成的流表的出口和入口都是在同一個交換機上,所以Null providers模塊不需要生成一個健全的拓撲結構。

特別是本實驗中,我們使用兩個相鄰的場景。首先,設置numNeighbors = 0,這種場景下,intent-perf只需要為本地的ONOS節點產生的intents安裝和撤銷請求,從而把intents的東西向接口通信降至***;其次,設置numNeighbors 為-1后,intent-perf生成器產生的intents安裝和撤銷請求需要分發到所有的ONOS集群節點,這樣會把東西向接口的通信量***化。本次 測試持續進行了300秒的負載測試,統計集群的總體吞吐量。其他的參數使用默認值。

 

結果

[[133240]]

 

分析和結論

通過本次實驗得出結論如下:

1.我們看到在ONOS的intents operations測試中一個明顯趨勢:總體吞吐量隨著集群節點的增加而增加;

2.在流表子系統測試中集群的場景對吞吐量的影響微乎其微。

#p#

 

實驗F:Flow子系統迸發吞吐量測試

 

目的

如前面所提到的,流子系統是onos的一個組成部分,其作用是將Intents轉換成可以安裝到openflow交換機上的流規則。另外,應用程序 可以直接調用其北向api來注入流規則。使用北向api和intent框架是此次性能評估的關鍵。另外,此次實驗不但給我們暴漏了端到端Intent performance的性能缺陷,而且展示了當直接與流規則子系統交互時對應用的要求。

 

配置及方法

為了產生一批將被onos安裝刪除的流規則,我們使用腳本“flow-tester.py”。實際上這些腳本是onos工具執行的一部分。具體位置 在($ONOS_ROOT/tools/test/bin)目錄下。執行這個腳本將觸發onos安裝一套流規則到所控制的交換機設備,當所有流規則安裝成 功之后將會返回一個時延時間。這個腳本也會根據接收的一系列的參數去決定這個測試怎么運行。這些參數如下:

  • 每個交換機所安裝的流規則的數量
  • 鄰居的數量-由于交換機的連接的控制器并非本地的onos節點,需要onos本地節點同步流規則到(除了運行腳本的onos本地節點之外的)onos節點
  • 服務的數量-運行onos腳本的節點數量,即產生流規則的onos節點數量

下圖簡要的描述了測試的配置:

從下圖可以看出,onos1,onos2是運行onos腳本產生流規則的兩個服務器;當兩個流生成服務器生成流給兩個鄰居,也就是所生成的流規則被傳遞到兩個與之相鄰的節點安裝。(因為這個流規則屬于被鄰居節點控制器的交換機)。

[[133241]]

我們使用了Null Provider作為流規則的消費者,繞過了使用Openflow適配器和真實的或者模擬的交換機存在的潛在的性能限制。

 

具體實驗參數設置

  • Null Devices的數量保持常量35不變,然后被平均的分配到集群中的所有節點,例如,當運行的集群中有5個節點,每個節點將控制7個Null Devices;
  • 集群一共安裝122500條流規則-選擇這個值其一是因為它足夠大,其二,它很容易平均分配到測試中所使用的集群節點。這也是工具“flow-tester.py”計算每個交換機所安裝的流規則數量的一個依據。
  • 我們測試了2個關聯場景:1)鄰居數量為0,即所有的流規則都安裝在產生流的服務器上場景;2)鄰居數量為-1,即每個節點給自己以及集群中的其它節點產生流規則
  • 測試集群規模1,3,5,7
  • 響應時間為4次預測試之后20次的的測試時間統計整合得出

備注:版本發布的時候,ONOS核心仍然采用Hazelcast作為存儲協議來備份流規則。

實驗表明,使用Hazelcast協議作為備份,可能導致流規則安裝速率頻繁迸發增長。

在這一系列實驗中,我們通過修改發布版本如下路徑的代碼關閉了流規則備份。($ONOS_ROOT/core/store/dist/src /main/java/org/onosproject/store/flow/impl /DistributedFlowRuleStore.java)

[[133242]]

 

分析與結論

通過測試,可以得出如下系統性能測試結論:

1.根據測試數據顯示,當配置N=0時,與配置N=“all”相比,系統有更高的吞吐量。也就是說當生成的流規則只安裝給本地ONOS節點控制器的 設備時,流子系統的性能比安裝給所有ONOS節點控制的設備時高。因為,ONOS節點之間的EW-wise通信存在開銷/瓶頸。即,當配置N=“all” 時,性能低,符合預期值。

2.總的來說,這兩種情況下通過增大集群節點數量測試,吞吐量隨著集群數量的增加有明顯的提高。但是這種提高是非線性的。例如,N=“all”與N=“0”相比,當節點間需要通信同步時,平穩增加的性能趨于平緩。

3.設置N=“all”與N=“0”獲得的類似的性能數據說明,EW-wise通信沒有成為ONOS intent operation性能的瓶頸。

責任編輯:林師授 來源: Linux中國
相關推薦

2015-09-24 09:36:14

ONOS架構網絡操作系統

2015-12-31 10:25:32

EmuCORD開放網絡

2013-11-27 13:01:12

AristaSDN

2011-01-05 13:48:55

Linux提高性能

2011-03-28 16:27:49

現代網絡操作系統網絡虛擬化

2010-04-09 13:26:44

2016-06-13 15:53:34

SDN開放網絡操作系統ONOS

2010-04-22 12:02:32

Aix操作系統

2010-03-03 10:38:59

2010-04-15 11:21:56

2015-11-03 10:32:47

ONOS開放網絡操作系統

2013-01-29 11:45:25

網絡操作系統NOS

2010-04-30 09:09:44

Unix操作系統

2011-12-08 20:23:11

BlackBerry

2009-12-09 17:25:19

Linux操作系統

2010-04-22 16:10:48

Aix操作系統網絡通信

2009-12-16 10:38:20

Linux操作系統

2011-08-18 10:29:11

Silverlight

2010-04-20 10:00:58

Unix操作系統

2009-07-10 09:13:00

SymbianNokia開源
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级毛片视频在线观看 | 精品区 | 最新国产精品精品视频 | 国产精品欧美一区二区 | 国产精品高潮呻吟久久aⅴ码 | 在线看91| 亚洲二区视频 | 免费a v网站 | 人人看人人射 | 国产一区二区免费电影 | 亚洲一区二区三区四区五区中文 | 91精品国产综合久久久久久 | 九九九久久国产免费 | 美女天天干天天操 | cao视频 | 久久精品国产v日韩v亚洲 | 在线播放一区 | 福利视频大全 | 日本激情视频中文字幕 | 国产一区二区激情视频 | 韩国av一区二区 | 亚洲精品国产成人 | 精品国产一区二区三区久久久四川 | 天天操夜夜艹 | 亚洲精品黑人 | av在线免费观看网址 | 亚洲国产精品久久久久婷婷老年 | 欧美一级α片 | 亚洲成人一区 | 亚洲人a | 在线国产小视频 | 一级做a爰片性色毛片16 | 欧洲一区在线观看 | 久久av网站| 日本特黄a级高清免费大片 特黄色一级毛片 | 黄色毛片视频 | 2018天天干天天操 | 一区二区三区在线播放 | 精品久久久久久久久久久 | 免费a网站 | 欧美精品久久久久久久久久 |