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


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

2012年3月28日 星期三

給新進碩士班學生的話

今年,有不少新進碩士班同學來找我聊天,除了聊聊我們的研究方向之外,我也喜歡談談我們實驗室的理念。大多數同學對如何做研究並沒有經驗,對於碩士班的生崖也不是很瞭解,對於未來更沒有清楚的畫面。

其實,研究所和大學部有很大的區別,修課考試成績好,表示你夠聰明,或者是夠努力,但不表示你一定懂得做獨立研究。給你一個沒有標準答案(open-ended)的問題,你能不能去理解問題的範疇,擬定研究方法,設計好實驗,完整分析數據,撰寫一篇好的報告?知道自己不能,沒有關係,所謂「不知為不知,是知也」。你如果真的不行,還自認為很行,那才是真的很糟糕!

所以,有時候遇到以為自己很行的學生,做老師的會選擇給他一些教訓,這是為他的未來著想,有時候「名師出高徒」,有時候則是「嚴師出高徒」,是因為學生資質不同,必須因材施教。大家以為得英才而教之,是人生一大樂事,對!但教到自以為是的學生,那就是一大煩惱事!曾經有老師跟我說到他的秘訣是「不收爛學生,以免一顆老鼠屎壞了一鍋粥」,然而我跟來談的同學說,我向來不挑學生的,我們是辦教育的,怕教到爛學生,未免太功利、太沒志氣!我想,學生只要肯努力,就應該有機會

在我們實驗室,我真的很希望大家大家都是第一流的人才,能主動找題目研究、動手解決問題,才能學習到最多的東西。否則,兩年的碩班一下子就過去了,接下來你要靠什麼去經營你的未來?我想,這兩年最值得學習的,不是書本的 知識,而是學會如何清晰深層地思考,學會如何解決複雜且沒人解過的問題

另外,人際關係和團隊合作也很重要不要因為書念得越多,越不懂人情世故

實驗室的幾位博班同學,還有我的幾位朋友,三十多歲,甚至四十多歲了,才回學 校念博士班,並不是因為家長要求,也不是為了學位,而是為了學習,對研究有興 趣。包括我本人在內,如果不是樂於學習和研究,怎麼會回到學校?

今年有兩位業界的朋友,有意願找我念博士班,我和他們長談我的信念和看法,要他們也好好思索自己的理想和志業,這是所謂的soul searching,大家在各階段都得面對不同的人生課題,人生有比專業和學位更重要的事,有比論文題目更難解決的問題立身之後,如何待人處世則是一輩子的學問,研究所之前只是打基礎,研究所這兩年只是個開始

有些同學的心裡面可能想,研究所的日子,不就是上上課,在實驗室混一混,順從指導老師,最好不要有太大的壓力,順利把學位拿到,之後既海闊天空了。是嗎? 如果你有這種想法的話,那真的有點可惜,因為我們的實驗室,是台灣各大學中, 少數能夠從事系統研究方面尖端研究的團隊,到現在我們算是做出一點口碑,可以吸引一些國內外業界不錯的公司和我們合作,而大家也有因此有很好的資源,有機會接觸到最近的科技和解決最新的問題。

注意喔,我們做研究的不是 「賣勞力」,而是做這些公司有需要,卻尚未解決的研究問題。說實在話,各位能有機會做這類型的研究,應該要知道這些機會得來不易。如果你沒有實力,你想去當人家的學徒,人家還不願意呢。幾位曾在IBM工讀的同學,在那裡做的是所謂「打雜」的事,正式編制內的工程師有忙不完的事要做,誰有空教你做事?

為了剛加入我們實驗室的新生,我們正在編列參考資料,希望提供新生一些自修的 材料。不過自修常常會遇到瓶頸,一知半解,或者是沒有設備和動手做的經驗,看 書看再多也像是隔靴搔癢。因此,我們歡迎新生常來實驗室坐坐,和學長們聊聊, 看看學長正在做的研究,甚至幫學長解決部份的問題。

我周一和周二大部份都有空,可以和我約時間,或者敲門找我。

我們週四下午有三個研討會,在 CSIE324,歡迎踴躍參加:
1:30-2:30 新生專題討論,目前主題:WebCL/OpenCL
2:30-4:00 研討主題:虛擬平台、系統架構設計、效能分析
4:00-5:30 研討主題:虛擬手機、行動雲端、遠端執行、資訊安全

研究所的過程像是 exponential curve (例如 y = a * exp(b * x + c) + d),開始的時候緩慢,到了累積足夠能量之後,就開始爆發。不一定需要跟人家比,因為你的學習曲線裡的 a, b, c, d 和別人的不同。重要的是找到研究的方法,加速曲線的爆發。不把握時間學習,在碩士班 兩年期間沒辦法突破門檻的話,是你的損失,因為突破門檻之後,就像「阿甘」學會跑步的那一刻,跑得比以前快太多,要慢下來都難!念博士班,也是同樣的道理,你如果碩士班把握時間學會做研究,不見得要念博士班了。然而,領悟到做研究的快感,可能你會想繼續做更多的研究,那就來念博士班吧 :-)

以上講了很多,都是所謂的自我成長的功課,希望大家把握機會,從研究中得到樂趣,在這兩年有最多收穫!

2012年3月22日 星期四

【行動+雲端】的風潮

回顧一下,這股【行動+雲端】的風潮,改變比較多的是: (1) 行動裝置和伺服器都變多了 (2)系統的內部框架(infrastructure)改進 (3) 行動應用(mobile apps)和大型資料(big data)處理變熱門。 我想,下一波,應該要看到能夠在異質環境上可隨使用者需求迅速動態轉移運算和資料的新型態分散式應用、程式設計模式以及使用者介面,而虛擬機器(virtual machine)的廣泛和創新運用,也是指日可待。

2012年3月20日 星期二

念博士與找尋個人志願


「念博士」相關議題,我寫過好幾次了,這次想從人生哲理的角度去看這問題,先起個頭。至於客觀環境的是是非非、汲汲營營,之前講的夠多了,之前幾篇的連結貼在後面給大家參考。

小時候寫「我的志願」,都在講長大後要做工程師、教授這種事,根本搞不清楚。其實「志願」可以分開成兩個議題來看,「志」是下決心達成目標,「願」是想要的未來。有大願,未必有大志,但無大願,則無大志。沒有願景,何來志向?

「念博士」是一種志向,本身無所謂大小,端看立志者此時彼時的心願而定。立志念博士,是為學術著迷,追求卓越?是受大師感召,樂與一時之選並駕齊驅?是嚮往教授生崖,教學相長?是取得一技之長,能不愁溫飽?是培養實力,有機會改變世界?還是取得博士頭銜,好作為晉身之階?

「念博士」也一種修行,所謂「因地不真,果招迂曲」,立志之前沒想清楚,將來出現的後果往往不是當初所想的。沒有社會經驗,得到的資訊不充份,如何在立志之前想清楚?老實說,很難。除了想辦法認識自己之外,如同修行人所講的,最重要的是要遇到「善知識」(明師、益友),這都很不容易。


「念博士」也是一個過程,平均五年的歲月,是不是有毅力和夠幸運能走完這段路?幾位來找我念博士的同學,狀況都不一樣。好幾位已經工作好些年之後,再回來念博士,雖然比較了解自己和社會了,但是能力和體力已不如年少時,又有家庭和經濟的負擔,要取得博士學位的難度更高。所以我口中不說,心理面對於這幾位同學能夠「立志」做這件事,還是很佩服的。

至少,這是件有趣的事,有趣的過程。至於結果是否有意義,不妨再多思索這句話:「因地不真,果招迂曲」。或許,從整個人生經驗來看,能夠看清楚自己,弄明白道理,也是很有意義的事。



該不該念博士?

台灣的博士 

如果讓我重做一次研究生: 摘要與個人感想 

感言 re: "Why I'm leaving Harvard" & "Why I'm staying at Harvard" 

高科技工程師與教授:一天的對比

2012年3月9日 星期五

動手做是最好的學習之一


之前的學生皓翔在fb上說:「想不到世隔多年後我還有打開資安課本的一天阿 ...書到用時方恨少 @@...」 (既然公開在fb上講,我應該可以公開引用吧?)

先不管字有沒有寫錯,我不教國文 :-) 我們實驗室有做資安的題目,但皓翔 的碩論不是做資安,所以不算砸掉實驗室招牌 ^_^  (我們實驗室叫做 "Performance, Applications, and Security Lab").

其實,我為皓翔感到高興,在職場上,有機會學新的東西,是福氣。

我個人的經驗是,書是要用,才會記得,之後才會起作用。上過資安的課,不記得AES和public key是什麼,很平常阿;但做過一次project,就搞清楚了。

自己寫過的東西,做過的計畫,記憶最深刻。

我當年(1988)修李琳山教授的通訊課時,在圖書館待上幾天,對密碼學的現況做探討,作為期末專題報告,內容包括public key (RSA) systems, computation on encrypted data等等,都是多年後在工作時用到的。誰知道我會在我的第一個工作,在Sun Micro的第一個project,就是去分析密碼加速器(crypto accelerator)的效能呢?因為我很快而且很有效地解決問題,馬上就成為公司裡面在這方面受重視的專家,這是很有趣的經驗。

記得大學時還修過六學期專題課,還有幾們要做期末專題的課,總共修了178學分,只因為我喜歡學東西,也喜歡動手做。想一想,我在高中和大學裡做過跟電腦相關的「類學術」活動主要有:

  • 高一勤跑光華商場搞Apple II,放學到重慶南路讀電腦書,學各種語言,想辦法玩得更有趣
  • 大一在計算機中心想辦法駭主機VAX-11/782,讀了一堆VAX的手冊,後來對資安和大型電腦有興趣
  • 大一養成PC DIY的習慣,到現在還是很關心PC的資訊
  • 大一做一堆音響擴大機,動手焊電路板,用示波器偵錯,此後對電路能夠不懼怕
  • 大二專題跟一群朋友用6502做了一個能加掛各種感測器的掌上型電腦,日後對行動裝置愛不釋手
  • 大三專題幫同步輻射中心做一個真空幫浦的控制器,對嵌入式系統有所認識
  • 大四專題做語音辨認,剛好去年指導學生做雲端的語音辨認系統
  • 大四專題之二做通訊的加碼(encoding)的經驗 ,這幾年當口試委員有用到

當然,我所碰過的東西,在學術這汪洋大海上,如九牛之一毛,沒什麼足以驕傲的,只是當作是個人興趣和工作所需。回學校任職,其中有一項原因,就是因為喜歡學習和動手 -- 活到老,學到老,動手玩到老。

奉勸各位小朋友,除了念書之外,把握各種機會,多動手做,去活用你學到的知識。

2012年3月8日 星期四

談新iPad與平板產業

看到Apple公布新的iPad和Apple TV,沒有驚喜,也沒有失望,Apple很精準地做出會大賣的「新iPad」。很有趣,昨晚臨睡前在fb上發文時,靈光一閃,就猜到Apple會用「新iPad」這個字 -- 當時浮現的想法是:既然有Macbook Air、新Macbook Air、新新Macbook Air的前例,為什麼iPad不回歸Apple的慣例?

好吧,我想要一台新iPad和一台新Apple TV,可是和往常一樣,不知道是第幾波才會在台灣上市。哪位朋友可以幫我從國外帶回來?真的,請聯絡我,我不想被水貨商剝削。

「新iPad」一出,誰與爭鋒?前一陣子在MWC風光一時的廠家(Asus, Samsung),跟我當時的想法一樣,只是在「自High」,連Google前天推出的Google Play也一樣,趁著新iPad出來之前講講話,還有一點點新聞價值。

相較之下,光是Display就差太多了,重點不只在於硬體規格,而是軟體支援的問題。即便有高解析度,像是Asus不知何月何日才會出的Transformer Pad Infinity 700 (好長的名字, iPad只有四個字母,名字比較長就比較厲害嗎?)解析度有1920x1080,可是在十吋螢幕上,很多軟體的字和圖會太小。這是在PC上屢見不鮮的問題,Sony有幾台解析度超高的筆電,例如在13吋上放1920x1080,對眼睛很不友善。

Apple的重點在於能夠把原來設計給iPad 1024x768解析度的軟體,自動地放大到長寬各為兩倍的2048x1536螢幕上,讓我們在看螢幕時,看不到惱人的格點和線條,有像看書的感覺,這個我認為是導致iPhone 4/4S成功的關鍵技術,至今在Android上面看不到有效的回應對策,我相信再次會讓iPad成功,這也算是Steve Jobs的餘蔭。

談到Jobs,我想,缺少了他,Apple的產品發表會不再那麼有趣,產品也不再那麼新奇。不過產品的設計感和精緻度,還是會一直保留下去。在市場上,少了Jobs的堅持,Apple比較有可能會更做一些「市俗」的產品,擴張市佔率,我們等著看。

這波打到不只是Asus,連三星也打。尤其是三星,被Apple認定是主要敵人,在各方面下手不留情。台灣廠商的因應策略為何?我猜部分企業主會想放棄高階平板市場,因為太難做了,研發投資高,人才難尋,風險高,不如朝cost-down方向去發揮吧。我認為,在產品規劃策略上,必須考量現實面,但國家和大企業必須堅持和加碼投入在系統研發上。Apple當年的艱難和近年的成功,證明了系統優化和軟硬體整合是當今個人電腦產業致勝關鍵,也證明了,只要堅持研發,就有機會成功。

「留得人才在,不怕沒機會」。

2012年3月3日 星期六

計算機與文學


詩云:
心如千重核 能算計 能論理 能轉物 幻化無窮生機
行似萬頭緒 亦集散 亦交錯 亦遠離 道出不凡禪意

橫批:
多核心嵌入式系統架構 vs 平行與分散式程式設計

題解:
原題寫的是禮讚劉邦鋒教授在「平行處理」出神入化的教學研究,橫批的是在下這幾年所教的課程名稱,希望有一天也能達到劉長官的境界...

釋義:
多核心處理機,已廣泛用於各種電腦系統,包括所謂的嵌入式系統在內,核心數目可達上千之多,核心數越多,系統的能力越強,除了大量計算之外,還可幫助許多科學理論之發現與驗證,甚至能改變我們的物質生活,然而使用之妙,存乎一心,有能力的系統設計者,方可發揮出多核心系統的潛力。平行運算的程式,同時有上萬條執行緒在運行,執行緒或者將集中共享資源,或者將資源分散在各處,執行緒之間有時必須藉由通訊機制交換資料與同步執行,還可以透過分散式運算,將工作在雲端遠處完成,其程式設計之哲理,與自然界和生活中許多事務相契合,設計者藉由程式表達之意境,饒富禪意。

疑惑、學者和修行人

學什麼都要有先有疑惑,或是在學習過程中產生惑。光有惑還不行,只是靠老師也不行,如果能自行從惑中走出來,才有機會真了悟。這個觀念,一直是我希望堅持去做的,剛好今天瀏覽到聖嚴法師這篇【小時候的疑惑】http://tw.myblog.yahoo.com/namofor/article?mid=386 的時候,很有同感,深覺得學者和修行人皆當如此。

這是禪門第一課,可是看到不少人學佛到後來,不假思索開口閉口「師父說...」,我也是很疑惑... 要不呢,你就當做是個人信仰,出世好好做自己相信的修行就算了;要入世與人相處,即便是「勸人為善」,也是一件難事,不是光是「師父說...」就行了。自 己有多少疑惑要解決,才能清明地為人解惑呢?難啊!「本想度眾生,反被眾生度」,還算是幸運的;更多「以盲導盲,誤人子弟」的事情,不斷在上演呢!

對產業和產學合作的看法 2012.03.02

 (這幾段是我今天早上因應某媒體需求所趕忙寫出來的文字,貼在這裡作為紀錄,也給大家參考。)

問題:次世代系統/系統最佳化是Smarter Computing的三大關鍵之一,同時其軟硬體整合的特質,也讓台灣產業界與學界有很好的發揮空間,請教您如何看待這樣的趨勢?

答:系統最佳化和軟硬體整合是相當務實的方向,卻也是目前業界和學界所必須面對的難題。傳統上,業界的分工很細緻,一項產品往往必須由許多專家、團隊,甚至多家公司共同研發。學界也往往將研究領域分得很細,某領域的博士,不見得熟悉另外一門領域的基本技術。因此,系統最佳化和軟硬體整合,都是說起來容易,做起來非常困難的方向,必須對於系統各部分都有深入的了解和研究。台灣產業界與學界有一個優點,那就是大家學得很快,因此我認為台灣在這些方向上,有非常大的發揮空間。有些廠商已經體認到這些是台灣未來的重點方向,積極由原本從事部分元件的代工設計,想辦法轉型來從事系統設計。不過,這個轉型過程能度頗高,尤其是對於人才的需求與獲得,往往是成功與否的關鍵。我認為,台灣要能夠在未來的系統產業有所發揮,必須加強人才培育、擴大與學界的合作。長久以來,台灣大學培養出很多一流的研究人才,我們樂見這些人才在業界能充分發揮他們研究的專長,但是台灣過去的產業環境,一方面在前瞻性研發上所能提供的工作機會並不多,另一方面,多半注重硬體產品的研發,在系統最佳化和軟硬體整合這些方面著墨不多,造成現今系統軟體人才的不足。因此,我們希望國內業界和學界能夠在Smarter Computing的大方向上,,把握契機,多多尋找系統最佳化和軟硬體整合的研究題材,在這些題材上加強產學合作,才能夠培植國內產業在次世代系統的研發人才,以及提昇研發能量。

問題:台灣大學與IBM已經開始推動一系列對次世代系統的產學合作,能否說明合作方向與願景,以及期望為台灣資訊產業帶來的貢獻
:IBM Research研發中的FPGA加速器,編譯器以及中介軟體,能夠提升電腦系統的效率與速度,使得某些傳統電腦系統無法及時完成的應用變成可能。我們的目標,是繼續改進這個研發中的軟硬體系統架構及工具,並且用以加速一些很重要的應用,例如醫學影像的處理,希望能即時而準確地幫助醫生判定疾病以及提高手術的精確度。因此,我們認為這個合作案,在方向上,跳脫出台灣傳統資訊產業大多重視消費性產品的領域,也把願景放在極具挑戰性、具備高度前瞻性的研究,希望能把IBM最新、能在發展中的資訊科技引進國內,一方面讓國內的學者,有一個很好的機會將他們的專長和研發成果發揮在既前瞻性有務實的資訊系統科技;另一方面,由於整個合作案內容極為豐富,需要結合多項領域的專長,因此可以讓參與計畫的教授與研究生在合作的過程中,有許多跨領域的學習和研究,這對於台灣在提升產學合作和培育高級資訊科技人才上,應該有相當大的貢獻。

問題:此次OCR計畫,對於台灣資訊軟硬體發展有甚麼指標性意義?您對此次產學合作有甚麼樣的期待?
 

答:多年來,IBM Research在資訊科技界,是舉世矚目的研究機構。近年來,台灣大學在研發質量的提升上,也有優秀的表現。此次OCR計畫,我們認為,一方面代表IBMResearch對於台灣大學研發團隊的信心,一方面代表台灣大學研發團隊,在資訊軟硬體發展上,有能力對業界做出有相當的貢獻。當然,近年來我們看到台灣學界與國外一流廠商在各個資訊科技領域有日益增加的產學合作,可見台灣在資訊科技研發與人才的培育上,在世界舞台上的能見度逐漸提高。我們樂見這類型研發計畫在台灣蓬勃發展,除了與國際接軌,引進技術之外,我們希望國內業界在積極提昇研發規模的同時,也能加強與學界的合作。台灣大學電資學院近年來,和多家國內外廠商進行產學合作,逐漸提昇國內整體的研發能量與水準,以致於這次和IBM Research簽訂合作計畫,顯示這個作法的正面循環的效果。在實質上,我們台大的團隊希望在此次產學合作中,學習到業界最新的科技,了解業界待突破的重要問題,發展關鍵的技術,以及訓練出能夠研究與解決問題的尖端人才。

問題:面對全新的運算趨勢與未來發展,您對台灣的資訊硬體產業、廠商、學界有甚麼樣的建言?
 

答:傳統上,台灣資訊產業長期為各大公司代工設計製造產品和元件,大多重視個人電腦和消費性產品,對於包含複雜軟硬體整合的電腦系統,或者是商用、專業的資訊應用並不是非常積極投入。以最近產業在研發智慧型手機、平板,以及雲端科技的經驗來看,在許多業者邁向整體系統解決方案(total system solution)研發的過程中,國內業界嚴重缺乏整體系統研發的經驗與方法(know-how),同時大量需要有能力從事複雜軟硬體整合的系統人才(talents)。例如,宏碁(Acer)在這幾年研發智慧型手機和平板的過程中,無法吸納足夠的系統軟體人才,在PC產業的成功經驗,並不能確保他在智慧型手機和平板研發上的優勢,反而可能在轉型時成為一項包袱。以全球來看,IBM近年來在產品的定位和科技研發的轉型過程中,有令人刮目相看的表現,因此得以在日新月異的資訊科技競賽場上,能就屹立不搖。大家都知道Apple設計的好產品,許多人除了讚揚Steve Jobs的領導之外,不見得看得到Apple在系統軟硬體整合上長久的努力。我想,台灣的資訊硬體產業、廠商、還有我們學界,除了努力學習之外,都有很多心態和想法要改,才能在未來跟上世界的腳步。

我們希望,國內在產業發展上,不要畫地自限,可以更積極與學界合作,找尋所謂的藍海。廠商在人力運用、人才培育以及研發方向上,或許可以更前瞻更大膽(aggressive),給研發人員更大的發揮空間,消弭一些為人所詬病「me too」「爆肝」等形象。在學界,我們希望能走出象牙塔,除了將各自的研究做好之外,可以更積極尋求與業界共同從事高級研發的機會,訓練出更多對社會對產業有貢獻的人才。