令A(yù)MD顫抖的英特爾Ice Lake,背后居然還有這樣的技術(shù)
第三代至強(qiáng)可擴(kuò)展處理器Ice Lake終于在上個(gè)月露出廬山真面目,這款產(chǎn)品集結(jié)了英特爾最強(qiáng)的技術(shù),相比上一代產(chǎn)品整體46%的提升,在人工智能、網(wǎng)絡(luò)計(jì)算等性能更高幅度的性能提升。
另外英特爾罕見(jiàn)與競(jìng)爭(zhēng)對(duì)手AMD一較高下,第三代至強(qiáng)在深度學(xué)習(xí)和推理方面性能相比AMD EPYC 7763提高了25倍,種種跡象無(wú)疑顯示著一個(gè)“性能炸彈”的誕生。
事實(shí)上,作為英特爾“心頭肉”和擴(kuò)展一切成果結(jié)晶的平臺(tái),第三代至強(qiáng)可擴(kuò)展處理器Ice Lake仍然潛藏更多技術(shù)值得發(fā)掘。
“除性能提升以外,產(chǎn)品更突出的是安全性和人工智能”, 英特爾公司市場(chǎng)營(yíng)銷集團(tuán)副總裁兼中國(guó)區(qū)數(shù)據(jù)中心銷售總經(jīng)理陳葆立如是說(shuō)。通過(guò)介紹來(lái)看,Ice Lake是唯一內(nèi)置AI和安全解決方案的x86服務(wù)器芯片。
根據(jù)英特爾技術(shù)專家的解釋,第三代至強(qiáng)Ice Lake內(nèi)置安全解決方案,其中英特爾TME和英特爾固件恢復(fù)技術(shù)作為背后的平臺(tái)支持,而英特爾軟件防護(hù)擴(kuò)展(英特爾SGX)、英特爾密碼操作硬件加速作為安全解決方案的一環(huán),與傳統(tǒng)意義的ISV(獨(dú)立軟件開(kāi)發(fā)商)、CSP(內(nèi)置安全策略)關(guān)系更加緊密,因此有必要更加深入研究技術(shù)本身。
因此本文將著重從英特爾SGX、英特爾密碼操作硬件加速和AI方面進(jìn)行講解。
英特爾SGX 帶來(lái)的優(yōu)勢(shì)遠(yuǎn)超想象
根據(jù)技術(shù)專家的解釋,SGX全稱Intel Software Guard Extension,早在第六代酷睿上就已搭載這項(xiàng)技術(shù),本次是第一次在服務(wù)器芯片上進(jìn)行硬件支持。
SGX是目前被廣泛測(cè)試、研究和部署的可信執(zhí)行環(huán)境(TEE),實(shí)現(xiàn)系統(tǒng)中相對(duì)最小被攻擊面。SGX基于硬件的安全技術(shù)實(shí)現(xiàn)了對(duì)敏感數(shù)據(jù)領(lǐng)域中硬件級(jí)別的隱私保護(hù),同時(shí)兼顧了性能體驗(yàn)。內(nèi)存足夠大的飛地現(xiàn)在可以滿足主流工作負(fù)載對(duì)內(nèi)存的需求(最大可達(dá)1TB內(nèi)存空間)。
簡(jiǎn)單解釋來(lái)說(shuō),SGX是一個(gè)新的指令集擴(kuò)展,方便軟件開(kāi)發(fā)者直接通過(guò)調(diào)用CPU指令實(shí)現(xiàn)安全隔離的技術(shù)。
“大家現(xiàn)在非常關(guān)注數(shù)據(jù),特別是很多客戶或者企業(yè)把數(shù)據(jù)放到云上,他們非常關(guān)注數(shù)據(jù)的三種狀況”,技術(shù)專家介紹表示,第一種是在云端可以加密存儲(chǔ),第二種是在云端和本地?cái)?shù)據(jù)間加密傳輸,第三種則是對(duì)服務(wù)器進(jìn)行運(yùn)算時(shí)服務(wù)器內(nèi)存與CPU交互數(shù)據(jù)的動(dòng)態(tài)加密。
為了保證數(shù)據(jù)的全生命周期的安全性,在離開(kāi)各種組織的數(shù)據(jù)中心,到達(dá)云端之后,很有必要對(duì)這三種數(shù)據(jù)狀態(tài)進(jìn)行加密保護(hù),SGX就是屬于第三種的加密形式。
技術(shù)專家為記者解釋,“飛地”指的是一個(gè)組織把數(shù)據(jù)加載到云端或是遠(yuǎn)端模塊上,這樣的數(shù)據(jù)是“孤懸在海外”,不受自己保護(hù)的區(qū)域,那么這種情況應(yīng)該怎樣進(jìn)行保護(hù)?這就需要借助遠(yuǎn)端CPU的能力,即英特爾SGX,敏感數(shù)據(jù)可以被隔離使用。
他繼續(xù)說(shuō),“英特爾SGX是一種基于硬件的可信執(zhí)行環(huán)境,最近隱私計(jì)算聯(lián)盟推薦業(yè)界都使用類似SGX這種基于硬件的可信執(zhí)行環(huán)境。它就是提供了一個(gè)全新形態(tài)的安全和隱私保護(hù),目標(biāo)是能夠幫助各級(jí)組織把敏感的工作負(fù)載放心地放到公有云或是遠(yuǎn)端節(jié)點(diǎn)上。這樣可以在本地加密,傳輸?shù)竭h(yuǎn)端模塊,在云上進(jìn)行加密存儲(chǔ),運(yùn)算時(shí)也是在內(nèi)存當(dāng)中由SGX提供了這種內(nèi)存隔離飛地來(lái)進(jìn)行必要的敏感數(shù)據(jù)運(yùn)算?!?
與常規(guī)的其他的一些隱私保護(hù)或者是安全技術(shù)相比,不管是在安全性、性能和可用性方面,SGX都有明顯的優(yōu)勢(shì)。安全性上,SGX是一個(gè)硬件級(jí)的安全技術(shù);性能上,在第三代至強(qiáng)可擴(kuò)展處理器平臺(tái)上,SGX的計(jì)算性能非常好,基本上沒(méi)有太多的開(kāi)銷;可用性上,SGX既提供系統(tǒng)原生的基于SGX SDK的開(kāi)發(fā)套件,也和LibOS(庫(kù)操作系統(tǒng))生態(tài)緊密合作,致力于不打破現(xiàn)有的應(yīng)用方式,不需要重新構(gòu)建一些通信或者是底層架構(gòu),對(duì)數(shù)據(jù)和模型進(jìn)行隱私保護(hù)。
“SGX還有一個(gè)比較顯著的特點(diǎn),就是保護(hù)的空間可大可小”,SGX可以提供最小4K最大1TB的保護(hù)空間,因?yàn)橛⑻貭柣旧鲜请p路服務(wù)器,所以單路512GB SGX可管理內(nèi)存的情況下,雙路服務(wù)器就是1TB。
“除此之外,SGX是直接由CPU來(lái)解碼的,無(wú)需在安全區(qū)域提供額外的高權(quán)限軟件”,技術(shù)專家告訴記者,這樣為工作負(fù)載加載提供了便利。
SGX還擁有一個(gè)極佳的功能,被英特爾稱之為遠(yuǎn)程認(rèn)證功能。此項(xiàng)功能可讓每一方進(jìn)行互相信任,解決聯(lián)邦學(xué)習(xí)當(dāng)中互不信任或者是互相無(wú)法信任的過(guò)程。遠(yuǎn)程認(rèn)證功能也非常利于構(gòu)建聯(lián)邦學(xué)習(xí)這樣的應(yīng)用,數(shù)據(jù)孤島可以很好的用聯(lián)邦學(xué)習(xí)的方式去解決。
SGX構(gòu)建的聯(lián)邦學(xué)習(xí)架構(gòu)中可以看出,不同參與方都在本地訓(xùn)練模型,再通過(guò)安全聚集的方式到達(dá)可信第三方的聯(lián)合模型。在常規(guī)的聯(lián)邦學(xué)習(xí)設(shè)計(jì)中,可信第三方和本地參與方都是易受攻擊的。可信第三方被攻擊成功后,聯(lián)邦學(xué)習(xí)的流程就不再安全了,模型數(shù)據(jù)和臨時(shí)數(shù)據(jù)也會(huì)被攻破;本地方如果被攻破,相關(guān)敏感數(shù)據(jù)就被讀取泄露。SGX可以幫助完整保護(hù)可信第三方和每一個(gè)參與方,與此同時(shí)不需要做太多的應(yīng)用更改。
舉例來(lái)看,聯(lián)邦學(xué)習(xí)在構(gòu)建模型或是在準(zhǔn)備構(gòu)建模型階段時(shí),均可使用SGX認(rèn)證功能對(duì)第三方運(yùn)行環(huán)境認(rèn)證,檢測(cè)第三方應(yīng)用程序是否被攻擊者篡改過(guò)。一旦發(fā)生篡改,認(rèn)證流程就會(huì)失敗,后面流程中也可以得知這是一個(gè)被篡改過(guò)的服務(wù),不能建立這樣的聯(lián)合建模。反觀之,如果參與方被攻擊者攻破,攻擊者會(huì)破壞整個(gè)聯(lián)邦學(xué)習(xí)流程,通過(guò)可信第三方或是其他參與方認(rèn)證,保證其他應(yīng)用環(huán)境和執(zhí)行環(huán)境都沒(méi)有被篡改過(guò)。所以,SGX可以很好的助力聯(lián)邦學(xué)習(xí),幫助聯(lián)邦學(xué)習(xí)更好的去實(shí)現(xiàn)這樣一個(gè)打破數(shù)據(jù)孤島的任務(wù)。
SGX生態(tài)最近幾年也有一些新進(jìn)展,較為典型的例子便是LibOS。此前,應(yīng)用遷移到SGX是擁有一定成本的,現(xiàn)在有了LibOS這樣的中間層,應(yīng)用程序的系統(tǒng)調(diào)用會(huì)被LibOS轉(zhuǎn)化為SGX SDK能夠識(shí)別的調(diào)用。通過(guò)這一層轉(zhuǎn)化就可使應(yīng)用程序無(wú)需修改任何一行代碼即可完整地放到SGX中運(yùn)行,這就解決了之前提到的遷移成本和易用性的問(wèn)題。
另外,LibOS繼承了SGX的安全性,也是硬件級(jí)的安全標(biāo)準(zhǔn),因此在安全性上具有保障?,F(xiàn)在通過(guò)LibOS社區(qū)和英特爾開(kāi)發(fā)人員的努力,很多項(xiàng)目已可通過(guò)LibOS放到SGX中運(yùn)行。常見(jiàn)的深度學(xué)習(xí)的框架TensorFlow、PyTorch、OpenVINO、Python、Redis等都可放入LibOS,這個(gè)支持列表還在不斷的拓展當(dāng)中。
合作方面,早期第三代至強(qiáng)可擴(kuò)展處理器發(fā)布一年前,阿里云硬件服務(wù)器上線前就已完成相關(guān)“安全飛地”、遠(yuǎn)程認(rèn)證能力建立;最近,騰訊剛剛發(fā)布的《騰訊隱私計(jì)算白皮書(shū)》中,騰訊大數(shù)據(jù)和騰訊安全平臺(tái)部已基于遠(yuǎn)程驗(yàn)真能力,提供這樣的“安全飛地”;百度安全的MesaTEE的整體架構(gòu)中,也應(yīng)用了SGX安全服務(wù),能夠?qū)?shù)據(jù)加載到可信執(zhí)行環(huán)境(TEE)。
“SGX盡管剛剛在服務(wù)器上實(shí)現(xiàn)實(shí)際的硬件搭載,但是從目前生態(tài)來(lái)看也得到了各個(gè)合作伙伴的支持,所以英特爾會(huì)很有信心在服務(wù)器領(lǐng)域繼續(xù)為大家去提供全方位的數(shù)據(jù)隱私保護(hù)。另外,會(huì)讓大家能夠非常放心地在公有云上進(jìn)行相對(duì)較為敏感的工作負(fù)載,包括代碼和用戶數(shù)據(jù)?!?
Analytics Zoo是由英特爾主導(dǎo)的一個(gè)GitHub開(kāi)源項(xiàng)目,項(xiàng)目整合了常用的計(jì)算框架、計(jì)算庫(kù)和自動(dòng)化流水線,能夠減少很多用戶的重復(fù)操作或者是框架整合。Analytics Zoo項(xiàng)目可以保證在大規(guī)模數(shù)據(jù)落地過(guò)程中,端到端的AI落地不需要進(jìn)行重復(fù)的代碼重寫(xiě),也不需要進(jìn)行大規(guī)模數(shù)據(jù)的拷貝。
在此方面,英特爾和螞蟻集團(tuán)也合作了一番。螞蟻集團(tuán)主導(dǎo)了名為Occlum LibOS的項(xiàng)目, 英特爾Analytics Zoo團(tuán)隊(duì)和螞蟻集團(tuán)的Occlum團(tuán)隊(duì)合作之下,這一項(xiàng)目可將大數(shù)據(jù)應(yīng)用、深度學(xué)習(xí)應(yīng)用無(wú)需過(guò)多改動(dòng),無(wú)縫遷移到第三代至強(qiáng)可擴(kuò)展處理器平臺(tái)上,實(shí)現(xiàn)安全可信的機(jī)器學(xué)習(xí)和大數(shù)據(jù)分析,同時(shí)實(shí)現(xiàn)一定程度的架構(gòu)復(fù)用。在數(shù)據(jù)推理階段,通過(guò)英特爾DL Boost技術(shù),可在int8的低精度下實(shí)現(xiàn)兩倍的性能提升。
三位一體的密碼操作硬件加速
技術(shù)專家強(qiáng)調(diào),英特爾提供的是硬件加速,對(duì)密碼操作分為對(duì)稱密碼操作或是非對(duì)稱密碼操作,對(duì)稱密碼操作可能是通過(guò)電子簽名這種比較標(biāo)準(zhǔn)的算法實(shí)現(xiàn),而從硬件方面來(lái)對(duì)這些算法進(jìn)行加速處理,可以幫助實(shí)現(xiàn)降低算力的損耗。
實(shí)際上,隨著需求提升,密碼操作的安全性也隨之而升。假若AES從128位上升為256位甚至更長(zhǎng)秘鑰,這時(shí)對(duì)算力的要求是呈幾何級(jí)數(shù)增長(zhǎng)的。
技術(shù)專家強(qiáng)調(diào),英特爾作為硬件提供商,需要在硬件上能夠幫助軟件層面的密碼操作進(jìn)行硬件的加速,英特爾也通過(guò)三種方式實(shí)現(xiàn)了硬件加速。
第一種是在CPU指令集中不斷添加新的指令來(lái)幫助密碼操作中實(shí)現(xiàn)硬件加速,一個(gè)較為典型的例子就是2000年左右,英特爾發(fā)現(xiàn)AES這種對(duì)稱加密,在使用硬件或者是密鑰向量級(jí)的加速之后,實(shí)現(xiàn)效率可以提升多達(dá)10-25倍。自那時(shí)起,英特爾便不斷持續(xù)增強(qiáng)新的指令集進(jìn)行硬件加速。
第二種是在CPU上進(jìn)行微架構(gòu)的調(diào)整,英特爾在設(shè)計(jì)微架構(gòu)時(shí)會(huì)充分考慮新的指令集如何在硬件中融合,這方面的硬件加速在微架構(gòu)上也有很好的體現(xiàn)。
第三種是在軟件的優(yōu)化上,英特爾擁有很大的軟件團(tuán)隊(duì),通過(guò)軟件優(yōu)化,結(jié)合硬件加速指令集的擴(kuò)展,就可為業(yè)界提供密碼操作硬件加速。
在這種三位一體的硬件加速之下,第三代可擴(kuò)展至強(qiáng)處理器獲得了相比上一代,公鑰密碼擁有5.6倍的OpenSSL RSA2048位簽名能力,對(duì)稱加密擁有3.3倍的單線程AES-GCM模式對(duì)稱加密。
在非對(duì)稱方面,技術(shù)專家為記者解釋,Ice Lake中,面對(duì)特定的、超大的、超長(zhǎng)位的數(shù)字,引用了AVX-512(Advanced Vector Extensions)這樣的指令集,實(shí)現(xiàn)了基于整數(shù)的融合乘加的操作。通過(guò)乘加操作融合IFMA,再進(jìn)行近似讀取,接著通過(guò)VPMADD52指令,實(shí)現(xiàn)多緩存并行操作的機(jī)制,就可在RSA 2048這樣的電子簽名操作上實(shí)現(xiàn)比上一代CPU高達(dá)5.6倍的提升。
在對(duì)稱方面,Ice Lake中,可以實(shí)現(xiàn)矢量的AES和矢量的Crray-Less Multiply(CLMUL),二者可為伽羅華域性能提升做出貢獻(xiàn),產(chǎn)生新的伽羅華域指令集。通過(guò)AVX-512提供的512比特位的寄存器的,進(jìn)行向量操作,對(duì)AES加解密和Carry-Less進(jìn)行沒(méi)有進(jìn)位的乘操作。除此之外,英特爾第一次在Ice Lake中使用全新的SHA擴(kuò)展指令集。
以矢量CLMUL、矢量AES、VPMADD52、SHA擴(kuò)展指令集、GFNI這五個(gè)新的指令集為代表的組合,使得Ice Lake可以對(duì)多個(gè)數(shù)據(jù)進(jìn)行一次操作,幫助軟件開(kāi)發(fā)者極大降低開(kāi)發(fā)難度,使得擁有SIMD的特性。技術(shù)專家強(qiáng)調(diào),之所以在性能有如此強(qiáng)勁的展開(kāi)和ISA指令集架構(gòu)的實(shí)現(xiàn),得益于AVX-512的引用,Ice Lake也是唯一能夠支持AVX-512指令集的方案。
內(nèi)置AI是領(lǐng)先業(yè)界的秘密
根據(jù)英特爾技術(shù)專家的解釋,通過(guò)Ice Lake整個(gè)架構(gòu)的改進(jìn),AI性能比前一代Cascade Lake系統(tǒng)能夠有74%的性能提升,圖像識(shí)別性能比競(jìng)爭(zhēng)對(duì)手AMD EPYC 7763高25倍。
在AI軟件工具上面,現(xiàn)在的CPU架構(gòu)中,會(huì)大量利用到AVX-512指令集,目前在CPU平臺(tái)上,英特爾的至強(qiáng)是唯一能夠支持AVX-512指令集的方案。得益于這樣的指令集支持,至強(qiáng)在多種人工智能的負(fù)載上都能夠有非常優(yōu)秀的性能表現(xiàn),無(wú)論是對(duì)標(biāo)AMD EPYC的產(chǎn)品還是英偉達(dá)的GPU解決方案。
實(shí)際上,根據(jù)技術(shù)專家的介紹,在此這個(gè)過(guò)程中,圍繞架構(gòu)和AVX-512指令集上英特爾和業(yè)界一起投入了大量的資源,在軟件方案上進(jìn)行了深度優(yōu)化。一個(gè)典型的例子就是,在AI的開(kāi)發(fā)應(yīng)用中,在TensorFlow上優(yōu)化的ResNet的性能,相較于默認(rèn)發(fā)行版可以提升10倍。而作為T(mén)ensorFlow之父谷歌,已認(rèn)可英特爾在TensorFlow投入的優(yōu)化性能。所以從最新版本2.5版開(kāi)始,默認(rèn)發(fā)行版就是英特爾的優(yōu)化版。技術(shù)專家戲稱,“下次我們就不能和默認(rèn)發(fā)行版對(duì)比了,因?yàn)槟J(rèn)發(fā)行版就是我們自己的版本?!?
除此之外,AI的很多經(jīng)典機(jī)器學(xué)習(xí)應(yīng)用中,Scikit-Learn是最流行的應(yīng)用開(kāi)發(fā)包,英特爾的工程團(tuán)隊(duì)也和開(kāi)源社區(qū)一起優(yōu)化了針對(duì)Scikit-Learn的機(jī)器學(xué)習(xí)的軟件算法性能。通過(guò)英特爾的優(yōu)化,在Scikit-Learn上可以獲得100倍的性能提升。
技術(shù)專家為記者舉例表示,Ice Lake比較典型的合作便是與阿里云在針對(duì)Transformer自然語(yǔ)言的深度優(yōu)化,通過(guò)VNNI int8實(shí)現(xiàn)了3倍的性能提升。Transformer模型如今已在阿里云平臺(tái)上每天服務(wù)百萬(wàn)級(jí)的用戶,通過(guò)這樣的性能改進(jìn),用戶獲得了更低的響應(yīng)的延時(shí),用戶體驗(yàn)得到了更好的提升。
值得一提的是,Ice Lake第三代至強(qiáng)可擴(kuò)展處理器平臺(tái)上,還支持獨(dú)特的第二代傲騰持久內(nèi)存技術(shù)PMEM。根據(jù)技術(shù)專家的介紹,第一代導(dǎo)入傲騰持久內(nèi)存技術(shù)之后,在業(yè)界就獲得了非常好的反響,眾多的客戶正在投入各種應(yīng)用與傲騰持久內(nèi)存技術(shù)來(lái)合作。其中也產(chǎn)生了非常多的應(yīng)用領(lǐng)域的創(chuàng)新。
據(jù)介紹,傳統(tǒng)不是用傲騰持久內(nèi)存方案需要用到較為昂貴的存儲(chǔ)系統(tǒng),造成的結(jié)果就是需要購(gòu)買(mǎi)較多的DDR4內(nèi)存,且適逢內(nèi)存市場(chǎng)漲價(jià)。而英特爾的傲騰持久內(nèi)存就可降低內(nèi)存密集型服務(wù)的DDR內(nèi)存成本,從客戶合作的實(shí)際結(jié)果來(lái)看,成本的下降差不多可以達(dá)到30%。
總結(jié)
實(shí)際上,經(jīng)歷多年風(fēng)云變幻的數(shù)據(jù)中心市場(chǎng),性能拼殺僅僅是其中一環(huán),除了對(duì)比性能,數(shù)據(jù)中心巨頭還要比拼什么?安全性、AI處理性能甚至是產(chǎn)品線,前兩者想必在大多數(shù)據(jù)中心新品發(fā)布會(huì)都頻繁可以聽(tīng)到,通過(guò)上文將近五千字的技術(shù)解析中,想必讀者已對(duì)英特爾在此方面的優(yōu)勢(shì)有所了解。產(chǎn)品線則代表著對(duì)應(yīng)CPU的加速器、軟件,這方面英特爾的實(shí)力更是毋庸置疑的。
要知道,現(xiàn)在的英特爾不僅是IDM,還是一個(gè)以IDM 2.0為戰(zhàn)略的公司。英特爾不僅手握芯片生產(chǎn)的全部技術(shù),還擁有第三代至強(qiáng)可擴(kuò)展處理器平臺(tái),這一平臺(tái)不僅能夠直接擴(kuò)展英特爾強(qiáng)力的SSD、傲騰持久內(nèi)存,還能直接擴(kuò)展英特爾旗下所有加速器包括獨(dú)立GPU,F(xiàn)PGA,eASIC,ASIC,這一切又都可以在oneAPI上,使用開(kāi)發(fā)者最為熟悉的語(yǔ)言進(jìn)行任意開(kāi)發(fā)。
僅僅從英特爾SGX、英特爾密碼操作硬件加速和AI三方面技術(shù),就窺探出如此眾多的奧妙,可想而知,潛藏在Ice Lake中,被英特爾“堆料”的先進(jìn)技術(shù)究竟有多強(qiáng)。除此之外,英特爾背后的封裝互連、工藝制程和一眾XPU的加持之下,Ice Lake可以說(shuō)“強(qiáng)的可怕”。