BOINC
开发者 | 加利福尼亚大学伯克利分校太空科学实验室 |
---|---|
当前版本 |
|
原始码库 | |
编程语言 | Linux MacOS Microsoft Windows Android |
语言 | 38种语言 |
类型 | 分布式计算 网格计算 |
许可协议 |
|
网站 | boinc |
数据截至 | 2024-03-13 |
伯克利开放式网络计算平台(英语:Berkeley Open Infrastructure for Network Computing,简称BOINC)是目前主流的分布式计算平台之一,由加州大学伯克利分校电脑学系发展出的分布式计算系统。原本专为SETI@home项目而设计,目前纳入的领域包括数学、医学、天文学和气象学等。BOINC汇集全球各地志愿者的电脑或移动装置,提供运算能力给研究者。截至2017年3月,BOINC在全世界有约815,912台活跃的主机,提供约18.971PetaFLOPS的运算能力[2]。
运行原理
安装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[永久失效链接]