介紹
癌症亨廷頓病成骨不全症Folding@home 科學
蛋白質是由形成的長鏈。蛋白質是生物生存的基本條件。作為酶,他們是所有生物化學反應的驅動力。作為結構的基本成分,它們是我們的骨骼、肌肉、頭髮、皮膚和血管的主要組成部分。作為抗體,它們可以識別入侵物體,使免疫系統工作從而清除這些物體。因此,科學家對人類的基因組進行排序——生物圈蛋白質藍圖——但我們怎樣可以了解這些蛋白質做了些什麼?它們又是怎么運作的?
關係到人的染色體項目
蛋白質在生物學中充當如此重要的(原文為根本性)角色,科學家開始對人類的基因組開始排序。基因組實際上是一張跟蛋白質有關的“藍圖”——基因組包含遺傳密碼(DNA Code),這些密碼決定著胺基酸串成蛋白質長鏈的順序。
摺疊原因
但是,僅僅了解基因組序列並不能使我們充分了解蛋白質的工作,更無法了解它是如何工作的。為了發揮它的功能作用(比方作為酶和抗體),他們必須具有非常特定的形狀,亦稱“摺疊(Fold)”。蛋白質猶如一台令人驚奇的機器: 在他們進行工作之前,他們自己組裝自己! 這種自我裝配被稱為“摺疊(Folding)”。
我們項目的目標之一是模仿蛋白質摺疊,從而了解蛋白質是如何那么迅速可靠地摺疊的,並了解如何使用這些蛋白質的屬性來製造高分子聚合物。
如果蛋白質沒有正確地摺疊將發生什麼?比方阿茲海默氏症(Alzheimer's)、囊腫纖維化(Cystic fibrosis)、
瘋牛病(Mad Cow,BSE),一種遺傳的肺氣腫,甚至許多癌症的起因都是蛋白質的非正常摺疊。
當蛋白質非正常摺疊,可能凝聚起來(“集合體”)。這些凝聚物可能經常聚集在腦子裡,這就是現在通常認為導致阿茲海默氏症和
瘋牛病的病因。
除生物醫學的套用之外,了解蛋白質的摺疊同時也將教會我們應該如何設計我們自己的、像蛋白質大小的“
納米儀器”進行相似的工作。當然,在
納米儀器可能執行任何任務前,他們也必須進行組裝。
蛋白質摺疊
最令人驚訝的不僅是蛋白質本身能夠自我組裝—— 摺疊,而且是它們自我組裝的速度是如此之快:一些蛋白質能夠在百萬分之一秒之內完成自我摺疊。雖然這個時間在人的時間表中是非常快的,但是用計算機進行模擬,這個時間就顯得相當長了。實際上,計算機模擬1納秒(1/1,000,000,000秒)需要花費大約一天的時間。不幸的是,蛋白質摺疊是以數十毫秒(10000納秒)作為時間表的。這樣,這將需要10000台計算機花費數天的時間來模仿摺疊。——例如,這將需要30台計算機花費數年的時間。這樣等一個結果出來需要的時間太多。
一種解答: 分布動力學
要解決蛋白質摺疊的問題,我們需要衝破微秒障礙。我們的小組開發了一種新的模仿蛋白質摺疊的方式——一種“將工作單元分解成多個部分,使用多台處理器來模擬”的辦法來衝破毫秒障礙。因而,有1000個處理器,我們就能衝破微秒障礙從而幫助了解蛋白質是如何摺疊的奧秘。
我們到目前為止做了什麼?我們將做什麼?
Folding@home 1.0是成功的。在從2000年10月到2001年10月的一年內,我們已經使用了我們實驗性檢驗的方法摺疊了一些小且快速被摺疊的蛋白質。我們正在進一步開發我們的方法,並推廣到模仿摺疊一些更加複雜、更加有趣的蛋白質和“蛋白質正常摺疊與非正常摺疊”的問題。您能從我們的結果頁上了解更多。
運作方式
Folding@home並不依靠強大的超級電腦進行計算,反而主要的貢獻者是成千上萬的個人電腦。每部參與的電腦都安裝了一個在背景執行的客戶端程式,在系統不忙碌的時候調用中央處理器執行模擬工作。現時世界上絕大部分的個人電腦,在一般的情況下都很少用盡本身的計算能力。
Folding@home就是使用這些本來都浪費了的運算力量。
Folding@Home的客戶端會定時連線設於史丹佛大學的伺服器去取得“工作單元”(work units),即一種存有實驗資料的數據包,根據實驗資料進行計算。每個工作
單元計算完成後,再傳回伺服器。
分析軟體
Folding@home的用戶端利用了經修改的TINKER、
GROMACS、AMBER及CPMD這四款
分子模擬程式進行運算,並會在許可的情況下作出最佳化,以把運算速度加快。這四款模擬程式也被修改成多個不同版本,供多款作業平台使用,每款程式的變體會以編號“Core xx”作分類。
現役核心
Gromacs(Core 78)
僅提供予所有單處理器平台使用。
DGromacs(Core 79)
Gromacs的雙倍精準版本,僅使用SSE2。
僅提供予所有單處理器平台使用。
DGromacsB (Core 7b)
名義上是DGromacs的更新版本,實際上是基於SMP/GPU版本的源碼的全新核心。兩者均在使用中。
Gromacs的雙倍精準版本,僅使用SSE2。
僅提供予所有單處理器平台使用。
DGromacsC (Core 7c)
Gromacs的雙倍精準版本,僅使用SSE2。
僅提供予單處理器的Windows及Linux平台使用。
GBGromacs(Core 7a)
Gromacs SREM(Core 80)
GroSimT(Core 81)
Gromacs 33(Core a0)
Gro-SMP(Core a1)
GroCVS(Core a2)
GroGPU2(Core 11及Core 13)
Gro-PS3(沒有編號,但也稱為SCEARD核心)
AMBER
PMD (Core 82)
未最佳化
僅提供予單處理器的Windows及Linux平台使用。
已停用核心
TINKER
Tinker core (Core 65)
現已停止使用,並由速度更快的同類核心GBGromacs (Core 7a)所替代。
未最佳化
僅提供予所有單處理器平台使用。
GroGPU (Core 10)
CPMD
QMD (Core 96)
界面版本
平台支援
圖形處理器
要快速運算蛋白質的摺疊效應,得需以高浮點運算能力的處理器進行,GPU具備強大浮點運算性能的優勢,
Folding@home方面也著手開發供GPU使用的程式,把作業交給GPU運算。2006年10月2日,
Folding@home公開發行供Windows系統使用的GPU測試版本,測試期間收到由450顆ATI X1900 GPU提供的31 TFLOPS運算性能,每顆顯核平均運算運力為一顆傳統CPU的70多倍。至2008年4月10日,第二代Windows GPU公開測試版推出,新版本支援ATI/AMD HD2xxx及HD3xxx系列,不用再透過DirectX接口與顯示核心溝通,並支援多GPU核心。供NⅥDIA GPU使用的版本則利用CUDA技術,就可以使到GPU可以進行蛋白質摺疊運算。NⅥDIA官方表示,只需全球0.1%支援CUDA的顯示卡進行運算,效能就可以達到7PFLOPS,遠超超級電腦的計算水平[6]。現時已推出供啟用CUDA的NⅥDIA GPU使用的公開測試版本。
Station 3
索尼已加入
Folding@home計畫,從PS3的1.6版本固件開始,支援該項目科學運算。由於PS3使用了Cell處理器,能提供強大的運算性能。當PS3閒置時,就會啟動運算程式,計算蛋白質的摺疊效應,利用結果去研究各種疑難雜症。當CELL處理器運算時,NⅥDIA的RSX顯核就會提供立體的蛋白質摺疊實時圖形展示。該圖形展示效果不錯,支援1080p輸出,還有HDR效果。用家可利用手柄來控制觀賞角度。
PS3曾經為
Folding@home提供最多的運算能力,隨著供NⅥDIA GPU使用的軟體推出,NⅥDIA GPU取代了PS3,成為了
Folding@home的主力。截至2008年9月初,參與的PS3遊戲機為該計畫提供1,200多TFLOPS的運算能力,占總數近35%。
多核處理器
隨著更多不同款式的多核處理器陸續推出,支援多核心的軟體也越來越多,Pande Group也於
Folding@home加入支援對稱多處理機(SMP),希望藉此增強軟體的運算能力。透過利用MPI,軟體可同時使用多個核心進行運算。
支援SMP的
Folding@home於2006年11月13日推出供x86-64 Linux及x86 Mac OS X執行的beta測試版本,現時也已推出供Win32使用的試版本,而供32位Linux執行的版本則仍在開發中。
能源消耗
一台PlayStation 3遊戲機的標稱功率為380W,由於
Folding@Home是設計供CPU使用,因此會造成主機功耗達100%。但根據史丹福方面有關PS3主機的常見問題,指出每台主機“在執行該程式時,其估計功率約為200W左右[7]”。截至2008年5月底,共有51,000多台PS3主機為該計畫提供1,400多TFlops的運算能力,每台PS3平均提供近30,000MFlops,以史丹福的每台主機200W輸出(使用90nm製程的處理器)估計,每瓦輸出提供150多MFlops[8]。隨著PS3的Cell處理器改用更微細的65nm及45nm製程,處理器的功耗會進一步下降,其每瓦輸出提供的運算的能力也會提高