研究新冠病毒 你也可以貢獻力量!

作者 : 黃燁鋒,EE Times China

Nvidia在官方Twitter推文呼籲PC遊戲玩家聯合起來對抗新型冠狀病毒(COVID-19),方法是把自己閒置的GPU算力都捐出來,幫助科學家們做病毒研究...這要怎麼做?

前一陣子Nvidia在官方Twitter推文,呼籲PC遊戲玩家聯合起來對抗新型冠狀病毒(COVID-19),方法是把自己閒置的GPU算力都捐出來,幫助科學家們做病毒研究──透過採用名為Folding@home的軟體,就能讓每個在家使用電腦的人把算力捐出來,每個人一點,就能以全球組合成網路的方式,構建起一個龐大的超級電腦。

中國大陸網友對於Nvidia的此次呼籲似乎多有質疑,不少人認為這個所謂的Folding@home只是在為他人做嫁衣,無端捐獻算力也不知道是拿來做了什麼。實際上大規模分散式運算,讓Folding@home這樣的計畫具有十分的可行性,只不過透過並不算可靠的網際網路結成這樣的分散式結構做運算,頻寬之類的問題究竟該怎麼解決?以及如果新冠病毒研究真的需求海量算力,為什麼不直接採用超算(EETT編按:超級運算/超級電腦)?

20200331_Nvidia_NT61P1

Folding@home是什麼?

Folding@home專案其實早在2000年10月就由美國史丹佛福大學(Stanfor University)的Pande Lab實驗室發起。參與Folding@home各部分開發的除了Pande實驗室以外,還包括了Sony、Nvidia…等等公司;Folding@home就是一個分散式運算項目,它主要做的就是蛋白質的分子動力學模擬。最初Folding@home著眼的就是蛋白質折疊(protein folding),現在轉向更多的生物醫療研究,包括阿茲海默症、癌症、伊波拉病毒、COVID-19等。所以COVID-19實際上只是Folding@home研究的一個最新項目(於今年3月加入)。

那麼針對這些研究,Folding@home究竟是怎麼提供算力的呢?其核心理念就是期望能夠利用全球個人電腦的閒置運算資源——當然這些PC需要安裝來自Folding@home的用戶端軟體,至於由誰來安裝,那當然就是願意貢獻算力的志願者了。如此一來,集合全球CPU、GPU各路硬體的算力,就能為科學研究做貢獻了。

整個分散式系統實際上比我們闡述得要複雜很多,比如志願者可以在Folding@home官網上追蹤自己的貢獻,甚至以貢獻算力多少,及積分制的方式相互比較排名;還能組隊刷分——Folding@home官網常年更新團隊積分排名,讓算力貢獻在呈現上更加生動和有趣。實際在2009年,Folding@home發佈的paper中就提到,為志願者開發的用戶端程式整合了OpenGL,主要是以圖形化的方式向志願者展示蛋白質模擬的情況。Folding@home的團隊認為,這種呈現對於科學研究雖然沒有多大價值,但是對志願者去瞭解正在自家PC上發生什麼,幫助Folding@home在人群中擴散是很有幫助的。

這是Folding@home項目一個很小的例子,其整體複雜性都還是比較大的。

從某種意義上來講,在這些年的發展中,Folding@home已經成為全球性能最「彪悍」的超算系統——尤其是3月初Folding@home開啟了針對新冠病毒的研究專案,為Folding@home整體算力推升到一個新的小高潮。不嚴謹地說,如今其算力已經達到了768 petaFLOPs。截至3月25日,Folding@home算力達到1.5 x86 exaFLOPs,數倍於目前全球最快的超算。

(註:Folding@home給定的算力單位包括native FLOPs,x86 FLOPs等。某一類硬體的每秒浮點運算數即為native FLOPs;x86 FLOPs是指如果將所有算力統統劃歸為x86 CPU,則有多少FLOPs——GPU的1 native GPU FLOP通常就相當於好多native x86 FLOPs。)

很多人對這個算力數字大概沒有概念:2007年9月,由於Folding@home加強對PS3的性能利用,以及大量PS3遊戲機玩家加入進來,Folding@home算力就推到了1 petaFLOPs。當時Folding@home就成為全球首個跨入到petaFLOPs級別的計算系統,那會兒全球Top 500中最快的超算是BlueGene/L,其算力是0.280 petaFLOPs。

性能在後續還有幾波小高潮,比如2009年其算力達到5 petaFLOPs,那時IBM超算Roadrunner的性能是1.105 petaFLOPs;2016年年中,Folding@home超過100 x86 petaFLOPs。實際在今年3月這一個月,Folding@home的等效算力提升是真正飛快的。3月20日,Folding@home在推特上表示其算力達到470 petaFLOPs (958 x86 petaFLOPs),而到了3月25日,這個數字就飛奔到了768 petaFLOPs (1.5 x86 exaFLOPs)。

就科學研究來說,這些數字當然不能代表什麼,但Pande Lab實驗室已經因此產出了223篇科學研究paper。

算力對新冠病毒研究有什麼用?

這是個相關生物學研究的問題,理論上應該是生物學媒體更關注的問題,我們簡略地談一談。研究人員期望搞清楚的是對於COVID-19潛在藥物靶點(potential drug targets)結構,這樣就能設計新的治療方法。COVID-19可以認為是SARS病毒的近親,行為方式類似。兩者的第一步感染就是在肺部發生的,病毒表面的蛋白質會「綁定」到肺細胞的受體蛋白質,這裡的受體被稱作ACE2。

這裡的病毒蛋白被稱作棘蛋白(spike protein),也就是上圖中的紅色部分。科學家追逐的治療性抗體,實際上是蛋白質的一種,它的目標就是阻斷病毒蛋白與受體綁定,起到阻止病毒感染肺細胞的作用。SARS-CoV的治療性抗體已經開發出來了。但如果要開發COVID-19也就是這次新冠病毒的治療性抗體,科學家就需要去更好地理解病毒棘蛋白的結構,以及它究竟是怎樣與ACE2受體結合的。

蛋白質會擺動、折疊、展開,形成各種形狀。科學家需要研究的,不光是病毒棘突蛋白的一種形狀,而是其擺動、折疊成各種形狀的方式,這樣才能更好地理解它與ACE2受體是如何交互的,如此一來抗體就可以設計出來的。

Folding@home在官網上提到,SARS-CoV病毒的「低解析度」結構已經有了,外加SARS-CoV和COVID-19的已知差別,Folding@home的這個項目就是要幫助構建起COVID-19棘突蛋白的結構,並識別抗體的靶點。而構建計算模型是需要海量算力的,這是Folding@home介入的原因。

雖然我們並不清楚這次新冠病毒纖突蛋白研究需要投入多少算力,以及需要多久。不過就其原理看來,投入算力也是聚少成多的過程,或者說,其效力大約很難在短期內體現出來——所以即便越來越多的人由於本次新冠病毒而參與Folding@home專案,它也無法立刻顯現出成效,並讓計算生物學即刻顯現出多大的威力,這畢竟是個長久的項目。

*本文原刊於EE Times China,完整閱讀全文請點此連結
*

發表評論