BOINC

BOINC

BOINCBerkeley Open Infrastructure for NetworkComputing伯克利開放式網路計算平台)是目前主流的分散式計算平台之一,由加州大學伯克利分校(University of California - Berkeley)計算機繫於2003年發展出來的分散式計算系統。

它本身設計成用於SETI@home項目,但逐漸在其他領域包括數學、醫學、天文學、氣象學等。BOINC現時旨在為各研究者提供匯集全球各地大量個人電腦的強大運算能力。直至2008年1月25日,BOINC在全世界有約549,000台活躍的主機並平均提供約852TeraFLOPSTFLOPS)的運算能力。

基本介紹

  • 中文名伯克利開放式網路計算平台
  • 外文名:Berkeley Open Infrastructure for Network Computing
  • 定義:分散式計算系統
  • 套用領域:數學、醫學、天文學、氣象學等
平台簡介,平台套用,下載安裝,加入地址,信箱註冊,客戶端,項目,積分系統,使用率,在大陸,在台灣,在香港,在澳門,平台影響,軟體方面,硬體方面,

平台簡介

BOINC是一個計算平台,對志願者來說,它提供了一個統一的客戶端程式,這個客戶端本身並不進行實際的計算工作,只是提供了管理功能,在志願者加入了 BOINC 平台上的計算項目後,客戶端程式將自動下載新的任務單元,並調用相應項目的計算程式進行計算,如果參加了多個項目,它將自動在各個項目間按用戶的設定來調配計算資源,在計算完成時,它還將自動地將計算結果上傳,並同時取得新的計算單元。  通過多年時間、多個項目的測試,該平台已經較為成熟。伯克利方面之前曾成功運行SETI@home 項目6年多,取得巨大成功,吸引了五百多萬用戶的參加,完成了兩百萬CPU小時的計算量。BOINC平台的開發,很重要的一個原因是為了吸引更多用戶加入更多的其他由實際意義的分散式計算項目,比如氣候變化,藥物開發等。 BOINC 的前景非常可觀,有可能發展成一種業界標準,有了 BOINC 平台,分散式計算的開發和推廣工作變得更加容易簡便。而統一的界面,統一的方式將會大大方便新加入分散式計算的用戶,而不必研究每個不同項目的參與方法、積分算法等。
boincboinc

平台套用

加入者需要向客戶端提供的信息包括:項目網站的URL(告訴客戶端要添加哪個已註冊的項目)、用戶名、電子信箱地址(告訴客戶端在這個項目的用戶名,即用來註冊項目的信箱地址)及加入者在這個項目設定的密碼。
輸入URL輸入URL

下載安裝

下載地址參見擴展閱讀。

加入地址

用來告訴客戶端需要參加的項目,可以在boinc官方網站看到,右鍵查看各個項目連結的屬性就可以得到相應項目的URL,如右圖。
註冊註冊

信箱註冊

信箱地址相當於是帳號的用戶名,並且這個信箱將用來收取帳號密鑰,並且需要設定一個登錄密碼,如右圖。

客戶端

Projects(項目)計算機參加的BOINC項目列表,在項目中的帳號名稱,參加的團隊,總積分,平均積分,資源分享率。
Work(任務)當前正在處理的計算任務列表,可以看到CPU時間耗費,計算進度等信息。普通計算機只能同時運行一到兩個任務,其它任務處於等待狀態,客戶端會在各個任務間按用戶的設定來分配計算資源。
Transfers(網路傳輸)當前的網路傳輸列表,大多時候這個頁面是沒有內容的。
Messages(信息)相當於程式的日誌,可以看到很多詳細的運行期信息,出錯的時候多看看這裡。
Statistics(統計)統計信息,程式運行幾天后可以看到一些關於工作量的統計圖表。
Disk(磁碟)各個項目在本機中所占用的磁碟空間列表。

項目

項目名稱項目類型項目說明
SETI@home
天文科學
通過分析從射電望遠鏡傳來的數據來搜尋地外文明
Astropulse
天文科學
SETI@home的子項目
World Community Grid
AfricanClimate@Home
地球科學
非洲區域的氣候模擬
Discovering Dengue Drugs
生命科學
Genome Comparison
生命科學
染色體對比研究
Help Conquer Cancer
生命科學
幫助科學家征服癌症
Help Defeat Cancer
生命科學
幫助科學家對抗癌症
Human Proteome Folding
生命科學
人類蛋白質摺疊研究
Human Proteome Folding 2
生命科學
人類蛋白質摺疊第2階段研究
Help Cure Muscular Dystrophy
生命科學
針對肌肉營養失調和其他神經肌肉型疾病的研究
Nutritious Rice for the World
生命科學
針對水稻預測蛋白質結構的研究,以提高水稻產量
數學與計算機科學項目
ABC@home
數學與計算機科學
尋找滿足ABC猜想三元數組的分布
ABC@home beta
數學與計算機科學
ABC@home 的子測試項目
BOINC Alpha Test
數學與計算機科學
BOINC相關,BOINC平台軟體測試項目
Chess960@home
數學與計算機科學
象棋算法測試
Crash Collection
數學與計算機科學
了解Windows作業系統上“程式沒有回響”或者“異常關閉”的原因
DepSpid
數學與計算機科學
蒐集網站結構數據
Enigma@home
數學與計算機科學
破解一個二戰時期的密碼
ESEA@home pa
數學與計算機科學
建立一個可行的分散式統計計算伯克利開放式網路計算平台
HashClash
數學與計算機科學
研究MD5算法的碰撞情況
Message@home
數學與計算機科學
BOINC相關,為BOINC平台是否適合用Perl語言開發做測試
NCSSM Grid
數學與計算機科學
格線計算研究
NQueens Project
數學與計算機科學
枚舉N皇后問題的解
PrimeGrid
數學與計算機科學
關於素數的項目,有多個子項目
Project Neuron
數學與計算機科學
BOINC相關,觀察和了解BOINC活性和數據,改進BOINC平台
Project Sudoku
數學與計算機科學
尋找最小唯一解數獨
Ramsey@Home
數學與計算機科學
計算拉姆賽數
Rectilinear Crossing Number
數學與計算機科學
簡稱RCN,尋找平面化完全圖最小交叉數
Resource Measurement
數學與計算機科學
分析計算機資源?
RieselSieve
數學與計算機科學
嘗試找到Riesel質數
RND@home
數學與計算機科學
測試一個算法用儘量少的基站來覆蓋儘量大的面積
SHA-1 Collision Search Graz
數學與計算機科學
SZTAKI Desktop Grid
數學與計算機科學
找出所有直到 11 維的廣義二進制數
TMRL DRTG
數學與計算機科學
一種改進型的PreComputering Table,目的是為了提高成功率, 減少存儲空間。已停止運行
TSP
數學與計算機科學
vtu@home
數學與計算機科學
BOINC相關,測試BOINC平台應用程式接口
WEP-M+2 Project
數學與計算機科學
尋找Mersenneplustwo因子
數學與計算機科學
探索如何增進其它項目的運算速度,提高格線計算的性能
項目名稱項目類型項目說明
物理化學類項目
?BRaTS@home
物理和化學
Cosmology@home
物理和化學
天文計算宇宙模型
物理和化學
尋找引力波證據
Hydrogen@home
物理和化學
尋找生成氫的有效方法
Leiden Classical
物理和化學
目標是為科學家和學生創造一個平台,專用於一般古典動力學
物理和化學
模擬粒子大型強子對撞機中運行從而研究其穩定性
LHC@home Alpha
物理和化學
LHC@home的子測試項目
物理和化學
研究銀河系的建模和深化
Nano-Hive@home
物理和化學
納米尺度的實體世界的模擬
Orbit@home
物理和化學
計算出天空中所有直徑>6公里的隕石的精確運行軌道
QMC@home
物理和化學
量子蒙特卡洛法研究
Spinhenge@home
物理和化學
增加對分子磁性領域的基本理解以期將其擴展到新的套用領域
The Clean Energy Project
物理和化學
尋找最佳的分子以實現用有機光電池來生產價格低廉的太陽能電池,用聚合物薄膜製造燃料電池
uFluids@Home
物理和化學
模擬微重力和微流體力學問題中的氣/液兩相流動現象
地球科學項目
BBC Climate Change
地球科學
模擬1920到2080年的氣候變化
地球科學
簡稱CPDN,預測21世紀氣候的一項實驗
CPDN beta
地球科學
的子測試項目
QCN Alpha Test
地球科學
利用筆記本內置的加速度感應器,研究地震學
Seasonal Attribution
地球科學
研究人類的工業活動對氣候的影響
項目名稱項目類型項目說明
生命科學類項目
Docking@home
生命科學
探索多尺度性質的算法的修改蛋白質-配體對接
生命科學
蛋白質摺疊過程研究
Malaria
生命科學
瘧疾藥物、疫苗開發研究
NNSIMU Project
生命科學
POEM@HOME
生命科學
Predictor@home
生命科學
研究蛋白質序列來預測蛋白質結構
Proteins@home
生命科學
蛋白質結構預測
GPUGRID
生命科學
原項目名是PS3GRID,現時需要PS3主機硬體或者支持CUDAnVidia顯示卡系列
RALPH@home
生命科學
Rosetta@home的子測試項目
生命科學
增強預測和設計蛋白質結構及其複合體的技術的準確性
生命科學
探察蛋白質序列的相似性
Superlink@Technion
生命科學
研究基因的連結,來找出糖尿病、高血壓、癌症、精神分裂症等疾病的原因
TANPAKU
生命科學
蛋白質結構預測
其他類型項目
BelgianBeer@home
BURP
動畫渲染
Cunning Plan
Gerasim@home
DRTG
算法類項目
Distributed Rainbow Table Generator
Pirates@home
BOINC相關,為其它項目製作屏保的項目
RenderFarm@home
藝術類
分散式渲染
SciLINC
網路知識庫(Alpha測試)
The Lattice Project
馬里蘭大學開發的格線計算系統,該系統整合了Globus、BOINC和其它一些軟體組件
Translator@home
人工協助類
翻譯不包含故事情節的非小說類書籍,翻譯成果將在網際網路上公布,並可免費自由地傳輸和閱讀

積分系統

積分主要用來衡量用戶貢獻的多少,大多數分散式計算項目或平台均提供了特定的積分系統,比如 SETI@home 項目在遷移至 BOINC 前的積分方式是記錄完成的任務單元的數量。
BOINC 平台也有自己獨特的積分系統,因為在 BOINC 平台上可以運行的項目千差萬別,比如項目 A 的任務單元在某台機器里需要 3 個小時完成,而項目 B 的計算包在這台機器里需要 30 個小時才能完成,或者項目 A 本身的任務包的完成時間就有一定的浮動範圍,顯然,用任務單元的數目來衡量用戶貢獻的計算量不再可行;類似的,機器性能也有差別,用完成任務單元所需的 CPU 時間來衡量工作量也是不行的。
作為一個通用的計算平台,BOINC 平台的積分系統必須通過一定的算法才能較為準確地記錄用戶實際完成的計算量。
原始的
BOINC 平台在發展前期採用的積分系統是綜合下面幾方面來完成的:
● 對計算機性能的基準測試
● 完成任務單元所耗費的 CPU 時間
● 不同用戶完成同一任務單元的情況
具體地說,BOINC 客戶端會定期地(一般是一周左右)在所運行的計算機上運行基準測試程式,對該計算機的整數及浮點計算能力做出一個評估。然後,客戶端在完成分散式計算項目的任務單元後,也會記錄下完成該任務單元所耗費的 CPU 時間。依據基準測試的結果和計算任務單元所用的時間,算出一個申請積分(Claimed Credit,具體算法見本站論壇中的這個主題),並在向項目的伺服器上報計算結果的同時提交該申請積分的數值。
在大部分分散式計算項目中,項目服務端會將同一個任務包分發給多個用戶進行計算,以保證計算結果的可靠性,BOINC 平台同樣如此。對於同一個任務包,不同用戶返回的計算結果中附帶的申請積分一般都會各不相同,此時,項目的服務端一般會選取中間位置的申請積分做為最終的授予得分(Granted Credit)分別授予給完成這個任務單元的所有用戶。
比如,對於 任務單元 X,用戶甲、乙、丙都成功完成了該任務單元的計算,且申請積分分別是 9、11、12,則最終各個用戶的得分都是 11 分。
但仍有部分分散式計算項目並不適用於這種冗餘計算方式(比如一些蛋白質結構預測的項目),也就是說同一個任務單元只會分發給一位用戶進行計算,在這種情況下,用戶的申請積分就等於最終的授予積分了。
改進後
原始的 BOINC 積分系統主要存在以下幾方面的問題:
基準測試不準,尤其是跨作業系統平台時,比如同一台計算機分別安裝 Windows 版本客戶端和 Linux 版本的客戶端,做出的基準測試結果可能就相差比較大。
容易導致作弊,從發展之初,BOINC 平台就開放了服務端和客戶端的全部原始碼,如果用戶下載了客戶端的原始碼,自行編譯的過程中修改或最佳化原有的基準測試代碼,就可能導致他自製的 BOINC 客戶端的基準測試成績大幅偏高。
由上述對積分系統計算申請積分的說明,基準測試成績的變化,就會導致任務單元申請積分的相應變化。對於有冗餘計算的項目,這將導致平均授予積分的小量增加,而對於沒有冗餘計算的項目,這將直接導致授予積分的相應提高。
針對原始 BOINC 積分系統存在的問題,BOINC 平台上的大部分主流計算項目(如 SETI@homeEinstein@Home 等)均採取了另外一種積分策略,在計算這些項目的任務單元時,客戶端將不再根據自身基準測試的結果和完成任務單元所用的計算時間來計算申請積分的值,而是根據服務端預先指定的一個值作為申請積分,換句話說,也就是完成任務單元的計算所能得到的積分是由項目的服務端預先就決定好的。
仍有部分主流項目和大部分非主流項目,或是由於其計算的特性(如涉及到蛋白質結構預測的項目 Rosetta@home),或是由於所需的工作量暫時超出項目方的能力範圍,導致了還無法採用這種在服務端預先指定任務單元積分的方式,而仍採用了原始或是進行了小幅改良(此處不再詳述)的 BOINC 積分系統。

使用率

根據BOINC STATS的統計,BOINC在中國大陸的使用率處於較低的位置。而在台灣及香港,人均貢獻率均較高。積分最高的國家為美國,達到47,116,057,426和德國(14,621,977,432)、英國、加拿大、法國、日本。

在大陸

在統計的所有265個國家的地區中,中國大陸的人均分數為0.6620,排名162;總積分為859,852,688,排名22(2009年8月31日13:33:21數據)。

在台灣

在統計的所有265個國家的地區中,台灣的人均分數為48.345,排名67;總積分為1,099,850,892,排名21(2009年8月31日13:33:21數據)。

在香港

在統計的所有265個國家的地區中,香港的人均分數為55.722 ,排名62;總積分為381,984,180,排名33(2009年8月31日13:33:21數據)。

在澳門

在統計的所有265個國家的地區中,澳門的人均分數為15.818 ,排名90;總積分為7,043,408,排名113(2009年8月31日13:33:21數據)。

平台影響

軟體方面

分散式計算項目對計算機的使用與日常套用所運行的程式並無很大區別,主要區別是項目計算程式一般會以最低優先權別獲得所有空閒的CPU時間,因為比起其他程式的優先權別都要低,所以雖然一般情況下計算項目看上去占用了全部的處理器資源,但一旦其他程式需要CPU運算時,項目計算程式會在作業系統的調度下自動讓出CPU時間。

硬體方面

分散式計算項目所利用志願者的硬體主要是CPU、記憶體和顯示卡圖形處理器(GPU)的閒置資源,並占用一些硬碟空間。由於各項目的差異性很大,所占用的記憶體和硬碟空間也分別很大。例如數學類項目對記憶體和硬碟的占用都比較少,而生命科學類的項目會占用較多記憶體與硬碟空間。
雖然運行分散式計算項目對計算機的硬體壽命並未多少縮減,但長期運行還是會帶來一些影響,主要包括以下方面:
對主機板的影響
計算項目運行過程將有大量數據在各個部件交換,晶片組的使用率將提高,同時會帶來一定的能耗和散熱問題。
對CPU的影響
計算必然需要CPU的消耗運算功能,而此時CPU將全速進行工作,CPU所消耗的電力和產生的熱量也隨之大幅增加。
對記憶體的影響
運行計算程式需要占用一定的記憶體空間。如果計算機所配置的記憶體不多的情況下,運行計算程式將減少可用的記憶體空間,特別對於多路多核系統,每個CPU核心都將運行一個計算程式,此時所消耗的記憶體空間會倍增。BOINC平台用戶可以通過本地參數設定來限制項目使用的CPU的數量。
對硬碟的影響
參加分散式計算項目須在硬碟儲存客戶端軟體、計算程式、任務單元等資料,不同的項目對硬碟空間的需要有所不同,例如CPDN等氣候項目需要比較多的硬碟空間,達到幾百MB。 一般項目都不需要頻繁的讀寫硬碟數據,但有些項目會需要較多的頁面檔案(虛擬記憶體)空間。
對顯示卡的影響
不少項目有提供螢幕保護程式,所顯示的圖形會消耗一定的CPU與GPU的計算能力,同時帶來電力消耗和散熱問題。 利用GPU計算能力的項目有著與對CPU同樣的影響,電耗和散熱的問題。 另外由於調度GPU進行計算時需要到CPU的協助,會同時消耗一定的CPU計算時間。
對電源的影響
運行項目時CPU會消耗大量電力,特別對於超頻使用的,請保證整機電力消耗在電源額定使用範圍內。如果電源長期超負荷運作,將影響電源的壽命,而且電源的轉換效率也會降低。電源的故障更會涉及其他所有部件的安全。
對顯示器的影響
螢幕保護程式的項目可以設定在計算機閒置是啟用屏保,對於CRT顯示器有一定的保護作用。但由於開啟顯示器即消耗電力,建議在計算機閒置時手動關閉顯示器或者設定自動關閉顯示器,以節省能耗。
對散熱器的影響
運行計算程式將是計算機各個部件產生更多的熱量。風冷散熱器的風扇將以高速運轉。風扇壽命會降低,同時計算機環境的灰塵會更快的囤積在風葉和散熱片上,增加了清理灰塵的頻率。 由於風扇的高速運轉,將對環境帶來更大的噪音。
對網路的影響
大部分項目對網路的需求都很低,計算程式和工作單元檔案一般不大,在進行計算時一般都不需要網路連線。往後只需要下載新工作單元和上傳計算結果。

相關詞條

熱門詞條

聯絡我們