如此快速和高效,是因?yàn)樗捎昧艘环N自定義硬件加速器,可以多次尋找出比壓縮算法通常處理的更多模式;而且匹配這些模式的數(shù)據(jù),將被模式的一個(gè)參考所取代,從而占用的空間更小。
因此,微軟除了發(fā)布壓縮算法規(guī)范作為自己對Open Compute Project Foundation的貢獻(xiàn)之外,還發(fā)布了運(yùn)行該算法開發(fā)芯片所需的Verilog Register-transfer Level (RTL)文件。
微軟計(jì)劃在Project Cerberus下一代版本中也做相同的事情,Project Cerberus硬件“信任根”規(guī)范的目標(biāo),是幫助固件防止惡意軟件入侵,讓你不再擔(dān)心所訂購的硬件是否曾經(jīng)被篡改過。第一個(gè)版本有一個(gè)單獨(dú)的控制器,可以插入服務(wù)器上的PCI總線,但是微軟希望在芯片(例如CPU)層面——甚至是內(nèi)存和存儲層面——也有相同的保護(hù)措施。而且,當(dāng)微軟向OCP貢獻(xiàn)第二代Cerberus規(guī)范的時(shí)候,其中就將包含RTL文件,這樣廠商們就可以輕松地將其添加到自己的芯片設(shè)計(jì)中。
物理實(shí)現(xiàn)是最棘手的部分;硬件提供商通常會在他們交付基于開放標(biāo)準(zhǔn)的系統(tǒng)時(shí),自行來解決這個(gè)部分的問題,因?yàn)檫@是他們相互競爭的一個(gè)部分。但是你希望的是廠商采用你的開放標(biāo)準(zhǔn),因?yàn)閷δ銇碚f,使用的人越多就越有用。
如果你按照廠商希望的那樣,在Open Data Initiative下把數(shù)據(jù)從Azure遷移到Adobe的營銷云、SAP或者Dynamics上,那么在遷移數(shù)據(jù)的同時(shí),對數(shù)據(jù)進(jìn)行壓縮——而不是擴(kuò)展——操作就會更有意義。這樣做,意味著云和你使用的任何服務(wù)器都需要支持Zipline。
使用Verilog和RTL文件(用于描述構(gòu)成芯片設(shè)計(jì)的電路)——來指定芯片設(shè)計(jì),這一點(diǎn)是很困難的。擁有這種技能的程序員寥寥無幾,而且這也不是一種常見技能,這就解釋了為什么很多超大規(guī)模云計(jì)算——而不是普通的企業(yè)——才能夠利用FPGA的靈活性來交付經(jīng)過精確設(shè)計(jì)可以有效運(yùn)行特定算法的硬件。微軟通過開放這種往往僅用于微軟內(nèi)部的設(shè)計(jì),讓自己更容易把Project Zipline和Cerberus構(gòu)建到產(chǎn)品中,從而才能被更多的人使用。
Intel、AMD、Ampere、Arm、Marvell和SiFive都在開發(fā)采用Zipline的CPU;Broadcom、Fungible、Mellanox、Eideticom、NGD和Pure Storage正在將Zipline添加到自己定位網(wǎng)卡和存儲系統(tǒng)中。雖然英特爾沒有明確表示會把Cerberus下一代版本構(gòu)建到自己的CPU中,但邀請微軟Cerberus團(tuán)隊(duì)參加OCP峰會并做主題演講,很大程度上是一個(gè)很明顯的跡象了。
這可能是前所未有的開放貢獻(xiàn),但也非常符合OCP的精神,對于超大規(guī)模云提供商來說,OCP最初的目標(biāo)是讓廠商能夠更輕松地打造出他們希望采購的硬件。
現(xiàn)在,OCP已經(jīng)遠(yuǎn)遠(yuǎn)不局限于服務(wù)器和機(jī)架,其衍生產(chǎn)品對于更多企業(yè)組織來說是有意義的,因此微軟完全有理由這樣做。