国产精一区二区_午夜视频99_免费白白视频_中文字幕一区免费

架構師長文 | 七千字詳解阿里云CIPU技術架構

阿里云
+ 關注
2022-06-22 10:46
926次閱讀

寫在前面

近日,阿里云智能總裁張建鋒在2022阿里云峰會發布云基礎設施處理器CIPU(Cloud Infrastructure Processing Unit),將其定義為替代CPU成為云計算的管控和加速中心。

在這個全新體系架構下,CIPU向下對數據中心的計算、存儲、網絡資源快速云化并進行硬件加速,向上接入飛天云操作系統,將全球數百萬臺服務器構建為一臺超級計算機。

眾所周知,傳統IT時代,微軟Windows+Intel聯盟取代了IBM PC霸主地位;移動計算時代,谷歌Android/蘋果iOS+ARM共同主導了移動終端的技術架構;那么云計算時代,阿里云飛天操作系統+CIPU組合能發揮什么樣的價值?

本文希望通過對CIPU的深入技術解讀,回答讀者普遍關心的關鍵問題:CIPU到底是什么?CIPU主要解決哪些問題?CIPU從何而來,未來又將往何處去?

文 | 阿里云 楊航

在距離2006年云計算鼻祖AWS先后發布S3和EC2有16年之余,距離2010年BAT針對云計算是否“新瓶裝舊酒”之爭已有12年歷史之時,同時Gartner 2021全球IaaS 收入已達900億美元的當下,市面上依然存在著一些偽云計算概念,比如,轉售IDC硬件、轉售CDN等。

云計算行業再次站在了分水嶺上,有必要看清楚云的未來到底是什么?什么才是我們需要的云計算?

作為和水、電一樣的公共資源和社會基礎設施,云的核心特征是“彈性”和“多租 ”。

何謂彈性?

彈性,從廣義上講,是讓IT能力輕松跟上用戶的業務發展;從狹義上講,則帶給用戶無與倫比的靈活性。

先來看廣義彈性的價值,簡單講就是充裕的供給能力,“無限索取”。

IT計算力已經成為很多業務的支撐性能力。當業務迅猛發展時,如果計算力跟不上,那么業務必然會受到嚴重的制約。

但是計算力的建設并不是一蹴而就的,從地、電、水到機房建造,從數據中心網絡鋪設到Internet接入,從服務器選型、定制、采購到部署、上線和運維,從單機房、多機房到跨地域甚至跨大洲,然后是安全、穩定性、容災、備份……最后是最難的,優秀人才的招聘、培訓和保有,這些無一不是耗時、耗力、耗財的事項,談何容易。

而彈性計算的出現,則讓計算力的獲得變得簡單而從容。

下圖展示了一個公有云用戶隨著業務的極速擴張所購買的計算力的增長曲線,短短15個月,計算力需求從零爆發式增長到了數百萬核。彈性計算充裕的計算力供給,讓用戶業務的發展如虎添翼。

架構師長文 | 七千字詳解阿里云CIPU技術架構

何謂多租?

邏輯清晰的讀者可能已經隱約感覺到“彈性”和“多租”并非嚴格的正交和并列關系,那么為什么筆者特意把“多租”上升到“彈性”并列的高度來進行討論?

嚴格來說,多租是實現極致彈性和極致社會IT資源效率的必要條件之一。

不可否認,私有云確實在一定程度上解決了企業IT資源靈活高效使用的問題,但是私有云和公有云在“多租”這個核心業務特性差異,導致二者之間的天壤之別。

準確完成對云計算的“彈性”和“多租”業務特性的定義,則可以進一步討論技術實現層面,如何實現“彈性”和“多租 ”功能,如何在極致安全、極致穩定、極致性能、極致成本等四個維度討論云計算技術實現層面的演進。

眾所周知,IaaS是計算、存儲、網絡等三大件的IT資源公共服務化;

PaaS主要指數據庫、大數據、AI等數據管理平臺服務化以及K8s云原生和中間件;

SaaS則是以微軟Office 365、Salesforce等為代表的軟件服務化。

傳統意義上,云計算主要是指IaaS云服務,PaaS和SaaS則是IaaS云平臺之上的云原生產品和服務;同時由于本文主題CIPU主要位于IaaS層,因此PaaS和SaaS對CIPU的需求不會在本文重點展開。

為了實現IaaS計算、存儲、網絡等IT資源靈活按需供給,其核心特點是資源池化、服務多租、彈性供給以及管理運維自動化等。其背后的核心技術則是虛擬化技術。

我們簡要回顧一下虛擬化技術和公有云服務的歷史:

2003年,XenSource在SOSP發表《Xen and the Art of Virtualization》,拉開x86平臺虛擬化技術的大幕。

2006年,AWS發布EC2和S3,拉開了公有云服務的大幕。EC2的核心正是基于Xen虛擬化技術。

可以看出,虛擬化技術和IaaS云計算服務相互成就:IaaS云服務“發現和發掘”了虛擬化技術的業務價值,使得虛擬化技術成為了IaaS云服務的基石;與此同時,虛擬化技術紅利讓IaaS云服務成為了可能。

從2003年Xen虛擬化技術發軔,到2005年英特爾開始在至強處理器引入虛擬化支持,加入新指令集并改變x86體系架構,使得虛擬化技術大規模部署成為可能,然后2007年KVM虛擬化技術誕生,持續近20年的IaaS虛擬化技術演進,無不是圍繞上述更安全、更穩定、更高性能、更低成本等四大業務目標進行演進。

簡單回顧歷史,我們就可以清晰看到IaaS的阿克琉斯之踵 ——虛擬化技術之痛。

其一,成本。Xen時代,Xen Hypervisor DOM0消耗XEON一半的CPU資源,也就是只有一半的CPU資源可以對外售賣,可以看到虛擬化云計算稅極其沉重。

其二,性能。Xen時代,內核網絡虛擬化時延達到150us之巨,網絡時延抖動極大,網絡轉發pps成為企業核心業務的關鍵瓶頸,Xen虛擬化架構在存儲和網絡IO虛擬化方面有不可克服的性能瓶頸。

其三,安全。QEMU大量設備仿真代碼,對于IaaS云計算毫無意義,而這些冗余代碼不僅僅會導致額外資源開銷,更進一步導致安全攻擊敞口(attack surface)無法根本收斂。

眾所周知,公有云成立的基礎之一是多租環境下的數據安全。而持續提升硬件的可信能力,數據在計算、存儲、網絡等子系統流動過程中的安全加密能力,在Xen/KVM虛擬化下技術挑戰極大。

其四,穩定性。云計算穩定性提升,依賴兩大核心技術:底層芯片白盒,以此輸出更多RAS數據;以及基于這些穩定性數據的大數據運維。

虛擬化系統要進一步提升穩定性,則需要進一步深入計算、網絡和存儲芯片的實現細節,以此獲得更多影響系統穩定性數據。

其五,彈性裸金屬支持。諸如Kata、Firecracker等安全容器,多卡GPU服務器在PCIe switch P2P虛擬化開銷,頭部大用戶追求降低極致計算和內存虛擬化的開銷,以及VMware/OpenStack支持等需求方面,需要彈性裸金屬來支撐這類需求,而基于Xen/KVM虛擬化架構無法實現彈性裸金屬。

其六,IO和算力之間的鴻溝持續擴大。我們以Intel XEON 2 Socket服務器為例,分析存儲和網絡IO以及XEON CPU PCIe帶寬擴展能力,與CPU算力的發展做一個簡單對比分析:

架構師長文 | 七千字詳解阿里云CIPU技術架構

進一步以2018年SkyLake 2S服務器的各個指標(CPU HT數量、DDR整機理論帶寬等)為基準,橫向對比各個技術指標的發展趨勢。

以CPU HT數量為例,96HT SkyLake設定為基線1,IceLake 128HT/96HT = 1.3,Sapphire Rapids 192HT/96HT = 2.0,我們可以得到如下Intel 2S XEON服務器 CPU vs. MEM vs. PCIe/存儲/網絡IO發展趨勢:

架構師長文 | 七千字詳解阿里云CIPU技術架構

從上圖2018年到2022年四年數據對比,我們可以得到如下結論:

Intel CPU提升了2倍(未考慮IPC提升因素),DDR帶寬提升了2.4倍,因此CPU和DDR帶寬是匹配的;

單網卡(包含網卡連接的以太交換網絡)帶寬提升了4倍,單NVMe帶寬提升了3.7倍,整機PCIe帶寬提升6.7倍,可以看出網絡/存儲/PCIe等IO能力和Intel XEON CPU的算力之間gap在持續拉大;

上圖未分析的時延維度數據,由于Intel CPU頻率基本保持不變,IPC未有顯著提升,因此CPU處理數據的時延會有小幅改進,PCIe和網卡/網絡的時延也僅有小幅改進,而存儲NVMe和AEP等新一代存儲介質,相對于HDD等老一代介質,在時延方面出現了數量級的下降;

上述計算、網絡、存儲等基礎設施層面發展的不同步,將對數據庫和大數據等PaaS層的系統架構產生關鍵影響,但這非本文討論重點。

作為有虛擬化技術背景的人士,看到上述分析,內心一定是沉重的。因為在Intel VT等計算和內存硬件虛擬化技術普遍部署后,計算和內存虛擬化的開銷(包含隔離性、抖動等)已經得到了相當程度的解決。

而上述PCIe/NIC/NVMe/AEP等 IO技術突飛猛進發展的同時,如果繼續沿用PV半虛擬化技術,在內存拷貝、VM Exit、時延等方面的技術挑戰將愈發凸顯。

通過上面的內容,我們基本闡述清楚了IaaS云計算在技術層面面臨的問題和挑戰,本章節我們將對CIPU技術發展史做一個綜述,目的是回答一個問題:CIPU從何而來?

細心的讀者如果對上文的“六大虛擬化技術之痛”有進一步思考和分析,應該可以看出6個痛點有一個方面的共性:都在或多或少地討論IO虛擬化子系統的成本、安全和性能。因此符合邏輯的技術解決思路應該是從IO虛擬化子系統入手。

而回望過去20年的技術發展史,也確實印證了上述推導邏輯。本文僅選取兩個關鍵技術,來闡述CIPU從何處來:

其一,IO硬件虛擬化–Intel VT-d:IO虛擬化子系統存在巨大的需求和技術鴻溝,Intel自然會重點解決。DMA直接內存存取,以及IRQ中斷請求在虛擬化條件下的改進,以及對應PCIe標準化組織的跟進,肯定會成為必然。

從IOMMU地址翻譯到中斷remapping和posted interrupt,從PCIe SR-IOV/MR-IOV到Scalable IOV,其具體技術實現細節不在本文討論之列,網上相關資料可謂汗牛充棟,感興趣的可自行搜索研讀。

而筆者在此羅列Intel VT-d IO硬件虛擬化技術的唯一目的是想說:CPU IO硬件虛擬化技術的成熟,是CIPU技術發展的前置關鍵技術依賴。

其二,網絡處理器(NPU)和智能網卡:CIPU另一個設計思路來自通信領域(特別是數通技術)

數通出身的人士,肯定對以太網交換芯片、路由芯片、fabric芯片等特別熟悉,而這其中網絡處理器(Network Processor Unit,NPU。特別指出本文網絡NPU,非AI Neural Processing Unit)是數通領域的一個關鍵支撐技術。

2012年前后,由于受運營商諸多美好愿望驅動(是否能夠大規模落地按下不表,但是人總是要有希望,否則“和咸魚有何差別”),無論是在通信領域的無線核心網還是寬帶接入服務器(BRAS)中,NFV(網絡功能虛擬化)都成為重點研發方向。

一言以蔽之,NFV就是通過標準x86服務器,標準以太交換網、標準IT存儲等IT標準化和虛擬化的基礎設施,來實現通信領域的網元功能,以此擺脫傳統通信煙囪式和垂直化的非標緊耦合軟硬件系統,從而達到運營商降本增效和提升業務敏捷度。

架構師長文 | 七千字詳解阿里云CIPU技術架構

圖片來源:ETSI NFV Problem Statement and Solution Vision

而NFV運行在IT標準化和虛擬化的基礎設施之上,肯定會遇到相當多技術難題。

而這些技術難題之一就是:NFV作為網絡業務,相對于IT領域典型的在線交易/離線大數據等業務,對于網絡虛擬化技術要求有很大差別。NFV天然對高帶寬吞吐(默認線速帶寬處理)、高pps 處理能力以及時延和抖動等都有更為嚴格的要求。

此時,傳統NPU進入了SDN/NFV的技術需求視野,不過這一次是把NPU放置到網卡之上而已,而配置NPU的網卡則被稱為智能網卡(Smart NIC)

可以看到,通信NFV等業務希望部署到標準化和虛擬化的IT通用基礎設施之上,然后遇到網絡虛擬化性能瓶頸。同時期,IT domain公有云虛擬化技術遭遇了IO虛擬化技術瓶頸。

它們在2012年前后,不期而遇。至此,網絡NPU、智能網卡等傳統通信技術開始進入IT domain的視野。

時至今日,在解決云計算IO虛擬化這個問題上,可以看到智能網卡、DPU、IPU等仍然被大家混用。原因之一,確實它們有深刻的血脈聯系;同時如此之多和如此混亂的名稱,也源自于通信領域跨界到IT領域的工程師以及美國多家芯片大廠對云業務需求和場景的不熟悉。

CIPU定位

在相關前置技術儲備的基礎之上,這里我們給出CIPU的定義及定位。

CIPU(Cloud Infrastructure Processing Unit,云基礎設施處理器),顧名思義,就是把IDC計算、存儲、網絡基礎設施云化并且硬件加速的專用業務處理器。

計算器件、存儲資源、網絡資源一旦接入CIPU, 就云化為虛擬算力,被云平臺調度編排,給用戶提供高質量彈性云計算算力集群。

CIPU架構由以下部分組成:

#1

IO硬件設備虛擬化

通過VT-d的前置支撐技術,實現高性能的IO硬件設備虛擬化。同時考慮公有云OS生態兼容,設備模型應該盡最大努力做到兼容。因此實現基于virtio-net、virtio-blk、NVMe等業界標準IO設備模型,成為了必須。

同時注意到IO設備的高性能,那么在PCIe協議層面的優化則至關重要。如何減少PCIe TLP通信量、降低guest OS中斷數量(同時平衡時延需求),實現靈活的硬件隊列資源池化,新IO業務的可編程和可配置的靈活性等方面,是決定IO硬件設備虛擬化實現優劣的關鍵。

#2

VPC overlay網絡硬件加速

上文已對網絡虛擬化的業務痛點做了簡要分析,在這里我們進一步對業務需求進行展開:

需求1:帶寬線速處理能力;

需求2:極致E2E低時延和低時延抖動;

需求3:不丟包條件下的高pps轉發能力

而實現層面,Xen時代內核網絡虛擬化,到KVM架構下基于DPDK vSwitch用戶態網絡虛擬化,面臨如下問題:

1.網絡帶寬和CPU處理能力的差距日漸拉大

架構師長文 | 七千字詳解阿里云CIPU技術架構
數據來源:xilinx

2.DPDK純軟件網絡轉發性能優化瓶頸凸顯

架構師長文 | 七千字詳解阿里云CIPU技術架構

對上述兩個問題做進一步分析,可以看出如下三個根本困難:

100Gbps+大帶寬數據移動,導致“馮諾依曼內存墻”問題突出;

CPU標量處理網絡虛擬化業務,并行性瓶頸明顯;

基于軟件的數據路徑處理,時延抖動難以克服。

此時,基于硬件轉發加速的業務需求誕生,技術實現層面可以分為:

類似于MNLX ASAP、Intel FXP、Broadcom trueflow等基于可配置的ASIC轉發技術;

基于many core的NPU技術;

FPGA可重配置邏輯實現轉發技術。

Intel FXP等基于可配置的ASIC轉發技術,具備最高的性瓦比和最低的轉發時延,但是業務靈活性就比較捉襟見肘;

基于many core的NPU技術,具備一定的轉發業務靈活性,但是PPA(power-performance-area)效率和轉發時延無法和可配置ASIC競爭。

FPGA可重配置邏輯實現轉發技術,time to market能力有很大優勢,但是對于400Gbps/800Gbps轉發業務,挑戰很大。

此時技術實現層面的tradeoff原則:商用IPU/DPU芯片由于需要覆蓋更多目標客戶,會趨向于犧牲一定PPA效率和轉發時延,來獲得一定的通用性;而云廠商CIPU會基于自身轉發業務進行更多的深度垂直定制,從而獲得更極致PPA效率和更極致轉發時延。

3.EBS分布式存儲接入硬件加速

公有云存儲要實現9個9的數據持久性,且計算和存儲要滿足彈性業務需求,必然導致存算分離,EBS(阿里云塊存儲)必須在計算機頭高性能、低時延地接入機尾的分布式存儲集群。

具體需求層面:

EBS作為實時存儲,必須實現E2E極致低時延和極致P9999時延抖動;

實現線速存儲IO轉發,諸如200Gbps網絡環境下實現6M IOPS;

新一代NVMe硬件IO虛擬化,滿足共享盤業務需求的同時,解決PV NVMe半虛擬化IO性能瓶頸。

計算initiator和分布式存儲target之間的存儲協議,一般云廠商均會高度垂直優化定制;而CIPU對EBS分布式存儲接入硬件加速的核心點就在于此。

4.本地存儲虛擬化硬件加速

本地存儲,雖然不具備諸如EBS 9個9的數據持久性和可靠性,但是在低成本、高性能、低時延等方面仍然具備優勢,對計算cache、大數據等業務場景而言是剛需。

如果做到本地盤虛擬化之后,帶寬、IOPS、時延的零衰減,同時兼具一虛多、QoS隔離能力、可運維能力,是本地存儲虛擬化硬件加速的核心競爭力。

5.彈性RDMA

RDMA網絡在HPC、AI、大數據、數據庫、存儲等data centric業務中,扮演愈來愈重要的技術角色。可以說,RDMA網絡已經成為了data centric業務差異化能力的關鍵。而公有云上如何實現普惠化的RDMA能力,則是CIPU的關鍵業務能力。

具體需求:

基于云上overlay網絡大規模部署,overlay網絡可達的地方,RDMA網絡可達;

RDMA verbs生態100%兼容,IaaS零代碼修改是業務成敗的關鍵;

超大規模部署,傳統ROCE技術基于PFC等data center bridging技術,在網絡規模和交換網絡運維等諸多方面,已經難以為繼。云上彈性RDMA技術需要擺脫PFC和無損網絡依賴。

6.安全硬件加速

用戶視角看云計算,“安全是1”——沒有安全這個“1”,其他業務能力均是“0”。因此,持續加強硬件可信技術、VPC 東西向流量全加密、EBS和本地盤虛擬化數據全量加密,基于硬件的enclave技術等,是云廠商持續提升云業務競爭力的關鍵。

7.云可運維能力支撐

云計算的核心是service(服務化),從而實現用戶對IT資源的免運維。而IaaS彈性計算可運維能力的核心是全業務組件的無損熱升級能力和虛擬機的無損熱遷移能力。此時涉及到CIPU和云平臺底座之間的大量軟硬件協同設計。

8.彈性裸金屬支持

彈性裸金屬在具體定義層面必須實現如下八項關鍵業務特征:

架構師長文 | 七千字詳解阿里云CIPU技術架構

同時,云計算彈性業務必然要求彈性裸金屬、虛擬機、安全容器等計算資源的并池生產和調度。

9.CIPU池化能力

考慮到通用計算和AI計算在網絡、存儲和算力等方面的需求差異巨大,CIPU必須具備池化能力。通用計算通過CIPU池化技術,顯著提升CIPU資源利用率,從而提升成本層面的核心競爭力;同時又能夠在一套CIPU技術架構體系下,滿足AI等高帶寬業務需求。

10.計算虛擬化支撐

計算虛擬化和內存虛擬化的業務特性增強,云廠商均會對CIPU有不少核心需求定義。

經過第四章對CIPU業務的完整定義,我們需要對CIPU的計算體系架構進一步理論溯源。

只有計算機工程實踐上升到計算機科學視角,才能更為清晰地洞察CIPU的實質,并為下一步的工程實踐指明技術方向。這必然是一條從自發到自覺的提升之路。

前面我們得出一個結論:“單網卡(包含網卡連接的以太交換網絡)帶寬提升了4倍,單NVMe帶寬提升了3.7倍,整機PCIe帶寬提升6.7倍,可以看出網絡/存儲/PCIe等IO能力和Intel XEON CPU的算力之間gap在持續拉大。”

如果僅根據上述結論進行判斷,必然會認為CIPU硬件加速是算力offloading(卸載)。但是事情顯然并沒有如此簡單。

XEON算力可以簡化為:ALU等計算處理能力 + 數據層級化cache和內存訪問能力。對于普遍的通用計算(標量計算),XEON的超標量計算能力,可謂十分完美。

而矢量計算,XEON的AVX512和SPR AMX,定向優化的軟件性能會大超預期,同時GPU和AI TPU等異構計算對于矢量計算實現了計算的高度優化。

因此,CIPU要在通用標量計算和AI矢量計算等業務領域,去完成XEON ALU算力和GPU stream processor的offloading顯然不現實。如下圖,Intel精確定義workload算力特征,以及最佳匹配算力芯片:

架構師長文 | 七千字詳解阿里云CIPU技術架構

圖片來源:Intel

那么問題來了,CIPU這個socket,最適合的業務workload有什么共同特征?

深入分析第四小節的10個業務,可以看出它們的共同業務特征:在數據流動(移動)過程中,通過深度垂直軟硬件協同設計,盡最大可能減少數據移動,以此提升計算效率。

因此,CIPU在計算機體系架構視角的主要工作是:優化云計算服務器之間和服務器內部的數據層級化cache、內存和存儲的訪問效率。

架構師長文 | 七千字詳解阿里云CIPU技術架構

行文至此,謹以Nvidia首席計算機科學家Bill Dally的精辟闡述“Locality is efficiency, Efficiency is power, Power is performance, Performance is king.”作為小結。

那既然CIPU硬件加速不單單是算力卸載,那它是什么?

先擺出答案:CIPU是隨路異構計算。

Nvidia/Mellanox已經持續倡導in networking computing(近網絡計算)多年,CIPU隨路異構計算和它是什么關系?存儲領域,也存在多年的computational storage、in storage computing以及near data computing(近數據計算)等概念,CIPU隨路異構計算和它們又是什么關系?

答案很簡單:CIPU隨路異構計算=近網絡計算+近存儲計算

進一步對比分析,可以加深對隨路異構計算的理解:GPU、Google TPU、Intel QAT等,均可以總結分類為: 旁路異構計算;CIPU位于網絡和存儲必經之路,因此它的分類為:隨路異構計算。

DPU:Data Processing Unit,從業內信息來看,應該源自Fungible;而這個名字真正發揚光大和名噪一時,則要歸功于Nvidia的大力宣傳推廣。

在Nvidia收購Mellanox之后,NVidia CEO 黃仁勛對行業趨勢的核心判斷:數據中心的未來將是CPU、GPU和DPU三足鼎立,并以此為Nvidia Bluefield DPU造勢。

架構師長文 | 七千字詳解阿里云CIPU技術架構

從上圖可見,中美兩國掀起了一輪DPU/IPU技術投資熱潮,但是筆者的判斷是:這個socket必須基于云平臺軟件底座(CloudOS)的業務需求,完成CloudOS + CIPU深度軟硬件協同設計。

只有云廠商才能發揮出這個socket的最大價值。

在IaaS領域,云廠商追求“北向接口標準化,IaaS零代碼修改,兼容OS和應用生態;同時往下做深基礎,進一步追求軟硬件深度垂直整合”,這背后的技術邏輯是“軟件定義,硬件加速”

阿里云自研了飛天云操作系統及多款數據中心核心部件,技術家底深厚。基于云平臺底座軟件,進行深度軟硬件垂直整合,推出CIPU,是阿里云的必由之路。

還值得一提的是,云平臺操作系統在長期和大規模的研發和運營中沉淀出來的業務理解和知識積累,以及這個過程中構建的垂直完備研發技術團隊,才是CIPU的題中之義。芯片和軟件不過是這些知識固化的一種實現形式。

/ END /

本文來自微信公眾號 “阿里云”(ID: Alibaba-Cloud),36氪經授權發布。

資深作者阿里云
0
相關文章
最新文章
查看更多
關注 36氪企服點評 公眾號
打開微信掃一掃
為您推送企服點評最新內容
消息通知
咨詢入駐
商務合作