BOINC:使用教程

来自中国分布式计算总站
Fwjmath讨论 | 贡献2008年7月14日 (一) 09:11的版本 加入 BOINC 平台上的分布式计算项目
跳转至: 导航搜索

BOINC 概述

BOINC 是一个计算平台,对我们志愿者来说,它提供了一个统一的客户端程序,这个客户端本身并不进行实际的计算工作,只是提供了管理功能,在你加入了 BOINC 平台上的计算项目后,客户端程序将自动下载新的任务单元,并调用相应项目的计算程序进行计算,如果参加了多个项目,它将自动在各个项目间按用户的设定来调配计算资源,在计算完成时,它还将自动地将计算结果上传,并同时取得新的计算单元。

本文主要讲述 BOINC 客户端的安装及使用方法,也包括项目网站的用途,客户端的安装使用针对Windows平台的用户,Linux平台的用户请阅读论坛中的相关主题。

下载 BOINC 客户端

下载安装 BOINC 客户端

  1. 在浏览器中打开:http://boinc.berkeley.edu/download.php
  2. 该页面将根据您的计算机平台自动显示相应版本的客户端软件,点击“下载BOINC”,将其下载至本地计算机
  3. 运行下载好的BOINC安装文件,其名称应该类似于 boinc_x.y.z_windows_intelx86.exe,其中的x.y.z为软件版本号,windows和intelx86为计算机平台的标识
  4. 按照缺省设置进行安装即可,安装完成将自动运行客户端软件
  5. 安装后缺省使用的是客户端的简易图形界面,同时会自动运行“加入项目”的向导,先可直接点击取消。
选择一个项目

加入 BOINC 平台上的分布式计算项目

说明:

  • BOINC 只是计算平台,该平台的各个计算项目的服务器和运行数据都是各个项目方独立维护的,因此,对于您要加入的每个项目,您都需要分别进行注册
  • 对于任何一个项目,您可以在多台计算机上使用这个项目的同一个帐户进行计算
  • 建议在所有的项目中都使用相同的注册信息,方便管理

加入项目的步骤:

  1. 点击 Add Project
  2. 安装程序显示项目列表
  3. 点击您想要加入的项目,再点击下一步
  4. 之后根据您是否已加入过这个项目,分为两种情况:
注册新帐户或者登录现有帐户
初次加入的项目:
选择“没有,我是新用户”
输入电子邮件地址(作为用户ID)
设定帐户密码(不是电子邮件的密码)
已注册过的项目:
选择“是的,我已经注册过了”
输入之前注册时所用的电子邮件地址和设定的帐户密码。

点击下一步后,客户端将与项目的服务端进行通讯

  • 如显示“已加入到项目”,即表示你已经成功在这台计算机上加入该项目。
  • 如显示其它错误提示信息,请根据情况进行处理。

加入项目后,任务单元的下载、计算和上传都将是自动完成的,一般都不需要用户的手动干预,您太可不必去理会它:)

BOINC 客户端界面说明

客户端主要包括前端管理界面(窗口名为BOINC Manager,程序名为boincmgr.exe)和后端调度程序(无窗口,程序名为boinc.exe),用户需要使用到的只是 BOINC Manager。

客户端的简易视图

简易界面

简易界面适用于一般用户,界面相对高级界面要更为简洁、漂亮,其中由上到下主要包括如下内容:

选项卡 
可用于在当前运行的任务单元间进行切换。
任务单元信息 
可查看相应项目的图片(如果项目有屏保图形,可点击查看)、任务单元的计算进展情况。
我的项目 
显示该客户端所有已加入的项目,以图标形式来显示,点击项目图标,将弹出该项目的功能菜单,另外右上角的Add Project按钮可用来加入新的项目。
功能按钮 
Messages用于查看客户端的日志消息,Pause用于暂停客户端的计算,Preference用于客户端的本地参数设置(可配置的选项较少,完整的本地参加设置请通过高级界面来访问),Advanced View用于切换至客户端的高级界面。

高级界面

高级界面下用户可对客户端进行更全面的运行情况查看和参数设置。

客户端的高级视图

选项卡

高级界面窗体主要由六个选项卡页面组成,各个选项卡页面以表格或图表的形式显示客户端的运行情况,随着选项卡页面的切换,窗体左边的命令按钮也相应更新,可用于执行选项卡页面相关联的操作(鼠标移上的时候会有操作内容的详细提示)。

项目 
本计算机参加的项目列表,在项目中的帐户名称,加入的团队,总积分,近期平均积分,资源分享率。
通过命令按钮可更新、暂停、重置或退出当前选择的项目,也可设置是否允许下载该项目的新任务单元。
任务 
当前正在处理的任务单元列表,可以看到耗费的CPU时间,计算进度等信息。普通计算机只能同时运行一到两个任务,其它任务处于等待状态,客户端会在各个任务单元间按用户的设置来调配计算资源。
通过命令按钮可以暂停或中止当前选择的任务单元,如相应项目有屏保图形,也可通过命令按钮来显示。
网络传输 
当前的网络传输列表,大多时候这个页面是没有内容的。
通过命令按钮可重试失败的网络传输、中止当前选择的网络传输(一般会导致任务单元出错,谨慎!)
消息 
相当于是程序的日志,可以看到很多详细的运行期信息,出错的时候多看看这里:)
通过命令按钮可将消息复制出来,可粘贴到论坛主题中,用于求助、讨论。
统计 
统计信息,程序运行个几天后就可以看到一些关于你的工作量的统计图表了。
通过命令按钮在切换统计信息的显示方式。
磁盘 
各个项目在本机中所占用的磁盘空间列表。
此页仅查看,无命令按钮可用。

菜单功能

文件 
关闭窗口、退出 BOINC Manager。
视图 
简易视图、高级视图间的切换
工具 
加入项目、加入帐户管理器
活动 
切换客户端对处理器及网络的使用状态。
高级 
参数设置、远程管理、基准测试等。
帮助 
访问官方帮助页面,查看版本信息等。

系统图标

用鼠标右键点击该图标,主要功能有:

  • 打开 BOINC Manager 程序界面(也可以左键双击打开)
  • 休息一下(暂停客户端计算一小时)
  • 查看版本信息等。

BOINC 参数设置

客户端的本地参数设置

本地参数设置

客户端的本地参数设置仅应用于当前计算机,且优先级高于项目网站上的设置,包括如下三部分内容:

  • 处理器使用,主要设置:是否在使用计算机时进行计算,是否在电池供电时进行计算(笔记本),最多可使用计算机多少比例的处理器数量,最多可使用多少比例的处理器资源。
  • 网络使用,主要设置:额外的任务缓存,可用于在客户端下载更多的任务单元(屯粮)。
  • 磁盘和内存使用,主要设置:内存使用,缺省的比例设置比较低,如果内存够用,可适当调高,以免部分项目因内存不够用而无法完成计算。

项目网站

项目网站可完成帐户信息维护、团队管理、参数设置这几方面的任务。

帐户信息维护

帐户信息主要有:用户名(即显示在客户端和统计网站上的用户名称)、电子邮件地址、所属国家或地区、网址等。

帐户信息在项目的个人页面进行维护,其网址一般是在主页地址后面加上/home.php,比如:

SETI@home: http://setiathome.berkeley.edu/home.php
Einstein@home: http://einstein.phys.uwm.edu/home.php

也可直接从项目主页上点击“您的帐户”或是“Your Account”来访问,初次进入该页面需要输入该项目的注册帐户信息(电子邮件地址及项目的注册密码),如果输入的时候同时选择保存登录信息的话以后就可以直接访问了。

团队管理

团队是由用户组成的群体,拥有团队名称、总积分等属性,用户可自由加入和退出。

加入团队对用户的积分没有任何影响,但加入团队后,用户所得到的新积分,用户所属的团队也能得到同样的积分,离开团队后或者换到其它团队,贡献给原团队的积分不带走。有一个例外是CPDN,该项目中用户的所有积分都是贡献给当前所在团队的,可以带着跑:)

本论坛各个BOINC项目的主力团队均为Team China,推荐大家加入。

加入团队的方法: 在各个项目的官方网站都可以搜索相应项目的团队,进入团队的页面后,有个Join(加入)的链接,点击后即可加入该团队(可能需要先进行登录)。而客户端在下一次与服务器通讯后即可正确显示用户的团队信息。

参数设置

客户端的本地参数设置,只能应用于所设置的计算机,而在网站上针对客户端进行的设置,会自动应用到所有客户端上,但其优先级是低于客户端的本地参数设置的。

项目网站上的参数设置

同样是在上面提到的个人页面,在帐户信息下面的参数设置部分就是了,分为三个部分:

  • 计算参数设置,可在各个项目间通用的参数设置,同一台机器如果参加了多个项目,最后修改过通用参数的项目的通用参数将会被自动复制到机器上其它的项目,如果某台客户端进行了本地参数设置,刚在该台客户端上将忽略此处的设置
  • 社区参数设置,针对项目的论坛的,仅对当前项目有效。
  • 项目参数设置,针对这个项目的参数设置,也是仅对当前项目有效
计算参数设置

进入后有个default(缺省)的配置方案,里面大部分设置缺省就可以了,有几项可能需要进行修改的(内容和客户端的本地参数设置类似):

  • Processor usage(处理器使用)
    • Suspend work while computer is on battery power? 是否在电池供电的情况暂停计算,对本本用户有用。
    • Suspend work while computer is in use? 是否在使用计算机的时候暂停计算,同时还可以设置几分钟不对计算机进行操作才启动计算程序('In use' means mouse/keyboard activity in last)。
    • Leave applications in memory while suspended? 是否在计算程序被暂停的时候将程序留在内存中,推荐设置为yes,这样可以避免因为没到下一个存盘点随程序关闭而丢失部分计算进度。
    • On multiprocessors, use at most __ % of the processors 在多处理器计算机上,最多使用多少比例的处理器数量。
    • Use at most __ percent of CPU time 最多占用多少比例的处理器资源
  • Disk and memory usage(磁盘和内存使用)
    • Use at most __ % of memory when computer is in use 当计算机正在使用时,最多使用多少比例的内存
    • Use at most __ % of memory when computer is not in use 当计算机未在使用时,最多使用多少比例的内存
  • Network usage(使用)
    • Maintain enough work for an additional 下载额外的任务单元(单位为天,表示可满足多少天的计算量),如果日常上网没什么问题的话,不建议设置太长,缺省即可,以避免WU过期,因为BOINC里面过期的计算结果是不能获得积分的。另外,这也就是传说中的屯粮大法了:)

如果你有多台机器,而且希望对不同的计算机采用不同的配置方案,那么可以以default为模板添加home/work/school等几种配置方案(Add separate preferences for home/work/school)。

如果你已经配置了多个方案,那么怎么将配置方案应用到某台机器上呢?回到“您的帐户”页面,有一个“本帐户所属的计算机”链接可以查看你参与到项目中的所有计算机,进入相应的计算机的页面,在最下部可以修改计算机的location(位置)即可。

社区参数设置

这部分主要设置项目短消息和项目留言板的参数。

  • Notifications
    • How should we notify you of new private messages, friend requests, posts in subscribed threads, and other events? 方便的话可设置成电子邮件通知,可以更及时地收到 个人消息/好友请求/主题更新 等消息。
  • Message-board identity
    • 可以设置在项目留言板中的显示方式和签名档之类的,不详细解释了。
项目参数设置

有一个比较重要的是Resource share(资源分享率),这里就是前面提到的分配CPU处理能力给各个项目的地方了。

如果你只参加一个项目,那不管怎么设置,cpu都是全部分配给这个项目的。
如果你参加了两个项目,而相应的Resource share分别是100和50,则CPU的处理能力按2:1的比例调配给两个项目。
注意这里Resource share的具体数字并不重要,重要的是其相互间的比例。

另外一个参数(Should $项目名称$ show your computers on its web site?)可以设定是否允许其他用户看到你的计算机列表,缺省是yes,如果不希望给别人看,改为no。

BOINC 统计、签名网站

BOINC 作为一个通用计算平台,允许各个计算项目以统一的格式向外输出项目的运行信息,因此就有了一些专门收集这些运行信息并进行分析、统计的网站,可以跨项目的对用户、国家或地区、团队等进行综合的排名等,同时一般也提供了根据用户、团队的统计信息制作动态更新的签名图片的功能。

常用的统计网站有:


本文重点介绍第一个即BOINCstats,除统计功能齐全,还实现了BOINC平台的帐户管理器(即BAM!),另外,也提供了本地化接口,其简体中文版本一直是由本站在进行更新维护。其它几个网站的基本使用方法类似。

Boincstats.PNG

BOINCstats

该网站不需要注册用户也可以使用统计和签名的基本功能,但如要使用该网站的完整功能(比如对签名进行定制或者使用帐户管理器)就必须得注册用户了,注册用户时所需要的资料和注册 BOINC 平台上的计算项目相同,也是用户名称、电子邮件地址、注册密码,建议使用统一的注册信息。

统计

主页左边显示了所有 BOINC 平台的项目列表,点击任一项目,即可查看项目、用户、主机、团队、国家或地区等的排名。

签名

注册用户 
在该网站主页左上方的“BAM菜单->BOINCstats”中即可查看、设置签名图片。
未注册用户 
按您使用的用户名称搜索,点击搜索结果右边的放大镜图标,可进入该用户的团队项目一览页面,可根据需要查看用户的合并统计或单独项目的详细信息,然后就可见到签名图片的网址了。
(可参考该网站上的“怎么创建我自己的签名图片?”)。

BAM!

帐户管理器的使用详见帐户管理器页面。

其它

推荐阅读BOINCstats常见问答

BOINC 高级应用

选择计算机

远程管理

被管客户端

客户端在安装完成后,即会在安装目录下生成gui_rpc_auth.cfg,其中保存的就是用于远程管理的密码,可根据需要修改,修改后必须退出并重新运行整个客户端(如果是安装为服务模式的话,需要在“控制面板->管理工具->服务”中重启 BOINC服务,如果是一般模式安装的话,只要将boincmgr.exe退出并重运行就可以。)。

但仅凭密码是无法远程管理的,必须是被管客户端设置成愿意被某些指定的远程客户端管理,方法:

在被管客户端的安装目录下新建一个文本文件,取名为remote_hosts.cfg,在其中设定允许从远端连接该客户端的主机IP地址或网络名(推荐前者),格式很简单,一行设定一台主机即可。

注意:被管机器如果安装并使用了软件防火墙,必须打开31416端口。

管理客户端

然后远程主机在BOINC Manager中选择菜单中的“高级->选择计算机...”,然后输入被管机器的IP地址及连接密码并点击确定就可以了。

查看任务单元的完成情况

客户端会自动完成任务单元的下载、计算和上传,但有时候我们仍希望知道任务单元的计算结果是否成功,方法如下:

  1. 访问项目网站的“您的帐户”(Your Account)
  2. 点击“计算和积分情况”下的“任务 查看”(Tasks View )或者“本帐户所属的计算机 查看 ”(Computers on this account View ),前者用于查看您近期完成的所有任务单元,后者可以按您的计算机来分类查看(适合于计算机数量不止一台的情况)
  3. 查询结果以表格形式显示,如数量较多将分页进行显示,根据任务单元的下载(sent)或上报时间(Time reported)或任务单元名称(Work unit ID),找到你希望查询的任务单元
  4. 可重点查看的任务单元属性有:
OutComes
Success表示计算完成,Unknown表示没有收到客户端返回的结果,Client Error表示计算过程出错,Validate Error表示结果验证错误
Client stats
New表示还在计算中,Done表示已计算完成
CPU Time
表示计算该任务单元所耗费的CPU时间
claimed credit
客户端为该任务单元申请的积分
granted credit
服务端授予该任务单元的积分,如显示pending表示任务包还未完成验证。