未來的世界什么樣?
三維重構(gòu)音樂會(huì)
很多人喜歡“維也納新年音樂會(huì)”。我們可以看到這兩年的音樂會(huì)現(xiàn)場(chǎng)有很多人拿著移動(dòng)設(shè)備在拍攝。如果,這些信息都傳輸?shù)皆贫藭?huì)怎樣呢?例如,我們可以在云端利用這些不同角度拍攝的視頻重構(gòu)出一個(gè)三維(3D) 的虛擬現(xiàn)場(chǎng),那么你可以用你的鼠標(biāo)在任意角度飛行,一直飛到演奏的小提琴手那去,去看它的演奏視頻。比現(xiàn)場(chǎng)觀眾還清晰。
戴著Google眼鏡觀看比賽
巨大的體育場(chǎng)里面坐滿了觀眾,很多人戴著Google眼鏡,每個(gè)人的眼睛都在看著球場(chǎng),當(dāng)然,如場(chǎng)景1一樣,你可以三維重構(gòu)球場(chǎng)。但我們可以更進(jìn)一步,觀眾希望通過Google眼鏡看到正在跑動(dòng)的運(yùn)動(dòng)員的更多信息,諸如他的力量值、體力值、經(jīng)驗(yàn)、姓名,以及他剛剛射門,射門的總次數(shù),這些都可以實(shí)時(shí)地在這個(gè)人的體像上進(jìn)行疊加。
這些就是今后業(yè)界準(zhǔn)備做的事情的一部分。我們的教學(xué)和科研就是為這一天的到來而準(zhǔn)備的,而且一定要很快地到那個(gè)點(diǎn)去。那么這個(gè)點(diǎn)是什么呢?
關(guān)鍵的1ms:一個(gè)智能交通的場(chǎng)景
現(xiàn)代電子信息技術(shù)可以提供什么服務(wù)? 例如1秒鐘(s)可敲擊一次鍵盤;100ms可以聽音樂;10ms可以看視頻;如果是1ms呢?
1ms 就是你的神經(jīng)和力量的控制時(shí)間,比如你用手碰到電風(fēng)扇,手會(huì)馬上縮回來,這個(gè)反應(yīng)速度是1ms。所以我們接下來要做的,就是能夠在1ms時(shí)間內(nèi)做的事情。
舉個(gè)簡(jiǎn)單的例子,如果我們通過網(wǎng)絡(luò)的云計(jì)算在1ms之內(nèi)做出決策,應(yīng)用在我們的汽車上,汽車可以在沒有紅綠燈的情況下,用無線方式互相通訊,如果車快撞上,用1ms的時(shí)間剎車或馬上加速,這就是無人駕駛汽車。如果有行人,由于行人有手機(jī)(or 其他可穿戴設(shè)備),手機(jī)會(huì)發(fā)出信號(hào),汽車開過來時(shí)就會(huì)自動(dòng)減速,讓行人走過去。這是一個(gè)無損的理想應(yīng)用,也就是所謂的未來的智能交通。
這樣的場(chǎng)景里面有一個(gè)很關(guān)鍵的問題,那就是1ms的問題。這個(gè)智能交通系統(tǒng)要在1ms的時(shí)間內(nèi)完成數(shù)據(jù)的采集、處理、判斷和控制。
我們用云來處理和進(jìn)行控制,那么汽車在上海,就不能用放在北京的云來提供智能服務(wù)。因?yàn)楣庖幻腌娨簿团苋f公里,1ms光能跑300公里,還要考慮打個(gè)來回,即150公里,也就相當(dāng)于上海到無錫的距離。所以在設(shè)計(jì)無線接入網(wǎng)的時(shí)候,云計(jì)算必須是一個(gè)分布式的云,應(yīng)該到處都有,物理上應(yīng)該是像基站一樣普遍存在。
上述僅僅是光在路程上的時(shí)間。其實(shí)計(jì)算的任務(wù)也很繁重(圖1),因?yàn)槟阋?a href="http://www.wenjunhu.com/soft/data/21-22/" target="_blank">嵌入式計(jì)算,要進(jìn)行圖像、視頻等的處理,還要調(diào)制解調(diào)、加密、軟件、可靠性,所以每個(gè)階段只有零點(diǎn)幾毫秒的預(yù)算了。因此業(yè)界的另一挑戰(zhàn)是大量的數(shù)據(jù)要實(shí)時(shí)地在零點(diǎn)幾毫秒內(nèi)做完。
CPS(信息物理系統(tǒng))
我本人不太喜歡物聯(lián)網(wǎng)(IoT)這個(gè)詞,因?yàn)樗凳局灰?a target="_blank">傳感器像互聯(lián)網(wǎng)一樣連起來,收集數(shù)據(jù),這事就結(jié)了。實(shí)際上你得到了一大堆數(shù)據(jù)是沒用的,真正有用的是拿到數(shù)據(jù)之后,還要反饋回來做控制。所以我更喜歡CPS(Cyber Physical System)這個(gè)詞,即信息物理系統(tǒng),意思是要把物理系統(tǒng)能夠與信息系統(tǒng)結(jié)合到一起,形成一個(gè)閉環(huán),能夠讓信息系統(tǒng)影響物理系統(tǒng)。實(shí)際上我國(guó)說的信息化改造工業(yè)化也是這個(gè)意思。
摩爾定律難以解決性能和功耗問題
為什么后十年我們做得到呢?來看看微電子業(yè)的摩爾定律。摩爾定律不停地發(fā)展,現(xiàn)在已經(jīng)到20納米,未來的路線圖已到3.5納米。摩爾定律要解決什么樣的問題呢?就是漏電問題。像水管一樣,一個(gè)開關(guān)如果關(guān)得不牢,就要漏水,如果一個(gè)晶體管設(shè)計(jì)得不好,它就會(huì)漏電?,F(xiàn)在“水龍頭”越做越薄,一定會(huì)有“漏水”現(xiàn)象,整個(gè)工業(yè)界正在做的就是如何把開關(guān)關(guān)緊。
現(xiàn)在用體硅和絕緣體上硅(SOI)(圖2),還有FinFet(鰭式)、SOI FinFet,最后是全包圍,來把電流夾斷。插個(gè)廣告,目前Xilinx在20納米節(jié)點(diǎn),很快會(huì)推出14/16納米芯片。摩爾定律在今后至少十年還是適用的,所以在器件方面,我們不用太著急。
但是摩爾定律每年指望它性能翻番遇到了嚴(yán)峻的挑戰(zhàn)。不是說摩爾定律有了,跟著它每年就自動(dòng)獲得計(jì)算能力,這件事過去是這樣的,但是最近行不通了。整個(gè)業(yè)界面臨著兩個(gè)挑戰(zhàn),一個(gè)叫性能,一個(gè)叫功耗。
現(xiàn)在一個(gè)芯片里面可以集成越來越多的晶體管,可是晶體管如果都工作起來,消耗的電流特別大,大到最后你如果按照這個(gè)曲線走的話(如圖3),單位面積上的功耗會(huì)超過核電站的功耗,甚至是火箭、太陽表面的功耗,因此芯片會(huì)燒壞,所以真正工作的時(shí)候,芯片上有一些晶體管要處于斷電狀態(tài),這就是所謂的暗硅(Dark Silicon)。既然如此,那就用多核。這是不得已而為之的辦法。但是如果我還想得到非常高的運(yùn)算能力——1ms要做很多很多事情的——但是,我又不能把所有的晶體管全打開,是不是就矛盾了,沒辦法解決了?那我們?cè)囋嚳矗?/p>
大腦的啟示
一個(gè)好消息是晶體管現(xiàn)在已經(jīng)不值錢了,也就是說既然一塊芯片里一定會(huì)有晶體管不開,我們就一定要大大地放縱我們的設(shè)計(jì)空間,我們寧肯用一大堆冗余的計(jì)算單元提前擺在那,用其中一部分工作,其它的都不用。這件事是對(duì)的。因?yàn)樵谏钪芯陀幸环N“計(jì)算機(jī)” 實(shí)際上就是這么干的,就是人的大腦。人腦的皮層90%是沒用的,真正工作的只有其中一小部分。
我們?cè)倩剡^來看目前的情況,CPU很有意思,它一天到晚都沒在干正事,都在弄流水線,最后干了一件事啥事?就是做了一個(gè)加法。也就是說百分之七八十的硅片都在為了滿足這一個(gè)高速運(yùn)行的累加器,給它喂飽,喂飽這個(gè)累加器有好多分支預(yù)測(cè),什么亂七八糟的讀Cache(高速緩存),就是為了搞高速運(yùn)算的一個(gè)單CPU。這件事情很不合邏輯,我用了這么多硅片,折騰了這么半天,最后就算了個(gè)加法!原來,當(dāng)初馮.諾依曼設(shè)計(jì)計(jì)算機(jī)的時(shí)候,晶體管和ALU(算數(shù)邏輯單元)很貴,因此利用便宜的memory是很劃算的。馮.諾依曼計(jì)算機(jī)就這么一路走過來,大家也跟著吭哧哼哧地推一步走一步,也不想創(chuàng)新,CPU不停地增加它的時(shí)鐘頻率,結(jié)果到今天再怎么做也難以翻番了。
所以有人提出,最好把這套東西全推掉,我全都弄上運(yùn)算單元,這些運(yùn)算單元可根據(jù)計(jì)算的任務(wù)隨意組合,馬上就能做運(yùn)算,動(dòng)態(tài)組合、動(dòng)態(tài)植入,那么整個(gè)面積都是運(yùn)算單元在做事。這件事情實(shí)際上就是我們?nèi)祟惔竽X干的活兒。人類的大腦實(shí)際上是一個(gè)并行的計(jì)算機(jī)。前段時(shí)間,IBM剛發(fā)表一個(gè)消息,說是做了一個(gè)人工神經(jīng)元的超級(jí)計(jì)算機(jī),最核心的特點(diǎn)就是其神經(jīng)元可以動(dòng)態(tài)存儲(chǔ),也就是說不同的信息他訓(xùn)練兩天之后,它就連接成一個(gè)可操作的部分,而且功耗特別低。
我們?cè)谧鍪裁矗?/p>
沒有處理器,還要做計(jì)算
因此,我們要做什么事呢?Computing without Processors(沒有處理器,還要做計(jì)算),這就是我們今后十年或許能夠應(yīng)對(duì)挑戰(zhàn)的法寶。也就是說我們能夠通過硬件的可重組、可重構(gòu),能夠在硬件層面重組出來正好適合計(jì)算的能力。我們不需要再為流水線、cache發(fā)愁了。
Xilinx有個(gè)Vivado-HLS工具,可從C實(shí)現(xiàn)FPGA。你可先做一些低層次的東西,就是所謂的HLS,Vivado-HLS能把算法直接變成硬件實(shí)現(xiàn),也就說你的計(jì)算單元已經(jīng)沒有CPU了,但又是高效的。如果你嫌煩的話,可以用碎片來做,然后就被大量地收集了,然后它做線上的工具。
假設(shè)Xilinx的Zynq處理器就是大腦,有一大堆單元,你什么都想干,但是嫌設(shè)計(jì)太麻煩了,ultrascale構(gòu)架把你要用的東西準(zhǔn)備好,CPU有了,加密引擎一大堆,你要一百個(gè),還是一萬個(gè)加密引擎都行,還有浮點(diǎn)運(yùn)算單元,你想要什么圖形引擎(GPU),我給你放上三萬個(gè)GPU進(jìn)去,你再用可編程的邏輯把它們連到一起,滿足你的需求。這個(gè)方案功耗既低,速度又快,還全是硬的東西,為什么?因?yàn)榫w管太便宜了,而且我做了一大堆,功能全放那兒,你想用哪一個(gè)都行,這就是Xilinx在做的。
當(dāng)然在這上面,編程就是一項(xiàng)挑戰(zhàn)了。異構(gòu)計(jì)算一定是今后我們要掌握的,這樣才能夠?yàn)楹竺娴氖伦鰷?zhǔn)備。異構(gòu)計(jì)算,Xilinx首推的是用OpenCL來做,因?yàn)樗淮尉幊?,你可以在PC機(jī)上跑,也可以再把它編程,也可以在CUP上跑,在任何地方跑,而且數(shù)量不限。其核心思想就是異構(gòu)計(jì)算,它不是一個(gè)fancy(幻想)、要跟蹤潮流的東西,而是我們?nèi)绻粦?yīng)用它,大家認(rèn)為很難持續(xù)。Xilinx的Zynq目前是雙核的,可能下一代還有更多核,有一萬個(gè)加密單元,都是硬核的,讓你在里面動(dòng)態(tài)組合。
對(duì)大數(shù)據(jù)來講,應(yīng)該讓分布式的存儲(chǔ)用起來和RAM一樣是隨機(jī)地存儲(chǔ),也就是數(shù)據(jù)庫我們一定要做得跟RAM一樣。怎么做?如果還按照篩選,我要在1ms內(nèi)把一大堆數(shù)據(jù)放到一起篩選,一個(gè)方法就是在它的所謂的控制器里再加上過濾邏輯,這樣,我讀寫數(shù)據(jù)的時(shí)候,就可以把我的智能放進(jìn)去,在網(wǎng)絡(luò)上用傳統(tǒng)的數(shù)據(jù)就可以實(shí)現(xiàn)你的功能。
小結(jié)
異構(gòu)、多核、一大堆晶體管,在1ms內(nèi)要完成大量計(jì)算,這是今后業(yè)界要面對(duì)的事。
這聽起來很困難,似乎要很多的知識(shí),什么硬件、軟件知識(shí),大家很發(fā)怵,認(rèn)為跟蹤該技術(shù)太艱難了。其實(shí)不難,我自己十多年沒寫Code,我專門試一下,我利用在火車、飛機(jī)上的時(shí)間看一看Zynq和Vivado的書和文檔,后來做了實(shí)驗(yàn),也差不多會(huì)做了?,F(xiàn)在我們的課程,在中山大學(xué)珠海分校,用五天的時(shí)間教大學(xué)本科三年級(jí)的學(xué)生,讓他們能夠在短時(shí)間內(nèi)掌握Zynq。實(shí)際上,Zynq和Vivado沒什么了不起,只是工具而已。
---> END <---
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2913文章
44915瀏覽量
376212 -
三維
+關(guān)注
關(guān)注
1文章
512瀏覽量
29028 -
未來
+關(guān)注
關(guān)注
0文章
8瀏覽量
9032
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論