网站地图
BOINC

BOINC(Berkeley Open Infrastructure for NetworkComputing,伯克利开放式网络计算平台)是目前主流的分布式计算平台之一,由加州大学伯克利分校(University of California - Berkeley)计算机系于2003年发展出来的分布式计算系统。

它本身设计成用于SETI@home项目,但逐渐在其他领域包括数学、医学、天文学、气象学等。BOINC现时旨在为各研究者提供汇集全球各地大量个人电脑的强大运算能力。直至2008年1月25日,BOINC在全世界有约549,000台活跃的主机并平均提供约852TeraFLOPS (TFLOPS)的运算能力。

BOINC是一个计算平台,对志愿者来说,它提供了一个统一的客户端程序,这个客户端本身并不进行实际的计算工作,只是提供了管理功能,在志愿者加入了 BOINC 平台上的计算项目后,客户端程序将自动下载新的任务单元,并调用相应项目的计算程序进行计算,如果参加了多个项目,它将自动在各个项目间按用户的设定来调配计算资源,在计算完成时,它还将自动地将计算结果上传,并同时取得新的计算单元。  通过多年时间、多个项目的测试,该平台已经较为成熟。伯克利方面之前曾成功运行SETI@home 项目6年多,取得巨大成功,吸引了五百多万用户的参加,完成了两百万CPU小时的计算量。BOINC平台的开发,很重要的一个原因是为了吸引更多用户加入更多的其他由实际意义的分布式计算项目,比如气候变化,药物开发等。 BOINC 的前景非常可观,有可能发展成一种业界标准,有了 BOINC 平台,分布式计算的开发和推广工作变得更加容易简便。而统一的界面,统一的方式将会大大方便新加入分布式计算的用户,而不必研究每个不同项目的参与方法、积分算法等。

加入者需要向客户端提供的信息包括:项目网站的URL(告诉客户端要添加哪个已注册的项目)、用户名、电子邮箱地址(告诉客户端在这个项目的用户名,即用来注册项目的邮箱地址)及加入者在这个项目设置的密码。

下载地址参见扩展阅读。

用来告诉客户端需要参加的项目,可以在boinc官方网站看到,右键查看各个项目链接的属性就可以得到相应项目的URL,如右图。

邮箱地址相当于是帐号的用户名,并且这个邮箱将用来收取帐号密钥,并且需要设置一个登录密码,如右图。

Projects(项目)计算机参加的BOINC项目列表,在项目中的帐号名称,参加的团队,总积分,平均积分,资源分享率。

Work(任务)当前正在处理的计算任务列表,可以看到CPU时间耗费,计算进度等信息。普通计算机只能同时运行一到两个任务,其它任务处于等待状态,客户端会在各个任务间按用户的设置来分配计算资源。

Transfers(网络传输)当前的网络传输列表,大多时候这个页面是没有内容的。

Messages(信息)相当于程序的日志,可以看到很多详细的运行期信息,出错的时候多看看这里。

Statistics(统计)统计信息,程序运行几天后可以看到一些关于工作量的统计图表。

Disk(磁盘)各个项目在本机中所占用的磁盘空间列表。

项目名称

项目类型

项目说明

SETI@home

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

数学与计算机科学

SHA-1 密码分析

SZTAKI Desktop Grid

数学与计算机科学

找出所有直到 11 维的广义二进制数系

TMRL DRTG

数学与计算机科学

一种改进型的PreComputering Table,目的是为了提高成功率, 减少存储空间。已停止运行

TSP

数学与计算机科学

旅行商问题

vtu@home

数学与计算机科学

BOINC相关,测试BOINC平台应用程序接口

WEP-M+2 Project

数学与计算机科学

寻找Mersenneplustwo因子

XtremLab

数学与计算机科学

探索如何增进其它项目的运算速度,提高网格计算的性能

项目名称

项目类型

项目说明

物理化学类项目

?BRaTS@home

物理和化学

引力透镜描绘

Cosmology@home

物理和化学

天文计算宇宙模型

Einstein@Home

物理和化学

寻找引力波证据

Hydrogen@home

物理和化学

寻找生成氢的有效方法

Leiden Classical

物理和化学

目标是为科学家和学生创造一个平台,专用于一般古典动力学

LHC@home

物理和化学

模拟粒子在大型强子对撞机中运行从而研究其稳定性

LHC@home Alpha

物理和化学

LHC@home的子测试项目

MilkyWay@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

生命科学

探索多尺度性质的算法的修改蛋白质-配体对接

Folding@home

生命科学

蛋白质折叠过程研究

Malaria

生命科学

疟疾药物、疫苗开发研究

NNSIMU Project

生命科学

神经网络模拟

POEM@HOME

生命科学

预测蛋白质结构

Predictor@home

生命科学

研究蛋白质序列来预测蛋白质结构

Proteins@home

生命科学

蛋白质结构预测

GPUGRID

生命科学

原项目名是PS3GRID,现时需要PS3主机硬件或者支持CUDA的nVidia显卡系列

RALPH@home

生命科学

Rosetta@home的子测试项目

Rosetta@home

生命科学

增强预测和设计蛋白质结构及其复合体的技术的准确性

SIMAP

生命科学

探察蛋白质序列的相似性

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@home、Einstein@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显示器有一定的保护作用。但由于开启显示器即消耗电力,建议在计算机闲置时手动关闭显示器或者设置自动关闭显示器,以节省能耗。

对散热器的影响

运行计算程序将是计算机各个部件产生更多的热量。风冷散热器的风扇将以高速运转。风扇寿命会降低,同时计算机环境的灰尘会更快的囤积在风叶和散热片上,增加了清理灰尘的频率。 由于风扇的高速运转,将对环境带来更大的噪音。

对网络的影响

大部分项目对网络的需求都很低,计算程序和工作单元文件一般不大,在进行计算时一般都不需要网络连接。往后只需要下载新工作单元和上传计算结果。


相关文章推荐:
BOINC | Berkeley | Network | Computing | 伯克利开放式网络计算平台 | SETI@home | BOINC | FLOPS | TFLOPS | 伯克利开放式网络计算平台 | SETI@home | CPU | 分布式计算 | CPU时间 | Statistics | 项目类型 | SETI@home | 射电望远镜 | 地外文明 | SETI@home | 登革热 | 丙型肝炎 | 西尼罗河病毒 | 黄热病病毒 | 先导化合物 | 染色体 | 蛋白质折叠 | 蛋白质折叠 | ABC猜想 | Windows操作系统 | 伯克利开放式网络计算平台 | MD5算法 | 素数 | 数独 | 质数 | SHA-1 | 密码分析 | 二进制数 | 旅行商问题 | XtremLab | 项目类型 | 引力透镜 | 宇宙模型 | Einstein@Home | 引力波 | LHC@home | 粒子 | 大型强子对撞机 | LHC@home | MilkyWay@home | 银河系 | 燃料电池 | 微重力 | 两相流动 | 气候变化 | 地震学 | 项目类型 | 配体 | Folding@home | 蛋白质折叠 | 疟疾 | 神经网络 | 蛋白质结构 | PS3 | CUDA | nVidia | Rosetta@home | Rosetta@home | 蛋白质结构 | SIMAP | 糖尿病 | 精神分裂症 | 马里兰大学 | Globus | 积分系统 | SETI@home | 积分系统 | 积分系统 | SETI@home | Einstein@Home | 蛋白质结构 | Rosetta@home | 贡献率 | CPU时间 | 图形处理器 | 虚拟内存 | 屏幕保护程序 | CRT显示器 | 风冷散热器 | 散热片 |
相关词汇词典