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