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