科學與計算 ISCG 2009, iRODS Workshop
4月 18

這是我第一次參加ISGC研討會,不過在研討會正式開始之前,有幾個Workshop

詳細的資料可以參考:

http://event.twgrid.org/isgc2009/

10:00 Hands-on exercise: Familiarization with the BOINC client Danial

其實用西班牙文我真的看不太懂,Francois希望我找機會介紹一下中文環境。但這件事情後來沒有成功,每個人多講一點時間就不夠了。

11:00 Case study 1: Africa@home Christian PELLEGRINI, University of Geneva, CH

他的簡報介紹了非洲的報紙,表示publicity相當重要。他們也舉辦了Workshop,來讓學生能參與。我覺得最重要的是,他們對學生的態度應該是一同參與,而並不是真正要求大家都要貢獻什麼。

他提到一點Stardust@home,也包含BOSSA of BOINC, Distributed thinking

11:30 Case study 2: LHC@home Ben SEGAL, CERN, CH

這個主題對我們還挺重要,最主要是包含了與VM的協同作業。Cern最主要用的是VMWare,理論上應該是只能使用Player而已,而且應該最早的平台是Linux。Ben介紹了使用BOINC client wrapper來呼叫VMWare Player的方法。

這個分作兩個部分來說,第一個部分是應用程式相依的函式庫要怎樣取得,另一個部分是vm該放在哪。

除了使用JeOS當做底層使用的OS以外,他有提到使用AFS來掛載共用的函式庫,以及使用rPath與rBuilder建立自己的相依套件,這個就像是Virtual Module一樣。

我們談到了到底一個映像檔可以多小?如果使用JeOS的話,Ben說可以到100MB。但後來我跟正欣分析了一下,那個就是他初次下載的大小,還不包括後來他利用rPath下載回來的套件大小。

另一個部分是提到他們時做了自己的HTTP Based FileSystem,叫做CernVMFS,其實我想這個跟我的想法是差不多的。

最後一個部分是提到如何利用VMWare VIX API來取得並且控制VM內部的資料,那就像把Job送進VM裡一樣。

12:30 午餐時間

Ben 跟我聊了很久,他說他是將tcp/ip帶進去CERN的人,而且看起來他應該跟Tim Burners Lee很熟(事實上他就是Tim的老師),他說Web is a miracle。這個人就像非常有智慧的老爺爺一樣,每一句話都妙語如珠,其實我想他長久這樣看著Web,Grid的長進,一定對這種狀況既無奈又煩惱。 他提到學術界以及很多有政治角力的地方,都有所謂的倒三角形權力分布,一堆沒有實質意義的Manager在說著他們如何地將某件工作做得多好,每個人講的 重點都不一樣,但底層開發人員實際上只有四到六個。無論如何,盡量避免顛倒三角形的狀況出現。

我提出一些問題例如像是需要Autodock for BOINC,大家聚在我身邊幫我想辦法,讓我很感動。忽然Jousef跳出來說他們有改好的autodock,看起來似乎有機會解決。明天他們說吳博士會過來,他們要一起討論如何真正地去做Disease@Asia。

14:00 Introduction to the BOINC software David ANDERSON, U.C. Berkeley Space Sciences Laboratory, USA

David有提到Seti@Home有20台以上的Server,看起來由簡單架構組成的東西很容易擴充。

有 關計算結果驗證,實際上這個道理也有很多人發現。如果你想要確定一個詞的解釋,例如說像是「你很機車」,那是因為大家習慣把這個詞當做罵人很笨很討厭的形 容詞,因此這個詞開始有另一種意義。因此很多時候我們必須將計算多跑幾次,來觀察大家跑的結果有怎樣的誤差,這個誤差是不是在自己的容忍範圍內,甚至藉此 發現自己的計算在某些平台還有問題,而並不是堅持只有在某些情況下自己的機器算出來的答案才是對的。我認為一般的Validation就是這個意義,多跑 幾次,就知道答案那個是對的。

我跟信言去找David,確認了在BOINC上確實要靠著application特定的確認方 式,或是特定的技巧來進行驗證。我並不認為這可以靠著任何IT技術達到這件事情,仔細思考會發現事情的本質還是得回歸到問題本身。這也是為啥David有 點無所適從,不知道該怎樣回答這問題,因為並不是每個computer science的研究人員都知道該怎樣去搭配到其他的研究上。所以其實對於科學計算來說,我認為還是那個初衷,「不要將所有事情都用同一種方式來解」。 David解釋說,Security的問題在這種情況下是無解的,因為每個client的狀況都不一樣,花時間在加解密上的時間成本,那不如好好地去看看 自己所需要的答案是不是有解出來。

Grid長久以來一直是用Tightly coupled的觀念在解決事情,但實際上也有人用Loosely coupled的觀念在解決,聚沙城塔。我想我們該去問的是「有沒有效,值不值得」而不是一直將過去的作法強加在新的觀念上,去問對方說「為什麼你沒有用 以前我們用過的方法」。

15:30 Hands-on exercise: Creating a BOINC project, Nicolas

在Francois的解釋下,我們大概看了有關BoincStat的一些情況。如果我們要發起台灣的Boinc運動,首先我們得先找到這些人,跟他們合作,而不是想辦法買機器幹掉他們。

disable server_status caching in the php code.

check log file.

bin/show_shmem

台灣的團隊

http://tw.boincstats.com/stats/boinc_team_stats.php?pr=bo&st=0&or=&co=34

台灣的使用者

http://tw.boincstats.com/stats/boinc_user_stats.php?pr=bo&st=0&co=34

晚宴:福華飯店

其實我跟Francois談了一下有關效能的問題,剛好中間夾著Jozsef。這個人也不太同意boinc的效能問題。但Francois後來就先吃他的杏仁豆腐了,沒太理我們兩個,他說我可以跟David討論這問題。

晚 餐結束後,Christian, Nicolas, Jousef搭我的車回中研院。Christian與他的老婆似乎有打算要退休了,他們討論了另一個人叫做Tom,似乎是他們共同認識的人。此外我一直發 現Nicolas是個非常有禮貌的人,那種感覺像是真正的英國紳士。

10:30 EDGeS: Interconnecting Desktop and Service Grids Peter KACSUK & Jozsef KOVACS, MTA SZTAKI, HU

其實並不是說Jozsef他們做的成果不好,儘管對於Ben的問題Jozsef也並沒有直接回答,但我想我還是會好奇地在信件中提出。我想從他們的經驗去描述,想要完成一件事情不僅是設定目標,想要成功還有很多方法。如果沒有既定的規劃,預期的成果,將資源投入,那或許怎樣也只不過是嘴砲。EDGeS展示了如何花時間慢慢地招集許多學校來進行Volunteer的參與,這個目標是的問題就是在需要人力與時間去跑。Jozsef有提到他們也有提供幫助人將 Application轉成可以在boinc上跑的…想想看這需要多大的team來做這樣的事啊!

但是比較負面的評論,我還是想要強調在這個階段我理解到,如果我想做一件大家都會嚇一跳的事情,真的想要衝第一,那我一定不會去做人家做過的。這個也是我想要去對上層反應的事,從EDGeS的例子可以看見,其實他們不斷地包裝他人的成果,他們發展出很多規格介面,但是最後Ben還是對他提出這個問題「你解決了平台的問題,可是你沒有解決程式的問題,你可能產生了更多的問題」。那我們該怎樣去解決那樣多的問題?還是得靠真正對問題的研究,以及研究成果的擴展。這個我想不是一天兩天的事情,如果兩組人馬都有相同的時間與資源,我相信會是了解本質的那組人馬成功,而並非只是想要包裝他人的東西的那組成功。

而包裝他人的成果的那組人馬,如果真的要能夠推廣他人的東西,那也只不過是強迫他人將程式改成自己的想法罷了。

11:30 Demo

在Jozsef demo之前,Francois拿了自己的MAC出來播放一段FoldIt的短片,簡介了這個從rosetta@home計畫裡出來的好玩東西。透過許多對蛋白質的操作,有許多人正嘗試去找到最低能量,並且累積積分。

Jozsef的Demo其實並不是很順利。在他們的Demo我們只是看見了很典型的操作介面及狀態顯示,我們並沒有見到非常前衛的觀念或是成果。

他有提到他們寫了一個GenWrapper來包裝BOINC的程式,他們認為BOINC的程式不好用,無法符合他們的使用者需求,這個話才剛講出來我就看到Ben想要說點什麼。他們變成只是單純透過BOINC好安裝的特性來取得運算節點,但他們的觀念越做越像Grid,是Tightliy coupled。

他們討論到Workflow,Ben對於真正Large scaled的環境,job是不是像他講的一定會回來感到相當地懷疑。其實EDGeS已經相當龐大了,如果真的每件事情都是緊緊相依,沒有任何的誤差,那是不可能的。所以在他們的環境上實作Workflow就不會有太大的意義。

但這讓我開始覺得漏斗狀的服務還是可行。

13:30 BOINC and Cloud Computing Derrick Kondo, INRIA, FR

我們昨天還在跟Derrick聊說,他很像李連杰,真的很妙!他講的這個主題同樣地也是非常重要。

Derrick給了我們非常詳盡的分析,我想這一點我也非常需要學習。儘管只是一個小小的斜線,可是可以讓人感受到確實有這回事發生。儘管VM Cloud與BOINC都有他們的overhead,但是比較起來「2.8 volunteer => 1 cloud node」還是一個不錯的數字,這個只是一個BOINC計畫的分析,他認為如果全部加起來可能會更好。在這個解說中我逐漸了解到我已經不需要去問David有關效能的問題。

但真正進入實際的數據前,Derrick提到到底有啥計畫需要多少資源,這是有個既有的表格可以參考:

http://www.boinc-wiki.info/Catalog_of_BOINC_Powered_Projects

每個計畫,每個計算需要的量都不一樣。這個表告訴我們,我們設計的程式大概會需要多少天(deadline)才會有結果,或者是如果超出計算的天數,就該結束了。但很可惜的是,這裡並沒有Docking@Home的計畫,也沒有任何有關autodock的資料,我想我們還是得聯絡這個計畫的成員來獲取更多的經驗。

從Derrick的資料來看,boinc真的很省錢,但Francois也在最後問了一個問題有關節能的問題,其實我想他知道這省錢是因為錢都是花在這些參與的人身上吧,畢竟是「Volunteer」啊!當然目前不管是Derrick或者是誰都是沒有任何辦法的,只能夠說花了別人的錢就好好用吧!

討論完Client的效益後,我們要討論Server的使用效益。看起來就是付給Amazon EC2一些錢,然後將BOINC Server放在上面吧,看起來是省了點錢。當然Simon也有想到,或許我們可以找到其他公開的VM Cloud服務,那這樣或許合作後真的可以省下不少錢。

接著Derrick大概有半小時的Demo,但很可惜的也是失敗一半,詳細過程他提供在這:

http://boinc.berkeley.edu/trac/wiki/CloudServer

http://boinc.berkeley.edu/trac/wiki/VmServer

12:30 午餐時間

這個部分大概跟靖雅聊到BOINC的一些觀念,但事實上我也認為他是在思考沒錯,而不是單純地聽誰講究相信什麼。所以其實沒有以前學習過東西的包袱,還比較好學習新的東西。

14:30 Volunteer Thinking and Bossa David ANDERSON, U.C. Berkeley Space Sciences Laboratory, USA

David先提到了BOINC其實有Volunteer組成的Skype Help

http://boinc.berkeley.edu/help.php

http://boinc.berkeley.edu/trac/wiki/BoltIntro

這讓我想起五年前我看攻殼機動隊,有關他們如何將全國的電話聲音分析,灑到正在打彈珠台的老人腦袋裡進行分析。但從那一天開始我就認為,將既有的運算轉換為遊戲,本來就是可能的。但這個重點在於說,遊戲不是為了解題,如果要解題,那不如用人工智慧演算法會更快。遊戲是為了找到「不可能的路徑」,也就是電腦的盲點,很多東西是只有人類才做得出來的。

我講這個想法告訴了David,看起來他相當同意,並且問我說為啥不去國外讀博士。

我不是不想,只是現在還不是時候。

15:15 Case Study 5: Africa Map Ana Gago Da SILVA, UNOSAT, CH

看起來他們利用Bossa提出的觀念,讓人類用看的去將地圖做切割,不過這要做多久呢?

written by Kiwi


2 Responses to “ISGC 2009, BOINC Workshop”

  1. 1. 碧城仙 Says:

    “遊戲是為了找到「不可能的路徑」,也就是電腦的盲點,很多東西是只有人類才做得出來的。”

    Rosetta@home 項目組開發的 Foldit 蛋白質折疊游戲就是基于這個想法的,很奇怪你們為什么沒有聊到這個游戲呢?

  2. 2. Kiwi Says:

    你好:
    其實Francois有展示這段影片,只是我沒提到而已。

Leave a Reply