電腦效能應用與安全研究室 Performance, Applications and Security Lab


我們的研究範圍很廣,從嵌入式系統、手機應用、一直到雲端計算、商務應用、資訊安全都有做。
我們的合作研究夥伴很多,包括聯發科、IBM、中研院、資策會,還有和台大、清大、交大的教授合組研發團隊
,包括高階應用處理器架構研究、虛擬化技術、異質計算、系統軟體等重要技術的研究與創新,我們很關切台灣人才與產業的未來。

2015年1月5日 星期一

平行計算像難開的快車

我研究平行計算二十多年,我從來不敢說:"parallel computing is the future"。但我想Linus Torvalds對於某些過度宣傳的作法感到不滿,才說出在這篇說出a bunch of crock這樣的類髒話。(http://highscalability.com/blog/2014/12/31/linus-the-whole-parallel-computing-is-the-future-is-a-bunch.html)

持平而論,我會說"parallel computing is an expertise which may provide some competitive edge for certain applications"。就像在賽車場上,決定賽場輸贏的因素很多,但車子比別人好開又快幾倍,贏面就提高了不少。

如果平行處理如果好開又快幾倍,大家當然趨之若騖。只不過事實並非如此,Linus Torvalds大聲反應出軟體工程師的感覺 -- 為什麼要給我一台很難開的快車?那不是叫我去送死嗎?寫平行程式,平白多了一大堆bugs!

所以,我不只同意Linus Torvalds的看法,而且我的看法是,普通人無法駕馭難開的快車,叫一般人來做特技專家的工作,不只事倍功半,還不見得搞得出來。資訊業界有太多可以搞的東西,不是所有人都要來搞懂平行處理。

反過來說,能夠駕馭難開的快車的人,要知道自己是有才的。「平行計算」永遠不會是一般技能,而是一項高度專業。這種專業的價值,在解決重要的問題才有浮現。

我猜會讓Linus真正不爽的是「異質計算」(heterogeneous computing),這個不只是平行計算,而且還是讓不同的處理機來做平行計算,真的會讓系統軟體的人吃不消。

我們在做HSA (heterogeneous system architecture),就是這個調調。當每個系統裡面都有GPU或是FPGA的時候,軟體要不要用GPU/FPGA來算東西呢? 系統軟體要不要支援呢?這當然對於系統軟體的人增加不少負擔。至於是甜蜜的負擔,還是夢靨呢?因人而異。

比起Linus Torvalds的話,文後的留言可能比較有看頭,不過一般人大概不會去看,但有志學parallel computing的人應該看一下。

撇開流派不談,我看到一個問題是,老闆要程式師寫平行程式,願不願意付出相當的代價?如果把平行程式變成大學必修課,要求所有資工學生都要會這個,那就不怕找不到人來做了。

但是話說,出得起香蕉,只請得到猴子... 請一堆貌似會寫平行程式的猴子,寫得出堪用的東西嗎?我們知道這個問題,但老闆通常不管這麼多。

這個問題在台灣當然是更嚴重的。不用說到系統軟體的平行處理了,一般應用軟體的簡易的平行化都很有問題。但老闆們不知道這個專業的難度,覺得不過就是多了一個平行化的步驟而已。

不願出錢,「平行化」是搞不大起來的。就像說不願出高價,要僱人做系統軟體,也是搞不起來的。

我一直覺得很奇怪,我專門教這類高門檻的技術,業界實際上也很需要,卻不願意多出點錢來僱這類專才?推論至此,我認為是「行情」和「無知」所造成的。

我到目前還沒有看過哪一個台灣的公司願意出足夠的錢搞平行化的。懂平行化的能度的人已經不多了,願意砸錢的人更少,以為能夠自己做的人倒是有一堆。看到這些要自己做的,我只能說,祝好運,請不要回來找我。

沒有留言:

張貼留言