“BOINC:使用教程”的版本间差异
(→本地参数设置) |
|||
(未显示11个用户的106个中间版本) | |||
第1行: | 第1行: | ||
+ | [[分类:教程指南]][[Category:BOINC]] | ||
+ | <big>'''BOINC 使用教程'''</big> | ||
+ | |||
+ | 本文主要讲述 BOINC 客户端的安装及使用方法,也包括项目网站的用途,客户端的安装使用针对 Windows 平台的用户,Linux、Mac、FreeBSD 等平台的用户请阅读论坛中的相关主题。 | ||
+ | |||
==BOINC 概述== | ==BOINC 概述== | ||
+ | [[BOINC]] 是一个计算平台,对我们志愿者来说,它提供了一个统一的客户端程序,这个客户端本身并不进行实际的计算工作,只是提供了管理功能,在你加入了 BOINC 平台上的计算项目后,客户端程序将自动下载新的[[任务单元]],并调用相应项目的计算程序进行计算,如果参加了多个项目,它将自动在各个项目间按用户的设定来调配计算资源,在计算完成时,它还将自动地将计算结果上传,并同时取得新的计算单元。 | ||
+ | |||
+ | [[Image:Dl_boinc.PNG|thumb|right|240px|下载 BOINC 客户端]] | ||
+ | ==下载和安装 BOINC 客户端== | ||
+ | {{Warning|在下载安装使用BOINC之前,请务必阅读和遵守[[BOINC:使用规则]]。}} | ||
+ | ===下载=== | ||
+ | #在浏览器中打开:http://boinc.berkeley.edu/download.php (如果不能访问,请点击页面上方的“程序下载”自行选择系统进行下载。) | ||
+ | #该页面将根据您的计算机平台自动显示相应版本的客户端软件,点击“下载 BOINC”,将其下载至本地计算机 | ||
+ | #如果您需要的不是自动显示的版本,请点击“所有版本”,进入完整的下载列表页面,该页面根据操作系统平台分类,每个类别一般都包含有 Development version(开发版本,)、Recommended version(推荐版本)和 Older version(旧的推荐版本),一般建议使用 Recommended version(推荐版本)。 | ||
+ | #如果需要通过可以上网的计算机来转移数据(参见:http://www.equn.com/forum/viewthread.php?tid=20121&page=2#pid267439 ),推荐使用5系列的版本(如5.10.45等),但这样做会无法加入利用显卡进行计算的项目。 | ||
+ | |||
+ | ===安装=== | ||
+ | [[Image:Boinc_custominstall.PNG|thumb|right|320px|安装 BOINC 客户端(6.x 系列)时的设置]] | ||
+ | #运行下载好的 BOINC 安装文件,其名称应该类似于 boinc_x.y.z_windows_intelx86.exe,其中的 x.y.z 为软件版本号,windows 和 intelx86 为计算机平台的标识。 | ||
+ | #安装程序启动后,一般用户按照缺省的设置进行安装即可。 | ||
+ | #*以下适用于 6.x 系列客户端 | ||
+ | ##出于安全性的考虑,客户端将会安装至计算机的两个文件夹(在 BOINC Configuration 这一步显示),客户端自身的程序文件(Program directory,程序目录)和客户端的运行数据(Data directory,包括将要下载的计算项目程序及数据)是分开保存的,可根据您的需要在点击 Advanced(高级)按钮后对这两个文件夹的位置进行定制。 | ||
+ | ##关于 Protected application execution,如选中该项后进行安装,客户端将具有更好的安全性,并将作为系统服务运行,但如有需要使用 GPU 进行计算,则必须取消选择该项。 | ||
+ | #*以下适用于 5.x 系列客户端 | ||
+ | ##和 6.x 系列不同,5.x 系列的所有数据都保存在同一个目录下,并且没有 Protected application execution 选项,但用户仍可指定是否将客户端安装为系统服务,如果要安装为系统服务的话需要用户提供操作系统的管理帐户信息。5.x 系列对 Windows Vista/2008/7 的兼容性相对较差,如无特殊要求,建议使用更新的 6.x 系列客户端。 | ||
+ | ##如果需要经常在不同主机间转移 BOINC 客户端,使用 5.x 系列将更为方便。 | ||
+ | #安装操作完成后,安装程序将自动运行客户端的管理界面,且缺省使用的是客户端的[[BOINC:%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B#.E7.AE.80.E6.98.93.E8.A7.86.E5.9B.BE|简易视图]],同时会显示“加入项目”的向导对话框,直接点击取消即可,稍后我们再通过统一的步骤来加入项目。 | ||
+ | |||
+ | ===卸载=== | ||
+ | #依次点击“开始菜单->控制面板”,运行其中的“添加/删除程序”,找到 BOINC,点击右边的“卸载”按钮,根据提示完成卸载即可。 | ||
+ | #卸载操作完成后,BOINC 客户端运行过程中产生的数据还是保存在计算机上的,一般占用的空间不大,建议保留。 | ||
+ | <br> | ||
+ | ===重装或升级=== | ||
+ | #如在卸载客户端后想要重新安装,请直接运行客户端的安装程序,并使用原有的安装路径,安装程序将自动进行覆盖安装,如果在卸载之后没有手动删除过运行数据,这些数据将不会丢失。 | ||
+ | #如要将客户端升级至更新的推荐版本,请直接运行新的客户端安装程序,根据提示(一般按缺省设置就即可)进行安装,安装程序将自动进行覆盖安装,所有运行数据将不会丢失。 | ||
+ | <br> | ||
+ | [[Image:Boinc_choose_project.PNG|thumb|right|300px|选择一个项目,使用[[#BOINC 统计、签名网站|账户管理器]]更为简便]] | ||
+ | |||
+ | ==在 Linux/BSD 发行版上安装== | ||
+ | Debian(包括Ubuntu、Linux Mint等衍生发行版)用户,可以在软件中心搜索BOINC下载安装,或者运行如下命令进行命令行安装: | ||
+ | sudo apt-get install boinc | ||
+ | 如果需要图形化管理界面,则: | ||
+ | sudo apt-get install boinc-manager | ||
+ | |||
+ | 在 FreeBSD 12 发行版的安装命令如下: | ||
+ | pkg install boinc-client | ||
+ | 输入Y,回车。 | ||
− | |||
− | + | 然后系统会自动补给相关的应用程序依赖,进行安装。 | |
+ | 然后就能够从开始菜单内找到BOINC了。 | ||
− | + | 类似地,CentOS、Fedora 等 RPM 系发行版的用户可使用 yum install 或 dnf install;ArchLinux 用户可使用 pacman -S 替代 apt-get 来安装 BOINC。 | |
− | + | 对于在 Linux 环境的详细安装和配置,可以参考 [https://boinc.berkeley.edu/wiki/Installing_BOINC#Linux BOINC官方介绍] 或者 [https://wiki.archlinux.org/index.php/BOINC_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) ArchWiki上的BOINC页面]。 | |
− | # | ||
− | |||
− | |||
− | |||
− | |||
− | |||
==加入 BOINC 平台上的分布式计算项目== | ==加入 BOINC 平台上的分布式计算项目== | ||
− | |||
说明: | 说明: | ||
*BOINC 只是计算平台,该平台的各个计算项目的服务器和运行数据都是各个项目方独立维护的,因此,对于您要加入的每个项目,您都需要分别进行注册 | *BOINC 只是计算平台,该平台的各个计算项目的服务器和运行数据都是各个项目方独立维护的,因此,对于您要加入的每个项目,您都需要分别进行注册 | ||
第23行: | 第63行: | ||
加入项目的步骤: | 加入项目的步骤: | ||
− | #点击 Add Project | + | #点击 Add Project 按钮(如当前使用的是客户端的高级视图,请依次点击菜单中的“工具->加入项目”) |
− | # | + | #客户端将显示一个项目列表窗口 |
− | # | + | #在列表中找到您想要加入的项目,单击选中后,再点击下一步 |
#之后根据您是否已加入过这个项目,分为两种情况: | #之后根据您是否已加入过这个项目,分为两种情况: | ||
[[Image:Boinc_reg_or_login.PNG|thumb|right|300px|注册新帐户或者登录现有帐户]] | [[Image:Boinc_reg_or_login.PNG|thumb|right|300px|注册新帐户或者登录现有帐户]] | ||
− | |||
初次加入的项目: | 初次加入的项目: | ||
选择“没有,我是新用户” | 选择“没有,我是新用户” | ||
− | + | 输入电子邮件地址(作为用户 ID) | |
设定帐户密码(不是电子邮件的密码) | 设定帐户密码(不是电子邮件的密码) | ||
第43行: | 第82行: | ||
*如显示其它错误提示信息,请根据情况进行处理。 | *如显示其它错误提示信息,请根据情况进行处理。 | ||
− | + | 加入项目后,任务单元的下载、计算和上传都将是自动完成的,一般都不需要用户的手动干预,您大可不必去理会它:) | |
+ | <br><br> | ||
+ | ==BOINC 客户端界面说明== | ||
+ | 客户端主要包括前端管理界面(窗口名为 [[BOINC:BOINC Manager|BOINC Manager]],程序名为 boincmgr.exe)和后端调度程序(无窗口,程序名为 boinc.exe),用户需要使用到的只是 BOINC Manager。 | ||
− | + | BOINC Manager 提供了多种使用界面给用户,本文主要介绍其中的[[BOINC:%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B#.E7.AE.80.E6.98.93.E8.A7.86.E5.9B.BE|简易视图]]和[[BOINC:%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B#.E9.AB.98.E7.BA.A7.E8.A7.86.E5.9B.BE|高级视图]],两种视图可通过使用界面中的按钮或菜单互相切换。 | |
− | === | + | <br><br> |
− | === | + | [[Image:Boinc_simpleview.PNG|thumb|right|240px|客户端的简易视图]] |
+ | ===简易视图=== | ||
+ | 简易视图适用于一般用户,使用界面相对高级视图要更为简洁、漂亮,其中由上到下主要包括如下内容: | ||
+ | ;选项卡 : 可用于在当前运行的任务单元间进行切换。 | ||
+ | ;任务单元信息 : 可查看相应项目的图片(如果项目有屏保图形,可点击查看)、任务单元的计算进展情况。 | ||
+ | ;我的项目 : 显示该客户端所有已加入的项目,以图标形式来显示,点击项目图标,将弹出该项目的功能菜单,另外右上角的Add Project 按钮可用来加入新的项目。 | ||
+ | ;功能按钮 : Messages 用于查看客户端的日志消息,Pause 用于暂停客户端的计算,Preference 用于客户端的本地参数设置(可配置的选项较少,完整的本地参加设置请通过高级界面来访问),Advanced View 用于切换至客户端的高级视图。 | ||
+ | <br> | ||
+ | ===高级视图=== | ||
+ | 高级视图下用户可对客户端进行更全面的运行情况查看和参数设置。 | ||
+ | <br><br> | ||
+ | [[Image:Boinc_advancedview.PNG|thumb|right|300px|客户端的高级视图]] | ||
====选项卡==== | ====选项卡==== | ||
− | ;项目 : 本计算机参加的项目列表,在项目中的帐户名称,加入的团队,总积分,近期平均积分,资源分享率。 | + | 高级视图下的窗体主要由六个选项卡页面组成,各个选项卡页面以表格或图表的形式显示客户端的运行情况,随着选项卡页面的切换,窗体左边的命令按钮也相应更新,可用于执行选项卡页面相关联的操作(鼠标移上的时候会有操作内容的详细提示)。 |
− | ;任务 : | + | ;项目 : 本计算机参加的项目列表,在项目中的帐户名称,加入的团队,总积分,近期平均积分,资源分享率。<br>通过命令按钮可更新、暂停、重置或退出当前选择的项目,也可设置是否允许下载该项目的新任务单元。 |
− | ;网络传输 : 当前的网络传输列表,大多时候这个页面是没有内容的。 | + | ;任务 : 当前正在处理的任务单元列表,可以看到耗费的 CPU 时间,计算进度等信息。普通计算机只能同时运行一到两个任务,其它任务处于等待状态,客户端会在各个任务单元间按用户的设置来调配计算资源。<br>通过命令按钮可以暂停或中止当前选择的任务单元,如相应项目有屏保图形,也可通过命令按钮来显示。 |
− | ;消息 : 相当于是程序的日志,可以看到很多详细的运行期信息,出错的时候多看看这里:) | + | ;网络传输 : 当前的网络传输列表,大多时候这个页面是没有内容的。<br>通过命令按钮可重试失败的网络传输、中止当前选择的网络传输(一般会导致任务单元出错,谨慎!) |
− | ;统计 : 统计信息,程序运行个几天后就可以看到一些关于你的工作量的统计图表了。 | + | ;消息 : 相当于是程序的日志,可以看到很多详细的运行期信息,出错的时候多看看这里:)<br>通过命令按钮可将消息复制出来,可粘贴到论坛主题中,用于求助、讨论。 |
− | ;磁盘 : 各个项目在本机中所占用的磁盘空间列表。 | + | ;统计 : 统计信息,程序运行个几天后就可以看到一些关于你的工作量的统计图表了。<br>通过命令按钮在切换统计信息的显示方式。 |
− | ==== | + | ;磁盘 : 各个项目在本机中所占用的磁盘空间列表。<br>此页仅查看,无命令按钮可用。 |
+ | <br> | ||
+ | ====菜单功能==== | ||
;文件 : 关闭窗口、退出 BOINC Manager。 | ;文件 : 关闭窗口、退出 BOINC Manager。 | ||
;视图 : 简易视图、高级视图间的切换 | ;视图 : 简易视图、高级视图间的切换 | ||
− | ;工具 : | + | ;工具 : 加入项目、加入[[BOINC:帐户管理器|帐户管理器]]。 |
;活动 : 切换客户端对处理器及网络的使用状态。 | ;活动 : 切换客户端对处理器及网络的使用状态。 | ||
− | ;高级 : | + | ;高级 : 参数设置、远程管理、基准测试等。 |
;帮助 : 访问官方帮助页面,查看版本信息等。 | ;帮助 : 访问官方帮助页面,查看版本信息等。 | ||
+ | <br> | ||
====系统图标==== | ====系统图标==== | ||
− | + | 用鼠标右键点击该图标,主要功能有: | |
+ | *打开 BOINC Manager 程序界面(也可以左键双击打开) | ||
+ | *休息一下(暂停客户端计算一小时) | ||
+ | *查看版本信息等。 | ||
+ | <br> | ||
+ | ==BOINC 本地参数设置和客户端选项== | ||
+ | ===BOINC 本地参数设置=== | ||
+ | ====简易视图==== | ||
+ | 简易视图下的参数设置数量较少,点击界面下文的“Preferences”即可进入。主要功能有: | ||
+ | *切换简易视图的皮肤(缺省只有一个皮肤,不可更换,需用户自行下载更多的皮肤) | ||
+ | *设置可以计算的时间段和可以使用网络的时间段 | ||
+ | *设置对磁盘空间和处理器的使用情况 | ||
+ | *设置是否在电池供电时仍进行计算(对笔记本电脑有效) | ||
+ | <br> | ||
+ | [[Image:New_Boinc_localsetting.png|thumb|right|240px|客户端的本地参数设置]] | ||
+ | |||
+ | ====高级视图==== | ||
+ | 高级视图下的参数设置数量较多,依次点击菜单中的“高级->本地参数设置”即可进入。客户端的本地参数设置仅应用于当前计算机,而且优先级高于项目网站上的设置(将在本文“项目网站”一节中讲到),包括如下三部分内容: | ||
+ | *处理器使用,主要设置:是否在使用计算机时进行计算,是否在电池供电时进行计算(笔记本),最多可使用计算机多少比例的处理器数量,最多可使用多少比例的处理器资源,每天可以进行计算的时间段等。 | ||
+ | *网络使用,主要设置:额外的任务缓存(可用于在客户端下载更多的任务单元),每天可以使用网络的时间段等。 | ||
+ | *磁盘和内存使用,主要设置:内存使用(缺省的比例设置比较低,如果内存够用,可适当调高,以免部分项目因内存不够用而无法完成计算),计算程序暂停时驻留在内存(为避免浪费计算时间,务必选择)等。 | ||
+ | <br> | ||
+ | |||
+ | ===客户端选项=== | ||
+ | 客户端选项只可在高级视图下进行操作,依次点击菜单中的“高级->选项”即可进入。主要功能有: | ||
+ | *设置客户端的界面语言(需要重新运行 BOINC Manager 才能生效) | ||
+ | *设置客户端访问网络的代理服务器(仅在需要时设置,支持 HTTP 代理和 SOCKS 代理) | ||
+ | <br> | ||
+ | ==基于 BOINC 平台的项目网站== | ||
+ | BOINC 平台本身做为一个研究项目,有其自身的网站,主要用于平台程序(包括服务端及客户端)的发布,并提供相关的开发和使用文档。而每个基于 BOINC 平台的计算项目,也有各自的项目网站,运行于项目自己的服务器上。项目网站可完成帐户信息维护、团队管理、参数设置这几方面的任务。本节内容仅针对后者进行说明。 | ||
+ | <br><br> | ||
+ | ====帐户基本信息维护==== | ||
+ | 帐户信息主要有:用户名(即显示在客户端和统计网站上的用户名称)、电子邮件地址、所属国家或地区、网址等。 | ||
− | + | 帐户信息在项目的个人页面进行维护,其网址一般是在主页地址后面加上 /home.php,比如: | |
− | |||
− | |||
− | |||
SETI@home: http://setiathome.berkeley.edu/home.php | SETI@home: http://setiathome.berkeley.edu/home.php | ||
Einstein@home: http://einstein.phys.uwm.edu/home.php | Einstein@home: http://einstein.phys.uwm.edu/home.php | ||
+ | 也可直接从项目主页上点击“您的帐户”或是“Your Account”来访问,初次进入该页面需要输入该项目的注册帐户信息(电子邮件地址及项目的注册密码),如果输入的时候同时选择保存登录信息的话以后就可以直接访问了。 | ||
+ | <br><br> | ||
+ | |||
+ | ====用户档案维护==== | ||
+ | 通过用户档案(Profile),用户可以和其他志愿者分享更多关于自己的情况介绍,比如兴趣爱好,对分布式计算项目的看法,等等。 | ||
+ | |||
+ | 项目网站每天会随机从所有填写了用户档案的用户中抽取一名,称之为[[BOINC:每日之星|每日之星(User of the day)]],并将其用户档案显示在项目网站的首页。 | ||
+ | <br><br> | ||
− | |||
====团队管理==== | ====团队管理==== | ||
− | + | 团队是由用户组成的群体,拥有团队名称、总积分等属性,用户可自由加入和退出。 | |
− | + | 加入团队对用户的积分没有任何影响,但加入团队后,用户所得到的新积分,用户所属的团队也能得到同样的积分,离开团队后或者换到其它团队,贡献给原团队的积分不带走。有一个例外是 [[CPDN]],该项目中用户的所有积分都是贡献给当前所在团队的,可以带着跑:) | |
+ | |||
+ | 本论坛各个 BOINC 项目的主力团队均为 [[Team China]],推荐大家加入。 | ||
+ | |||
+ | 加入团队的方法: | ||
+ | 在各个项目的官方网站都可以搜索相应项目的团队,进入团队的页面后,有个 Join(加入)的链接,点击后即可加入该团队(可能需要先进行登录)。而客户端在下一次与服务器通讯后即可正确显示用户的团队信息。 | ||
+ | <br><br> | ||
− | |||
====参数设置==== | ====参数设置==== | ||
+ | 客户端的本地参数设置,只能应用于所设置的计算机,而在网站上针对客户端进行的设置,会自动应用到所有客户端上,但其优先级是低于客户端的本地参数设置的。 | ||
+ | |||
+ | [[Image:Boinc_websetting.PNG|thumb|right|300px|项目网站上的参数设置]] | ||
+ | 同样是在上面提到的个人页面,在帐户信息下面的参数设置部分就是了,分为三个部分: | ||
+ | *计算参数设置,可在各个项目间通用的参数设置,同一台机器如果参加了多个项目,最后修改过通用参数的项目的通用参数将会被自动复制到机器上其它的项目,如果某台客户端进行了本地参数设置,刚在该台客户端上将忽略此处的设置 | ||
+ | *社区参数设置,针对项目的论坛的,仅对当前项目有效。 | ||
+ | *项目参数设置,针对这个项目的参数设置,也是仅对当前项目有效 | ||
+ | <br><br> | ||
+ | |||
+ | =====计算参数设置===== | ||
+ | 进入后有个 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)。 | ||
+ | **While processor usage is less than __ percent 如果 CPU 占用率高于指定值则暂停计算,0 表示不限制。{{New in|6.10.30}} | ||
+ | **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(位置)即可。 | |
− | + | <br><br> | |
− | |||
− | |||
− | + | =====社区参数设置===== | |
+ | 这部分主要设置项目短消息和项目留言板的参数。 | ||
− | + | *Notifications | |
+ | **How should we notify you of new private messages, friend requests, posts in subscribed threads, and other events? 方便的话可设置成电子邮件通知,可以更及时地收到 个人消息/好友请求/主题更新 等消息。 | ||
+ | *Message-board identity | ||
+ | **可以设置在项目留言板中的显示方式和签名档之类的,不详细解释了。 | ||
+ | <br><br> | ||
− | + | =====项目参数设置===== | |
+ | 有一个比较重要的是 Resource share(资源分享率),这里就是前面提到的分配 CPU 处理能力给各个项目的地方了。 | ||
− | + | * 如果你只参加一个项目,那不管怎么设置,CPU 都是全部分配给这个项目的。 | |
+ | * 如果你参加了两个项目,相应的 Resource share 分别是 100 和 50,则 CPU 的处理能力按 2:1 的比例调配给两个项目。 | ||
+ | * Resource share 的具体数字并不重要,重要的是其相互间的比例。 | ||
− | + | '''注意:从 6.10.36 版本开始,如果将项目的资源分享率设置为 0,即表示将该项目作为[[BOINC:备用项目|备用项目]]来运行。''' | |
− | |||
− | + | 另外一个参数(Should $项目名称$ show your computers on its web site?)可以设定是否允许其他用户看到你的计算机列表及软硬件配置情况,缺省是 yes,如果不希望给别人看到这些信息,请修改为 no。 | |
+ | <br><br> | ||
− | + | ==BOINC 的积分系统== | |
+ | 积分主要用来衡量用户贡献的多少,大多数分布式计算项目或平台均提供了特定的积分系统,比如 SETI@home 项目在迁移至 BOINC 前的积分方式是记录完成的任务单元的数量。 | ||
− | + | BOINC 平台也有自己独特的积分系统,因为在 BOINC 平台上可以运行的项目千差万别,比如项目 A 的[[任务单元]]在某台机器里需要 3 个小时完成,而项目 B 的计算包在这台机器里需要 30 个小时才能完成,或者项目 A 本身的任务包的完成时间就有一定的浮动范围,显然,用任务单元的数目来衡量用户贡献的计算量不再可行;类似的,机器性能也有差别,用完成任务单元所需的 CPU 时间来衡量工作量也是不行的。 | |
− | + | 作为一个通用的计算平台,BOINC 平台的积分系统必须通过一定的算法才能较为准确地记录用户实际完成的计算量。 | |
+ | <br><br> | ||
+ | ===原始的 BOINC 积分系统=== | ||
+ | BOINC 平台在发展前期采用的积分系统是综合下面几方面来完成的: | ||
+ | *对计算机性能的基准测试 | ||
+ | *完成任务单元所耗费的 CPU 时间 | ||
+ | *不同用户完成同一任务单元的情况 | ||
− | + | 具体地说,BOINC 客户端会定期地(一般是一周左右)在所运行的计算机上运行基准测试程序,对该计算机的整数及浮点计算能力做出一个评估。然后,客户端在完成分布式计算项目的任务单元后,也会记录下完成该任务单元所耗费的 CPU 时间。依据基准测试的结果和计算任务单元所用的时间,算出一个'''申请积分'''(Claimed Credit,具体算法见本站论坛中的[http://www.equn.com/forum/viewthread.php?tid=5383 这个主题]),并在向项目的服务器上报计算结果的同时提交该申请积分的数值。 | |
− | |||
− | + | 在大部分分布式计算项目中,项目服务端会将同一个任务包分发给多个用户进行计算,以保证计算结果的可靠性,BOINC 平台同样如此。对于同一个任务包,不同用户返回的计算结果中附带的'''申请积分'''一般都会各不相同,此时,项目的服务端一般会选取中间位置的'''申请积分'''做为最终的'''授予得分'''(Granted Credit)分别授予给完成这个任务单元的所有用户。 | |
− | + | 比如,对于 任务单元 X,用户甲、乙、丙都成功完成了该任务单元的计算,且申请积分分别是 9、11、12,则最终各个用户的得分都是 11 分。 | |
− | + | 但仍有部分分布式计算项目并不适用于这种冗余计算方式(比如一些蛋白质结构预测的项目),也就是说同一个任务单元只会分发给一位用户进行计算,在这种情况下,用户的申请积分就等于最终的授予积分了。 | |
+ | <br><br> | ||
+ | ===改进的 BOINC 积分系统=== | ||
+ | 原始的 BOINC 积分系统主要存在以下几方面的问题: | ||
+ | *基准测试不准,尤其是跨操作系统平台时,比如同一台计算机分别安装 Windows 版本客户端和 Linux 版本的客户端,做出的基准测试结果可能就相差比较大。 | ||
+ | *容易导致作弊,从发展之初,BOINC 平台就开放了服务端和客户端的全部源代码,如果用户下载了客户端的源代码,自行编译的过程中修改或优化原有的基准测试代码,就可能导致他自制的 BOINC 客户端的基准测试成绩大幅偏高。 | ||
+ | <br> | ||
+ | 由上述对积分系统计算申请积分的说明,基准测试成绩的变化,就会导致任务单元申请积分的相应变化。对于有冗余计算的项目,这将导致平均授予积分的小量增加,而对于没有冗余计算的项目,这将直接导致授予积分的相应提高。 | ||
− | + | 针对原始 BOINC 积分系统存在的问题,目前 BOINC 平台上的大部分主流计算项目(如 [[SETI@home]]、[[Einstein@Home]] 等)均采取了另外一种积分策略,在计算这些项目的任务单元时,客户端将不再根据自身基准测试的结果和完成任务单元所用的计算时间来计算申请积分的值,而是根据服务端预先指定的一个值作为申请积分,换句话说,也就是完成任务单元的计算所能得到的积分是由项目的服务端预先就决定好的。 | |
− | |||
− | |||
+ | 目前仍有部分主流项目和大部分非主流项目,或是由于其计算的特性(如涉及到蛋白质结构预测的项目 [[Rosetta@home]]),或是由于所需的工作量暂时超出项目方的能力范围,导致了还无法采用这种在服务端预先指定任务单元积分的方式,而仍采用了原始或是进行了小幅改良(此处不再详述)的 BOINC 积分系统。 | ||
+ | <br><br> | ||
==BOINC 统计、签名网站== | ==BOINC 统计、签名网站== | ||
+ | |||
+ | ====积分证书==== | ||
+ | |||
+ | 在登录每个项目的个人账户之后,即可查询用户在该项目的积分情况,并可分别获取:个人的积分证书、个人所在团队的积分证书、个人所有参与的 BOINC 项目合并统计证书。 | ||
+ | |||
+ | 如下图所示: | ||
+ | |||
+ | [[文件:跨项目积分证书.PNG|center|访问个人的 BOINC 积分合并统计证书]] | ||
+ | |||
+ | 同时,BOINC 作为一个通用计算平台,允许各个计算项目以统一的格式向外输出项目的运行信息,因此就有了一些专门收集这些运行信息并进行分析、统计的网站,可以跨项目的对用户、国家或地区、团队等进行综合的排名等,同时一般也提供了根据用户、团队的统计信息制作动态更新的签名图片的功能。 | ||
+ | |||
+ | 常用的统计网站有: | ||
+ | *[http://boincstats.com/cn/ BOINCstats] | ||
+ | *[http://boinc.netsoft-online.com/ BOINC Combined Statistics] | ||
+ | *[http://www.boincsynergy.com Free-DC] | ||
+ | *[https://boinc.berkeley.edu/cert_dev.php BOINC官方] | ||
+ | <br> | ||
+ | 本文重点介绍第一个即 BOINCstats,除统计功能齐全,还实现了 BOINC 平台的[[BOINC:帐户管理器|帐户管理器]](即 BAM!),另外,也提供了本地化接口,其简体中文版本一直是由本站在进行更新维护。其它几个网站的基本使用方法类似。 | ||
+ | <br><br> | ||
+ | [[Image:Boincstats.PNG|right]] | ||
===BOINCstats=== | ===BOINCstats=== | ||
+ | 该网站不需要注册用户也可以使用统计和签名的基本功能,但如要使用该网站的完整功能(比如对签名进行定制或者使用帐户管理器)就必须得注册用户了,注册用户时所需要的资料和注册 BOINC 平台上的计算项目相同,也是用户名称、电子邮件地址、注册密码,建议使用统一的注册信息。 | ||
+ | <br><br> | ||
+ | ====统计==== | ||
+ | 主页左边显示了所有 BOINC 平台的项目列表,点击任一项目,即可查看项目、用户、主机、团队、国家或地区等的排名。 | ||
+ | <br><br> | ||
+ | ====签名==== | ||
+ | ;注册用户 : 在该网站主页左上方的“BAM 菜单->BOINCstats”中即可查看、设置签名图片。 | ||
+ | ;未注册用户 : 按您使用的用户名称搜索,点击搜索结果右边的放大镜图标,可进入该用户的团队项目一览页面,可根据需要查看用户的合并统计或单独项目的详细信息,然后就可见到签名图片的网址了。<br>(可参考该网站上的“[http://boincstats.com/cn/page/faq#3 怎么创建我自己的签名图片?]”)。 | ||
+ | <br> | ||
+ | ====BAM!==== | ||
+ | 帐户管理器的使用详见[[BOINC:帐户管理器|帐户管理器]]页面。 | ||
+ | <br><br> | ||
+ | ====其它==== | ||
+ | 推荐阅读 [http://boincstats.com/cn/page/faq BOINCstats 常见问答]。 | ||
+ | <br><br> | ||
==BOINC 高级应用== | ==BOINC 高级应用== | ||
+ | [[Image:Boinc_selectcomputer.PNG|thumb|right|300px|选择计算机]] | ||
===远程管理=== | ===远程管理=== | ||
− | === | + | ====被管客户端==== |
+ | 客户端在安装完成后,即会在安装目录下生成 gui_rpc_auth.cfg,其中保存的就是用于远程管理的密码,可根据需要修改,修改后必须退出并重新运行整个客户端(如果是安装为服务模式的话,需要在“控制面板->管理工具->服务”中重启 BOINC服务,如果是一般模式安装的话,只要将 boincmgr.exe退出并重运行就可以。)。 | ||
+ | |||
+ | 但仅凭密码是无法远程管理的,必须是被管客户端设置成愿意被某些指定的远程客户端管理,方法: | ||
+ | |||
+ | 在被管客户端的安装目录下新建一个文本文件,取名为 remote_hosts.cfg,在其中设定允许从远端连接该客户端的主机IP地址或网络名(推荐前者),格式很简单,一行设定一台主机即可。 | ||
+ | |||
+ | 注意:被管机器如果安装并使用了软件防火墙,必须打开 31416 端口。在局域网——外网连接时,应使用NAT路由转发设置,并考虑使用静态IP或特定域名(例如.tk的免费域名)。如果没有使用静态IP或域名的条件,请尽量不要重设连接(例如重启路由器),以保证IP不变可以连接。 | ||
+ | <br><br> | ||
+ | |||
+ | ====管理客户端==== | ||
+ | 然后远程主机在 BOINC Manager 中选择菜单中的“高级->选择计算机...”,然后输入被管机器的 IP 地址及连接密码并点击确定就可以了。 | ||
+ | <br><br> | ||
+ | ===查看任务单元的完成情况=== | ||
+ | 客户端会自动完成任务单元的下载、计算和上传,但有时候我们仍希望知道任务单元的计算结果是否成功,方法如下: | ||
+ | [[Image:Boinc_results.PNG|frame|right|查看任务单元的完成情况]] | ||
+ | #访问项目网站的“您的帐户”(Your Account) | ||
+ | #点击“计算和积分情况”下“本帐户所属的计算机 查看 ”(Computers on this account View)的或者“任务 查看”(Tasks View),前者可以按您的计算机来分类查看(适合于计算机数量不止一台的情况),后者用于查看您近期完成的所有任务单元 | ||
+ | #查询结果以表格形式显示,如数量较多将分页进行显示,根据任务单元的下载(sent)或上报时间(Time reported)或任务单元名称(Work unit ID),找到你希望查询的任务单元 | ||
+ | #可重点查看的任务单元属性有: | ||
+ | ;OutComes:Success 表示计算完成,Unknown 表示没有收到客户端返回的结果,Client Error 表示计算过程出错,Validate Error 表示结果验证错误 | ||
+ | ;Client stats:New 表示还在计算中,Done 表示已计算完成 | ||
+ | ;CPU Time:表示计算该任务单元所耗费的 CPU 时间 | ||
+ | ;claimed credit:客户端为该任务单元申请的积分 | ||
+ | ;granted credit:服务端授予该任务单元的积分,如显示 pending 表示任务包还未完成验证。 | ||
+ | <br> | ||
+ | ===客户端核心配置文件=== | ||
+ | 关于 BOINC 平台的参数设置,一般用户需要用到的主要是本文前面部分已经讲述的两类,即客户端的本地参数设置和项目网站的各类参数设置,此外,用户还可以通过在客户端的目录下编辑一个指定的配置文件(cc_config.xml),来对客户端的日志输出、并发文件传输数量等行为参数进行细微的控制,这部分控制功能主要面对高级用户,一般用户请勿随意使用,以免错误的配置导致客户端无法正常运行!如果用户希望了解这方面的功能,请阅读 [[BOINC:客户端配置|BOINC 的客户端配置]]。 | ||
+ | <br><br> | ||
+ | |||
+ | ==参考资料== | ||
+ | #本站论坛的“[http://www.equn.com/forum/viewthread.php?tid=10452 BOINC 5.x 新手指南]” | ||
+ | #本站论坛的“[http://www.equn.com/forum/viewthread.php?tid=8933 BOINC 中的远程管理及用户认证]” | ||
+ | <br> | ||
+ | ==相关链接== | ||
+ | #使用中遇到问题请阅读 [[BOINC:常见问题解决|BOINC 常见问题解决]],一般性的问题请阅读 [[BOINC:常见问答|BOINC 常见问答]],仍然无法解决的问题请访问 本站论坛的 [http://www.equn.com/forum/forum-11-1.html BOINC 平台讨论区],并提出您的问题。 | ||
+ | #本站论坛的“ [http://www.equn.com/forum/thread-16180-1-1.html BOINC 教程(介绍&答疑&安装&设置)资料大汇集]”。 | ||
+ | #Linux 平台的用户推荐阅读本站论坛的“[http://www.equn.com/forum/viewthread.php?tid=18667 BOINC 6.x Linux 新手指南 (Ubuntu, 更新于08/06/25)]”和“[http://www.equn.com/forum/viewthread.php?tid=11490 BOINC 5.x Linux 新手指南 (更新于2007/9/4) ]”。 | ||
+ | #FreeBSD 平台的用户推荐阅读本站论坛的“[http://www.equn.com/forum/viewthread.php?tid=20165 FreeBSD 7.0 运行 BOINC - WCG]”(文章以 WCG 项目为例)。 | ||
+ | #如果您发现本文内容有任何错误,请访问本站论坛的“[http://www.equn.com/forum/forum-42-1.html Wiki 系统讨论区]”,并告诉我们您发现的错误。 |
2022年8月1日 (一) 10:25的最新版本
BOINC 使用教程
本文主要讲述 BOINC 客户端的安装及使用方法,也包括项目网站的用途,客户端的安装使用针对 Windows 平台的用户,Linux、Mac、FreeBSD 等平台的用户请阅读论坛中的相关主题。
BOINC 概述
BOINC 是一个计算平台,对我们志愿者来说,它提供了一个统一的客户端程序,这个客户端本身并不进行实际的计算工作,只是提供了管理功能,在你加入了 BOINC 平台上的计算项目后,客户端程序将自动下载新的任务单元,并调用相应项目的计算程序进行计算,如果参加了多个项目,它将自动在各个项目间按用户的设定来调配计算资源,在计算完成时,它还将自动地将计算结果上传,并同时取得新的计算单元。
下载和安装 BOINC 客户端
下载
- 在浏览器中打开:http://boinc.berkeley.edu/download.php (如果不能访问,请点击页面上方的“程序下载”自行选择系统进行下载。)
- 该页面将根据您的计算机平台自动显示相应版本的客户端软件,点击“下载 BOINC”,将其下载至本地计算机
- 如果您需要的不是自动显示的版本,请点击“所有版本”,进入完整的下载列表页面,该页面根据操作系统平台分类,每个类别一般都包含有 Development version(开发版本,)、Recommended version(推荐版本)和 Older version(旧的推荐版本),一般建议使用 Recommended version(推荐版本)。
- 如果需要通过可以上网的计算机来转移数据(参见:http://www.equn.com/forum/viewthread.php?tid=20121&page=2#pid267439 ),推荐使用5系列的版本(如5.10.45等),但这样做会无法加入利用显卡进行计算的项目。
安装
- 运行下载好的 BOINC 安装文件,其名称应该类似于 boinc_x.y.z_windows_intelx86.exe,其中的 x.y.z 为软件版本号,windows 和 intelx86 为计算机平台的标识。
- 安装程序启动后,一般用户按照缺省的设置进行安装即可。
- 以下适用于 6.x 系列客户端
- 出于安全性的考虑,客户端将会安装至计算机的两个文件夹(在 BOINC Configuration 这一步显示),客户端自身的程序文件(Program directory,程序目录)和客户端的运行数据(Data directory,包括将要下载的计算项目程序及数据)是分开保存的,可根据您的需要在点击 Advanced(高级)按钮后对这两个文件夹的位置进行定制。
- 关于 Protected application execution,如选中该项后进行安装,客户端将具有更好的安全性,并将作为系统服务运行,但如有需要使用 GPU 进行计算,则必须取消选择该项。
- 以下适用于 5.x 系列客户端
- 和 6.x 系列不同,5.x 系列的所有数据都保存在同一个目录下,并且没有 Protected application execution 选项,但用户仍可指定是否将客户端安装为系统服务,如果要安装为系统服务的话需要用户提供操作系统的管理帐户信息。5.x 系列对 Windows Vista/2008/7 的兼容性相对较差,如无特殊要求,建议使用更新的 6.x 系列客户端。
- 如果需要经常在不同主机间转移 BOINC 客户端,使用 5.x 系列将更为方便。
- 安装操作完成后,安装程序将自动运行客户端的管理界面,且缺省使用的是客户端的简易视图,同时会显示“加入项目”的向导对话框,直接点击取消即可,稍后我们再通过统一的步骤来加入项目。
卸载
- 依次点击“开始菜单->控制面板”,运行其中的“添加/删除程序”,找到 BOINC,点击右边的“卸载”按钮,根据提示完成卸载即可。
- 卸载操作完成后,BOINC 客户端运行过程中产生的数据还是保存在计算机上的,一般占用的空间不大,建议保留。
重装或升级
- 如在卸载客户端后想要重新安装,请直接运行客户端的安装程序,并使用原有的安装路径,安装程序将自动进行覆盖安装,如果在卸载之后没有手动删除过运行数据,这些数据将不会丢失。
- 如要将客户端升级至更新的推荐版本,请直接运行新的客户端安装程序,根据提示(一般按缺省设置就即可)进行安装,安装程序将自动进行覆盖安装,所有运行数据将不会丢失。
在 Linux/BSD 发行版上安装
Debian(包括Ubuntu、Linux Mint等衍生发行版)用户,可以在软件中心搜索BOINC下载安装,或者运行如下命令进行命令行安装:
sudo apt-get install boinc
如果需要图形化管理界面,则:
sudo apt-get install boinc-manager
在 FreeBSD 12 发行版的安装命令如下:
pkg install boinc-client
输入Y,回车。
然后系统会自动补给相关的应用程序依赖,进行安装。
然后就能够从开始菜单内找到BOINC了。
类似地,CentOS、Fedora 等 RPM 系发行版的用户可使用 yum install 或 dnf install;ArchLinux 用户可使用 pacman -S 替代 apt-get 来安装 BOINC。
对于在 Linux 环境的详细安装和配置,可以参考 BOINC官方介绍 或者 ArchWiki上的BOINC页面。
加入 BOINC 平台上的分布式计算项目
说明:
- BOINC 只是计算平台,该平台的各个计算项目的服务器和运行数据都是各个项目方独立维护的,因此,对于您要加入的每个项目,您都需要分别进行注册
- 对于任何一个项目,您可以在多台计算机上使用这个项目的同一个帐户进行计算
- 建议在所有的项目中都使用相同的注册信息,方便管理
加入项目的步骤:
- 点击 Add Project 按钮(如当前使用的是客户端的高级视图,请依次点击菜单中的“工具->加入项目”)
- 客户端将显示一个项目列表窗口
- 在列表中找到您想要加入的项目,单击选中后,再点击下一步
- 之后根据您是否已加入过这个项目,分为两种情况:
初次加入的项目: 选择“没有,我是新用户” 输入电子邮件地址(作为用户 ID) 设定帐户密码(不是电子邮件的密码)
已注册过的项目: 选择“是的,我已经注册过了” 输入之前注册时所用的电子邮件地址和设定的帐户密码。
点击下一步后,客户端将与项目的服务端进行通讯
- 如显示“已加入到项目”,即表示你已经成功在这台计算机上加入该项目。
- 如显示其它错误提示信息,请根据情况进行处理。
加入项目后,任务单元的下载、计算和上传都将是自动完成的,一般都不需要用户的手动干预,您大可不必去理会它:)
BOINC 客户端界面说明
客户端主要包括前端管理界面(窗口名为 BOINC Manager,程序名为 boincmgr.exe)和后端调度程序(无窗口,程序名为 boinc.exe),用户需要使用到的只是 BOINC Manager。
BOINC Manager 提供了多种使用界面给用户,本文主要介绍其中的简易视图和高级视图,两种视图可通过使用界面中的按钮或菜单互相切换。
简易视图
简易视图适用于一般用户,使用界面相对高级视图要更为简洁、漂亮,其中由上到下主要包括如下内容:
- 选项卡
- 可用于在当前运行的任务单元间进行切换。
- 任务单元信息
- 可查看相应项目的图片(如果项目有屏保图形,可点击查看)、任务单元的计算进展情况。
- 我的项目
- 显示该客户端所有已加入的项目,以图标形式来显示,点击项目图标,将弹出该项目的功能菜单,另外右上角的Add Project 按钮可用来加入新的项目。
- 功能按钮
- Messages 用于查看客户端的日志消息,Pause 用于暂停客户端的计算,Preference 用于客户端的本地参数设置(可配置的选项较少,完整的本地参加设置请通过高级界面来访问),Advanced View 用于切换至客户端的高级视图。
高级视图
高级视图下用户可对客户端进行更全面的运行情况查看和参数设置。
选项卡
高级视图下的窗体主要由六个选项卡页面组成,各个选项卡页面以表格或图表的形式显示客户端的运行情况,随着选项卡页面的切换,窗体左边的命令按钮也相应更新,可用于执行选项卡页面相关联的操作(鼠标移上的时候会有操作内容的详细提示)。
- 项目
- 本计算机参加的项目列表,在项目中的帐户名称,加入的团队,总积分,近期平均积分,资源分享率。
通过命令按钮可更新、暂停、重置或退出当前选择的项目,也可设置是否允许下载该项目的新任务单元。 - 任务
- 当前正在处理的任务单元列表,可以看到耗费的 CPU 时间,计算进度等信息。普通计算机只能同时运行一到两个任务,其它任务处于等待状态,客户端会在各个任务单元间按用户的设置来调配计算资源。
通过命令按钮可以暂停或中止当前选择的任务单元,如相应项目有屏保图形,也可通过命令按钮来显示。 - 网络传输
- 当前的网络传输列表,大多时候这个页面是没有内容的。
通过命令按钮可重试失败的网络传输、中止当前选择的网络传输(一般会导致任务单元出错,谨慎!) - 消息
- 相当于是程序的日志,可以看到很多详细的运行期信息,出错的时候多看看这里:)
通过命令按钮可将消息复制出来,可粘贴到论坛主题中,用于求助、讨论。 - 统计
- 统计信息,程序运行个几天后就可以看到一些关于你的工作量的统计图表了。
通过命令按钮在切换统计信息的显示方式。 - 磁盘
- 各个项目在本机中所占用的磁盘空间列表。
此页仅查看,无命令按钮可用。
菜单功能
- 文件
- 关闭窗口、退出 BOINC Manager。
- 视图
- 简易视图、高级视图间的切换
- 工具
- 加入项目、加入帐户管理器。
- 活动
- 切换客户端对处理器及网络的使用状态。
- 高级
- 参数设置、远程管理、基准测试等。
- 帮助
- 访问官方帮助页面,查看版本信息等。
系统图标
用鼠标右键点击该图标,主要功能有:
- 打开 BOINC Manager 程序界面(也可以左键双击打开)
- 休息一下(暂停客户端计算一小时)
- 查看版本信息等。
BOINC 本地参数设置和客户端选项
BOINC 本地参数设置
简易视图
简易视图下的参数设置数量较少,点击界面下文的“Preferences”即可进入。主要功能有:
- 切换简易视图的皮肤(缺省只有一个皮肤,不可更换,需用户自行下载更多的皮肤)
- 设置可以计算的时间段和可以使用网络的时间段
- 设置对磁盘空间和处理器的使用情况
- 设置是否在电池供电时仍进行计算(对笔记本电脑有效)
高级视图
高级视图下的参数设置数量较多,依次点击菜单中的“高级->本地参数设置”即可进入。客户端的本地参数设置仅应用于当前计算机,而且优先级高于项目网站上的设置(将在本文“项目网站”一节中讲到),包括如下三部分内容:
- 处理器使用,主要设置:是否在使用计算机时进行计算,是否在电池供电时进行计算(笔记本),最多可使用计算机多少比例的处理器数量,最多可使用多少比例的处理器资源,每天可以进行计算的时间段等。
- 网络使用,主要设置:额外的任务缓存(可用于在客户端下载更多的任务单元),每天可以使用网络的时间段等。
- 磁盘和内存使用,主要设置:内存使用(缺省的比例设置比较低,如果内存够用,可适当调高,以免部分项目因内存不够用而无法完成计算),计算程序暂停时驻留在内存(为避免浪费计算时间,务必选择)等。
客户端选项
客户端选项只可在高级视图下进行操作,依次点击菜单中的“高级->选项”即可进入。主要功能有:
- 设置客户端的界面语言(需要重新运行 BOINC Manager 才能生效)
- 设置客户端访问网络的代理服务器(仅在需要时设置,支持 HTTP 代理和 SOCKS 代理)
基于 BOINC 平台的项目网站
BOINC 平台本身做为一个研究项目,有其自身的网站,主要用于平台程序(包括服务端及客户端)的发布,并提供相关的开发和使用文档。而每个基于 BOINC 平台的计算项目,也有各自的项目网站,运行于项目自己的服务器上。项目网站可完成帐户信息维护、团队管理、参数设置这几方面的任务。本节内容仅针对后者进行说明。
帐户基本信息维护
帐户信息主要有:用户名(即显示在客户端和统计网站上的用户名称)、电子邮件地址、所属国家或地区、网址等。
帐户信息在项目的个人页面进行维护,其网址一般是在主页地址后面加上 /home.php,比如:
SETI@home: http://setiathome.berkeley.edu/home.php Einstein@home: http://einstein.phys.uwm.edu/home.php
也可直接从项目主页上点击“您的帐户”或是“Your Account”来访问,初次进入该页面需要输入该项目的注册帐户信息(电子邮件地址及项目的注册密码),如果输入的时候同时选择保存登录信息的话以后就可以直接访问了。
用户档案维护
通过用户档案(Profile),用户可以和其他志愿者分享更多关于自己的情况介绍,比如兴趣爱好,对分布式计算项目的看法,等等。
项目网站每天会随机从所有填写了用户档案的用户中抽取一名,称之为每日之星(User of the day),并将其用户档案显示在项目网站的首页。
团队管理
团队是由用户组成的群体,拥有团队名称、总积分等属性,用户可自由加入和退出。
加入团队对用户的积分没有任何影响,但加入团队后,用户所得到的新积分,用户所属的团队也能得到同样的积分,离开团队后或者换到其它团队,贡献给原团队的积分不带走。有一个例外是 CPDN,该项目中用户的所有积分都是贡献给当前所在团队的,可以带着跑:)
本论坛各个 BOINC 项目的主力团队均为 Team China,推荐大家加入。
加入团队的方法:
在各个项目的官方网站都可以搜索相应项目的团队,进入团队的页面后,有个 Join(加入)的链接,点击后即可加入该团队(可能需要先进行登录)。而客户端在下一次与服务器通讯后即可正确显示用户的团队信息。
参数设置
客户端的本地参数设置,只能应用于所设置的计算机,而在网站上针对客户端进行的设置,会自动应用到所有客户端上,但其优先级是低于客户端的本地参数设置的。
同样是在上面提到的个人页面,在帐户信息下面的参数设置部分就是了,分为三个部分:
- 计算参数设置,可在各个项目间通用的参数设置,同一台机器如果参加了多个项目,最后修改过通用参数的项目的通用参数将会被自动复制到机器上其它的项目,如果某台客户端进行了本地参数设置,刚在该台客户端上将忽略此处的设置
- 社区参数设置,针对项目的论坛的,仅对当前项目有效。
- 项目参数设置,针对这个项目的参数设置,也是仅对当前项目有效
计算参数设置
进入后有个 default(缺省)的配置方案,里面大部分设置缺省就可以了,有几项可能需要进行修改的(内容和客户端的本地参数设置类似):
- Processor usage(处理器使用)
- 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 的具体数字并不重要,重要的是其相互间的比例。
注意:从 6.10.36 版本开始,如果将项目的资源分享率设置为 0,即表示将该项目作为备用项目来运行。
另外一个参数(Should $项目名称$ show your computers on its web site?)可以设定是否允许其他用户看到你的计算机列表及软硬件配置情况,缺省是 yes,如果不希望给别人看到这些信息,请修改为 no。
BOINC 的积分系统
积分主要用来衡量用户贡献的多少,大多数分布式计算项目或平台均提供了特定的积分系统,比如 SETI@home 项目在迁移至 BOINC 前的积分方式是记录完成的任务单元的数量。
BOINC 平台也有自己独特的积分系统,因为在 BOINC 平台上可以运行的项目千差万别,比如项目 A 的任务单元在某台机器里需要 3 个小时完成,而项目 B 的计算包在这台机器里需要 30 个小时才能完成,或者项目 A 本身的任务包的完成时间就有一定的浮动范围,显然,用任务单元的数目来衡量用户贡献的计算量不再可行;类似的,机器性能也有差别,用完成任务单元所需的 CPU 时间来衡量工作量也是不行的。
作为一个通用的计算平台,BOINC 平台的积分系统必须通过一定的算法才能较为准确地记录用户实际完成的计算量。
原始的 BOINC 积分系统
BOINC 平台在发展前期采用的积分系统是综合下面几方面来完成的:
- 对计算机性能的基准测试
- 完成任务单元所耗费的 CPU 时间
- 不同用户完成同一任务单元的情况
具体地说,BOINC 客户端会定期地(一般是一周左右)在所运行的计算机上运行基准测试程序,对该计算机的整数及浮点计算能力做出一个评估。然后,客户端在完成分布式计算项目的任务单元后,也会记录下完成该任务单元所耗费的 CPU 时间。依据基准测试的结果和计算任务单元所用的时间,算出一个申请积分(Claimed Credit,具体算法见本站论坛中的这个主题),并在向项目的服务器上报计算结果的同时提交该申请积分的数值。
在大部分分布式计算项目中,项目服务端会将同一个任务包分发给多个用户进行计算,以保证计算结果的可靠性,BOINC 平台同样如此。对于同一个任务包,不同用户返回的计算结果中附带的申请积分一般都会各不相同,此时,项目的服务端一般会选取中间位置的申请积分做为最终的授予得分(Granted Credit)分别授予给完成这个任务单元的所有用户。
比如,对于 任务单元 X,用户甲、乙、丙都成功完成了该任务单元的计算,且申请积分分别是 9、11、12,则最终各个用户的得分都是 11 分。
但仍有部分分布式计算项目并不适用于这种冗余计算方式(比如一些蛋白质结构预测的项目),也就是说同一个任务单元只会分发给一位用户进行计算,在这种情况下,用户的申请积分就等于最终的授予积分了。
改进的 BOINC 积分系统
原始的 BOINC 积分系统主要存在以下几方面的问题:
- 基准测试不准,尤其是跨操作系统平台时,比如同一台计算机分别安装 Windows 版本客户端和 Linux 版本的客户端,做出的基准测试结果可能就相差比较大。
- 容易导致作弊,从发展之初,BOINC 平台就开放了服务端和客户端的全部源代码,如果用户下载了客户端的源代码,自行编译的过程中修改或优化原有的基准测试代码,就可能导致他自制的 BOINC 客户端的基准测试成绩大幅偏高。
由上述对积分系统计算申请积分的说明,基准测试成绩的变化,就会导致任务单元申请积分的相应变化。对于有冗余计算的项目,这将导致平均授予积分的小量增加,而对于没有冗余计算的项目,这将直接导致授予积分的相应提高。
针对原始 BOINC 积分系统存在的问题,目前 BOINC 平台上的大部分主流计算项目(如 SETI@home、Einstein@Home 等)均采取了另外一种积分策略,在计算这些项目的任务单元时,客户端将不再根据自身基准测试的结果和完成任务单元所用的计算时间来计算申请积分的值,而是根据服务端预先指定的一个值作为申请积分,换句话说,也就是完成任务单元的计算所能得到的积分是由项目的服务端预先就决定好的。
目前仍有部分主流项目和大部分非主流项目,或是由于其计算的特性(如涉及到蛋白质结构预测的项目 Rosetta@home),或是由于所需的工作量暂时超出项目方的能力范围,导致了还无法采用这种在服务端预先指定任务单元积分的方式,而仍采用了原始或是进行了小幅改良(此处不再详述)的 BOINC 积分系统。
BOINC 统计、签名网站
积分证书
在登录每个项目的个人账户之后,即可查询用户在该项目的积分情况,并可分别获取:个人的积分证书、个人所在团队的积分证书、个人所有参与的 BOINC 项目合并统计证书。
如下图所示:
同时,BOINC 作为一个通用计算平台,允许各个计算项目以统一的格式向外输出项目的运行信息,因此就有了一些专门收集这些运行信息并进行分析、统计的网站,可以跨项目的对用户、国家或地区、团队等进行综合的排名等,同时一般也提供了根据用户、团队的统计信息制作动态更新的签名图片的功能。
常用的统计网站有:
本文重点介绍第一个即 BOINCstats,除统计功能齐全,还实现了 BOINC 平台的帐户管理器(即 BAM!),另外,也提供了本地化接口,其简体中文版本一直是由本站在进行更新维护。其它几个网站的基本使用方法类似。
BOINCstats
该网站不需要注册用户也可以使用统计和签名的基本功能,但如要使用该网站的完整功能(比如对签名进行定制或者使用帐户管理器)就必须得注册用户了,注册用户时所需要的资料和注册 BOINC 平台上的计算项目相同,也是用户名称、电子邮件地址、注册密码,建议使用统一的注册信息。
统计
主页左边显示了所有 BOINC 平台的项目列表,点击任一项目,即可查看项目、用户、主机、团队、国家或地区等的排名。
签名
- 注册用户
- 在该网站主页左上方的“BAM 菜单->BOINCstats”中即可查看、设置签名图片。
- 未注册用户
- 按您使用的用户名称搜索,点击搜索结果右边的放大镜图标,可进入该用户的团队项目一览页面,可根据需要查看用户的合并统计或单独项目的详细信息,然后就可见到签名图片的网址了。
(可参考该网站上的“怎么创建我自己的签名图片?”)。
BAM!
帐户管理器的使用详见帐户管理器页面。
其它
推荐阅读 BOINCstats 常见问答。
BOINC 高级应用
远程管理
被管客户端
客户端在安装完成后,即会在安装目录下生成 gui_rpc_auth.cfg,其中保存的就是用于远程管理的密码,可根据需要修改,修改后必须退出并重新运行整个客户端(如果是安装为服务模式的话,需要在“控制面板->管理工具->服务”中重启 BOINC服务,如果是一般模式安装的话,只要将 boincmgr.exe退出并重运行就可以。)。
但仅凭密码是无法远程管理的,必须是被管客户端设置成愿意被某些指定的远程客户端管理,方法:
在被管客户端的安装目录下新建一个文本文件,取名为 remote_hosts.cfg,在其中设定允许从远端连接该客户端的主机IP地址或网络名(推荐前者),格式很简单,一行设定一台主机即可。
注意:被管机器如果安装并使用了软件防火墙,必须打开 31416 端口。在局域网——外网连接时,应使用NAT路由转发设置,并考虑使用静态IP或特定域名(例如.tk的免费域名)。如果没有使用静态IP或域名的条件,请尽量不要重设连接(例如重启路由器),以保证IP不变可以连接。
管理客户端
然后远程主机在 BOINC Manager 中选择菜单中的“高级->选择计算机...”,然后输入被管机器的 IP 地址及连接密码并点击确定就可以了。
查看任务单元的完成情况
客户端会自动完成任务单元的下载、计算和上传,但有时候我们仍希望知道任务单元的计算结果是否成功,方法如下:
- 访问项目网站的“您的帐户”(Your Account)
- 点击“计算和积分情况”下“本帐户所属的计算机 查看 ”(Computers on this account View)的或者“任务 查看”(Tasks View),前者可以按您的计算机来分类查看(适合于计算机数量不止一台的情况),后者用于查看您近期完成的所有任务单元
- 查询结果以表格形式显示,如数量较多将分页进行显示,根据任务单元的下载(sent)或上报时间(Time reported)或任务单元名称(Work unit ID),找到你希望查询的任务单元
- 可重点查看的任务单元属性有:
- OutComes
- Success 表示计算完成,Unknown 表示没有收到客户端返回的结果,Client Error 表示计算过程出错,Validate Error 表示结果验证错误
- Client stats
- New 表示还在计算中,Done 表示已计算完成
- CPU Time
- 表示计算该任务单元所耗费的 CPU 时间
- claimed credit
- 客户端为该任务单元申请的积分
- granted credit
- 服务端授予该任务单元的积分,如显示 pending 表示任务包还未完成验证。
客户端核心配置文件
关于 BOINC 平台的参数设置,一般用户需要用到的主要是本文前面部分已经讲述的两类,即客户端的本地参数设置和项目网站的各类参数设置,此外,用户还可以通过在客户端的目录下编辑一个指定的配置文件(cc_config.xml),来对客户端的日志输出、并发文件传输数量等行为参数进行细微的控制,这部分控制功能主要面对高级用户,一般用户请勿随意使用,以免错误的配置导致客户端无法正常运行!如果用户希望了解这方面的功能,请阅读 BOINC 的客户端配置。
参考资料
- 本站论坛的“BOINC 5.x 新手指南”
- 本站论坛的“BOINC 中的远程管理及用户认证”
相关链接
- 使用中遇到问题请阅读 BOINC 常见问题解决,一般性的问题请阅读 BOINC 常见问答,仍然无法解决的问题请访问 本站论坛的 BOINC 平台讨论区,并提出您的问题。
- 本站论坛的“ BOINC 教程(介绍&答疑&安装&设置)资料大汇集”。
- Linux 平台的用户推荐阅读本站论坛的“BOINC 6.x Linux 新手指南 (Ubuntu, 更新于08/06/25)”和“BOINC 5.x Linux 新手指南 (更新于2007/9/4) ”。
- FreeBSD 平台的用户推荐阅读本站论坛的“FreeBSD 7.0 运行 BOINC - WCG”(文章以 WCG 项目为例)。
- 如果您发现本文内容有任何错误,请访问本站论坛的“Wiki 系统讨论区”,并告诉我们您发现的错误。