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


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

2012年9月29日 星期六

游泳、健身、修身養性。

2012.08.03

猜猜看,以下這張圖的數字在說什麼呢?



答案:
            月/日   重量

慢慢減重中,這篇是我在此過程中的的雜錄與心得


2012.09.03


昨天開始今暑第二階段減重程序。第一階段在八月,透過飲食控制和游泳,減輕3.5kg。上週回復正常飲食,調濟身心之後,又産生一股力量支持我進行第二階段,決定每天晨泳一千公尺,傍晚運動出汗至少一小時。支持我關切身體的最大原因:希望四十年後能身心健康地看到親人和世界。

(摘錄我在facebook上與朋友的對話)
曾經有段時間,覺得過勞死在職場上也是一種美學,現在想法變了。現在這種時勢,鞠躬盡瘁又如何?把希望寄託在較為遙遠的未來,比較實際。是阿,希望老的時候還能神智清楚、能動能聽能看,或許能夠等到了無遺憾、看膩或是看煩了一切,再好好地走。

同學,我想,忠於工作是對的,鞠躬盡瘁就不必了... 您在醫界救人夠辛苦的了,對於俗務,就看開點;現在這種態勢,想做事難免會惹一身腥,不如保存實力,將來時機成熟時或許能有更多貢獻。


2012.09.22


減重是一件很有趣的事,在八月減輕3.5kg之後,遇到撞牆期,有一週左右,不大減得下來。當時盡量保持平常心,正常飲食,調濟身心之後,再慢慢繼續下去。這陣子開始晨泳,剛好天氣冷下來,晨泳變得比較過癮,一千公尺大概35分鐘,游完後到辦公室還不到八點。感覺體力有變好,大前天中午收到學生交給我的稿件,趕deadline不眠不休改到隔天早上,這點讓我自己也感到有點意外。膝蓋比較不痛了,週末打排球的狀況也好點了。有朋友問我減重的秘訣,我的心得是,有個真誠為長久健康而努力的願望,保持樂觀正向的態度,持續做運動提昇體力,食物份量不要過多過油,體重慢慢會下降。這樣說好了,體力好,才有辦法同時餓肚子和燃燒脂肪,對不對?偶而參加聚會吃吃也無所謂,例如上週二晚上吃大餐,週四中午慶生餐會照吃不誤,體重還是會下來。

現在的BMI是23.7,目標是慢慢降到72kg (BMI=22.2),同時把過去這幾年犧牲掉的健康救回來。

相片: 減重是一件很有趣的事,在八月減輕3.5kg之後,遇到撞牆期,有一週左右,不大減得下來。當時盡量保持平常心,正常飲食,調濟身心之後,再慢慢繼續下去。這陣子開始晨泳,剛好天氣冷下來,晨泳變得比較過癮,一千公尺大概35分鐘,游完後到辦公室還不到八點。感覺體力有變好,大前天中午收到學生交給我的稿件,趕deadline不眠不休改到隔天早上,這點讓我自己也感到有點意外。膝蓋比較不痛了,週末打排球的狀況也好點了。有朋友問我減重的秘訣,我的心得是,有個真誠為長久健康而努力的願望,保持樂觀正向的態度,持續做運動提昇體力,食物份量不要過多過油,體重慢慢會下降。這樣說好了,體力好,才有辦法同時餓肚子和燃燒脂肪,對不對?偶而參加聚會吃吃也無所謂,例如上週二晚上吃大餐,週四中午慶生餐會照吃不誤,體重還是會下來。

現在的BMI是23.7,目標是慢慢降到72kg (BMI=22.2),同時把過去這幾年犧牲掉的健康救回來。


2012.09.28

早上下雨,游泳池人少,一個人用一個水道,真清爽!一個月不到,已經游了21次,第一次把台大「鵑的卡」的額度用完,感覺有賺到。其實早泳很不錯,人不多的話,一邊游一邊放鬆冥想,游完剛好上班。說難不難,關鍵在於能否起床和出門:)今天開始增加每天里程,設定為50分鐘或是1500公尺,順便修身養性。

2012.10.03

減重最大的敵人是來自外界的誘惑,尤其是必須請人家客,或者是人家請客不得不去的場合,看到滿桌食物,想想幾個月前吃到12分飽的那種痛快的感覺,真是難以抗拒啊! 只好說服自己,吃到八分飽就好,明天運動量增加50%,多餓一餐就行了 :) 可是呢,一周連續來個五次餐會,怎麼辦啊?講真的,這時很容易萌生放棄減重的念頭。上週就是如此,就當作是個實驗吧,我每個餐會都盡興吃到八分飽,每天早上游泳增長到1500公尺,週六日打球、搬家具,其他餐就少吃些。結果呢?比十天前輕了半公斤。我想,這實驗結果或許是告訴我,減重期間也可以享受美食,只是要有節制。



十月初要去芬蘭發表在ESWEEK上的論文 A Real-Time, Energy-Efficient System Software Suite for Heterogeneous Multicore Platforms

https://www.dropbox.com/s/ya4q5997i9sjwpv/CODESISSS2012.pdf

2012年9月23日 星期日

iTunes Match


使用iTunes Match,把手上一些有專輯上傳,3517首歌當中,1973首可以match成功,56%的比率,還不錯。距離目前25000的上限,還很遠,有空一邊整理音樂,繼續傳上去。Match到的華語流行音樂也不少,例如周杰倫的大部分都ok。這個一年NT$690的服務,對我很划算。幾台電腦 + 手機 + 平板 + Apple TV,都可以使用放上去的音樂,所以現在音樂不必到處擺。

不是做廣告,只是寫下心得和分享對我好用的東西給大家:

- 手機突然空出一大堆空間,以後需要買64G空間的手機嗎?省下的錢,可以定好幾年的iTunes Match。

- US$99的Apple TV突然變成了好用的點歌機,隨便擺哪裡,家裡、學校、甚至放一台在老家,只要接無線網路和電視,就可以聽歌,方便!

- 我可以依Apple的規定,把我的帳號總用在十台裝置上,我想除了方便,這樣用他的服務和服務費,對我來說很OK的。

2012年9月20日 星期四

博班指導老師


今天(2012.09.20)下午,忽然間就收了一位博士班學生。剛畢業掉一位,今年收了三位,現在總共有五位現役博班生。其實我真的是認為,念博士班是有用的。拿我自己來說,講一句不客氣的話,我不用去聽課就已經比很多人厲害了,當初念博班好像只是為了學位,但是到完成學業後才知道,我的博班指導老師對我潛移默化的影響真的很深遠,而且那些收穫是怎麼看書、修課都得不到的東西。

本來心血來潮想查一下老師有沒有facebook帳號,要去點幾個讚,沒找到之餘,卻找到一個別人幫他做了一個Wikipedia專頁,順手放在這裡算是點個讚 :) http://en.wikipedia.org/wiki/Edward_S._Davidson

話說回來,學生從我這邊能夠得到什麼東西?值不值得花這些時間和精力?我不知道。我盡心盡力好好教他們,其他的事就留給學生自己去想想了。學生和老師,不知道前世是何種緣份?不管如何,學生本身的態度很重要。很多時候,態度決定了高度。

2012年9月17日 星期一

指導教授的基本責任


以下這段彭教授在這篇文章ˊ中說的話,我倒是很贊同,我的指導教授如此,我也盡可能如此做。學界的朋友和同學可參考一下,共勉之。

一般來說,指導教授的基本責任包括:
(1)跟學生討論出一個研究的子題和方向,
(2)建議相關文獻 (但是把它讀懂是學生的事,指導教授不是家教老師,頂多只需提醒重點),
(3)協助學生釐定研究範圍與焦點,
(4)跟學生定期討論研究進度,對研究瓶頸提供突破的建議、策略或方向( 指導教授的建議必須有合理的專業依據,不是天馬行空或酒後失言,但不負成敗責任;學生要盡快去發展看走不走得通,走不通得趕快回來跟老師討論),
(5)指出學生研究過程的弱點、偏頗、疏失,提出改進的要求(或具體建議),
(6)觀察學生的研究能力與態度,必要時向學校提出學生「能力不足」的報告,以便請學生提前離校,不需要進一步浪費時間(在劍橋這被認為是對學生的「善意」,而非整人),
(7)在學生完成滿足畢業水準的研究後,指導學生撰寫學位論文(指出缺點要求改進,而不是替學生改錯字,當作文家教老師)。

至於文章其他的部份,我持保留態度。留英的、留美的、留日的、留德的學者都個有優點,不必幫人家扣大帽子。至於台灣嘛,由於注重論文發表數量,造成某些血汗工廠的狀況,未必是學自於美國。

彭教授的本位主義相當重,我在讀他的文章時,都會自動稀釋掉他的一些斷語。

2012年9月14日 星期五

規劃新課程: System software for multicore platforms


我受上級長官交代,要在一年半之內研發一門新課程: System software for multicore platforms,長官希望能培育一些能夠幫多核心硬體平台(包括嵌入式系統、手機、平板、以及種種智慧型裝置) 研發系統軟體的人才,搭配國內外日益普遍的多核心硬體平台,讓國內將來有辦法設計出優質先進的多核心系統。

不知道各位先進、賢達、朋友,可否提供一些建議? 這門一學期三學分的高年級/研究所課該教些甚麼? 尤其是在業界的朋友,可否說一下你們最希望新進人員有那些關於多核心的專長? 有沒有覺得很不錯的參考資料? 有沒有覺得很好用的多核心平台?

列出一些相關的topics,一學期要教完,要有所取捨...
- Multicore architecture
- Task management software on multicore systems
- Inter-core communication software on multicore systems
- Memory management software on multicore systems
- Software support for heterogeneous multicore systems
- Development tools for multicore systems
- Performance modeling and tuning for software on multicore systems
- Reconfigurable multicore systems
- Virtualization for multicore systems
- Programming models for embedded multi-core systems
- Applications on embedded multi-core systems
- Real-time system designs for embedded multi-core environments
- Hardware/software co-design framework
- Linux on multicore systems

hTC 來台大 call for research proposal


今天參加 hTC 來台大 call for research proposal 的會議,很失望。感覺 hTC 現在的研究部門主管非常好高騖遠 -- 主管說,想要一兩年做出甚麼能夠救亡圖存的前瞻性的研究。這點讓我非常訝異。我不知道結果會如何,但你如果研發出一大堆看起來很炫的花拳繡腿,我也不會覺得很奇怪。

在台灣,目前業界跟學校做研發的現況有幾種: (1)以廉價的學生勞力,作一些預期能在短期做出來的工作。(2)以合作的形式,希望選拔或是吸引優秀學生將來進公司。(3)透過合作取得學校研究團隊公司想要的現成的技術。(4)比照在美國做產學合作研究的那套,研發出頂尖創新又有用的技術。(5)其他非技術理由,例如打好關係以便爭取政府補助經費。

看來,hTC想做的是(1)(2)(3),但嘴巴上卻說是要做(4)。我如果是總經理的話,要嘛,就去做(1)(2)(3),不然就真正去做(4),切莫講一套做一套。

要做到(4),有一個必要條件,那就是公司本身在某領域已具備一流的研發能力,或是弄清楚要研究的問題,或者願意花時間、精力、經費跟學校合作。以hTC的規模和在某些領域長期的耕耘,不是不能做(4),但從hTC今天的提案裡,我感覺不到他的合作誠意,因為他們根本不講自己在做些甚麼;我更不認為他們目前從研發方面去救亡圖存的執行方法是對的,因為有一些讓手機更好用所應該做的研發工作,他們連提都不提,讓我覺得很納悶,hTC到底想往哪裡走?

手機廠的本業是甚麼? 是不是該先把手機設計好,系統效能調好,再來講怎樣附加一堆花俏的功能? 是不是該先建構好雲端服務的基礎架構,再來談怎麼處理大量資料? 搞應用研究的人,可以假設系統都建置得好好的;但是幫公司做研發,不知道抑或不理會公司在系統架構和系統軟體的薄弱,只顧著軟體要酷炫? 對此,我幫不上忙,我只能說: Good luck!

後記(2012-10-05):


這篇只是反應我個人對hTC此次CFP的期待,期待越高,自然有所失落,但並非說hTC如何如何,請大家不要過分解讀。台灣資訊產業在做前瞻研發的經驗還很淺,需要多加強,我只是提問題,也不是在罵人 :) 說真的,我還是很想幫hTC做些事情的,不少之前指導過的學生在hTC做事,hTC工程部門幾個月前也來深談過,手機系統愈來越複雜,對手越來越強,需要有更有效的系統研究方法和設計評估工具。

我想,台灣業界整體來說,還沒有學會怎麼支持前瞻研究。老闆覺得有繳稅,政府和學校該發展技術和培養人才,不是天經地義的嗎?問題是,以目前政府的行政效率,以及學校爭排名的研發思維,能夠培養出業界想要用的人才嗎?不如直接捐款給特定單位,專款專用,這就是幾個趨勢和台達電願意捐款給台大成立雲端學程的用心,值得嘉許。我認為應該有更多大企業集體和主動捐款給學校做研發和人才培育,才是能夠提昇產業研究的好手段。只靠政府的經費和力量是不夠的。

話說回來,我這篇講的,主要是感嘆hTC雖有心想突破,卻還是受到大環境的限制。我對事不對人,hTC的主管們,或許有他們的考量,但我看到的是,即使有心想做前瞻研究,也是一邊做,一邊在算計能不能從研究中獲利。以台灣中小企業的規模,要這樣算計,當然是合情合理,但是我原本對於hTC有較高的期待,並沒有出現。

執著於現有的成功經驗,不敢跨出去,是台灣業界普遍的心態。我沒有說哪家公司一定要做前瞻的研發,你選擇不做也行,要做的話,希望是能夠朝向長遠的利益去做。

有人說台灣能做的東西不多,那是因為看不遠、看不廣。做前瞻研究就是為了要能夠比人家看得遠、看得廣。在美國,一年有150000個computing job openings(請參考http://hungsh-ntucsie.blogspot.tw/2012/10/blog-post_6610.html),工作機會從哪裡來的?美國這些年來從硬體設備製造轉型到軟體研發和服務,轉得很成功。IBM是一個很好的典範,Apple是一個超越典範的特例。Apple 沒有早期在Newton的研發,也不容易把iPod的成功延續到iPhone。這些東西,不只是累積工程師的技術,而且是培育管理階層的經驗和眼光。台灣的產業大多還一直是硬體廠訂單至上的思維,用在軟體研發,並非很恰當。

台灣有好的工程師,但是老闆和主管們的心態上,往往不能有效支持員工做高階的研發。這個跟做me too的生意取向有關...因為過去做me too有不錯的機會賺錢,只要賺到了錢,工程師爆肝或是做低階的研發也甘願,不是嗎?所以一路走來就是一個願打一個願挨,形成先前的局面,其實並不能怪誰。

然而,現在繼續這樣幹,產業還能夠賺夠錢嗎?學校只教學生做純理論,出去找工作碰壁,要怪老師沒教?還是怪學生沒長眼?我的博士班學生今年畢業,大家搶著要,為什麼有一堆博士找不到工作?我講這些,不是要去指責誰,而是說現在情勢變了,大家也要跟著變,而不是(企業)只想讓國家來支持你,(畢業生)只想讓大環境來配合你。

我想,以台灣目前的師資和學生素質,再加上在國內外一流產業的工程師,只要能夠群策群力,「好好地」把資源投注在幾個「重點」領域,當然有可能「真正」做出一些世界一流的研發成果。問題是,上句話中加上引號的部份,都是扯不清楚的關鍵議題,尤其是從每個人的本位出發,很難找到把事情做好的共識。

要怎麼才能夠讓老闆、主管有遠見?我想這是目前台灣業界的當務之急。累積深厚的研究基礎和人才,則是台灣的產官學要共同努力的事。大家都知道,過去這些年產官學做得並不是很好,原因很多,在此我無法詳述,請參考我部落格的其他文章。

再次聲明,我對事不對人,我也不是罵人,只是希望台灣能做得更好,我自己也一本從業界回國教書的初衷,盡量把自己覺得好的東西引介給大家,也希望可以幫朋友們解決問題。



2012年9月10日 星期一

2012 雲端計算專題構想(2) - Big Data Analytics with the Cloud


Instructor
Shih-Hao Hung

Contact
hungsh@csie.ntu.edu.tw

Project title
Big Data Analytics with the Cloud

Project description
Big data analysis is a hot topic. To make use of big data, we are looking the following three important layers in the system:

(1) Application domain: Smart ideas to produce, analyze, and use big data for specific applications, and then implement the ideas with the right cloud infrastructure.This is best done by someone with the knowledge of the application domain.

(2) Cloud Middleware: This is for someone who would like to look deeper into the cloud. Cloud middleware is very critical to big data analytics. People keep develop middleware to make the analysis of big data easier and more efficient. What are the tricks behind those middleware?

(3) Cloud Architecture: How would you store big data? How would you connect the machines? These are the questions you would ask if you are setting up your own cloud for big data applications.

In our lab, we are working with the industry for all three layers. We think that the best way for you to learn about big data analytics is to do a team project and work with others.

Project deliverable
(1) New system enhancing techniques with implementation, or
(2) New collaborative Android applications based our framework.

Prerequisites
The prospective participants who are interested in Part (1) of this project should be familiar with the basic concept of cloud computing, parallel programming, and distributed computing. Those who are interested in Part (2) should be familiar with UNIX system programming, operating system, and algorithm design and analysis. Those who are interested in Part (3) should be familiar with operating system, and computer architecture.

Number of students required.
1~4 students

Meeting schedule
The students are expected to meet with all project members at least once every two weeks.

Progress report
The students are expected to file progress report using a Google document.

Grading criteria
Survey of existing work 25%
Innovation 25%
Implementation 25%
Performance Evaluation 25%

2012 雲端計算專題構想(1) - Virtualization of Smartphone Applications in the Cloud


Instructor
Shih-Hao Hung

Contact
hungsh@csie.ntu.edu.tw

Project title
Virtualization of Smartphone Applications in the Cloud

Project description
Smartphone applications are increasingly popular, but are limited by the computing power and storage capacity in the smartphone devices. To make smartphone applications more useful and powerful, one may consider running smartphone applications in the cloud, or offloading portions of application workload to the cloud. However, it is important to make the cloud “transparent” to the user, i.e. the user does not need to be aware of the cloud, or, at least, the user does not have to pay attention to the details of this mobile-cloud collaboration.

In our lab, we have built a prototype to virtualize smartphone applications to the cloud. We would invite students to join this research and development work. We are interested in two directions, and you are welcome to pick one or both:

(1) Further enhance the infrastructure of this virtualization framework. This is related to systems research, and you will learn about virtualization technologies, system architecture, and perofomance engineering.

(2) Develop collaborative smartphone applications based on our prototype. You will think about the so-called mobile-cloud computing applications of the future. You are no longer limited by mobile or cloud. You can use your imagination to create applications that are really innovative.

Project deliverable
(1) New system enhancing techniques with implementation, or
(2) New collaborative Android applications based our framework.

Prerequisites
The prospective participants who are interested in Part (1) of this project should be familiar with UNIX system programming, operating system, and algorithm design and analysis. Those who are interested in Part (2) should be familiar with Android programming and mobile computing.

Number of students required.
1~4 students

Meeting schedule
The students are expected to meet with all project members at least once every two weeks.

Progress report
The students are expected to file progress report using a Google document.

Grading criteria
Survey of existing work 25%
Innovation 25%
Implementation 25%
Performance Evaluation 25%

2012年9月3日 星期一

經濟部「雲端運算產業發展方案」


偶然,看到經濟部99年核定的這份「雲端運算產業發展方案」:規劃以 5 年共 240 億元經費,目標達成雲端服務應用體驗 1,000 萬人次、帶動企業研發投資 127 億,促成投資(含製造、服務)1,000 億、新增就業人口 5 萬、雲端運算產值累計達 1 兆。讓台灣以運用雲端新科技,創造智慧好生活,朝科技強國之路,邁開大步。

聽起來不錯,但是實際如何?這裡有篇報導(http://news.chinatimes.com/focus/501010736/122012031500102.html)說:在2013年帶動台灣整體雲端產值達到3,900億元規模,以2011年的雲端產值才124億元來看,近2年的雲端發展將跳躍爆發成長。

有趣!即使去年沒有達到規劃應該有的200億元,政府官員還是可以很正面地思考,說將跳躍爆發成長。

另外,這份99年所提出的方案中,對於人才的著墨甚少。彷彿只要有資策會和工研院,再加上雲端業者,每年投幾十億元進去,就可以帶動企業研發。喔,對不起,經濟部不負責人才培育。那教育部呢?我也不知道教育部有特別指示或是提供資源請各大學開設雲端課程。還好台大有趨勢和台達的捐贈。