韓麗佳
當(dāng)下,ICT及其產(chǎn)業(yè)應(yīng)用的發(fā)展速度愈來愈快,對(duì)計(jì)算能力的要求也愈來愈高,同時(shí),芯片行業(yè)的制程工藝臨近物理極限,摩爾定律逐漸失效。
2017年圖靈獎(jiǎng)得主、加州伯克利大學(xué)計(jì)算機(jī)科學(xué)教授、谷歌杰出工程師David Patterson也曾表示:“現(xiàn)在,摩爾定律真的結(jié)束了,計(jì)算機(jī)體系結(jié)構(gòu)將迎來下一個(gè)黃金時(shí)代。”
雖然物理極限逼近,但這不能阻礙人類創(chuàng)新的步伐,一個(gè)極限出現(xiàn)就意味著另一個(gè)新階段的開始。
對(duì)此,華為開源首席專家侯培新表示:“采用馮·諾依曼架構(gòu)的傳統(tǒng)通用計(jì)算處理器已逐漸無法滿足業(yè)界的需求,一直以來備受關(guān)注的異構(gòu)計(jì)算,自然就成為傳統(tǒng)通用計(jì)算的一個(gè)重要補(bǔ)充?!?/p>
異構(gòu)計(jì)算的獨(dú)特優(yōu)勢(shì)
在后摩爾時(shí)代,以域?qū)S屑軜?gòu)為代表的異構(gòu)計(jì)算能夠得到重視,是因其有獨(dú)特的優(yōu)勢(shì)點(diǎn)。
談起域?qū)S屑軜?gòu)的特點(diǎn)趨勢(shì),侯培新指出了其中三個(gè)主要方面:
第一,在芯片的物理結(jié)構(gòu)層面,不同于傳統(tǒng)的通用計(jì)算single die的硬件架構(gòu),域?qū)S屑軜?gòu)強(qiáng)調(diào)由更多具有專一功能的單元組成,即從single die演進(jìn)到multi die。
這種架構(gòu)的好處在于每個(gè)die功能更簡(jiǎn)單專一,通過將不同功能的die組合在一起,更具靈活性,可以設(shè)計(jì)出來更加適配上層業(yè)務(wù)需求的硬件。
第二,在專用硬件層面,域?qū)S屑軜?gòu)更強(qiáng)調(diào)設(shè)計(jì)專用硬件。華為推出的基于昇騰AI處理器專用硬件Atlas系列產(chǎn)品,從硬件層面針對(duì)深度學(xué)習(xí)領(lǐng)域需要大量整網(wǎng)乘加、矩陣運(yùn)算這樣的業(yè)務(wù)場(chǎng)景,進(jìn)行最優(yōu)化設(shè)計(jì),從而大大提升業(yè)務(wù)的性能與能效比。
第三,在軟件編程層面,域?qū)S屑軜?gòu)往往也會(huì)催生或推動(dòng)一些新的編程范式,比如華為已經(jīng)開源的深度學(xué)習(xí)編程框架MindSpore,一方面能使算法工程師用更方便、更直接的方式直接描述算法與網(wǎng)絡(luò),另一方面也會(huì)根據(jù)下層硬件的能力自動(dòng)將神經(jīng)網(wǎng)絡(luò)用最優(yōu)的方式放在最合適的硬件單元上去運(yùn)行。
當(dāng)算力發(fā)展的重心集中在以域?qū)S屑軜?gòu)為代表的異構(gòu)計(jì)算,同時(shí)構(gòu)建圍繞異構(gòu)計(jì)算的開源生態(tài)時(shí),ICT產(chǎn)業(yè)的發(fā)展將進(jìn)入更高一級(jí)的“快車道”。
打破“煙囪式”的開發(fā)模式
雖然以域?qū)S屑軜?gòu)為代表的異構(gòu)計(jì)算在物理結(jié)構(gòu)和軟硬件協(xié)同等方面都具有顯著的優(yōu)勢(shì),但侯培新表示:“目前,異構(gòu)計(jì)算的發(fā)展仍然處于非常初期的階段,這其中很重要的制約因素就是異構(gòu)計(jì)算尚未擁有如通用硬件一樣的開源生態(tài)?!?/p>
制約因素可以概括為兩點(diǎn):
一是異構(gòu)計(jì)算開發(fā)者生態(tài)的缺失,應(yīng)用開發(fā)者不熟悉異構(gòu)硬件特性,而硬件開發(fā)者則不熟悉應(yīng)用需求,并且兩者都沒有可以尋求幫助的異構(gòu)資源平臺(tái)。
二是異構(gòu)云平臺(tái)的硬件適配能力差,接口標(biāo)準(zhǔn)不統(tǒng)一。
這些制約因素導(dǎo)致了異構(gòu)計(jì)算產(chǎn)業(yè)由少數(shù)廠商驅(qū)動(dòng)的“煙囪式”開發(fā)模式,致使異構(gòu)計(jì)算產(chǎn)業(yè)無法形成規(guī)?;陌l(fā)展。
針對(duì)這個(gè)問題,華為從三個(gè)方面部署異構(gòu)計(jì)算的開源生態(tài)體系:
1.讓云管理平臺(tái)對(duì)異構(gòu)計(jì)算硬件資源進(jìn)行管理。不同于非云場(chǎng)景下,靜態(tài)的、固化的硬件能力,在云時(shí)代,異構(gòu)硬件的架構(gòu)和能力是動(dòng)態(tài)的、變化的。所以,針對(duì)異構(gòu)計(jì)算硬件資源的動(dòng)態(tài)管理平臺(tái)就應(yīng)運(yùn)而生了。
華為在OpenStack社區(qū),與社區(qū)伙伴一同發(fā)起的Cyborg項(xiàng)目,就旨在為異構(gòu)計(jì)算硬件提供一套通用的管理框架,比如增、刪、改、查、發(fā)現(xiàn)及FPGA燒錄等環(huán)節(jié)。
這套框架將能使管理云或者租戶以一套標(biāo)準(zhǔn)的API,來為人工智能等任務(wù),分配最佳的異構(gòu)硬件資源;與此同時(shí),通過標(biāo)準(zhǔn)化的面向異構(gòu)硬件的元數(shù)據(jù)模型,來管理像昇騰、GPU、FPGA等各種不同的異構(gòu)硬件。
在開源社區(qū)CNCF和Kubernetes社區(qū)中,華為提出了kube-acc項(xiàng)目方案,旨在為容器化業(yè)務(wù)提供面向不同異構(gòu)硬件的通用管理框架。
2.讓更多開源軟件與異構(gòu)硬件相適配。一些已有的或新生的開源軟件需要運(yùn)行在異構(gòu)的、更適合業(yè)務(wù)場(chǎng)景的硬件上,這就需要一個(gè)中間的聯(lián)結(jié)者。
因此,華為面向業(yè)界主要上游開源社區(qū)推出了ARM CI項(xiàng)目,以此保證CNCF、OpenStack、Apache等社區(qū)中的重要開源項(xiàng)目本身,能夠在能效比更高的ARM環(huán)境下輕松構(gòu)建與部署。
“隨著ARM CI推進(jìn)進(jìn)入主流社區(qū)的基礎(chǔ)設(shè)施,社區(qū)開發(fā)者可以第一時(shí)間發(fā)現(xiàn)在ARM架構(gòu)上的問題并進(jìn)行修復(fù),這降低了開發(fā)者摩擦力?!焙钆嘈虏┦空f道。
3.打造面向異構(gòu)計(jì)算的開源集成平臺(tái)。異構(gòu)計(jì)算開源生態(tài)的構(gòu)建是一個(gè)長期的、不斷迭代的過程,在這個(gè)過程中,我們需要一個(gè)開源集成平臺(tái),來將成功使用案例和相關(guān)資源展示給異構(gòu)計(jì)算產(chǎn)業(yè)的開發(fā)者和管理者,讓他們看到異構(gòu)計(jì)算真正的價(jià)值。
華為公司希望同業(yè)界伙伴一起,推動(dòng)建立面向異構(gòu)計(jì)算的開源集成平臺(tái)社區(qū),通過集成異構(gòu)計(jì)算相關(guān)開源組件、針對(duì)不同業(yè)務(wù)場(chǎng)景的端到端測(cè)試,以及一些新的事實(shí)標(biāo)準(zhǔn)制定,為用戶提供開源的異構(gòu)計(jì)算參考架構(gòu),讓廠商構(gòu)建更有生態(tài)活力的解決方案。
總而言之,異構(gòu)計(jì)算對(duì)當(dāng)前數(shù)字化、智能化世界來說是一個(gè)好東西,但是如何用好這個(gè)工具,如何為異構(gòu)計(jì)算功能的發(fā)揮創(chuàng)造一個(gè)更有利的生態(tài)環(huán)境,才是應(yīng)當(dāng)要考慮的問題。
“山一程,水一程”,摩爾時(shí)代即將結(jié)束,卻不意味著軟硬件計(jì)算能力創(chuàng)新發(fā)展的結(jié)束,“山路”已過,還有“水路”,我們從不缺乏前行的勇氣和創(chuàng)造力。
侯培新表示,圍繞異構(gòu)計(jì)算的開源生態(tài)正在逐步形成,隨著新業(yè)務(wù)對(duì)算力及最佳能效比的持續(xù)追求,我們相信一個(gè)開放的、開發(fā)者受益的異構(gòu)計(jì)算生態(tài)一定會(huì)到來。