- OpenCAPI:突破傳統計算世界的維度藩籬
- 2020年01月16日 來源:中國第一時間
提要:云計算、萬物互聯、大數據分析,以及不斷涌現的人工智能等,對應用負載提出了越來越高的期待,企業對于系統性能的要求自然也是水漲船高。
云計算、萬物互聯、大數據分析,以及不斷涌現的人工智能等,對應用負載提出了越來越高的期待,企業對于系統性能的要求自然也是水漲船高。
在傳統軌跡上,擠牙膏式地對處理器進行加強是多年來的不二法門。然而時過境遷,支撐處理器的摩爾定律已經接近邊緣盡頭,在多元化且近幾何級的計算需求面前,應用負載更需要進入全新的、系統級別的提升。
對異構計算的探索跋涉就是一種對于計算性能瓶頸的突破。異構計算是一種特殊形式的并行和分布式的計算,它通過引入GPU、ASIC、FPGA或其它加速器,配合CPU去執行各自最擅長的任務,從而實現計算性能和成本的最優化。
以異構計算為基礎的計算系統能夠打破 CPU 和外圍設備間數據傳輸的瓶頸,讓更多的硬件設備參與計算,如用專用硬件完成密集計算或者外設管理等,從而顯著提高系統性能。
作為異構計算領域的開拓者,IBM這些年來也一直在探索更高帶寬、更低延遲的異構計算接口,減少CPU和異構核心之間的接口的傳輸能力對異構計算性能優勢的限制。
2013年,IBM推出第一代CAPI 1.0接口(Coherent Acceleration Processor Interface 1.0),同時,為了加速OpenCAPI的應用,IBM與幾家頂級的國際化公司(包括AMD、Google、IBM、Mellanox、Micron、Xilinx)建立了獨立的標準化組織OpenCAPI,在異構計算的潮流中致力于推動高速硬件接口設計全面進入內存一致性時代。如今第三代CAPI接口開放給更多的異構計算開發者使用,名為OpenCAPI接口。
需要強調的是,雖然OpenCAPI首發于POWER9,但是它的設計特性并沒有綁定在POWER架構上,完全可以嵌入到其他種類的處理器架構之上。
OpenCAPI接口能夠有效地分擔CPU的負荷,為客戶提供一種可訂制、高效易用的硬件加速解決方案——這一原始定義非常樸素,但方寸之間,深不見底,它是新一代異構計算的基礎設施。
從2018年開始,通過在中國舉辦OpenCAPI異構計算大賽,IBM希望來自高校的理工學子能夠通過了解OpenPOWER和OpenCAPI進一步實踐異構計算,在未來逐漸成長為科技創新的儲備軍和中堅力量。
2019年鳴鑼的OpenPOWER + OpenCAPI異構計算設計大賽則是吸引了來自14所高校的21支隊伍。顯然,OpenPOWER + OpenCAPI的組合正在吸引更多的關注,新的生態逐漸孵育成熟,正在蓄勢待發。
OpenPOWER+OpenCAPI
李孝聰,西安交通大學在讀碩士。本次大賽中,他和他的隊友們順利闖過初賽,與其他9支隊伍共同殺入到復賽當中。
作為一枚經常參加各種校外比賽的“研究僧”,李孝聰表示,在大學里接觸異構計算的場合并不是很多,此前基本上是通過閱讀論文、搜索資料這樣遠距離的學習來獲取理解,而大賽提供了多次與OpenPOWER+OpenCAPI“親密接觸”的機會,李孝聰和他的隊友們也得以與許多共同學習OpenCAPI技術的參賽團隊進行深入交流。
遠超李孝聰預期的是,主辦方為參賽隊伍提供了一對一的企業導師,導師們傳播知識、理解應用場景,能為參賽方案提出優化建議和點睛式的改進點撥,這是同類賽事其它主辦方難以提供的優勢資源。
此外,主辦方還提供了服務器與板卡,參賽者不僅可以在理論上討論加速效果,更可以在服務器上實現加速效果,親自感受OpenCAPI異構計算的巨大威力。在接下來的時間里,李孝聰希望進一步改進方案,完成最終的設計。
李孝聰團隊的方案主要是圍繞密碼學的算法。由于計算量非常大,算法也比較復雜、串行度大,因此團隊的設計初衷就是利用FPGA(Field-Programmable Gate Array,現場可編程門陣列),更靈活地設計邏輯電路,賦予它更強大的加速能力。
相較而言,他的感受是,OpenCAPI有著非常領先的前瞻性和技術水準。譬如AES、SM3等算法,它們在計算速度上沒有什么問題,但是對帶寬要求非常高,一般的系統上是很難實現的。而OpenCAPI則是優勢明顯,第三代協議的OpenCAPI已經能夠提供25GB/s的接口速度。
李孝聰表示,在不占用資源的情況下,團隊會盡可能使用OpenCAPI的接口帶寬,并根據FPGA的資源情況適當地調整一下它的流水線級數,保證更好的工作效率。
在高帶寬之外,OpenCAPI還具有低延時的特性,能夠為數據從FPGA端傳送到CPU端或是反向傳輸,提供極好的支撐。
以SM2橢圓曲線公鑰密碼算法為例,如我們所知,這是個運算量比較大的算法,同時也對數據傳輸有著很高的要求。由于具備低延時的特點,OpenCAPI不僅能夠加速SM2算法的運算,還可以讓數據的傳輸更快,整個系統也由此更具安全優勢。
生態的“移山”之旅
大賽規模的擴充,一方面令IBM中國OpenPOWER總經理吳偉明欣喜不已,另一方面也令他深陷“煩惱”:與上屆比賽相比,主辦方需要做出更多“痛苦”的決定,比如將21支初賽隊伍最終縮減為10支挺進復賽的隊伍。
從2013年一路走來,OpenCAPI已經迭代到第三代,日趨成熟,并且擁有上佳的技術水準。然而現實是以GPU為主的開發,仍未被充分利用,IBM提供開源工具套件的初衷,是希望幫助開發者更加快捷、容易地開發應用,加速創新。
IBM一貫重視與大學和科研機構的合作,他們客觀、包容,可以接受新的東西,也樂于實現科技的快速落地。吳偉明表示,大賽的目的是把創新技術展示出來,讓客戶們看到在單純的CPU加持之外,實際上還有一條更為可靠的、CPU+加速器的硬件加速解決方案。
他注意到,與上屆相比,本屆大賽的參賽方案出現了一些極具意義的變化:此前的應用基本是面向超算中心或是互聯網公司,而本次則涌現出一批與工業控制相關的方案。與此同時,很多方案也瞄準了企業應用的實際方向,這是一個非常好的跡象。
針對本次大賽,主辦方的OpenPOWER 基金會和OpenCAPI 聯盟,承辦方的IBM,協辦方的浪潮商用機器等伙伴,均投入了大量的資源,就是希望為新做開發的年輕人,或是正在做加速應用的開發者,開啟不同的計算視角、提供更為務實和高效的計算途徑。
吳偉明指出,大賽的目的是改變整個以CPU為大腦的現有計算模式,改變人才的能力,這是革命性的創新之舉,也是一次對原有計算生態的“移山”之旅,難度可想而知。
采用全新的異構計算架構,要求開發者具有更好的軟硬件協同開發意識,能夠清楚了解不同核心之間的性能優勢,通過CPU協調各個異構核心的計算算力,從而實現最優的異構計算方案。對于開發者而言,從原先單一挖掘CPU的計算能力,提升到能夠合理調度各個計算核心的算力,其轉變充滿挑戰。
這可能是一個漫長的過程,或許還需要兩到三年才能看到初步成效,但是一旦起步就會進入到加速期,并感染和鼓舞更多的人群,實現滾雪球式的發展。千里之行始于足下,新計算世界的開疆拓土勢在必行,主辦方與IBM愿意為此一盡綿薄之力。
“在現階段,我們希望通過大賽對CPU+加速器的模式做出回應,將OpenPOWER + OpenCAPI的能力更加真實和全面地注入市場,帶動市場的同步發展。”吳偉明表示。
迭代:技術的進化
在本次大賽中,IBM中國系統實驗室芯片研發工程師錢晨以企業導師的身份,與同事一道參與了初賽團隊的參賽方案指導工作。他認為,參賽方案涉及到視頻編解碼、深度學習以及密碼學等方面,很多奇異的構思和創新的方案都令人拍案叫絕。
應該說,此次提交的方案都具備較好的落地價值,與當前的網絡熱點和企業應用相契合。譬如錢晨負責指導的一個變壓器繞組模型在線監測的課題,非常具有創新性而且貼近生產實際,可以很好地提升生產效率。
此外,方案的技術選擇也在某種意義上完成了迭代:復旦大學的視頻風格遷移方案實現了CPU和FPGA的聯合計算加速,又進一步引入了GPU,從而做到了CPU、GPU和FPGA的聯合加速,為視頻遷移提供了良好的實時性,同時保持了高計算密度。
在這一方案中,CPU實際上是GPU與FPGA之間的調度者。吳偉明認為,這也是OpenPOWER + OpenCAPI的發展愿景,既讓CPU從繁重的計算處理中解脫出來,更多地擔當調度的角色,也讓GPU、FPGA等加速器部件發揮更好的作用。
雖然OpenCAPI非常強大,但是駕馭它并不困難,學習和使用非常簡單、易于上手,對開發者也很友善。一方面,這是因為OpenCAPI擁有非常豐富的技術文檔,另一方面則是由于IBM提供了一套非常成熟的軟硬件開發環境,這套環境包括:
基于OpenCAPI C1模式的加速框架oc-accel(OpenCAPI Acceleration Framework);OpenCAPI的FPGA板卡支持套件,OpenCAPI 3.0_Client_Ref Design;OpenCAPI的軟件開發庫libocxl;OpenCAPI軟硬件協同仿真引擎OCSE,OpenCAPI Simulation Engine。
這套開發環境經過IBM工程師的努力,已經全部在GitHub上開源,全世界所有異構計算的開發者可以快速掌握。
毋庸置疑,大賽的目的是在大學里培養和引導人才,但是這并不意味著OpenCAPI的推廣會一直在象牙塔中進行。吳偉明表示,在繼續推動大賽的同時,IBM接下來也會在不同的場合,向更多的開發企業和開發人員推廣OpenCAPI。今年的OpenPOWER中國高峰論壇就將邀請一大批合作伙伴,并且會對部分已有的成果進行集中展示。
未來,IBM將進一步加強與OpenPOWER基金會和OpenCAPI聯盟的合作,與基金會會員和聯盟成員增進互動,以異構計算引領計算的真正嬗變,為目前的計算世界開啟全新的紀元。(作者:“胖頭陀” 康翔)