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