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


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

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!