欧美日韩国产在线观看网站_亚洲欧美国产另类_秋霞成人午夜鲁丝一区二区三区_色综合中文字幕

突破性能極限,阿里云神龍最新解讀

2020-03-17 17:05:29

來源:阿里云神龍團隊

日前,ASPLOS 2020公布了計算機界最新科技成果,其中包括阿里云提交的名為《High-density Multi-tenant Bare-metal Cloud》的論文,該論文闡述了阿里云自研的神龍服務器架構如何解決困擾云計算行業多年的虛擬化性能損耗問題,打破物理機的性能神話,讓云服務器突破性能極限。

虛擬化是云計算的基石,多租戶(Virtual Machines)共享一個物理服務器,提高了數據中心服務器的利用率,使得云計算服務商可以提供更經濟高效的服務。但是,虛擬化下多VM共享物理服務器的技術會引入不少安全問題,尤其是最近的側通道攻擊等。此外, CPU、內存和 I/O 在虛擬化性能方面會產生不可忽略的開銷。為此,物理服務器租賃已成為公共云中新興的服務類型,物理服務器租賃為用戶提供了強大的隔離性、對硬件的全面和直接訪問以及更可預測的性能。但是物理服務器租賃的方式也有其缺點:它只能針對單租戶,且不具備可擴展性、成本又高,適應性弱。當前物理服務器租賃只能將整個物理服務器租給單個用戶,并且在租用服務器后用戶無法方便的替換鏡像,存儲等云計算的基本服務。

在本文中,我們提出了一種創新的高密度多租戶共享彈性裸金屬服務器的設計,也就是阿里云神龍彈性裸金屬架構(論文中為了滿足評審的要求稱為BM-Hive)。在阿里云神龍高密裸金屬架構中,每個裸金屬實例都運行在一個單獨設計的計算子板上,該計算子板帶有專有的 CPU 和內存模塊。BM-Hive為每個計算子板配備了硬件/軟件混合 virtio I/O 系統,使客戶實例能夠直接訪問阿里云網絡和存儲服務。BM-Hive 可在單個物理服務器中托管多達 16 個裸金屬實例,顯著提高裸金屬服務器的實例密度。此外,BM-Hive 在硬件級別嚴格隔離每個裸金屬實例,以提高安全性和隔離性。神龍彈性裸金屬高密方案已經在阿里云的公共云部署。它目前同時為百萬級用戶提供服務。

介紹
物理服務器租賃的出現是為了滿足對性能或者安全性有非常苛刻要求的客戶。但對于單租戶,低密度的物理服務器卻存在成本高的問題。公共云上面的大多數客戶是中小規格客戶。我們統計云服務上面的各個規格的VM的vCPU數量,對于需求小于32Core 的VM占到了95%以上。而現有物理服務器的CPU規格最小也有64Core,最高達到128Core。這些中小客戶別無選擇,要么放棄物理機級別的性能與安全性,采用傳統虛擬化的VM,要么租賃整個服務器,而放棄性價比。這也是不具備彈性的裸金屬公共云尚未成為主流的重要原因之一。
 
為此,我們設計了神龍高密度彈性裸金屬架構:一個可擴展的,支持多租戶的彈性裸金屬硬件虛擬化方案。該裸金屬框架(BM-Hive)既能保證CPU和內存擁有本地物理機運行時的性能,又實現IO設備的硬件虛擬化,同時具備云計算的分鐘級計費、彈性擴容等最重要功能。BM-Hive由三個模塊組成:計算子板,IO-Bond,BM-hypervisor。計算子板包含了可替代的裸金屬實例的CPU與內存;BM-hypervisor運行在我們的基礎物理服務器上,它可以托管最大16個計算子板;IO-Bond是連接計算子板與BM-Hypervisor的紐帶。我們在后續章節將會詳細介紹這三個部分。
 
采用BM-Hive的方案顯著優點:
 
• 經濟實惠:采用了高達16個裸金屬實例共享一個物理服務器,能顯著降低客戶成本;
• 單線程性能優異:裸金屬實例可以自由采用高主頻CPU,比如i7 4.2GHz;
• 兼容當前運維體系:客戶可以像使用其他非裸金屬實例一樣操作裸金屬實例,包括制作鏡像、更換系統盤、添加/刪除云盤等云計算特有便捷操作。
 
對比當前公共云上多種不同實例優劣如下:


神龍裸金屬架構是軟硬一體化的虛擬化架構
神龍裸金屬軟硬一體虛擬化架構是對現有虛擬化的一個自然演進與升級換代。入下圖所示,在整體架構上面,BM-Hive與傳統虛擬化方案在CPU/內存方面、運維體系接入、多租戶復用等方面非常相近。神龍裸金屬開發了一套適合裸金屬共享方案的軟硬件一體BM-Hypervisor來處理計算子板的IO子系統。

當前虛擬化主要面臨如下問題:
在詳細探討神龍裸金屬架構之前,我們先來看看當前云計算虛擬化面臨的一些問題。而神龍裸金屬軟硬一體虛擬化方案很好的解決了這些問題。
 
• 虛擬化開銷無法滿足高性能需求
• 虛擬化性能存在無法控制的抖動,從而無法滿足對性能極致要求的場景
• 虛擬化的安全隔離性達不到特定行業要求
• 嵌套虛擬化的性能無法滿足客戶需求
 
虛擬化開銷:
當前虛擬化的基本原理決定了CPU必須要在vCPU環境與物理CPU環境下來回切換(VM-Exit)。頻繁的切換會導致嚴重的VM性能問題。比如一個典型的直通設備中斷,在虛擬化下處理流程就非常長。KVM hypervisor下面一個虛擬化切換至少需要幾千個時鐘周期,開銷有可能會達到~10us。一般情況下VMExit(比如中斷)達到5K左右,VM的性能將開始受影響。還有各種原因導致的VMExit,比如IPI,EPT violation,MMIO訪問,等等。
 
我們采樣了30萬個虛擬化實例的運行數據,發現每秒1萬次以上VM-Exit的實例達到3.82%,甚至還有不少每秒超過10萬切換的實例。

神龍裸金屬BM-Hive由于采用了計算子板直接運行實例,避免了任何傳統CPU/內存虛擬化的開銷。
 
虛擬化的性能抖動:
由于客戶實例與系統服務都共享同一個CPU,這就導致了當宿主機系統服務繁忙時可能影響到客戶實例的運行。我們采樣了2萬個實例在運行中CPU被搶占的情況,發現在共享性實例上,有200個以上的實例,在運行中被系統占用的CPU利用率超過2%。也就是說這200個實例的實際CPU性能是98%而不是100%,同樣的情況在獨享型的實例也有發生。畢竟中斷等處理是一定需要CPU在宿主機系統中才能處理的。而在BM-Hive下的實例,系統服務在BM-hypervisor下運行,與計算子板的CPU為不同的物理CPU,所以神龍裸金屬實例根本就不存在任何搶占計算資源的問題。

虛擬化的安全性:
這個不是一個新問題,我們都承認安全級別從低到高的形態:進程->容器->虛擬化->物理機。今年發生的側信道攻擊等都說明,虛擬化下實例并非牢不可破。而神龍裸金屬實例運行在獨立的計算子板之上,是天然的物理隔離,不存在這些安全問題
 
嵌套虛擬化性能問題:
一般來說KVM嵌套虛擬化的性能損失在20%以上,尤其是遇到一些IO操作更頻繁的場景。因此當前云計算實例上很難在滿足客戶二次虛擬化的要求。而神龍裸金屬實例卻可以運行客戶在實例內部再次運行他們自己喜歡的各種硬件加速的虛擬化方案。
 
神龍裸金屬架構系統設計
為了解決傳統虛擬的諸多問題,BM-Hive的設計考慮目標為:
• 多租戶
• 物理機隔離安全性
• 接入現有運維體系
• 物理機性能
• 低成本

圖3顯示了BM-Hive的整體系統架構。我們把神龍裸金屬實例稱為:BM-guest。把基于傳統虛擬化的實例稱為:VM-guest。每個裸機服務器由底座和多個計算子板構成。該底座本質上是一個簡化的基于 Xeon 的服務器。每個計算子板都有一個PCIe 擴展板連接到底座。其主要組件包括 CPU、內存、PCIe 總線和 IO-Bond。IO-Bond 是用FPGA實現的硬件接口。它連接底座和計算子板的PCIe總線,功能類似與PCIe的透明橋功能。IO-Bond在計算子板的PCIe總線上,它模擬多個virtio設備并由標準virtio內核驅動程序支持。IO-Bond充當bm-guest/virtio前端與后端BM-Hypervisor的橋梁。目前,IO-Bond 支持 virtio 設備網絡和存儲(塊設備)。它可以很容易地擴展支持其他virtio設備。

一些思考
IO-Bond的性能優化:IO-Bond處于IO系統的關鍵性能路徑之上。當前由FPGA實現。在將來我們可以通過ASIC芯片的方式實現,從而進一步提升網絡與存儲、性能
 
熱遷移與熱升級:熱升級在裸金屬實例上面是可以實現的。我們在升級底座BM-Hypervisor的同時可以做到對客戶實例無感知。我們在2019年ASPLOS的論文中就有詳細介紹實例熱升級的技術《 Fast and Scalable VMM Live Upgrade in Large Cloud Infrastructure 》 。熱遷移理論上,裸金屬實例也可以實現,我們做過一些嘗試。目前也正在開發中。
 
SGX支持:SGX的支持在裸金屬實例上面沒有任何問題。相反由于去掉了虛擬化的阻礙,SGX的支持更容易。

  • 關鍵詞:
  • 阿里云
  • 云計算
  • 虛擬化
  • 軟硬一體
索取“此產品”詳細資料,請留言
  • *姓名:
  • *手機:
  • *郵寄地址: