曾經在21世紀前期大放異彩的CPU多核并行解決方案在今天已經成了提升系統性能的瓶頸,新型智能卸載互連技術會是新的救星?
高性能計算發展至今 以CPU為核心的設計架構已成為瓶頸
過去15至20年,高性能計算的發展歷經了一些重要的變革階段。首先是從最初的SMP這樣的小型機到集群系統的演變。2000年左右,計算機集群能夠通過更多的通用服務器去擴展,滿足性能的需求,而此時,集群式通訊像MPI這樣的方式就起到了重要的連接作用。
第二個階段是CPU由單核向多核的設計模式轉變。大概在2008年到2010年,單核心CPU的主頻已經上升到了一個瓶頸,而采用并行的多核心CPU,讓處理器能夠同時執行多個進程,有效的提升了系統性能。
但這種增加CPU核心數量的模式卻同時增加了互聯系統的負擔,也讓網絡互連成為系統性能的瓶頸。但其實,與通信模式相比,互連延遲的改進所能帶來的影響也是杯水車薪。目前,InfiniBand交換機的普遍延遲為90納秒,InfiniBand適配器的延遲是100納秒,而CPU處理的通信框架,比如MPI,它的延遲在幾十微秒范圍內(1微秒=1000納秒)。這種不同數量級的通信延遲差距,讓我們意識到,在互連系統延遲方面所做的工作已經價值不大。
面臨并沒有實際提升的單應用性能,多核模式也無法向上擴展,以CPU為核心的設計模式遭遇瓶頸。當前階段,HPC市場正在歷經新一輪的技術轉型。
接下來 由多核轉向協處理?
在當前數據爆炸的時代,數據處理也要求更快更實時,按照傳統的方式,CPU需要等待數據傳輸,也就是數據傳輸和數據處理無法并行的“終極問題”,兩年前,有人提出讓數據更加靠近CPU,從而加快計算速度。然而這在當前大規模分布式數據存儲的今天看來,仍然不可行。那么由此就產生了分散設計的概念,讓網絡成為協同處理單元,承擔一部分計算任務,數據不需要移動到CPU才能計算,在移動到協處理器,分散的網絡節點就能夠執行計算。從簡單的以CPU為核心的計算到CPU只作為計算單元之一,這種協同設計的思路的確讓人重燃希望。但也存在一些質疑,網絡節點作為協處理器,它能承載的計算負荷將實現何種比例的性能轉化?而同時作為計算處理單元,勢必會影響到網絡節點本身的交換傳輸速率?軟件的設計真的能夠解決硬件無法突破的性能瓶頸嗎?作為一種革新的設計理念,是否能夠在當前的市場上獲得認可并得以推廣……
作為co-design的倡導者,Mellanox在最近發布的智能交換機Switch-IB 2當中展示了實踐成果。除了具備最快的90ns的延遲和豐富交換機特性之外,Switch-IB 2智能交換機的意義還在于它將原來在高性能計算里用得最多的MPI的操作,由CPU轉移到交換機來完成。Mellanox公司全球市場部副總裁Gilad Shainer表示:“這是在協同設計里面非常重要的一步,也是第一步,把集群的通訊移到交換機里去完成,通過這一步我們可以提高10倍的應用程序的性能。”據了解,這種智能卸載技術未來將擴展到更多的AI、DeepLearning場景,除了在高性能計算領域,在更多的這種密集傳輸的場景下,智能的連接解決方案將大有可為。