BOINC,柏克萊開放式網絡計算平台(Berkeley Open Infrastructure for Network Computing)的首字縮寫,是由美國加州柏克萊大學所設計的一套軟體平台,科學家可以利用這套平台成立針對特定目標,需要電腦運算的專案,並透過網路將相關程式和資料交給有安裝BOINC軟體的個人電腦運算。參加BOINC為完全志願制,參與者在完成運算任務後能得到點數(credit)作為貢獻程度的依據。雖然沒有其他回饋,但光是能在宇宙探勘、生物科技、癌症治療等相關領域貢獻心力,其成就感就足以讓來自超過兩百五十個國家,將近五百萬個帳號參與BOINC的科學運算了。
(2020/03/23增)加入Rosetta@home專案,協助人類對抗COVID-19
2020年初,新型冠狀病毒COVID-19開始在全球大流行,至今已經感染了數十萬人、並導致了超過一萬人的死亡。在寫作的此時,疫情也完全沒有緩和的跡象。世界各地已經有許多機構與學者展開了對COVID-19的研究,以求開發出有效的療法與疫苗。Rosetta@home,一個由華盛頓大學的貝克實驗室所開發與維護的BOINC專案,也藉由他們在蛋白質結構預測等領域上的知識,展開了對COVID-19的研究。團隊在這篇文章中說明了Rosetta@home的運算能如何幫助人類對抗COVID-19:了解病毒的蛋白質結構,將有助於了解這些蛋白質如何在人體中作用,並引導疫苗的開發。蛋白質其實就像程式碼一樣——特定的序列會產生特定的立體折疊結構,當其與其他的蛋白質互相連結時,就能產生特定的效果。而COVID-19裡的棘蛋白(Spike Protein)就是新型冠狀病毒如同SARS一樣能夠感染人類的關鍵。不管你有沒有聽過BOINC,現在就是最好的入門時機!若你願意的話,現在開始就可以利用手邊的電腦,幫助人類打贏這一仗!
P.S. 還有另一個非BOINC的專案Folding@home也有參與COVID-19的研究(它支援GPU運算),你也可以試試。但據說現在連線人數過多,系統不太穩定。
如何開始使用BOINC
只要根據執行的電腦作業系統,下載相對應的BOINC Manager並安裝就可以開始使用了。安裝後首次執行時,BOINC Manager(下稱管理器)會跳出新增專案視窗,提示使用者加入第一個專案(關掉的話,可以在選單的工具→新增專案再次打開)。目前專案的數量相當多,第一次看到不免眼花撩亂:我該加入哪個才好?簡單的兩點建議供大家參考:
- 大致了解有哪些類型的專案。新增專案視窗中提供每個專案的官方網站連結和簡短的說明。我個人目前有在算的包括生技醫療、太空科學和物理學、多用途這三類。
- 由於運算時間的限制,你注定沒有辦法同時參加太多專案。選擇對自己來說最有意義的專案吧!
選擇有興趣的專案後會有建立帳號的引導,完成後,或許馬上就會取得第一批計算任務了(專案不一定隨時有任務可以運算!)。恭喜,你已經開始貢獻自己的一份心力了!
加入團隊、使用帳號管理服務
接下來你可以做的事情有加入團隊和使用帳號管理服務這兩項。加入團隊,例如台灣的其中一支隊伍BOINC@Taiwan,將可以把獲得的點數算入該團隊,與其他隊伍競爭。想加入團隊,必須要到各專案網站登入帳號,並在設定裡面尋找「Join Team」或「加入團隊」之類的選項。別忘了順便設定帳號國籍和慣用語言喔!
再來,使用帳號管理服務的話,就可以透過網頁介面管理執行BOINC的電腦,例如執行哪些專案,分配多少資源等。我推薦使用BOINCstats/BAM!。使用帳號管理服務最大也是最明顯的原因就是它可以幫你產生貢獻度卡片:
但需要注意的是,帳號管理服務透過使用者ID抓取點數。若想要整合所有專案的點數,帳管服務的使用者ID和所有專案的使用者ID都要一樣,如此才能自動產生卡片。同時,有些專案預設不會將使用者的點數顯示在排行榜上,由於帳管服務是透過專案產生的XML檔來更新貢獻點數,因此必須在專案網頁的設定中打開那些選項。
一切設定就緒之後,讓BOINC執行個一兩天,就可以看到貢獻度卡片的資料開始更新了唷!
運算時間、電力消耗與排熱的考量
考慮長期參與BOINC運算的話,就不得不考慮運算的時間、電力消耗以及排熱甚至是噪音的問題。核心問題是:打算在甚麼時間執行BOINC?
我認為,BOINC的本意是要讓使用者一邊用電腦進行正常作業,一邊運算。管理器中有完整針對電腦閒置狀態的設定,例如設定CPU使用率小於一個門檻後才開始運算,最多使用多少核心之類,顯然並非設計為需要持續執行的軟體。
再來,說到電力消耗,這就是比較現實的問題了。現代的CPU/GPU普遍有動態電壓頻率調整的技術,使用量低的時候電力消耗也低,反之則上升。因此開BOINC就直接代表電費的上升,一個月也許要因此多繳百元的電費。如果你比較硬核,把電腦開著24小時跑,那電費累積下來恐怕是要數百元。(也請絕對不要在工作場所等電不用錢的地方使用!)
決定好要分配多少資源執行BOINC後,就可以再回去思考要執行哪些專案、分配多少資源。假設一個專案分派的任務需要在7天內完成、需要7小時CPU時間,那麼在一天無法運算超過一小時的情況下,可能會常常錯過任務的上傳期限,導致實際意義上的浪費。挑些任務能在2~3小時內完成的專案,整體上來說比較不會那麼吃緊。
結語
若你有興趣也有能力在家貢獻科學運算,請務必試試看參與BOINC計畫。期待各位向親朋好友貼出貢獻卡的那一天!
留言