不久前的IDF(英特爾開發者論壇)大會上主流市場芯片和開發商消息漫天飛舞,筆者與同事卻注意到幾個不那么耀眼、但卻同樣緊迫的話題。雖然這些事情可能無法與電腦和消費市場相提并論,因其不是那么吸引公眾的眼球,我們關注的話題事關未來幾年里整個服務器空間的設計方向。
就數據中心而言,今年的IDF上最熱門的話題有兩個,一是對Optane 3D XPoint內存的更深刻認識,網上可以找到更詳細的資料。另一個熱門話題是與會者可以搜集到英特爾和Altera FPGA關系的新興技術和市場前沿的信息。具體來說,從英特爾院士Al Gara和Altera公司策略總監Mike Strickland那里,我們對新興力量朝什么方向推動整個局面發展有了那么一點點更深的體會,先是序幕,只是受金融好奇心的驅使,目前進入了有著一種廣泛支持的研究現狀,而下一步是實際產品,期望在各種潛在范圍內適應未來數據中心的需求。
至于坊間傳出的關于FPGA和Xeon的結合說法,背后兩個頭之間的洽談可以用兩個字概括:信心。基本的感覺是,他們知道一些各方讀者和分析師不知道的事。說到底,如果英特爾分出167億美元給一個一直在喊著要走自己的路的公司,那整件事不會只是局外人表面上看那么簡單,對吧?
回到我們自己提出的問題,初步的猜測是,一些領域的新應用可能利用FPGA的優勢,從而謀求大規模增長的潛力,又或者,由FPGA驅動的交換市場爆炸性發展,又或者,市場甚至對一種特別的(針對GPU或高測試CPU)加速有極大、無法滿足的需求,比如大型云供應商可以用得上這種加速。如果Stickland和Gara給出的提示沒有被理解錯的話,那所有這些東西都是真的,而且,其規模是我們所預料不到的,是些即便是短期內服務器市場都無法切入的東西。
這里的重點并不完全在實用上以及FPGA和英特爾處理器的技術結合上,重點更多的在于該項宏大的挑戰本身。顯然,性能上的限制在往前發展時是存在的,有摩爾定律的限制,除此以外,功率限制也越來越大。這才是此項交易的關鍵所在。Gara在IDF上告訴筆者,“當功率受到限制時,要實現一些功能就要找一些特別的方法,以追求性能和平均每瓦的性能,這樣做是非常有益的,能夠提供不同層次的性能。”
Gara表示,“我們認識到我們能夠將大量功能整合到我們的芯片里,我們也就有了加入更多特別功能的機會,利用FPGA,我們有機會做到這一點,而且是以一個更普遍的方法,一個獨特的特定功能不僅僅只是為了一個客戶,它可以為我們提供更多的共性。”
上述說法頗為激勵人心,但算不上未來的路線圖,Gara表示,他認為FPGA功能大致可以朝多方面發展。“就是說,可以向離散和外部設備方面發展,就目前外部設備的狀況而言,FPGA可以進入包裝,甚至存在向處理器核心方面發展的潛力。這一塊的機會一大把,我不是說我們對于所有這些已經搞透徹了,我們確切地知道我們要去哪,但卻也是一個大機會。”
從下圖中可以看到上述各點,其中的QPI鏈接通過PCIe卡提供高帶寬和高速度。有了這個以后,假定其編程模式用的此處所給出,那么稍微想想即不難猜出,英特爾和Altera心里想的模型將會遵循一個一致性模型(Coherency model)。這樣的做法可能會延伸到未來時代,屆時,一切都是在統一的芯片上完成,芯片上類似于我們現在用的CPU和GPU一類的共享內存架構可以讓一切出現在一個地方。FPGA似乎也可以擁有自己的PCI-Express適配器插槽,即是說,別的東西可以直接與其連接,或是通過至強E5芯片連接。
用于大型云的快速數據包
目前還很難確定的說大型云供應商是如何看待FPGA潛力的,但可以保險地說,他們很可能也非常了解加速可以在諸如機器學習和其他應用程序中不同的工作負載方面發揮作用,在節點上也有用。例如,我們早就知道微軟在關注FPGA,特別是他們的Bing搜索引擎也使用加速。不久前,微軟Azure集團首席技術官Mark Russinovich談到Azure可以采用FPGA提升智能網卡性能以加強數據包的處理。
Russinovich在今年6月的開放網絡峰會上就其他大型云服務提供商的方向或許頗為一針見血地指出,“擴展到40 Gbps或以上需要對數據包處理進行非常大量的計算。微軟正在Azure SmartNICs上構建網絡接口控制器(NIC)轉移,無需消耗CPU資源但可以幫助我們擴展,如此,這些CPU資源就可以提供給客戶虛擬機用。”這位云計算CTO表示,盡管FPGA中還沒有在服務器上廣泛用于計算加速,但他的團隊正在積極地利用FPGA“和SDN的可編程性達成快速規模化,專用硬件的性能在業界是獨特的。”
對于大云供應商來說,關鍵是可編程性、可移植性和靈活性,當然,對于其他通用用戶來說也是這樣。人們一般不會很自然地選這幾條來形容FPGA,但英特爾(主要是旗下的芯片業務和HDL經驗)多年來在這一塊做了大量的工作,Altera公司也在許多相同的問題上辛勤地耕耘著。
當然,FPGA和加速器前沿的發展受益的不單單是云供應商。Gara和Stickland均引用了一些諸如高頻交易、科學計算、網絡壓縮、存儲加、媒體轉碼的應用例子以及其他領域里未來重點發展的例子,這些有一部分是來自現存的工具軟件,如英特爾的數據平面開發工具包、加密和壓縮用的基于硬件加速的QuickAssist工具等等。
在一系列的發言里,Altera公司Mike Strickland是個中心話題,他圍繞FPGA利用OpenCL到HDL轉換器而推動編程方法概述了一些新的和有意思的資料。關于這一點,如果翻一翻那個幻燈片就可以很明顯地看到,編程環境正在發展。筆者以前曾介紹過,現存的OpenCL編譯器可以處理大量繁重的后端工作。Strickland表示,FPGA因此可以在OpenCL以外擁有更廣泛的基礎,例如和OpenMP結合。 他稱,“我們的一些用戶用慣了HDL,他們仍然可以繼續用,但可以配合OpenCL內核混合用(最終要發展到OpenMP內核)。這里多了一個新的靈活性。”