BOINC (简体中文)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale.png本文或本节需要翻译。要贡献翻译,请访问简体中文翻译团队Tango-preferences-desktop-locale.png

附注: 请完成更新后的翻译。(在 Talk:BOINC (简体中文)# 中讨论)

BOINC 官方网站:“利用您的计算机(Windows、Mac 以及 Linux)的空闲的时间,帮助寻找治疗疾病的方法、研究全球变暖、发现脉冲星…… 进行各种各样的科学研究。这一切简单且安全!”

维基百科:“伯克利开放式网络计算平台(Berkeley Open Infrastructure for Network Computing,BOINC)是一个用于志愿计算和网格计算的非商业的中间件系统。开发 BOINC 的最初目的是支援 SETI@home 项目,而后来它发展成为一个支持多种项目的强大的分布式计算平台,这些项目的研究领域涵盖了数学、医学、分子生物学、气候学以及天体物理学等等。BOINC 力图让研究人员享用到全世界数以亿计的个人电脑的强大计算能力。”

安装

官方仓库 提供了 boincboinc-nox 软件包,使用 安装 其一即可。后者不依赖 Xorg,适用于没有物理控制台的服务器。

两个软件包都提供了系统服务 boinc-client.service,可以使用 systemctl 管理。详情参见 Systemd (简体中文)#使用单元

注意从 7.10.3 新版本开始,原先的服务名称由 boinc.service 更改为新的 boinc-client.service

使用

注意: 以下内容仅仅适用于:1、Arch 官方软件包提供的 BOINC;2、从 systemd 服务正确启动。如要通过 boinc 命令启动管理,请自行查阅相关文档。

密码文件配置

BOINC 服务会在首次启动后自动创建密码文件 /var/lib/boinc/gui_rpc_auth.cfg,任何管理器都需要使用该密码来链接 BOINC 服务。如果从菜单图标启动 BOINC Manager,它会自动读取该文件。但该文件默认只有用户 boinc 可读,为了连接 BOINC 服务,你需要先将当前用户加入 boinc 组,并修改密码文件的访问权限:

$ gpasswd -a <用户名> boinc
$ sudo chmod g+r /var/lib/boinc/gui_rpc_auth.cfg

重新登录即可生效。

如果你经常使用命令行操作,或需要从终端启动 BOINC Manager,则可将密码文件连接至用户目录,这样 BOINC Manager 或 boinccmd 就能自动连接 BOINC 服务:

$ cd ~/
$ ln -s /var/lib/boinc/gui_rpc_auth.cfg gui_rpc_auth.cfg

若要手动设置该密码(甚至清空),只需修改 /var/lib/boinc/gui_rpc_auth.cfg 文件,并重启 BOINC 服务即可。

图形界面

运行 boincmgr 命令启动图形界面的 BOINC Manager:

$ boincmgr

首次启动时,BOINC Manager 会指引你加入项目。注意,有些项目可以通过 BOINC Manager 直接创建项目,而有些则需要先在其网页上注册。如果存储空间、计算能力和时间等条件允许,可以通过菜单项 工具 / 增加项目 加入多个项目。

如果 BOINC Manager 没有像上面那样指引你加入项目,那么可能是连接 BOINC 服务失败了。点击菜单项 高级 / 选择计算机,输入计算机名(本机使用 localhost 即可),然后输入 /var/lib/boinc/gui_rpc_auth.cfg 中的密码即可。(如果不想每次都这样做,请确保按照上面的步骤正确配置 gui_rpc_auth.cfg 。)

使用 GPU 的项目

要使用 GPU 计算,需要安装闭源的 NVIDIAAMD 驱动。对于 ATI/AMD 显卡,还需要安装 AUR 软件包 libopenclAUR[损坏的链接:package not found]。NVIDIA 用户只需安装 [extra] 中的 opencl-nvidia 即可。

此外还需要将 boinc 用户加入 video 组:

# gpasswd -a boinc video

boinc 用户还需要有访问你的 X session 的权限:

xhost local:boinc

若要避免每次都输入,可将上述命令加入启动脚本。

注意: 对于使用双显卡笔记本电脑的用户,如果使用某些软件(如 bumblebee/bbswitch)禁用了高性能显卡的驱动,在使用 GPU 计算时,可能遇到一些麻烦(找不到显卡、计算错误等等)。如果要使用 GPU 计算,原则上你必须在 BOINC 运行时确保显卡开启,以及加载正确的驱动模块。当前似乎还没有什么好的解决方案。 —— 译者注

命令行界面

对于命令行操作,可参照 boinccmdboinc 命令的帮助及 man 手册。boinccmd 是 BOINC 自带的命令行界面工具。

日志文件

BOINC 的日志文件存放在 /var/lib/boinc/ 中:

/var/lib/boinc/stderrdae.txt
/var/lib/boinc/stdoutdae.txt

选择项目时需要考虑的因素

不同项目的硬件要求(CPU、磁盘空间等)有所差异,每个任务的计算时间也不尽相同。如果不能在上报期限前完成任务,服务器会判定任务过期,并把他交给其他计算机。请根据硬件条件选择合适的项目,避免这样的问题发生。

此外,项目的研究方向和公开度也是需要考虑的因素。

64 位系统

某些项目只提供32位计算程序和图形显示程序,因此你需要从 [multilib] 安装一些基本的库。

运行计算程序需要通常需要(以 Climateprediction 项目为例):
lib32-glibc, lib32-glib2
显示图形需要(如 WCG 的几个子项目、Climateprediction):
lib32-pango, lib32-libxdamage, lib32-libxi, lib32-mesa-libglAUR[损坏的链接:replaced by lib32-mesa], lib32-libjpeg6AUR[损坏的链接:package not found] (AUR), lib32-libxmu

疑难解答

GPU missing

如果出现这样的错误:

GPU Missing

且 GPU 计算任务无法启动,则应尝试 重启 boinc-client.service 服务。

这样的错误通常是因为 BOINC 服务先于 X 启动。

笔记本过热,续航时间缩短

如果在笔记本上运行 BOINC,且 CPU 频率管理策略为 ondemand(默认即是),CPU 频率会始终保持在最大值,导致 CPU 过热、续航时间缩短。解决方法是要求内核调整 CPU 频率时忽略 BOINC 任务的影响:

# echo 1 >/sys/devices/system/cpu/cpufreq/ondemand/ignore_nice_load

创建以下 tmpfiles.d 配置,可实现开机自动设置:

/etc/tmpfiles.d/ondemand-ignore-nice.conf
w /sys/devices/system/cpu/cpufreq/ondemand/ignore_nice_load - - - - 1

无法下载 World Community Grid 任务

由于 openssl 的问题,一些用户无法下载 World Community Grid 项目的任务。要解决这一问题,需要对该软件包进行一些修改,然后重新编译。

首先,获取 openssl 的 PKGBUILD,以及打包其他所需文件:

$ git clone https://github.com/archlinux/svntogit-packages.git --single-branch --branch packages/openssl

如果你安装了 yaourt,也可以使用如下命令:

$ yaourt -G openssl

执行完第一个命令后,你会看到一个 ./packages/trunk/ 目录,其中有包括 PKGBUILD 在内的若干文件。该 PKGBUILD 需要修改,正确的可以从这里下载。

然后,创建软件软件包:

$ makepkg 

完成后,会出现一个扩展名为 .pkg.tar.xz 的软件包,安装并重启 BOINC 服务即可:

# pacman -U openssl-*.pkg.tar.xz
# systemctl restart boinc

大功告成。如果还有问题,请参见原讨论贴,发帖请求帮助。

cc_config.xml 相关配置

cc_config.xml 为BOINC管理器的一个高级配置脚本。通过增加不同的参数,可以达到许多意想不到的效果。

将编辑好的文件复制到 /var/lib/boinc 后,还需更改文件为640权限。

相关资源