Berkeley_Open_Infrastructure_for_Network_Computing

**柏克萊開放式網路計算平台**（英語：**Berkeley Open Infrastructure for Network Computing**，簡稱 **BOINC**）是目前主流的分佈式計算平台之一，由加州大學柏克萊分校電腦學系發展出的分散式計算系統。原本專為 SETI@home 項目而設計，目前納入的領域包括數學、醫學、天文學和氣象學等。BOINC 匯集全球各地誌願者的電腦或行動裝置，提供運算能力給研究者。截至 2017 年 3 月，BOINC 在全世界有約 815,912 台活躍的主機，提供約 18.971PetaFLOPS 的運算能力。

## 運行原理

安裝 BOINC 軟體的電腦在閒置時，會使用電腦的 CPU 或 GPU 進行運算。即使電腦正在使用，BOINC 將利用空閒的 CPU 週期作計算。如果志願者的電腦裝有 NVIDIA、AMD 或 Intel 的 GPU 並選擇使用其作為運算硬體，則某些 BOINC 專案的計算速度將比單純使用 CPU 的版本提高 2 至 10 倍。

當志願者使用電腦參與 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 平台項目。

## 專案

### 生物學、醫學

* Docking@Home— 研究更深入的蛋白質鍵結和反應的原子等級構造和細節，並藉由其研究結果來研發藥物以治療人類疾病，目前已停止運作。
* DrugDiscovery@Home— 研發藥物以治療人類疾病，目前已停止運作。
* Malaria Control— 類比瘧疾的影響及控制，目前已停止運作。
* Predictor@home— 預測蛋白質的結構，目前已停止運作。
* Proteins@home— 推論 DNA 的次序，目前已停止運作。
* GPUGRID.net（頁面存檔備份，存於網際網路檔案館）— 研究分子生物動力學相關的研究，主要運行環境為支援 CUDA 的 NVidia GPU。
* Rosetta@home— 研究蛋白質的摺疊。

　
: * RALPH@Home—Rosetta@Home 的測試專案。

* SIMAP（Similarity Matrix of Proteins）－ 一個蛋白質同源計算序列並可以對這些序列數據提供專業的檢索工具的資料庫，目前已停止運作。
* TANPAKU— 利用布朗動力學方法計算蛋白質的結構，目前已停止運作。
* POEM@HOME— 利用能量法來研究蛋白質的結構，目前已停止運作。
* MindModeling@Home— 研究人類腦部的認知科學。
* Superlink@Technion— 幫助科學家研究人類基因及其異常所產生的疾病，目前已停止運作。
* The Lattice Project— 美國馬里蘭大學的研究生物資訊學領域相關的分散式計算平台，目前已停止運作。
* Virtual Prairie
* Cels@Home
* RNA world— 研究分析生物中 RNA 的分子結構。
* DNA@Home— 研究有關生物中 DNA 的基因調控作用，目前已停止運作。
* FightNeglectedDiseases@Home（FiND@Home）
* SIDock@home

### 氣象學、地球科學

* Climateprediction.net（CPDN）— 預測廿一世紀的氣候。

　
: * BBC Climate Change Experiment— 與英國廣播公司合作的項目，結果已製作成紀錄片，目前已停止運作並併入 Climateprediction.net 的主計劃中。
* Seasonal Attribution Project— 研究引致極端氣候的人為因素。
* CPDN Beta—Climateprediction.net 的測試專案。

* 地震捕手網路 (Quake Catcher Network)— 利用分佈在全球各地電腦的傳感器來偵測和研究地震現象。

### 物理、化學、天文學

* Einstein@Home— 搜尋脈衝星的引力波，支援 GPU 運算。
* Cosmology@Home— 研究宇宙的模型及其相關的物理天文學資訊。
* Leiden Classical— 類比在經典物理環境下的各種分子和原子，目前已停止運作。
* LHC@home— 類比粒子加速，協助設計及改善 LHC 粒子加速器。

　
: * vLHC@Home — 亦稱 "LHC2.0"，先前為 Test4Theory 專案。利用虛擬機器類比粒子加速器的項目。

* NanoHive@Home— 類比和研究奈米分子的結構系統和特性，目前已停止運作。
* Orbit@home— 計算近地小行星的軌道路徑，以預防其碰撞地球而對地球造成損害，曾經由於缺乏資金已暫停運作，已在 2014-15 年恢復運行。
* QMC@Home— 發展在量子化學領域廣泛使用的量子統計類比方法，目前已停止運作。
* SETI@home— 搜尋外太空文明，已於 2020 年 3 月 31 日無限期暫停。

　
: * SETI@home beta— 測試 SETI@home。

* μFluids@Home— 類比微重力和微流體力學問題的兩相現象，目前已停止運作。
* Milkyway@home— 研究銀河系的重力波，支援 NVidia CUDA 及 ATi 的顯示卡運算。
* Spinhenge@home— 研究奈米磁性分子的物理特性，目前已停止運作。
* BRaTS@home— 進行引力波束追蹤的相關計算，目前已停止運作。
* Hydrogen@Home— 研究以氫作為動力的乾淨能源，目前已停止運作。
* Magnetism@home
* SLinCA@Home— 研究物理及材料科學領域。
* Eon— 利用理論化學方法來研究凝聚態物理學和材料科學，目前已停止運作。

### 數學

* ABC@Home— 嘗試解決 ABC 猜想。
* Chess960@Home— 研究菲舍爾任意制象棋的開局理論並建立巨型的西洋棋棋局資料庫。
* NQueens@home— 解決西洋棋的 N 皇后問題，目前已停止運作。
* PrimeGrid— 嘗試將巨大的數字進行因式分解，尋找人類未知的質數。
* Rectilinear Crossing Number（頁面存檔備份，存於網際網路檔案館）— 研究平面中最少的交叉數問題，目前已停止運作。
* RieselSieve— 尋找 k\*2^n-1 形式的素數，顯示 k=509203 是最小的黎瑟爾斯數，目前已併入 PrimeGrid 專案中。
* Collatz Conjecture— 研究考拉茲猜想。
* NFS@Home
* Sudoku project— 研究數獨問題，目前已停止運作。
* Ramsey@Home— 研究拉姆西數，目前已停止運作。
* Reversi— 研究黑白棋遊戲，目前已停止運作。
* WEP-M+2 Project— 使用 WEP 演算法對 2^p+1 進行因式分解。
* Sudoku@vtaiwan— 由台灣的交通大學推出的計劃，研究數獨問題，目前已停止運作。
* DNETC@HOME

### 電腦、資訊科技

* World Community Grid— 由 IBM 主持，主要目的為利用分佈式計算來幫助尋找人類疾病的治療方法，和改善人類生活的相關研究。
* AQUA@home— 幫助設計量子電腦，目前已停止運作。
* BURP— 處理及創作三維動畫。
* BOINC@TACC
* DepSpid— 網際網路搜尋器，目前已停止運作。
* EDGeS@Home
* Enigma@Home— 嘗試破解第二次世界大戰時由恩尼格瑪密碼機傳送的原始訊息。
* HashClash
* Project Neuron— 測試 BOINC 框架，目前已停止運作。
* SHA-1 Collision Search Graz— 密碼學：尋找 SHA-1 碰撞，目前已停止運作。
* VGTU@Home（頁面存檔備份，存於網際網路檔案館）— 軟體測試：提供分散式計算平台，改善 BOINC。
* IBERCIVIS— 提供西班牙科學研究的分散式計算平台。
* DistrRTgen— 利用 BOINC 的分佈式運算產生彩虹表。
* SZTAKI Desktop Grid— 搜尋廣義二進制數系。
* yoyo@home— 利用 BOINC 的封裝技術將現有的分佈式計算項目引入到 BOINC 平台，支援 PS3 運算。
* Pirates@home— 測試 BOINC 專案。
* XtremLab— 研究並改善網格計算，包括 BOINC 平台，目前已停止運作。

## 除分佈式計算以外的應用

儘管 BOINC 一般用於進行志願計算，但其平台也可搭建公司私有計算網格或建立校園虛擬超級計算網格。

### 搭建公司計算網格

搭建 BOINC 網格主要有幾個步驟：

* 架設及安裝 BOINC 伺服器和客戶端
* 關閉外圍網路的帳戶建立

這樣的網格與公用網格相比，具有作弊概率低、運算效率高（工作包不用擔心過期）的優勢。

### 建立校園虛擬計算網格

建立這樣的網格方法類似公司網格，一個較低階的伺服器（約一萬美元）就能勝任幾萬個客戶端的調度工作。倫敦的威斯特斯頓大學建立了一個這樣的網格，據估計，一年可節省約 £125,000。

## 參考文獻

## 外部連結

* BOINC 官方網站 （頁面存檔備份，存於網際網路檔案館）
* BOINC 專案流行度（頁面存檔備份，存於網際網路檔案館）（繁體中文）
* BOINC 在 Github 上的原始碼 （頁面存檔備份，存於網際網路檔案館）
* 中國分散式計算總站上的頁面：BOINC （頁面存檔備份，存於網際網路檔案館）

## 參見

* 分散式計算
  * 分散式計算平台
* 網格計算