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


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

2010年12月31日 星期五

為什麼要『卡三爽』?


裝了20個應用程式之後,Samsung i9000『卡』到不能忍受,用z4root取得root權限之後,裝OCLF(所謂的『卡三爽』的一種...好一個俗又有力的名字),修改/etc/gps.conf,比較順了,再來多裝20個應用程式試看看...

另外,本來很順的Samsung Galaxy Tab在裝了50個應用程式之後已經開始卡了,看來卡不卡還是跟使用者的需求有關,CPU快一點,RAM大一點,只是讓卡機現象延後發生。

為什麼會卡呢?主要是因為RAM不夠用,只有512MB的RAM,扣掉Linux kernel和Android常駐程式佔據的空間之後,大概頂多剩下200MB,原本應該還好,但是現在很多的應用程式都提供了背景服務(services),越來越佔空間,而且還自動會復活,殺都殺不完。這是Android的大問題,在允許應用程式提供多工服務的同時,這問題就存在。

Apple在開發iOS的多工服務的時候,比Google要小心翼翼多了,雖然給某些開發者太過於控制的觀感,但是的確讓Apple較能夠掌控iPhone的效能,因此,比較少有用戶抱怨,除了iPhone3G在升級到iOS3的時候效能變得非常差之外,大部分都還過得去,裝上百的應用程式都不成問題。

所以,裝Android程式要謹慎,但是一般使用者懂那麼多嗎?我看遲早Android陣營必須學Apple Store那樣提供Genius諮詢服務,解決一般手機用戶的疑難雜症。現在Android的行銷策略遲早會有問題,靠手機行和電信業者來解決電腦問題應該是不夠的,除非找到一個更好的管理機制,減少這種事情發生的機會。

2010年12月28日 星期二

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


前天看到這篇文章,覺得作者Dr. Welsh真是有趣,繼上回記述他離開哈佛加入Google的心路歷程之後,來這一篇呼應前文的詼諧之作,哪天有機會遇到他的時候,一定要好好跟他聊聊。

在台大教書已經將近六年了,我時常還是會想起當初在美國SUN公司的工作經驗。相較之下,最大差別是,我在SUN的時候,我不需要管人,也不需要管計畫,我只要想辦法解決公司裡面自己和別人所遇到的問題就行了。更重要的事,我有機會玩到最新的機器,也會遇到一些懂得自己在說什麼的真正高手,日子跟Dr. Welsh描述的差不多。身為一個博士,在公司裡並不算什麼,長官所看重的,是解決問題的能力和跨組織的影響力,也因此我後來常常被派去執行跨組織的計畫。但是因為SUN當時處於相當艱難的時刻,有些我想做的事,由於重要任務在身,長官不見得會支持我去做這些短期之內看不到收穫的研究。

在台大,日子也像是Dr. Welsh描述的翻版,在忙碌之餘,我不得不利用Engadget, Mobile01, Macrumors, Facebook等網站來打發時間和調劑身心。平常得抽空撰寫一篇一篇看起來很偉大卻又能夠用合理的經費在有限時間內完成的研究計劃書,以及向校方和相關單位以幾近乎自我吹噓的方式把一些研究成果以世界一流的角度呈現在報告和paper中。參與一個一個和教學和研究相關的會議時,往往得在分心二用抽空完成上述事項的同時,還必須以不衝撞與會權威人士的方式提供符合自己微薄角色的參考意見。在上課前才趕著做好的教學投影片,發現一堆沒有預習、缺乏實作經驗、毫無求知慾、不敢在上課問問題和回答問題的學生們,似懂非懂地聽著我三小時60張投影片的演講。在跟一群研究生的研討會裡擔綱唱獨角戲,擔任主持人並且負責幫聽不懂的人問問題,以及幫回答不出來的演講者回答問題。說要來談產學合作的小公司,一半是想來得到免費諮詢服務的,另一半則是希望能獲得廉價勞工。花時間所指導的研究生,原本應該是舉一反三的,很多時候是舉三反一,而且反出來的東西還是錯的。一個月之後要送出去的paper,老神在在的學生就是要撐到最後的幾天才寫好稿交上來,為了提昇業績,不得不趕工自己動手全部直接重寫。三更半夜爬起來寫了三十多張立可貼的研究心得,隔天很興奮地告訴研究生說這個趕緊去看看能不能做出世界一流的東西,結果三個月後連一個像樣的survey都沒看到。學生畢業後拍拍屁股走了,留下給學弟學妹一些很難交接的成果。我買了一堆書,收集了一堆papers要看,無奈總是覺得時間不夠用,卻又說不出時間確切花到哪裡去,懷疑是自己缺乏自我管理能力。每年重複一樣的過程來教導和訓練學生,每年都想大刀闊斧地改進教學材料,但每年都留下一堆遺憾和挫折感。

這一切,我只能說,人各有命,殊途同歸。在學術界走系統實作的路線,就是辛苦的,在台灣又格外艱辛。礙於情勢,我只好培養我在這個學術圈裡發展所需的技能和智慧,利用有限的時間有效地去學習新的知識,在幾個月內成為Android和雲端運算的專家(這個圈子現在很多人都是雲端的專家),在幾個月內發表四篇標題有cloud的文章,並且拿到M公司贊助兩年雲端研究的經費,以及另一個M公司一年的Android研發合作案。也因此在忙到快要過勞死,面對這個學術圈裡的種種不完美時,除了為了某些高於個人的理由而努力忍受著之外,想到這些能讓我常常有機會學習和貢獻時的愉快,還有理直氣壯但是孩子氣地購買並且把玩最新Android/iPhone手機、Macbook Air、十二核心的Mac Pro、甚至於container-based cloud的時候,我想:在台大教書的日子也還不錯。(註:當我沒有庸人自擾的時候。)

附上在台大的近照一張:)
年底到了,一口氣買了五隻Android手機回家研究。自左而右:Motorola Defy, HTC Desire HD, Samsung i9000, HTC Desire, HTC Desire Z。後面的是Samsung Galaxy Tab.

以下謹摘錄Dr. Welsh的文章,給大家欣賞,標以粗體字的是共同的經驗,令人莞爾,有段提到台灣人的文字,卻讓令人汗顏...


Day in the Life of a Googler
Matt Welsh

I was thinking recently about how different my workdays are now that I'm at Google, compared to the faculty job at Harvard. The biggest difference is that I spent nearly 90% (or more) of my time writing code, compared to Harvard where I was lucky if I got half an hour a week to do any programming. I also spend a lot less time at Google procrastinating and reading a zillion stupid websites -- mostly because I'm enjoying the work a lot more.

Here's a short rundown of my typical day at Google:
  • 6:30am - Wake up, get son up, shower, breakfast, take dog to the park.
  • 8:30am - Leave for work (I take the subway most days).
  • 9:00am - Arrive at work. Type passwords into half a dozen different windows to get my work environment back to a sane state. Check email. Check on status of my several jobs running in various datacenters. Page in work from day before.
  • 9:30am-10:15am - Work on code to add requested feature to the system I'm working on. Debug it until it's working, write a unit test or two. Fire off code changelist for review. Grab third free Diet Coke of the day.
  • 10:15-11:00 - Switch git branches to another project. Take a look at code review comments from a colleague. Go through the code and address the comments. Build new version, re-run tests, re-run lint on the code to make sure it's working and looks pretty. Submit revised changelist and responses to comments.
  • 11:00-11:30 - Switch git branches again. Rebuild code to be safe, then fire off a three-hour MapReduce job to crunch log data to analyze network latencies.
  • 11:30 - 12:00 - Quick videoconference meeting with team members in Mountain View.
  • 12:00-12:35 - Lunch of free yummy food in cafeteria. Regale coworkers with stories of Apple IIgs hacking when I was in middle school.
  • 12:35-2:00 - Back at desk. Check email. Check status of MapReduce job - about halfway done. Respond to last set of comments from code review done in the morning and submit the code. Merge and clean up the git branch. Take a look at task list to decide what to work on next.
  • 2:00-3:00 - Project meeting with teams in Cambridge, Mountain View, and elsewhere by videoconference. This is my only hour-long meeting of the whole week. It is mildly amusing and I mostly spend the time doing some light hacking on my laptop and hitting reload on the MapReduce status page to see if it's done yet. Check Buzz and post a snarky comment or two.
  • 3:00-4:00 - Red Bull infusion to keep energy going for the rest of the day.  MapReduce is finally done. Generate graphs of the resulting data and stare at them for a while. Think about why the results are different than expected and write next version of code to generate another set of statistics. Try to get the code to the point where I can fire off another MapReduce before leaving for the day.
  • 4:00-5:00 - Whiskey Thursday! Round up a group of colleagues to drink scotch and play Guitar Hero. (I have a nice collection of scotch under my desk. Somehow I have been designated as the guardian of the alcohol supply, which suits me fine.)
  • 5:00 - Pack up laptop and head home.
  • 5:30-8:00 - Dinner and family time until son goes to bed.
  • 8:00 until bedtime - More hacking, if there's stuff I want to get done tonight, or make a few nice cocktails if not.
Contrast this to my typical work day at Harvard:
  • 6:30am - Wake up, get son up, shower, breakfast, take dog to the park
  • 8:30am - Leave for work (a 20-minute walk from home to the office, and I bring the dog with me).
  • 9:00am - Arrive at office. Check email. Groan at the amount of work I have to do before the onslaught of meetings in the afternoon.
  • 9:15am - Start working on outline for a grant proposal. About three minutes later, decide I don't know what I want to write about so spend next 45 minutes reading Engadget, Hacker News, and Facebook instead.
  • 10:00am - Try to snap out of the Web-induced stupor and try to make headway on a pile of recommendation letters that I have to write. Fortunately these are easy and many of them are cut-and-paste jobs from other recommendation letters I have written for other people before.
  • 11:00am - Check calendar, realize I have only an hour left to get any real work done. Respond to some emails that have been sitting in my inbox for weeks. Email my assistant to set up three more meetings for the following week.
  • 11:30am - Try to make some token headway on the grant proposal by drafting up a budget and sending off the three emails to various support staff to get the paperwork going.Make up a title and a total budget for the proposal that sound reasonable. Still undecided on what the project should be about.
  • 12:00pm - Take dog out for a 20-minute walk around campus. Sometimes spend longer if we run into other dogs to play with.
  • 12:30pm - Run over to Law School cafeteria to grab overpriced and not-very-appetizing lunch, which I eat sullen and alone in my office, while reading Engadget and Hacker News.
  • 1:00pm - First meeting of the day with random person visiting from a random company in Taiwan who will never give me any money but wants me to spend half an hour explaining my research projects to them in extraordinary detail.
  • 1:30pm - Second meeting of the day with second-semester senior who has suddenly decided after four aimless years in college that he wants to do a PhD at Berkeley or MIT. Explain that this will not be possible given zero research track record, but somehow end up promising to write a recommendation letter anyway. Mentally note which other recommendation letters I will cut and paste from later.
  • 2:00pm - Realize that I have to give lecture in half an hour. Pull up lecture notes from last year. Change "2009" to "2010" on the title slide. Skim over them and remember that this lecture was a total disaster but that I don't have time to fix it now. 
  • 2:30pm - 4:00pm - Give lecture on cache algorithms to 70 or so somewhat perplexed and bored undergrads. Try to make the lecture more exciting using extensive PowerPoint animations and wild gesticulations with the laser pointer. Answer a bunch of questions that remind me why the lecture was a disaster last year and vow to fix it before delivering again next year.
  • 4:00-4:10pm - Hide in office with door closed trying to calm down after adrenaline rush of lecturing. Gulp large amounts of Diet Coke to re-energize and re-hydrate.
  • 4:10-4:20pm - Check email. Check Engadget. Check Facebook.
  • 4:30-5:00pm - Last meeting of the day with two grad students working on a paper due in less than a week. They have no outline and no results yet but are very optimistic that they will make it in time. Spend half an hour sketching ideas and possible graphs on the whiteboard while they scribble furiously in their notebooks. Make vague promises about reviewing a draft if I see one later in the week.
  • 5:00pm - Walk home with my dog. This is the best part of my day.
  • 5:30pm - Get home, immediately sit down to check enormous pile of email that accumulated while I was in lecture and meetings. Forward five new meeting requests to my assistant for scheduling next week.
  • 5:45pm - 8:00pm - Family time, dinner.
  • 8:00pm - Pretend to "work" by reading email and tinkering with PowerPoint slides for a talk I have to give the next week. Too exhausted to do anything useful, make a drink and read Engadget again

2010年12月22日 星期三

瓶子裡的一堆軟蟲


閱讀費曼,有種相見恨晚的感覺... 這段費曼寫給妻子的信裡的話,真是經典,真正做研究的人該引以為戒!

這次會議我沒有收穫,什麼也沒學到。因為這個領域沒什麼高人,結果是集合了一群笨蛋在此,對我的血壓不利:會議上盡說些廢話,我只好再會場外與人爭辯。只要有人開口問我問題,或告訴我他在做什麼「研究」,那「研究」總是:(一)全然不可解;(二)含混不清;(三)不證自明的事,卻大費周章地予以分析討論;(四)多年來再三證明的事實,此人卻出於愚昧指陳錯誤(更糟的是,怎麼說他也不信);(五)企圖做不可能且無用的事;(六)根本就錯了。這領域最近活動頻繁,但不過是為了顯示之前的錯誤和無用等等。這情形就像是瓶子裡的一堆軟蟲,各個都想踩在別人頭上爬出去,並不是研究主題有多難,只是此中無高手。

2010年12月17日 星期五

台灣的博士


看到這篇報告,稍微看了一下:

近三年大專院校新進教師研究—以國家科技人力資源庫(NPHRST)博士人力為例
國家實驗研究院 科技政策研究與資訊中心

內容跟我所感覺的差不了多少,有些數據或許以後用得到。

簡單地說,出國的人太少了,名校畢業願意回國的人並不多,所以本土博士比率越來越高。領域熱門的程度有很大差別,工程和商管加起來超過一半,唸自然科科學的博士能進學校教書的人數少的可憐,不知道有多少人後悔為什麼要填物理系當第一志願?

台大之所以還能夠有國外名校畢業的新進教師,只能說是還有一些因為家庭和個人興趣的人種,願意放棄高薪回來教書。但是這種人越來越少,可遇不可求,有時候繫上是寧缺勿濫,讓位置空著等明年。

其他的學校或許沒有像台大學生那麼幸運,要嘛是找不到國外名校畢業的,要嘛是來了又走了。我認識一位朋友,回到花蓮家鄉的東華大學教書,一年不到就因為理念不合而另謀高就。反倒是國內畢業的博士,有人脈、熟悉國內狀況、對國內的學術文化較能接受,問題還比較少。

這篇報告,除了整理資料之外,幾乎沒有做出什麼真正有見解(insightful)的分析和論述。我猜是礙於情勢,不敢講什麼犯禁忌的話。首先,把所有學 校一概而論,可以論出些什麼?他們也不是不懂,而是把學校分類的這種事情,大概就會樹立許多敵人了。其次,類似上述的論述,有哪個國家研究機構敢在正式的 報告中直接了當的提出?馬上教育部高教司的長官就打電話來罵了。

另外,再過幾年,又會是怎樣的狀況?這個更牽扯到國家長遠的政策,在高層還沒有決定怎麼做之前,國家實驗室的研究員怎麼知道該朝哪的方向寫?怎敢胡亂揣測?

關於國內博士和國外博士的程度分別,這問題有點複雜,我手邊沒有數據分析,不便公開評論,只能私底下講。當然,個案有差別,也不能一概而論。

2010年12月13日 星期一

導生會的二三事 (2010.12.13)


昨晚,藉著台大傳統每學期一次的導生會,跟沒有太多利害關係、彼此也不大熟悉的大學部學生吃飯聊天。

昨天有事,晚到了十分鐘,發現先到的學生已經各就各位,把最邊邊的座位留給我,大概是方便我進出。我對面的座位,就保留給晚到的學生,或許是給遲到同學的懲罰?反正是吃到飽的餐廳,大家自己動手,不必招呼。我也沒想要說什麼,大家先埋頭苦幹,填飽肚子再說。

這種事情之前就聽過同事講過,不過不是導生會,是謝師宴。研究生坐滿一大桌,特意安排老師全家坐隔壁一小桌,老師到場傻眼,用溫和的語氣詢問學生這樣的座位安排要不要調整一下,不過學生渾渾噩噩,沒有一個人會意,搞到這位老師憤而離席,拖著一連疑惑的兒子女兒,一語不發衝出餐廳。

這樣是教育失敗嗎?

我不想以偏概全,想太多。什麼樣的制度,都不是完美的。

我想,我會以此為例教育我的小孩和學生,多多注意一些跟人相處之道。有天份但念書念不好,算是浪費了自己的天份和長輩的栽培。只顧到自己,完全不懂和人相處,會對自己和周遭的人造成不便,甚至是傷害。

但是,在導生會中,對眼前的大學生講些什麼大道理?省省吧。我們彼此不熟,我也沒有什麼樣的光環,犯不著在那邊老生常談。

看著大家狼吞虎嚥,我想,我算是做了一件好事,或許出門在外的學生,省吃儉用,難得吃一頓比較好的。(我們在中山北路的欣葉日式料理。)就讓大家愉快地、無拘束過一晚吧。

吃的差不多了,我建議同學每個人講一個校園趣事。起初大家靦靦腆腆的,都不想講,等了一會,終於有人開始講了,還講了兩個關於教授在課堂上的糗事,接下來就有人接著講故事,場面熱絡多了。

在一連串的故事中,我插話問了一句:『你們在修課的時候,有關心過為什麼要修這們課嗎?為什麼特別喜歡某門課?』大部分學生回答說,這門課有什麼用,他們也不見得知道和關心,喜歡某門課,大都是覺得學起來很有趣,或是自己很擅長。

後來,我插了一段話,稍稍地刺激一下學生。我說:『你們很多人,到了大學畢業,自以為學了很多,但還是對於真正解決問題(problem solving)的方法,一竅不通。以為說,老師把東西教給你之後,為了測驗你懂了沒有的那些問題,你解的很好很快,就算懂得解決問題。真正的解決問題,是一系列的程序,包括發現問題、了解問題、定義問題、蒐集資料、提出解法、驗證和評估解法等等,我從修我的專題課的大四學生中,發現大都沒有這種能力,所以只好從頭教起。』

我想,自然的經驗交流和個人意見分享,也就是這個導生會中,我所能做的了。我的意見不見得適合所有學生,只提供參考而已。

2010年12月6日 星期一

復旦來的訪客 2010.12.06


與上海復旦大學來訪的陳海波、張為華教授,在台大總圖前留影。大陸人才濟濟,青年學者接踵走上國際舞台,優秀學生從大二開始進入實驗室作研究,能夠精通系統實務與國際合作,發表於一流會議。鎖國閉門搞黨爭的台灣,養尊處優的學子,該力爭上游了。

這兩位都是在復旦畢業的本土博士,畢業沒多久,做的研究已經能夠和國際接軌,今天的中國高校,已非吳下阿蒙。台灣長久以來以留學的方式,靠國外幫我們訓練出高級人才,本土博士中當然不乏出眾之輩,但是我看到的是(資工領域)本土博士的水準在數年前開始有推甄直升的那幾年達到顛峰,隨後開始迅速下滑。而出國留學的人數銳減,國家只會灑錢,鼓勵一些短線浮面的學術秀,沒辦法提出真正有效的高等教育和研究的策略。要提高學術排名,靠累積論文數量,當然達得到,只要威逼利誘,讓每個教授和學生都變成SCI期刊論文生產機器就行了。學術要扎根,研究要有意義,豈能如此?

復旦有獨立的資訊(計算機)學院,不需接受電機人士的干預。坦白說,出身電機系的我,原本對於電機系沒有什麼偏見,但是在種種場合,電機系的某些大老,以本身舊觀念壓迫資訊系的同僚,這種事情復旦原本也有,在獨立之後就免了,真好。在全國性組織推動之下,復旦的資訊學院重視頂尖學術會議甚過於SCI期刊,相對於剛剛通過把SCI和記點制度加入評鑑和升等項目中的我們,相去不可以道里計。

有朋友對台灣學術界比較陌生,或是關心台大EE和CS的關係,在此簡單敘述一下。

NTUEE某些研究所的博士班,採記點制度,行之有年,有明文規定何種刊物的點數為多少,以SCI期刊為主,甚至還規定按作者人數和排序計點。這些舊思維,其實不只台大電機才有,不少『開發中』學校,也是如此,有它的時代背景,我的理解和感想如下:

(1) 很多浮濫的國際會議和期刊,正如同所謂的野雞大學,明文規定刊物的點數,有助於防堵大家為了提高論文數量,到一些名不見經傳的地方發表。

或許以前教授水準參差不齊,無法以學術倫理和道德勸說,只好硬性訂定標準。現在,偶爾會看到國內少數教授的論文列表中,還是會出現那種眾人皆知的爛期刊,令人啼笑皆非,但是普遍來說,注重學術聲譽台大學者,是不會有這種情況發生。然而由於計算點數的關係,與其追求卓越,『內行人』會去找『投資報酬率』最高的地方發表文章,又容易上,又有不錯點數的期刊最受歡迎,或者是想辦法把自己領域的某些容易上的期刊的點數訂高一點。居上位的大老,也是既得利益階層和精通這套系統的內行人,自然是這套制度的捍衛者和推廣者。

就其根源,就是長期以來,大家只注重論文的數量,不大重視質量。而且不同領域中,文人相輕,在資源有限(只靠國科會補助)的情況下,你爭我奪,不去開拓資源,反而把遊戲規則訂死,限制大家。

(2) 以前台灣很窮的時候,沒有太多經費出國參加國際會議,靠著國科會的補助,一年頂多參加兩項會議。而投稿期刊,則幾乎是免費的,當然大家主要是投稿期刊。

現在,除了國科會之外,我們有教育部、經濟部、還有業界產學計畫,如果做的研究領域受到重視,計畫接不完的,何必跟人家搶資源?出國開會,和一流學者面對面接觸,才能真正了解學術的脈動,而不是閉門造車,鑽研比較容易發表的冷門題目。

我個人在念博士的時候,沒有發表任何一篇期刊論文。事實上,不只是我,我們實驗室大多數的博士生,在畢業前沒有一篇期刊論文是正常的。因為期刊論文審查速度緩慢,投稿到出版最快也要一年以上,以資訊產業的發展迅速,兩年前的東西已經落伍了,無法以此跟人家學術交流。

(3) 在網路時代以前,期刊的流傳和普及勝過會議論文許多。

網路時代之後,會議論文廣泛流傳,已經改變整個學術出版模式。以前,在台大當學生時,我訂了幾種的IEEE雜誌和期刊,是我吸收新知的來源。1992年赴美留學,經常到圖書館查資料。Web出來之後,慢慢轉到網路上查資料。很明顯的,在我們這個領域,從大家對論文的引用來源,可以看出來期刊已不受重視。

SCI的興起,是我在2005年回台灣之後才聽說的。從我的觀點,這個東西,是校方在沒有能力評判論文優劣和學者成就的情況下,退而求其次,美其名為追求公平,所選擇的工具。如同科舉考試和聯考一般,是所謂的『國粹』吧?這個已經荼毒人心幾千年的文化,以各種形式轉轉流傳下去,根深蒂固。

SCI也是一種商業操作和人云亦云。期刊要找出路,必須有銷售管道,搜尋引擎即是最重要的通路。Science Citation Index (SCI),一個基於商業模式的搜尋引擎,一手遮天,只列入期刊,而且是自行決定何種期刊可列入,不計會議論文,有高度公信力嗎?某些所謂學校評鑑,跟大家常常在一些雜誌所看到的升學指南一樣,也是商業行為為主。上海交大的評鑑報告,公信力有多高?它有什麼能力去仔細評鑑每個學校?它選擇以SCI當成其中一項評鑑指標,而台灣自教育部以降,竟然以此當成是學校評鑑的重點項目。SCI之後,還要搞SSCI(Social Science Citation Index),進一步染污社會科學。

教育部迷信學校評鑑排名,學校奉命拼績效,學院負責教師評鑑,管你領域學門,績效交上來,才準教師升等。系所負責規範學生畢業制度,學院就壓迫系所訂定計點制度,以提高績效。真是一條鞭的作法!

八十台大,前進百大。附庸媚俗,莫此為甚。

(4) 許多領域的知名國際會議,是學者交換意見和聯絡感情的場合,有時候只要丟一頁abstract,就可獲邀出席報告,所以不少這些領域的學者,以偏概全,不承認所有國際會議的論文。

系所的大老們,會對看清楚以上不合理、沒有學術風骨的作法的同仁,曉以大義:『就算我們系所認同你,到了院級單位跟別人比就沒辦法了,到了校級會很難說服其他學院,送外審的時候,更沒辦法讓其他學校的學者接受。』這就是說,要大家『人在屋簷下,不得不低頭』。上頭要做業績,大家就共體時艱,多多配合吧。一個以台灣龍頭老大自居的最高學府,心態如此,不願意帶頭改變這許多不合裡的事情,甚至會說:『你想改變這個制度,要先進入它,擁抱它,超越它,然後才能改變它』,這種說法,哄騙和折磨掉多少人物?諸多熬成婆的先賢,成為既得利益階層,有多少已融入這個制度,停留在『擁抱它』的層次?

(5) 以往的會議論文,發表之後,可以直接轉投期刊。

現在資訊領域的會議論文,必須多加至少30%的新內容才能轉投期刊。有了30%的新內容,我也可以投國際會議,為什麼要投沒人看的期刊?

我在念書時,想拿些小題目來發表論文,我的老師淡淡地說了一句:Paper is cheap. 這句話影響我很深。在我的領域裡,一篇好的會議論文,要有十頁左右充足的內容。好的會議,收到的論文,經過嚴格的審查,通過的比率普遍低於30%。(請參考:International Symposium on Computer Architecture)

曾經有EE的學生,找我問幾個問題,解決之後很快就寫成3頁的會議論文發表了,然後篇幅增加到五頁就投稿期刊了。無怪乎EE的人會認為會議論文不值錢,出期刊論文也沒什麼難的。我聽到的謬論是:『如果你厲害的話,為什麼不出期刊論文』?這好比說,我很喜歡排球,你很會打籃球,但是沒打過排球,我非得用排球來評鑑你,甚至把你的體育當掉,再說你不會運動。

我有幾位朋友,回國教書一年不到,就不幹了。願意到這種屋簷下低頭的人,很多嗎?在象牙塔的人們,不去思索如何招募一流人才,自以為是,要來的人要低頭,不然就走路。不願低頭的人,把他們打成黑五類,以粉飾太平。相對於對岸遠於改革的決心,心態上是差很多的。

2010年11月24日 星期三

研究精神 - 給實驗室學生的勉勵 2010.11.24

我在study group上談到對於paper review上大家需要注意到,正在看的paper和實驗室的研究或是你個人的project之間的關係。要談論所謂的related work,就必須要知道這篇文章跟你做的東西,哪些相同,哪些不同。大致相同的部分中,又有什麼不同之處?看起來不同的作法,有什麼共通之處?能夠做到所謂『同中求異,異中求同』,你才算是在做科學研究。科學的『科』字,就是把知識清晰地分門別類,釐清不同東西之間的相互關係,並不是一般大眾以為的物理公式,或是某某原理,那些是科學的產物,並不是科學的精隨。不懂這個,東西馬馬虎虎混過去,不知道為什麼做這個,做了之後還不知道自己在做什麼,是很可悲的事。

坦白說,我看有為數不少的同學是這樣在做所謂的研究的,根本算不上真正的研究。很多的資訊在internet上面,google一下就有了。大家不要偷懶,如果一個不是很清楚的東西,我們用幾秒鐘就在google上找到他的說明,再花個幾分鐘看懂它,很困難嗎?不要老是為自己找藉口,對什麼東西不熟啦,看不懂啦,還在摸索啦,甚至連找都沒找就直接說不知道。這些藉口,我聽很多了,對於每位同學的心態,有沒有認真努力,看得很清楚,只是不願意說難聽的話而已。有時稍微提醒一下,有些同學還裝不懂,把我的話當耳邊風,更是糟糕。東西做不出來,也不會主動來詢問和討論,在那邊很沒效率地做研究,這樣就算一天24小時待在實驗室,也不算是真正在做研究,因為研究方法根本不對。你們如果不趁著研究所這個階段,好好掌握研究的要領,將來畢業後很可能就學不到了。

曾經有同學說,當老師的都是天縱英明,能夠輕易解決的問題,學生自嘆不如,沒有能力解。我不同意這句話,因為我到今天還沒有看到我教過的學生中,有任何一位比我在念大學和研究所時認真努力。我看到的是,有些同學有掌握到研究的要領,做起來事半功倍,有些同學非常被動,做起來事倍功半。我希望大家,要對自己有高度的期許,不管在設定研究目標,或是執行研究工作上,要用高標準要求自己,不要一進門就打聽出門的最低門檻,問我這樣做夠不夠,根本不是研究者該有的態度。有好的態度,才能享受研究的快樂,也才能做出好的研究。反過來說,研究態度差,到最後什麼都做不出來,只會找藉口或是自暴自棄,其實都是自己的問題居多。

我相信大家如果能專心做研究,同時掌握到研究方法:多學,多找,多問,同中求異,異中求同,就算你想不出什麼創新的點子,至少把你研究相關主題研究得很透徹,那是拿到碩士學位起碼的標準。你自己有個高標準,做老師的我,任務就是幫你達到你設定的標準,標準越高,你的收穫越大。不要看人家慢慢的混,就把自己的標準放鬆了。成就感是你自己的,我真的不想在後面逼迫同學們做研究,那樣實在沒什麼意義。

2010年11月17日 星期三

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


看到Matt Welsh的文章Why I'm leaving Harvard,我是有點感觸的。離開哈佛加入Google,對有些人可能難以想像,但是我懂。我在業界做了五年,回學校教書,如果不是對教學真正有興趣,也很想去業界從事真正尖端的研究。對於熱愛做電腦系統研究(systems research)的人來說,到業界可以呼吸到不同的空氣,何樂而不為呢?

看到Michael Mitzenmacher回應Matt Welsh的文章Why I'm staying at Harvard,就更有趣了!我待在學校這幾年,不免會懷念在業界的日子,對台灣學術界象牙塔式的閉門造車也時常感冒,偶爾也有朋友去業界或是向我招手,(剛好今天早上遇到一位就要去Google/Taiwan上班的朋友),但還是有些原因,能夠支持我留在學術界,這些在Mitzenmacher的文章也有提到。

不過必須要先注意到的一件事,Welsh做的是systems research,Mitzenmacher做的是algorithm, communications, and information theory。本質上有很大的差別。做演算法和理論的,主要的研究設備是紙筆;而作系統的,需要最新的設備和面對複雜的軟硬體。這兩種領域,雖然同屬computer science,但是工作性質差別很大。做演算法的,想到新的作法,證明成功之後就是一篇論文。做系統的,必須把想法真正實在出來才是一流的研究。在台灣長期要求期刊論文數量的結果,就是學術界普遍炒短線不願認真實作的窘境。在美國還好,學校可以跟一流公司合作,所以可以維持水準,但是電腦越複雜,實作越困難,這是趨勢。我在念博士的時候,玩過好幾台超級電腦,但是現在連一台手機上面的問題,都可以比以前超級電腦的問題還複雜困難,由此可見。

下面是這兩篇文章的貼文,夾雜個人的感言(粗斜體字)。

Why I'm leaving Harvard
Matt Welsh
2010-11-15

The word is out that I have decided to resign my tenured faculty job at Harvard to remain at Google. Obviously this will be a big change in my career, and one that I have spent a tremendous amount of time mulling over the last few months.

我當初辭去SUN的工作回台灣教書,內心也有很大的掙扎,想了好幾個月。回教書幾年,看到台灣的學術環境,也想了很久 :)

Rather than let rumors spread about the reasons for my move, I think I should be pretty direct in explaining my thinking here.

I should say first of all that I'm not leaving because of any problems with Harvard. On the contrary, I love Harvard, and will miss it a lot. The computer science faculty are absolutely top-notch, and the students are the best a professor could ever hope to work with. It is a fantastic environment, very supportive, and full of great people. They were crazy enough to give me tenure, and I feel no small pang of guilt for leaving now. I joined Harvard because it offered the opportunity to make a big impact on a great department at an important school, and I have no regrets about my decision to go there eight years ago. But my own priorities in life have changed, and I feel that it's time to move on.

我離開SUN,但是我還是很喜歡SUN的文化,那幾年學到很多。我也很喜歡台大的絕大部分:同事、學生、校園、教學、研究。如果我離開台大的話,這幾年都沒有白費。

There is one simple reason that I'm leaving academia: I simply love work I'm doing at Google. I get to hack all day, working on problems that are orders of magnitude larger and more interesting than I can work on at any university. That is really hard to beat, and is worth more to me than having "Prof." in front of my name, or a big office, or even permanent employment. In many ways, working at Google is realizing the dream I've had of building big systems my entire career.

這跟我當初加入Sun Microsystems的初衷是一樣的,我喜歡建構系統,大的系統。

As I've blogged about before, being a professor is not the job I thought it would be. There's a lot of overhead involved, and (at least for me) getting funding is a lot harder than it should be. Also, it's increasingly hard to do "big systems" work in an academic setting. Arguably the problems in industry are so much larger than what most academics can tackle. It would be nice if that would change, but you know the saying -- if you can't beat 'em, join 'em.

沒錯,要做系統研究是越來越難了,離真正重要的尖端研究是越來越遠了!

The cynical view is that as an academic systems researcher, the very best possible outcome for your research is that someone at Google or Microsoft or Facebook reads one of your papers, gets inspired by it, and implements something like it internally. Chances are they will have to change your idea drastically to get it to actually work, and you'll never hear about it. And of course the amount of overhead and red tape (grant proposals, teaching, committee work, etc.) you have to do apart from the interesting technical work severely limits your ability to actually get to that point. At Google, I have a much more direct route from idea to execution to impact. I can just sit down and write the code and deploy the system, on more machines than I will ever have access to at a university. I personally find this far more satisfying than the elaborate academic process.

我有時也會懷念當初在SUN工作時,可以玩很大的系統,可以直接和系統的設計者溝通,可以直接解決重要問題。當時專屬於我個人用來做實驗用的機器,一台市價等值於我在矽谷的房子,在學術界是難以想像的。That's satisfying to me!

Of course, academic research is incredibly important, and forms the basis for much of what happens in industry. The question for me is simply which side of the innovation pipeline I want to work on. Academics have a lot of freedom, but this comes at the cost of high overhead and a longer path from idea to application. I really admire the academics who have had major impact outside of the ivory tower, like David Pattersonat Berkeley. I also admire the professors who flourish in an academic setting, writing books, giving talks, mentoring students, sitting on government advisory boards, all that. I never found most of those things very satisfying, and all of that extra work only takes away from time spent building systems, which is what I really want to be doing.

在大學裡建構系統,沒有多年的努力,是搞不起來的。與其花上許多年,訓練一群公子哥到達能夠做尖端系統研究的境界,又要不斷花時間找研究經費,對於只想建構系統的人來說,不如加入最好的研究團隊!

We'll be moving to Seattle in the spring, where Google has a sizable office. (Why Seattle and not California? Mainly my wife also has a great job lined up there, but Seattle's also a lot more affordable, and we can live in the city without a long commute to work.) I'm really excited about the move and the new opportunities. At the same time I'm sad about leaving my colleagues and family at Harvard. I owe them so much for their support and encouragement over the years. Hopefully they can understand my reasons for leaving and that this is the hardest thing I've ever had to do.

追逐幼年的夢想,何其之美!Go Matt!


Why I'm staying at Harvard (by Michael Mitzenmacher)
[Michael Mitzenmacher is a professor of Computer Science and the Area Dean for Computer Science at Harvard. He is a dear friend and colleague and has been one of the role models for my own career. Michael wanted to respond to my earlier blog post on leaving Harvard with his own reasons for staying; I am only too happy to oblige. (I swear I did not ghost write this.) You can read more of Michael's own blog here, though he's not posting much these days. --MDW]

To begin, I'd like to say how sorry we are at Harvard that Matt's not returning.  Matt's been a great colleague, continually pushing to make CS at Harvard better.  His enthusiasm and tenaciousness have made us tangibly better in numerous ways.  I, personally, will miss him a lot.  Matt pushes hard for what he believes in, but in my experience he's always done so with open ears and an open mind.  We're losing a leader, and Google is lucky to have him.  I have no doubt he'll do great things for the company, and maybe even earn them another billion or two.

While Matt's decision has been a blow to CS at Harvard, I'm optimistic that our plan for growth will, eventually, make up for that loss.  My job as Area Dean is to try to make that happen as soon as possible.  I don't want to suggest that replacing Matt will be easy, but rest assured we'll be on the case.

I'd also like to say that I think I understand Matt's reasons for leaving.  I'm glad to have him write "I love Harvard, and will miss it a lot."  And how could I disagree with statements like "The computer science faculty are absolutely top-notch, and the students are the best a professor could ever hope to work with. It is a fantastic environment, very supportive, and full of great people."  But I know from previous talks with him that he hasn't always loved being a professor.  And that's what I'll try to write about the rest of the post.

I think there's a sense in academia that people get PhD's so that they can become professors.  Most graduate students have that point of view going in -- their experience with research professionals at that point is essentially entirely with faculty.  And most professors encourage students to have that goal.  Some of that, I think, is that most professors like their job (unsurprisingly), and some may not have other experiences to suggest to their students.  And some of it may be more calculated.  One measure of a faculty member's success is how many faculty offspring they've produced.

But being a faculty member is not for everyone.  As Matt has described in this blog, and I in the past have described in my blog, being a professor is probably not exactly what most people expect.  Besides teaching and research, your time gets taken up with administration, managing (graduate) students, fundraising, and service to your scientific community.  It's perhaps absurd to expect that everyone who starts out in a PhD program be interested in all these various aspects of the job.  And, fortunately, in computer science, there are still many other compelling options available.

傳統的觀念裡,念博士做什麼?在畢業典禮時,我問前排的準博士們,未來有何打算?如果是念理論的,幾乎都會說現在教職越來越難找了,念系統的學生,多半會先看看找不找得到教職,找不到的話去業界也行。當然,在台灣的業界一向很辛苦,不過近年來電腦系統產業的水準有顯著提昇,尤其在智慧型手機和雲端運算方面,亟需系統研究人才,會需要很多博士的。

As Matt says, at Google, "I get to hack all day."  That's just not true as a faculty member -- time for actual hacking is usually pretty small, and more of your time is spend managing others to hack for you.  (This is a complaint I've heard from many faculty members.)  I can understand why Google would be a very appealing place for someone who wants to write code.  I'm sure Matt will come to miss some of the other aspects of being a professor at some point, and I'd imagine Google will to some extent let him entertain some of those aspects.

我想,對很多人來說,很難找到一個完美的工作。我的理想工作是,可以自由地在學術界和產業界來來去去,在這裡待兩年,在那裡做三年,有時設計手機系統,有時研究雲端資料中心,有時玩玩超級電腦。剛好我這些都做過,或是正在做,除了沒賺到大錢也沒掙得什麼名聲之外,一路走來還算『適志』。俗話說:人生不如意事,十有八九。又說:人生貴適志。綜合來說,這個決定對Welsh來說,雖然是大的,但是時過境遷之後,回頭再看,也不過是一個決定罷了。重要的是,想清楚自己喜歡做什麼和能夠做什麼,『當下即是』,以後的事以後再說了。

One of the comments suggested money must be a motivation.  For some people who have to make this choice, maybe it is.  (See Matt's comments on the post below for his take on that.)  So what?  Again, it's good that in our field there are good options that pay well.  That's a big plus for our field, especially if we accept the fact that not everyone can be or wants to be a professor.  But as Matt says, professors at Harvard (and top 20 institutions in general) are doing just fine, and money probably isn't the main issue for those who choose a different path.

我大概可以去業界工作,賺取目前三倍的薪水。(先前SUN的老闆,幾個月前在Facebook上說我可以回去,雖然現在已經是Oracle的一部分了。)So what? Money is really not the issue. 我現在喜歡在學校教學研究,我找到很多自己想要學習研究的題目,還有以下列舉的好處...

I suppose the question that's left is why I'm staying at Harvard -- that is, why I still like being a professor.  (And thank you to those of you who think the obvious answer is, "Who else would hire you?")  I enjoy the freedom of working on whatever I find interesting; being unrestricted in who I choose to talk to about research problems and ideas; having the opportunity to work with a whole variety of interesting and smart people, from undergraduates to graduate students to CS colleagues all over the globe to math and biology professors a few buildings down; the ample opportunity to do consulting work that both pays well and challenges me in different ways; the schedule that lets me walk my kids to school most every day and be home for dinner most every night; and the security that, as long as I keep enjoying it, I can keep doing this job for the next 30+ years.

我對上一段粗體字標示的部分,有同感。其他的部份,還好。

The job is never boring.  On any given day, I might be teaching, planning a class, working with students, thinking, writing a paper, writing some code, reading, listening to a talk, planning or giving a talk, organizing an event, consulting in some form, or any other manner of things. In the old days, I wrote a blog.  These days, I'm administrating, making sure our classes work smoothly, our faculty are satisfied and enabled to do the great things they do, and we're able to continue to expand and get even better.  Once I wrote a book, and someday I hope to do that again.  Perhaps the biggest possible complaint is that there's always something to do, so you have to learn to manage your time, say no, and make good decisions about what to do every day.  As someone who hates being bored, this is generally a good feature of the job for me.

我在公司做事的時候,雖然SUN的文化算是很好的了,但是難免有些限制,不能按照自己心意去做。一旦成為公司中某方面的專家之後,大家在這方面有事就找你,也很難推掉,難免要重複做某些事。That can be boring. 有時候,你看到公司裡面某些人做了錯誤的決策,你還得要支持他,because it is a company。當教授則基本上像是靠行在學校的小公司的CEO,有很多管理和決策掌握在自己手上。

And Harvard, I find, is an especially great place to work.  We attract some of the most amazing students.  Our still small-ish CS faculty really works together well; we all know who each other are, we keep aware of what we're all doing research-wise, we collaborate frequently, and we compromise and reach consensus on key issues.  Outside of the CS faculty, there's all sorts of interesting people and opportunities on campus and nearby.  Boston is a great city (albeit too cold and snowy in the winter).

我只能說,很多聰明的人不願意做系統;反過來說,想我這種不聰明的人才願意做系統研究吧 :)

Other profs have made similar comments in Matt's post -- there's a lot to like about the job, and at the same time, it's not the best choice for everyone.  Of course I don't like everything about the job.  Getting funding is a painful exercise, having papers rejected is frustrating and unpleasant, and not every student is a wondrous joy to work with.  I sometimes struggle to put work away and enjoy the rest of my life -- not because of external pressure (especially post-tenure), but because lots of my work is engaging and fun.  Of course that's the point -- there's good and bad in all of it, and people's preferences are, naturally, vastly different.  I don't think anyone should read too much into Matt's going to Google about the global state of Computer Science, or Professordom, or Harvard, or Google.  One guy found a job he likes better than the one he had.  It happens all the time, even in academia.  It's happened before and will happen again.

But I'm happy with my job right now.  In fact, I'm pretty sure my worst day on the job this year was the day Matt told me he wasn't coming back.  We'll miss you, Matt, and best of luck in all your endeavors.

我想,能夠換到不同跑道看看也不錯!以Matt Welsh的才能,哪一天對Google的工作不滿意,自己出來開公司,回學校教書,或是轉到其他領域去研究人生都可以吧!我想說:Be all you can be, Matt!

2010年10月24日 星期日

測試WiMAX 4G網路


很多人大概不知道在台灣已經有4G網路可以用了,3G不是才出沒多久嗎?

自從一年多前有了iPhone之後,一直使用中華電信的3G服務,最近幾個月不知為何,就是覺得中華電信的3G服務很不穩定。室外還好,室內就馬馬虎虎了。上個月搬家之後,這個感覺特別強烈。中華電信的3G服務,不只斷斷續續的,頻寬相當低,但是一直沒空解決。最近學生報了幾篇3G網路的效能評估的研究論文,想想也可以來看看這些切身的問題。

我的猜測,是大量的iPhone和Android用戶不斷湧入,網路塞車所致。

固網業者,如ADSL或是Cable Modem,以傳輸速率定價,月租費500元起跳,必須租用電話或是有線電視,還必須付一筆設定費。若是要8Mbps下載/1Mbps上傳的網路,月租費大約800元。

行動3G服務,如中華電信,或者其他電信業者,吃到飽的月租費大部分在800元左右,號稱下載的頻寬可達3.5Mbps~7.2Mbps,而特色是和電話網路共用,涵蓋率廣。

國內在4G行動網路上,目前以WiMax為主,有多家區域性業者。台北市地區有好幾家,但是涵蓋範圍僅限在台北市,所以無法帶到外縣市去。最近有北中南業者開始串連,在主要城市提供服務。月租費用也在800元左右。

有趣的是,上述網路服務,月租費接近。對我而言,主要活動圈在台北市,尤其是在家中,希望有穩定的網路,但是有時也希望能在外面使用,或者是搬家後還能用。原本是寄望3G能一網打盡,但是所得到的3G經驗不好,只好另尋出路。

評估過Cable Modem + Digital Cable,是還不錯的路,但是Cable公司的服務是個關鍵。之前的地點,High-Definition的電視電影相當優,例如Discovery HD, History HD, HBO HD, Asian Sports Network HD等等,還奉送數位錄影機,價錢合理。現住的地區,相去甚遠,不想花五百多元租一堆爛節目的類比電視,所以就不考慮了。

只剩下WiMax可以考慮,搜尋之後發現,威邁思(VMAX)這家業者有七天免費試用的方案,就去登記了。排隊等了三週後,終於在昨天(2010.10.22)拿到網卡,開始試用。

免費試用七天的WiMax網卡

試用結果出乎意料之外的好

在住家測試WiMax結果,下載:3.22 Mbps,上傳:2.01 Mbps

測試時段是週六中午,大概沒多少人用網路,所以效果很好。連3G網路的下載速度,都比平常好多了。

3G測試結果,下載:2.51 Mbps,上傳:0.35 Mbps

可是,注意到3G上傳的速度,比起WiMax,實在太慢了。只要有用手機傳照片上Facebook的朋友都知道,有時必須忍受幾十秒鐘一張照片的痛苦。

而且,我記得昨天(週五)晚上八點,3G網路的下載速度只有300~500Kbps。越多人同時使用,速度越慢,除非業者增建基地台和增加Internet頻寬。

晚上到士林新光醫院附近的老家作客,測了一下,WiMax速度還是不錯,但是3G就差多了(下:756Kbps  上:355Kbps)。所以,不管是台北北區還是南區(公館),WiMax都好很多。

使用的是Hinet的測試網站(http://speed.hinet.net/speedtest/do.htm),別的也用過,結果差不多。在Hinet上看到以下的速率測試參考值,不禁搖頭,我們的消費者的權益何在?

Hinet的速率測試參考值(http://speed.hinet.net/index_faq03.htm)

不只是頻寬(bandwidth),等待時間(latency)也很重要,我發現中華電信3G的等待時間相當長,WiMax就好多了,有空再來評量一番。

WiMax現在使用者不多,頻寬相對穩定,現在又有月租費456元的方案,搭配行動分享器,這些讓我想要轉台了,甚至想買台HTC EVO 4G手機,不過這台手機業者沒有公開的支援。

住台北市,家裡用ADSL的朋友,不妨去試用WiMax看看。這不是廣告,我只是一介小市民,希望購買值得的服務。