當前位置:
首頁 > 科技 > 揭開Nitro系統神秘面紗,遷移到AWS全新實例正當時?

揭開Nitro系統神秘面紗,遷移到AWS全新實例正當時?

2013年,AWS開始在內部啟動了一項革命性的研發項目Nitro,該項目通過軟硬體的創新,能夠給使用AWS雲服務的全球用戶帶來更豐富的計算選項和性價比。今天,Amazon EC2的最新計算實例C5、R5和M5等五系列實例已經基於最新的Nitro系統構建,而且AWS已經完成Nitro系統向後兼容前幾代實例,實現了Nitro在整個EC2產品組合中的普及。

Nitro系統包括定製化硬體Nitro卡、Nitro虛擬機管理程序(Hypervisor)、Nitro晶元,它已經成為AWS新一代雲服務實例的技術底座。多年以來,業界對Nitro系統充滿了好奇,但AWS一直對其諱莫如深,隨著C5、M5、R5和T3等新實例落地中國,AWS也首次在中國市場揭開了Nitro的神秘面紗。

Nitro的前世今生

對於用戶而言,選擇適合自己的公有雲服務的因素有很多,但最核心的還是圍繞如按需付費來進行成本優化,可按需索取彈性可擴展的資源,使用豐富的雲功能等來考量,Nitro正是從客戶這些敏感需求而來的技術產物。從純技術視角,其實用戶不需要對雲服務提供商背後所進行的技術架構變革過於關注;但在應用視角,用戶卻有必要進行考慮,這就是為什麼我們要一窺Nitro的原因。

據AWS提供的數字,相比C4基於Nitro的C5實例在性價比方面提升了25%,在中國更是高達49%。也就是說,在相同用量和成本的情況下,C5實例提供給用戶預測性更強的性能表現。基於Nitro實例的性能表現已經接近於裸機系統,根據第三方的報告顯示,二者的差別小於1%。

而這離不開AWS不斷通過技術革新來降低虛擬化開銷的努力。在AWS將Nitro引入到EC2實例之前,Amazon EC2實例的虛擬化走過了漫長的過程。

Nitro項目的驅動力,源自虛擬機管理程序從2012年開始暴露出的一系列瓶頸與缺陷,特別是虛擬機管理程序對於網路以及存儲設備的處理方式。這促使AWS尋求新的方法以改進純軟體虛擬和Xen半虛擬化(簡稱PV)架構,克服其以設備類型不同而存在的巨大差異,進而探索分解虛擬機管理程序以提升性能與靈活性的可行方法。

通過上圖,我們不難發現,Nitro的誕生循序漸進,從軟體虛擬化、Xen半虛擬化塊存儲到硬體虛擬化,Xen都一直伴隨著Amazon EC2實例用量的快速增長,AWS不斷加入硬體虛擬化的的技術來降低開銷。到了2017年,不管是網路I/O,本地存儲I/O,遠程存儲I/O等都已平滑切換到了Nitro。

一直以來Xen都是Amazon EC2中的核心組件,Xen虛擬機管理程序要求用戶在每台伺服器上設置一個管理分區。該分區連同其託管的VMM(Xen、KVM等)與DM(設備模型),共同申請執行任務所必需的系統資源。這些管理要求勢必會從虛擬機的手中奪取一部分系統資源。要想在管理分區與虛擬機之間實現資源使用量均衡,會讓用戶投入大量時間與精力通過實驗取得平衡。

另一大挑戰在於,DM屬於軟體解決方案,其處理的問題在傳統伺服器中由硬體負責解決。所以相比之下,軟體DM的速度慢,而且會降低虛擬機的整體性能水平。

基於此,AWS的Nitro開始嘗試改進EC2的虛擬化策略,首先將目光投向DM,並嘗試降低其處理任務時所帶來的延遲。於是,EC2團隊與硬體團隊合作開發了一系列適用於特定場景的介面卡(即Nitro卡),從而利用硬體解決方案取代原本的多種DM。從上圖我們會發現,從Xen AWS 2013開始,AWS已經逐漸開始引入Nitro卡,EC2實例類型C3開始支持網路介面的硬體虛擬化,AWS稱之為增強型網路,從最初通過使用ixgbe驅動程序,實現10 Gbps的網路連接,到引入ENA驅動程序,實現25 Gbps的網路連接。現在Nitro系統已經可用於處理來自Nitro Hypervisor的存儲、網路、管理、監控以及安全等硬體的調用請求。

Nitro是一套生態系統

Nitro是結合了軟硬體的生態系統,不僅僅是虛擬化這麼簡單。

搞明白了Nitro系統誕生的前世今生,我們再來具體看看它各個組件是如何協同配合實現近乎於裸機的性能。AWS的Nitro系統包含一款輕量級的Hypervisor,用於替代Xen及其設備處理系統,以及多款定製化的介面卡,用於處理Nitro實例的存儲、網路、管理等需求;還有自研的安全晶元,其被直接集成在主板之上。

AWS為網路、存儲的I/O加速和監控、安全配備了多種Nitro卡,它們搭載在物理伺服器的PCIe插槽上。包括了面向VPC (Virtual Private Cloud)型的Nitro卡,面向EBS(Elastic Block Store)型的Nitro卡,面向實例存儲型的Nitro卡,Nitro卡控制器,Nitro安全晶元,滿足用戶對EC2實例的不同需求。

面向VPC的Nitro卡,本質上是一款PCIe連接的網路適配器(即網卡),它的作用是在EC2伺服器與該伺服器類型之上建立網路連接,提供豐富的網路傳輸、安全、控制和路由功能。與所有其它網卡一樣,與之連接的設備需要載入特定的驅動程序,目前在EC2實例上普遍使用ENA驅動程序,它支持25 Gbps的網路連接。需要特彆強調的是,ENA目前已經納入全部主要的操作系統與發行版當中,如Windows、紅帽企業Linux、Ubuntu、Debian、SUSE企業Linux、CentOS以及FreeBSD等,並逐漸成為業界的標準。

據了解,在2018年,AWS將ENA升級為EFA驅動程序,提供了高達100 Gbps的網路連接,這在其他雲服務提供商中是沒有的。目前,EFA驅動程序僅在EC2的C5n實例中提供。

面向EBS的Nitro卡,可為AWS EBS提供存儲加速支持。所有實例的本地存儲都以NVMe(PCIe非易失性內存)設備的形式實現,並由面向EBS的Nitro卡提供透明加密、限制並保護其他用戶系統性能、驅動器監控以追蹤SSD壽命以及裸機實例類型支持等功能。

遠程存儲同樣以NVMe設備的形式實現,作為NVMe over Fabrics實現面向EBS卷的訪問,以確保加密保護並消除對其他EC2用戶的性能影響。特別重要的是,即使是在裸機環境當中,這些安全保護機制也同樣有效。

與AWS通過ENA和EFA定義業界網路標準不同,在存儲方面AWS會遵循業界標準來構建Nitro卡的相關實例類型。

Nitro卡控制器負責協調所有Nitro卡、Nitro Hypervisor以及Nitro安全晶元。其利用Nitro安全晶元實現硬體root可信性,同時支持實例監控功能。此外,它還能夠為單一或者多個面向EBS型Nitro卡提供NVMe控制器功能。

Nitro安全晶元,涵蓋從I/O到NVMe的所有保護對象,包括BIOS、各類I/O設備固件以及伺服器上的任何其它控制器固件,為整個Nitro系統的安全啟動和應用提供保障。

作為Nitro系統中的核心組件之一,Nitro Hypervisor主要負責為EC2實例提供CPU與內存隔離能力。它基於Linux內核的虛擬機(簡稱KVM)技術自主開發,它取消了各類常規操作系統組件,從而為EC2虛擬化實例提供更出色的性能一致性,同時提升可用計算與內存資源,允許AWS提供更為可觀的實例規模。與Nitro卡協同配合,Nitro Hypervisor變得更加輕量級,因為涉及任何與網路及數據存儲相關的處理任務都交給Nitro卡承擔。

運行在Nitro Hypervisor上的實例最高可支持27個額外PCIe設備作為EBS存儲卷與VPC ENI(全稱Elastic Network Interfces)。每個EBS存儲卷或者VPC ENI佔用一個PCIe設備名額。

舉例來說,如果你向某一使用Nitro Hypervisor的實例中接入3個網路埠,則可向該實例中再接入24個EBS存儲卷。

前面我們已經提到,Xen一直伴隨著AWS虛擬化策略的演進,面對未來Xen與Nitro Hypervisor所存在的競爭關係, AWS的官方回復指出,「Xen仍將作為EC2實例的核心組件存在。自從Xen作為Linux基金會協作項目誕生以來,AWS一直作為Xen項目的創始成員,且目前仍然是其諮詢委員會中的積极參与者。隨著AWS不斷擴展全球雲基礎設施,EC2中基於Xen的虛擬機管理程序也在不斷發展。因此,EC2對於Xen的投資將持續增長,而非削減。」

但我認為,隨著Nitro系統體系的完善,Nitro Hypervisor會逐漸取代Xen,在未來很長的時間內,二者或將並存於AWS的EC2實例中。但不管是選擇Nitro Hypervisor,還是Xen,AWS把決定權交給了用戶。

遷移到新一代EC2實例

在系統性的了解了Nitro系統之後,可能會讓你從EC2的已使用實例遷移到EC2新一代五系列實例,或選擇EC2服務更有信心。據AWS透露,目前在全球範圍內已經有超過2000個中國客戶在使用C5和M5實例」。

對於用戶來說,選擇雲供應商不是一次性事件,而是每次為應用選擇承載的雲環境都要考慮的持續性工作。當企業把工作負載和應用遷移到雲端,公有雲服務商則需要匹配更多、更豐富的實例選項來供用戶選擇,併兼有更經濟的成本,新一代EC2實例就是這樣的絕佳選擇。因為在中國區上線的新實例中,不僅性價比大幅提升,AWS還結合中國市場對其實例價格進行了大幅度的調降。

EC2在全球提供超過185種實例,涵蓋通用計算M系列(最新M5,已在中國區上線)、計算密集C系列(最新C5,已在中國區上線)、內存密集型R系列(最新R5,已在中國區上線)、存儲密集i、d和h系列和通用型可突增T系列(最新T3,已在中國區上線)的高性能計算實例。

目前EC2實例家族,支持四大類處理器類型,既有滿足主流需求的英特爾Skylake處理器,也有從用戶需求角度出發、更具性價比的AMD EPYC處理器,在GPU領域採用基於英偉達V100和圖靈T4的處理器。此外,AWS在2018年的re:Invent大會上公布了AWS自研的Graviton處理器,這是一款基於ARM架構開發的處理器,為EC2滿足用戶相關應用在雲端的部署和開發提供了便利。

用戶需要特別留意,AWS在新的五系列EC2實例C5、M5、R5和T3中,處理器配置與競爭對手的不同,它們都採用了英特爾新的Xeon Platinum (之前代號Skylake)處理器,其中C5是與英特爾定製的Intel Xeon Platinum 8124M處理器,18核,主頻3.0/睿頻3.5;而M5a和R5a實例獨家採用了最新的AMD EPYC處理器。AWS也是最早和英偉達在GPU領域展開合作的公有雲提供商,目前在全球基於V100的實例聚集了眾多在人工智慧、機器學習、HPC和圖形計算的客戶群。

以上全新上線實例,結合了Nitro系統和領先的處理器,使得其實例性能都大幅度提升。

相比C4,C5實例在標準頻率下能夠達到3.0GHz,在turbo情況下能夠達到3.5GHz頻率。最多支持72個vCPU和144GiB的內存,上文已提到C5實例支持25 Gbps的網路網路連接,而在最新一代C5n的實例中可支持100 Gbps的網路連接。

同時C5上支持英特爾AV-512的指令集,方便很多用戶基於指令集開發一系列的基於機器學習的應用負載,同時C5d支持本地的NVMe SSD存儲。

AWS表示,因為AWS針對中國區採取了特別的定價策略,使得C5實例的性價比提升了49%。正因為如此,建議有計算密集型工作負載,例如批處理、分散式分析、HPC、機器/深度學習推理、廣告投放、高度可擴展的多人遊戲和視頻編碼需求的用戶,儘快遷移到C5實例。

M5支持最多96個vCPU和384GiB的內存,同時支持英特爾AV-512的指令集。M5實例與M4實例相比,性價比最多提高47%;M5a因為在AMD EPYC處理器上運行,價格比M5低10%。

R5的CPU和內存的比例是1:8,最大也支持到25 Gbps的網路連接,同時R5d支持最大3.6TB的本地NVMe SSD。R5a也運行在AMD EPYC處理器上,所以價格比也R5低10%。

此外,T3實例的CPU性能可以突增,與T2實例相比,性價比最多提高30%。

AWS透露,M5、M5a、T3、R5a和I3實例支持所有EC2定價選項(包括按需、預留和 Spot 實例),按需價格最高可享受90%的折扣。

結語

根據IDC發布的《2018中國公有雲服務市場下半年度跟蹤報告》顯示,AWS以6.4%的份額名列第四,份額比2018年上半年提高了0.4個百分點。如果計算IaaS PaaS,AWS的份額是7.2%,而且在前五名中如果計算IaaS PaaS,只有AWS的份額為上升。相信隨著搭載了Nitro系統的新一代EC2實例落地中國市場,AWS將進一步擴大其市場份額,因為Nitro系統顯著降低了AWS的運營成本,同時卻能夠為中國用戶提供速度更快、性能更強的實例。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲智時代 的精彩文章:

多雲勢不可擋,微軟和甲骨文跨雲合作,甲骨文賺到了

TAG:雲智時代 |