隨著近年來矽晶片逼近物理的極限和經濟成本高升,摩爾定律已趨近失效。使用通用處理器這個傳統的方法已無法滿足人工智慧的各種應用對爆發的和高計算能力的需求。因此,具有GPU、ASIC、FPGA或其它加速器(Accelerator)等高並行、高密集的計算能力的異構計算持續火熱,而異構計算也將成為支撐先進和以後更複雜AI 應用的必然的選擇。
異構計算(Heterogeneous Computing)是指使用不同類型指令集和體系架構的計算單元組成的計算系統。通常情況下,異構計算架構的晶片中既有CPU等傳統的通用計算單元,也有高性能的專用計算單元。與傳統的通用計算晶片相比,異構架構具有高性能、低功耗等顯著優點。
在AI和5G場景下,異構系統高性能、低功耗的優勢逐步顯現,正在逐漸成為主流的晶片架構。那麼在萬物互聯下,傳統計算創新遇到了哪些挑戰?新計算時代,異構計算將如何助力突破?異構計算的實現需要哪些技術支撐?未來十年異構計算將帶來哪些新機遇?
圍繞這些話題,在第十期「集微龍門陣」上,集微網邀請到中山大學微電子科學與技術學院教授、副院長虞志益進行了分析探討。
點這裡觀看回放
萬物互聯下,傳統計算架構性能提升遭遇瓶頸
據虞志益介紹,在80年代,處理器的時鐘頻率只有十幾兆,後來變成了幾十兆、幾百兆,到2005年,變成了4G左右。在之後的15年的時間,高性能處理器的時鐘頻率一直沒有大的變化,性能提升緩慢。功耗方面,每平方釐米的功耗從十幾毫瓦變到一瓦左右,也到達了一個極限,並限制了性能的提高。
在網際網路行業,隨著信息化的普及,數據量的暴增使得人們對存儲空間又有了新要求,同時,5G、機器學習、人工智慧、無人駕駛、工業仿真等領域的崛起,使得通用CPU在處理海量計算、海量數據/圖片時遇到越來越多的性能瓶頸。
對此,虞志益指出致使傳統處理器晶片性能提升非常緩慢的五大因素:一是在處理器技術方面,包括流水線、超標量、存儲的hierarchy、多核等日趨成熟,能夠挖掘的新的技術越來越少;第二個是功耗,功耗成為了一個非常大的制約因素,它制約了性能提升;其三,先進位造工藝日趨極限,目前摩爾定律再往下推會越來越難,追求高端工藝的企業越來越少;第四是設計成本和製造成本在不斷的攀升;最後一個是應用的增長在逐漸放緩。
「這一系列的挑戰就希望有一個新的計算晶片,新的處理晶片,它能夠有新的高性能技術,新的低功耗技術,能夠有更好的靈活性,還能夠支持新的應用。 」虞志益說。
新計算時代,需要器件、設計、軟體算法的融合
在闡述性能、功耗效率、靈活性之間的關係時,虞志益表示,一般來說,性能、功耗效率和靈活性之間很難用一種模式來解決。不同實現方式的功耗效率非常不一樣。比如:CPU、GPU、DSP和ASIC,它們的功耗效率是非常不同的。ASIC的功耗效率可以是 CPU的幾百倍甚至上千倍,但是 CPU很靈活,而ASIC只能針對某一個特定的應用。
「異構計算的優勢就是可以把通用的 CPU和專業的晶片(如ASIC)融合在一起,得到性能、功耗和靈活性的統一。」虞志益說。
談到未來處理器的一些變化和突破口時,虞志益指出,在技術層面,主要有這幾點:一是從通用的同構的處理器轉變到通用和專用混合性的異構處理器;二是3D封裝,新型封裝在在異構處理器和異構系統中扮演著重要角色;三是CMOS集成電路轉變為CMOS與其他器件混合;四是非馮諾依曼結構,馮諾依曼結構已經統治這麼多年,以後可能需要非馮諾依曼結構實現一個更好的功耗效率。非技術層面,以後會從純粹技術的推動轉變成技術推動和應用驅動並重的局面。
「另外,以後將是晶片、封裝、系統、軟體的協同,它不是單一的技術點,而是多技術點的綜合,所以涉及器件、設計、軟體算法等的融合,以實現一個高效的異構系統。」虞志益補充道。
異構計算的實現需要解決三大技術問題:架構、互連和編程
異構計算需要解決很多問題,在此次龍門陣上虞志益詳細介紹了異構計算需要的技術支撐。
首先是一個架構的選擇,事實上異構計算不是一個新的技術,其實有很多選擇的,比如 ASIP、BigLittle、CPU+GPU、CPU+FPGA、CPU+ASIC等。而選擇什麼樣的結構現在還沒有一個標準答案,還需要學界和工業界繼續分析。可以肯定的是不會有某一個方案來統一天下,更多的可能是各種方案並存。比如,在低功耗領域可能是CPU+ASIC比較好,在通用的領域可能是CPU+GPU或者CPU+FPGA比較好,不同的應用領域需要的架構是會不一樣的。
第二個問題是互連。互連問題主要有這幾個方面,一是互連的需求,當不同晶片裡面有不同單元的時候,互連就會比較的複雜,會提出很多要求,比如高性能、低功耗、可擴展性、能夠支持不同的異構節點、緩存一致性的等等。二是互連方式,比如bus、crossbar、NoC等,不同的互聯方式是選一個還有折中,也是一個需要去探索的關鍵技術。三是通信方式,比如shared-memory、message passing等,同樣面臨選擇一個還是融合起來的問題。四是交換方式,現在有包交換、電路交換等不同的技術。五是片上互連、片間互連(新型封裝)不同方式。再有就是互連標準,現在有很多標準,比如CCIX、OPENCAPI、NVLINK、OPENAPI等,還沒有統一的方案支持互連。
第三個就是編程的方式,目前有不同的編程的方式,比如CUDA、OPENCL、OPENACC、HAS、HLS等,需要一個好的編程方式讓從業者更好接受。現在做硬體的人對於編程的接受度和做軟體的人接受度是不一樣的,不同的學科的人,他們對於編程的接受度也是不一樣的,這就需要一個更好的編程模型,讓更多的人能夠接受,這是非常難的挑戰。
虞志益還介紹了其以前做的一個異構平臺,裡面包括三種晶片,第一個是多核晶片,第二個存儲晶片,第三是加速晶片。虞志益表示,未來的系統裡面可能最關鍵就這三大類。
「在這個平臺上,用了2.5D/3D封裝集成,核的數量、存儲容量、加速器可重構可以各種搭配,這樣性能、功耗效率和靈活性能夠適當折中,比較快的形成一個合適的系統。」虞志益說。
未來,異構計算將加速封裝技術發展
「異構計算最重要的技術之一是封裝,目前設計和製造技術發展已經很快了,封裝技術發展速度相對比較慢,封裝有可能在異構計算的基礎上快速發展。」談及異構計算帶來的新機遇時,虞志益說。
最後,虞志益表示,異構計算的發展需要從系統、軟體、算法等多方面融合,需要各個技術方面有更好的interface。而從產業角度來說,一是用異構計算提升現有的產品,二是用異構計算驅動未來的發展。最後,在教育方面,希望教育能夠跟上產業的發展。
(校對/ Humphrey)