1. 程式人生 > >Online Resource Mapping for SDN Network Hypervisors using Machine Learning

Online Resource Mapping for SDN Network Hypervisors using Machine Learning

發表時間:2016

一些定義:

  • self-configuring networks:
  • FlowVisor:

    FlowVisor是建立在OpenFlow之上的網路虛擬化工具,它可以將物理網路劃分成多個邏輯網路,從而實現虛網劃分。

  • 資料中心:

百度百科定義:資料中心是全球協作的特定裝置網路,用來在internet網路基礎設施上傳遞、加速、展示、計算、儲存資料資訊。

維基百科:給出的定義是“資料中心是一整套複雜的設施。它不僅僅包括計算機系統和其它與之配套的裝置(例如通訊和儲存系統),還包含冗餘的資料通訊連線、環境控制裝置、監控裝置以及各種安全裝置”。

A network hypervisor is a program that provides an abstraction layer for network hardware.
Network hypervisors allow network engineers to create virtual networks that are completely decoupled and independent from the underlying physical network. The hypervisor enables segments of a virtual network to be managed independently and to be provisioned dynamically.
(網路管理程式是為網路硬體提供抽象層的程式,允許網路工程師建立完全解耦且獨立於底層物理網路的虛擬網路)

  • 什麼是Hypervisor(虛擬機器監視器,英語:virtual machine monitor,縮寫為 VMM):

Hypervisor是一種將作業系統與硬體抽象分離的方法,以達到host machine的硬體能同時執行一個至多個虛擬機器作為guest machine的目的,這樣能夠使得這些虛擬機器高效地分享主機硬體資源。
被Hypervisor用來執行一個或多個虛擬機器器的電腦稱為主體機器(host machine),這些虛擬機器器則稱為客體機器(guest machine)

  • Hypervisor的種類:
  • bare-metal hypervisors:直接部署在主機硬體上,以管理硬體和guest machine,不需要底層作業系統。(虛擬管理程式直接執行在主機硬體上,如KVM虛擬機器)
  • hosted hypervisors:作為軟體層部署在主機作業系統上,現在常用的VMware Player和VirtualBox就是這種型別。(比如個人使用的VMware執行在Windows作業系統上)

  • OpenVirteX:

    OpenVirteX(以下簡寫為OVX)是一個網路虛擬化平臺,操作人員可以用來建立和管理虛擬SDN網路(vSDNs)。租戶可以通過虛擬化的OF網路構建特定的網路拓撲,定址等。同FlowVisor相似,OVX也處於Physical Network與Controller的中間層,擔任相同的角色。兩者區別在於對資料包頭的處理粒度不同,FlowVisor會根據flowspace的資訊(如埠、ip地址等)將不同主機進行劃分,以此來組成不同的slice。而OVX則是提供一個完整的虛擬網路。

  • offline benchmarks:


在先前的工作中,管理程式的資源對映是基於離線基準(offline benchmarks)的,這種離線基準可以根據控制平面的工作負載(比如控制平面訊息速率)來測量管理程式的資源消耗。離線基準測試因不同的管理程式的環境而產生變化,例如採用的是多執行緒還是單執行緒,並取決於所部屬的硬體平臺的能力(CPU的處理能力)。

作者提出基於機器學習的線上方法(online approach),以確定在執行時將管理程式資源對映到所控制的工作負載。

sdn network hypervisors執行在租戶控制器和資料平面的虛擬資源之間的中間軟體層,負責將租戶的SDN控制器連線到他們的虛擬網路之中,還負責控制和管理物理資料平面資源的分配(例如在不同租戶之間的網路頻寬)。

在虛擬化網路中,和非虛擬化SDN網路一樣,控制平面的效能會對資料平面的效能產生嚴重影響。網路管理程式例項過載的情況下,會影響租戶對控制平面訊息的處理,進而對租戶的資料平面效能產生負面影響。因此,當請求虛擬SDN網路時,租戶應要求資料平面資源和控制平面資源;網路管理程式要保證每個租戶的資料平面資源和控制平面資源的效能。當管理程式處理租戶的控制流量時,就需要複雜的資源對映。

目的:運用線上機器學習,在執行時估計不同資源模型的引數設定,使網路管理程式能夠以自我配置的方式進行工作。(自我配置的例子比如:用於雲系統的虛擬機器的配置)。

作者所做的工作:通過對網路過虛擬機器監控程式的測試,證明了SDN虛擬機器監控程式的可行性。由於現有的基準測試工具不允許對特定的控制混合流量進行分類,我們開發了自己的基準測試框架hvbench,與現有的解決方案如cbench[10]、ofcBenchmark[11]、SDLoad[12]、PktBlaster[13]和[14]中提出的框架相比,hvbench有更靈活的流量混合和訊息到達時間。為了達到測量目的,作者模擬了具有特定控制流量混合的虛擬網路租戶(這一點可以在下面的實驗配置部分體現出來),測量結果證明了線上學習資源分配對映的可行性。

hvbench是什麼:
由作者設計的一個管理程式基準測試工具。可以根據概率分佈生成控制的混合流量(control traffic mixes)(我的理解是:這個管理程式對多個租戶的控制流量進行監測)。

Network traffic control :網路流量控制是管理、控制或減少網路流量的過程,尤其是因特網頻寬,例如資料包通過網路排程器(Network scheduler)。網路管理員使用它來減少擁塞,延遲和丟包。屬於寬頻管理的一部分,是資料中心的一個重要主題。

實驗裝置如下:

包括基於mininet的模擬SDN資料平面,網路管理程式例項,資源監測器和基準測試工作hvbench。配置一個虛擬網路,其中hvbench充當該虛擬網路的控制器。

設定的引數:

管理程式的三種處理模型:

下一步描述迭代擬合過程,在過程中逐步估計模型係數,遂作者定義了初步的引數的值:

線上學習模型:
線上學習是一個三個階段的迭代過程:
第一階段是收集新的樣本;第二階段是將模型函式擬合到收集的樣本中;第三階段,根據擬合的結果更新模型。當出現新樣本時,該過程又會不斷地重複進行。

對比的實驗:評估了兩個基於OpenFlow的Sdn管理程式,FlowVisor和OpenVirtex的學習處理模型。結果表明,線性的模型不足以預測CPU消耗,而指數模型的表現更好。