BOINC
伯克利開放式網絡計算平台(英語:Berkeley Open Infrastructure for Network Computing,簡稱BOINC)是目前主流的分佈式計算平台之一,由加州大學柏克萊分校電腦學系發展出的分散式計算系統。原本專為SETI@home項目而設計,目前納入的領域包括數學、醫學、天文學和氣象學等。BOINC匯集全球各地志願者的電腦或移動裝置,提供運算能力給研究者。截至2017年3月,BOINC在全世界有約815,912台活躍的主機,提供約18.971PetaFLOPS的運算能力[2]。
開發者 | 加利福尼亞大學柏克萊分校太空科學實驗室 |
---|---|
当前版本 |
|
源代码库 | |
编程语言 | Linux MacOS Microsoft Windows Android |
语言 | 38种语言 |
类型 | 分布式計算 網格計算 |
许可协议 |
|
网站 | boinc |
数据截至 | 2024-03-13 |
運行原理
安裝BOINC軟件的電腦在閒置時,會使用電腦的CPU或GPU進行運算。即使電腦正在使用,BOINC將利用空閒的CPU週期作計算。如果志願者的電腦裝有NVIDIA、AMD或Intel的GPU並選擇使用其作為運算硬體,則某些BOINC專案的計算速度將比單純使用CPU的版本提高2至10倍[3]。
當志願者使用電腦參與BOINC專案時,BOINC會與專案的伺服器連線,伺服器會向電腦提供工作單位(Workunit,簡稱WU),然後電腦會對工作單位作運算,等待運算完成後,BOINC將把結果上傳至專案伺服器。
專案伺服器負責協調各志願者電腦的工作,包括發送工作單位、接收已處理的結果、核對大量的結果再作處理,成為研究人員需要的數據。由於個別的電腦可能會在運算過程出現錯誤,所以伺服器一般會把同一工作單位傳送至多個志願者,並比較各個結果。
BOINC設有積分系统,積分間接反映志願者的貢獻,因為在BOINC上可以運行的專案千差萬别。例如專案A的工作包在某台電腦上需要3個小時完成,而專案B的工作包在該電腦上需要30個小時才能完成,顯然用完成的工作包的數目來衡量工作量是不可行的;而不同電腦的性能也有差别,用CPU時間來衡量工作量亦是不行的。積分系统只能通過一定的算法得到志願者實際完成的計算量。
BOINC從版本6.4.5起,開始支持GPU運算,目前有GPUgrid.net、Einstein@Home、Milkyway@home、PrimeGrid、Collatz Conjecture和DNETC@Home等多個GPU專案。
用户亦可使用BOINC 帳户管理器(BOINC Account Manager)方便参與和管理不同BOINC平台項目。
除分佈式計算以外的應用
儘管BOINC一般用於進行志願計算,但其平台也可搭建公司私有計算網格或創建校園虛擬超級計算網格。
搭建公司計算網格
搭建BOINC網格主要有幾個步驟:
- 架設及安装BOINC伺服器和客户端
- 關閉外圍網絡的帳户創建
這樣的網格與公用網格相比,具有作弊概率低、運算效率高(工作包不用擔心過期)的優勢。
創建校園虛擬計算網格
創建這樣的網格方法類似公司網格,一个較低端的伺服器(約一萬美元)就能勝任幾萬個客户端的調度工作。倫敦的威斯特斯頓大學創建了一個這樣的網格,據估計,一年可節省約£125,000。[4]
参考文献
- ^ https://github.com/BOINC/boinc/releases/tag/client_release%2F8.0%2F8.0.2; 出版日期: 2024年5月24日.
- ^ BOINC首頁統計數據. [2013-06-16]. (原始内容存档于2013-06-10).
- ^ Use your NVIDIA GPU for scientific computing. [2009-03-12]. (原始内容存档于2008-12-28) (英语).
With NVIDIA's assistance, some BOINC-based projects have applications that run on NVIDIA GPUs using CUDA. These applications run from 2X to 10X faster than the CPU-only version.
- ^ DIY SUPERCOMPUTER SAVES £1,000S--University of Westminster[永久失效連結]