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