柏克萊開放式網絡計算平台(英語: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]
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.