Einstein@Home:常见问题解答

出自中国分布式计算总站

跳转到: 导航, 搜索

目录

我注册后从未受到那封含有账号密钥(account key)的邮件。怎么办?

确定你(或者你的网络服务供应商)没有把那封邮件当作垃圾邮件过滤掉。那封邮件由 einstein@einstein.phys.uwm.edu 发出。如果你有另一个邮件账号,你可以尝试用新的邮箱地址设置一个账号。

你可以通过到这个页面要求把账号密钥重新发送到你的邮箱。

我丢失了账号密钥。有没有方法再找回来?

这个页面,输入你的邮箱地址。你的账号密钥将会邮给你。

我的电脑无法从服务器取得计算包(WU)!为什么的?

有不少可能的原因。很多时候,Einstein@Home 调度程序给了你的机器一个很详细的文字说明。 但 BOINC 客户端并不一定会把这些说明文字正确而清晰地显示出来。所以,如果有疑惑,看 一下 BOINC 安装目录下的 sched_reply.xml 文件,并寻找有"message"的部分。注意:小心 不要破坏这个文件!

在 BOINC 客户端的 "message"(信息)窗口,"no work"(无新工作)的右边应该有一些信息, 不过可能会因为对应的文字栏太窄了,隐藏起来了。把文字栏尽可能地拉宽,以便看到完整的信 息。这有时有效,但并不经常!

有时,不会有计算包发送到你的机器上,因为所要求的内存空间(一般是70MB)或硬盘空间(一般是100MB) 太大了。如果问题是内存需求过大,请在一个星期内左右重试。我们已经在努力减少我们应用程序的内存需 求。(当然,你可以在你的机器上加新的内存,不过这是我们有点过分的要求了!)如果问题是硬盘需求过 大,请回顾你在你的账号上设置的硬盘大小偏好。比如,如果你的机器有4G的硬盘,但你把偏好设置成“留 下至少5G的空间”,你的机器将永不会收到任何工作包,因为调度程序不能够满足你所加的条件。

在其他情况下,你的机器收不到工作包,因为调度程序估计那些新的工作包将不会及时(在期限deathline之前)完成。这个估计可能有几个因素:(1)你的机器的队列中的工作量,(2)给予 Einstein@Home 的资源共享比例(相对于其它BOINC项目来说),(3)你的机器开机时间在一天之中所占的比例,(4)你的机器可以运行BOINC的时间所占的比例。在这种情况下,你可以让你的机器在更长的时间内闲置(几天后,调度程序会有所注意,并开始发送更多 的工作包给你),或者,你可以改变你的账号关于“BOINC 在什么时候运行”的偏好。(比如,设置成 BOINC 总是 运行,而不是仅当闲置时)

在其他情况下,你的机器收不到工作包,因为它收到的工作量已经达到了每日限量(一般被设置成每个CPU 8个计算包)。 对于总是运行接近每日限量的工作的电脑,在很多时候有一个 BOINC 安装或是 Einstein@Home 运行时的问题。它使得一 些计算包提示“错误”(erroring out),并在上传计算结果时认为是“不成功地完成了”(unsuccessfully completed)。 你可以去 Einstein@Home 网页上“你的账号”处回顾计算结果,从而判断是否这个情况。Stderr 错误信息会泄露出这个 问题。如果你还是不能自己修好它,请在留言板的问题和漏洞报告区(Problems and Bug Reports)上留下信息。

屏幕保护显示出来的是什么?

关于它的介绍请看 Einstein@Home 的屏幕保护

为什么我在使用电脑的时候 Einstein@Home也在运行的?

你的账号被设置成“电脑正在使用中的时候仍运行”

到“账户-Preferences”页面找到“计算”-“ADVANCED SETTINGS”,修改你的一般偏好,把"Suspend when computer is in use?" (电脑正在使用时挂起吗?)设置成"Yes"。Save changes后,在BOINC Manager中更新项目(update project),以便 使你的电脑使用你的新设置。

为什么我一点积分(credit)都没有?

为了拿到积分,你的电脑得出的成功的结果将会变得有效。这意味着他们将会自动与做同一份工作的至少另外两台电脑得出的结果相比较。 这可能会需要一段时间(经常是一周到10天左右)等其他机器也完成工作并上传结果。如果你的机器产生了成功的结果,那请保持耐心,继续 运行 Einstein@Home。积分最终会积攒起来的!

如果你想看你的工作的状态,到你的账号看看写着 "Pending Credit"(待定积分)和 "Result"(结果)的链接。注意:你一旦上传了一个成功的结果,你一定会拿到它的积分的,说明结果确实有效。一旦一个成功的结果在这个页面 上登记了,它就像是银行里存着的钱。你可能会等上一阵子才拿到积分,不过一旦足够多其它成功的结果也上传了,你的结果将会变得有效,你可 以为此拿到积分。你在该页面看到的最后期限(deathline)是“单独的”,就是说,分配给了不同的机器或用户的计算包有自己的最后期限。

注意:有时候(小于1%的可能)的结果实际上是正确的,却被标识为无效,你也不能拿到积分。这是因为我们的用于比较结果的判别程序并不完美。所以偶然遇到一个无效的结果,不要担心。

为了帮助此项目完成工作,以及帮助人们(包括你自己)更快的拿到积分,请保证你的电脑不要下载过多的任务,以至于在最后期限前做不完。 这可以通过在你的偏好中,"Connect to network about every X days"(大概每 X 天连接到网络一次)一项中设置一个比较小的数值来实现 (比如 0.5天)。这可以保证你的电脑不会下载比它可以完成的量更多的工作量。这会有所帮助的,因为到了最后期限仍未完成的工作包会被 Einstein@Home 的调度程序认为是“过期的”,它还会向另外的机器发送该计算包的副本,导致资源的浪费。

为什么我的计算结果的积分整一个星期都还在"pending" (待定)状态?

因为两个其它的机器还没完成同一项工作,所以该结果仍未能被评定,仍处于"pending"(待定)状态。不用担心:BOINC 调度程序会持续 把同一项工作发送到其他机器(如果他们不做这份工作还会不断尝试),直到同一个工作包被几个其它的机器所完成。这通常需要一周到10天 左右的时间,有时更长一些。请耐心。

你有待定积分这一事实证明你在期限内完成了一个结果。不用担心要多长时间等待所需的另两个成功的结果的出现,才能使你的结果变得有效。 规定好了,如果你的结果是有效的,你会拿到积分的。待定积分就像是银行里储蓄账户里的钱。你收回之前可能要等一阵子,但他们最终都将还清。

为什么快的机器等积分要比慢的机器等得久?

如果你有一台很快的机器,很可能你是第一个返回计算结果的人,对于同一个计算任务,很可能其它机器返回结果要比你慢得多。因此,统计上说,如果你有台很快的机器,你在完成计算任务后将不得不等待更长的时间,以等待其它机器慢的人完成同样的任务后和你的计算结果进行比较,再授予积分。

我的计算结果申请积分(claim) 100点,但只得了90点。为什么?

每一台工作的机器申请的积分值都会有点不同。为了公平一致,我们采用 BOINC/SETI 的标准做法来确定给予多少积分。 因为每个计算包都被多于一台机器所完成,我们凭每台机器申请的积分来确定给予多少积分。每一个计算包的结果都被给 予了完全相同的积分值。

为了确定最终给予的积分,如果有三个或以上的有效结果,先抛去最高值和最低值,然后求剩下的平均值。 如果小于两个有效结果,较低的那个申请的积分值将成为最终给予的积分。

我的计算结果申请积分90点,但得了100点。为什么?

看看前一个问题!

我加入了一个小组,但我没有被显示成一名成员。为什么?

注册成为小组的一名成员后,你需要积攒一些积分,才能被显示成为一名成员。所以,请耐心等!

我正在使用 MAC 或 linux box ,但看不到屏幕保护。它在哪儿?

Einstein@Home 应用程序已经随时可以显示图形了,不过 BOINC 客户端还不能把图形可视化。如果你很好奇,也不怕使用命令行版本 (command line),可以试试这里写的方法,使用一个试验版 客户端或者第三方工具。

我在 linux 下运行,但看不到屏幕保护。它在哪儿?

想看图形,从这个页面下载 BOINC 客户端内核和图形界面的更新版本吧! 确认 BOINC 已经停止运行了,然后在旧版 BOINC 的安装目录下安装新的客户端内核和图形界面。只要你的机器有 OpenGL 图形和 X11 支持,你应该可以在 "WORK"(工作)标签项里看到高亮表示的正在运行的计算包,就可以按 "Show Graphics"(显示图形)按钮来看到图形了。

我有一台 MAC 电脑。我也下载了客户端程序(client file) ,但它什么也不做。我应该怎么运行它?

你所下载的程序是通过 BOINC 执行的。你需要在一个命令行窗口运行它,需要在一个隔离开来的文件夹里运行终端程序。 以下是一些基本步骤:

  1. 创建一个 BOINC 工作目录。建议在你的Library文件夹(本地文件夹)里创建一个叫 BOINC 的文件夹。
  2. 把你下载的文件拖动到这个文件夹里。
  3. 打开一个终端窗口(命令行窗口?)(你会在 所有程序 --> 附件(?) 里找到它),并用一下命令改变工作目录:
    cd Library/BOINC
  4. 保证文件名称无误,且可以执行。一些浏览器解压缩时会留 ".gz" 后缀在文件名上。 以下 Unix 命令可以修复它,只要把命令打入终端窗口
    ls
    mv boinc_4.19_powerpc-apple-darwin.gz boinc_4.19_powerpc-apple-darwin
    chmod +x boinc_4.19_powerpc-apple-darwin
  5. 运行这个文件,只需在终端窗口里把文件名当作命令打入:
    boinc_4.19_powerpc-apple-darwin
  6. 在开头把项目地址(project URL)和你的账号密钥输入。你可以从你创建账号时收到的邮件里面复制并粘贴过来。
  7. 让终端窗口一直开着,就能看到进展了。

在 Mac 电脑上运行的另一个方法是使用一个安装脚本,它可以为你做好一切。 这个我们还在完善当中的脚本仍处于测试阶段,还未准备好向大众开放,不过如果你想现在试一下的话, 可以在这里找到它。 (如果这个页面说下载链接来自于 boinc.berkeley.edu ,那么这个测试脚本就是无效的了,你只会拿到和标准下载页一样的执行文件) 这个脚本做好了以上所有在 Mac 上安装 BOINC 所要做的一切,它甚至会安排好,让你每次登陆时都开始运行 BOINC。

我的操作系统是 Linux(2.6.x 内核)。 运行 top 命令后,E@H不在进程列表中,它在做什么东西吗?

请看后面一个问题和解答。由于Einstein@Home是一个多线程的程序,所以下面的解答也适用。

为什么多线程计算程序(比如 Java 的多线程)的 %CPU 报告值低了?

您需要把您的内核升级到至少2.6.10。旧的内核没有一个很好的途径去获取这个信息。

我的操作系统是 MacOS 10.x (x<3)。为什么我的所有计算结果都以"Client Error" (客户端错误)结束?

BOINC 和 Einstein@Home 客户端需要 MacOS 10.3(Darwin 7.3) 或以上的操作系统。

我怎么才能看到命令行客户端(command line client)的进展(比如已完成的百分数)?(Mac, Linux系统)

进度信息储存在 client_state.xml 的 fraction_done 标志中。有第三方的软件可以阅读它。如果您想很快地看一看,可以打开一个终端,进入 BOINC 的目录,搜索字符串 fraction_done:

cd BOINC; grep fraction_done client_state.xml

您也可以把它放在循环中,连续地观察它:

cd BOINC ; sh -c 'while grep fraction_done client_state.xml ; do sleep 10 ; done

显示的数字是工作完成的部分,所以 0.34 意味着已经完成了 34% 的工作。

"exited with zero status but no finished file"(退出返回值为0,但没有发现已完成的文件)是什么意思?这很严重吗?

这个错误是BOINC中一个已知但我们无法跟踪的错误。它经常在一个多CPU或者多线程的系统中出现。如果您打开在 slots 目录的 stderr.txt 文件的时候,您会看到"no heartbeat from core client"。但是,客户端会正确地重新开始继续完成工作,不会对结果有影响。只要所有东西都正常,您可以忽略这个错误信息。

我的机器的基准(benchmarks) 和 XXX机器/YYY操作系统比较起来相差很远。为什么?

当BOINC客户端第一次在一台机器上运行时,它会进行一些测试以检验您的机器的浮点以及整点运算能力。BOINC客户端一些版本的测试并不十分精确,要么算多了,要么算少了。特别在使用Windows的机器上,微软的编译器会优化代码,使机器看起来比实际的表现要好。在苹果机和一些64位 Linux机器上会有相反的效应,如果进行一些优化设置,BOINC的客户端会有更好的表现。

对于用调制解调器(modem) 上网的用户来说,计算包(workunit) 的下载量很大,太大了。

Einstein@Home的工作单元需要一个大的数据文件(稍大于12MB)。以一个57.6kb的调制解调器连接网络来下载这个文件需要近一个小时。当您下载它以后,调度程序会给你发送几个工作包,所以你在一段时间内不需要再下载另一个文件。但是警告您,Einstein@Home的输出文件也有可能很大,所以您可能需要用一个小时或以上来发送这个结果。

底线是,如果您用的是拨号上网的话,Einstein@Home可能不是一个好的选择。用宽带上网的用户下载时间不应超过一分钟。

当显示图形的时候,计算速度降低了。

Einstein@Home用了大量的OpenGL技术。如果显卡的硬件不能自己完成这项工作,会有CPU通过软件完成,这就阻碍了计算。如果您有一款在OpenGL方面不那么“灵光”的显卡,为了使您的工作尽快完成,建议您关掉图像显示功能。

下面是检验Einstein@Home是否被显卡硬件拖慢的方法:

Windows用户:当Einstein@Home的工作包刚开始时,同时按下Ctrl+Alt+Del调出任务管理器。找出正在运行的 Einstein@Home进程,与BOINC客户端中的时间比较。由于BOINC客户端只计算程序用于科学计算的时间,而任务管理器同时计算科学计算时间与屏保计算时间。如果您观察30秒,而BOINC客户端的统计只增加了5秒,任务管理器报告CPU时间增加30秒的话,表明图像显示占用的绝大部分的计算时间。这样的话,您应该设置您的屏保在几分钟后显示黑屏。另一种方法是登录您的显卡厂商的网站,下载最新的驱动。如果您能够将您的显卡设置为支持3D OpenGL加速的话,屏保会更有效地工作。

Linux用户:确保您的显卡正在使用3D OpenGL硬件加速是很重要的。我们可以运行glxinfo程序来做一个很好的测试。如果它报告No,那么您没有开启3D OpenGL加速,图形的显示会变得很慢,而且极其消耗时间。如果它报告Yes,那么一切都好。在许多情况下,如果图形渲染没有开启,您可以开启它。运行glxgears是一条检查您的XF86Config文件的简单的途径。

苹果机用户:所有近来的 Mac OSX 版本都包含的极佳的硬件加速。您什么也不用做!

我担心图形的静态部分毁坏我的屏幕。有什么方法吗?这种情况会否改善?

绝大多数现代计算机的屏幕是不会被静态图形毁坏的,但是我们还是考虑到那些对此事关注的人,而将这个问题编入 FAQ 之中。在将来你可以(在这里)选择在屏保中不显示静态图像。

Einstein@Home 中计算包的最后完成期限(deadline) 对于我的电脑来说太短了。

我们有一个为期一周的最后期限,从您的电脑下载工作时算起。您的电脑应该在在最后期限之前完成并返回工作。总的来说,调度程序会试图不分发多于您的电脑能在最后期限前完成的工作。通常这些工作单元需要5到24小时来完成,所以只要您的机器在多于15%的时间为Einstein@home工作的话,这个任务是可以按时完成的。

我们收到过延长最后期限的请求,并且我们将来也计划这样做。现在最后期限短有两个原因。首先,如果我们延长最后期限,由于更多的工作在进行,工作和结果数据库就会变得更大。现在,数据库是我们服务器最沉重的负担,根本不合比例。所以我们试图保持它的“整洁”。其次,延长最后期限意味着用户获得积分的等待时间会更漫长。由于积分是追踪机器是否正在工作的最佳途径,并且它也给我们的研究工作带来好处,我们努力保证您在较短时间内获得积分。

如果您对在最后期限之前完成工作有困难的话,最简单的解决方法就是减少您的“工作缓存”。在"Your Account"中编辑"general preferences",把"Connect to network about every N days"改为0.1天。这样的话,您的电脑不会下载超过它一天的工作量的工作。记住,如果您参加多个项目,您需要在每个项目的设置页面上设置。

有没有针对我的计算机架构的程序版本?我可以下载源程序并自己编译一个吗?

还没有答案。

BOINC / E@H 使我的CPU占用率达到100%。有什么方法阻止它吗?

还没有答案。

如果一个引力波被我的电脑找到了(计算出来了),会怎么样?

这个问题正在LIGO和GEO实验室以及LIGO科学协会中被讨论着,还没有确切的结果。这里是一些有关的事实:

  1. Einstein@Home的参与者正在走出脉冲星搜索的第一步(也是运算最密集的)。但这些独立的结果会在下一阶段相互比较,寻找一致。所以单独的一个用户没有可能“发现”引力波。
  2. 由于(为了确认)一个工作是由几台独立的,属于不同用户的机器所完成的,所以任何荣誉都应该在这些计算出结果的用户之间分享。

我们希望能在以后对这个答案进行更新。

"Your account"(“你的账号”页面)显示计算包(WorkUnit) XXXXX 已经发送给我了,但我在电脑上没找到它。它去哪儿了?

当您的机器向Einstein@Home的调度程序请求工作,调度程序给您的机器发送工作,而这些工作从未到达您的电脑时,这个问题就会发生。这可能是由于与数据传输器的网络连接失败的缘故。也有可能是您的机器没有接受到原来注册的 宿主id,后来又接受了另外一个。也有可能是BOINC客户端核心的bug(不论是已知的还是未知的)。

我们希望这个问题已经被很大程度上修复了。如果您的机器通过代理服务器或者一个有类代理解释特性的Windows网络连接的话,在BOINC 4.19版本的客户端中的bug可能会导致这个问题。如果您在您的机器上重复地发现这个问题,请在公告板上给我们发一个报告,也可以试一下安装BOINC的最新版本。

注:如果您通过一个代理服务器连接网络,请确保代理服务器的超时时间至少为100*N,其中N是您的机器的CPU个数。否则,您的代理服务器可能会在调度程序回复之前中断与Einstein@Home服务器的连接。所以,对于一台单CPU的机器来说,要确保超时时间至少为100秒,对于双CPU的机器来说,至少为200秒,如此类推。如果您的机器通过另一台机器作为网关连接上网的话,以上方案也是适用的。

如果您的机器正常地完成工作,上传结果,下载工作的话,偶尔丢失工作单元是不用担忧的。如果这个工作单元超时的话,它会被送到另一台宿主机器上。

我收到一条信息:"Misconfigured BOINC installation or proxy-server problems!"(BOINC安装配置错误,或者是代理服务器问题!)这是什么意思?我应该怎么做?

这是一个错误的错误信息,可以忽略。

为什么我的每日工作限额那么小?

有些宿主机器会出错误,使得分配的工作丢失。通常的原因是这些机器设置错误,或者在操作系统或BOINC的安装上出了问题。为了减少这些机器对项目的不良影响,我们用“每天工作限额”来防止这些机器每天浪费数以百计的工作单元。

每天工作限额通常是8个工作单元(每个CPU,一台机器最多可以有4个CPU)。一台数主机器可以请求并接受这么多的工作单元。一台宿主机器每次返回一个错误结果,或者在最后期限内没有返回结果,它的每天工作限额就会减少一个。宿主机器每次返回一个正确的结果,它的每天工作限额会被加倍。

注:每天工作限额最少1个,最多8个(每CPU)。

如果一台宿主机器至少返回几个正确的结果,它的每天工作限额应该接近8。每天工作限额为1的宿主机器应该被检验。它们,或者安装运行在他们上边的BOINC可能有一些毛病。

我看到了stderr(stderrgui.txt及stderrdae.txt)里关于文件校验总和的(file checksums) 、重新开始 (resuming)等等的信息了。这是否说明有问题?

应该不是。我们使用stderr来记录一些有用的信息。这些信息可以帮我们追踪代码的执行。以下的信息是正常的,而不是错误信息。

Resuming computation at X/Y/Z

detected finished Fstat file - skipping Fstat run 1
detected finished Fstat file - skipping Fstat run 2

Fstats.Ha: bytecount X checksum Y Fstats.Hb: bytecount X checksum Y

(对于 Linux 系统)我在 stderr(stderrgui.txt及stderrdae.txt)里看到了关于丢失对象文件/图形(missing object file/graphics)的信息。

以下的信息指出你的Linux机器没有显示Einstein@Home图像必须的库文件。如果你不需要显示图像,你可以忽略这种信息。

dlopen() failed: libGL.so.1: cannot open shared object file: No such file or directory
No graphics.
graphics_lib_handle NULL: running without graphics

(对于 Linux 系统)我的 Linux box 错误地报告了内存(reports memory incorrectly)。

请下载 memory.c 文件,根据文件头部的指导编译并运行这个小程序,再把结果连同宿主计算机的id贴在Einstein@home的英文论坛上。

在快结束的时候,我的计算包的完成率很快地从99%一下子跳到100%(有时候很慢!)。

Einstein@home的工作包包含3个阶段。在开头的两个阶段代表两个不同的重力部分(不同的时间段或者不同的探测器)。检波器的数据被搜索以检查候选信号的物理源。在第三阶段,在前两个阶段的搜索结果会进行对比,以找出可能的候选信号。

前两个阶段是完全确定的:我们可以精确地说出您的电脑完成了多少工作,还有多少工作没完成。第三个“相合”的阶段是不确定的。通常这只需要几秒钟的时间,但在某些情况,对于某些在前两个阶段发现的候选信号,这需要几分钟,甚至几十分钟的时间。

Einstein@Home这个应用程序被设计为:第一阶段是从0%到49.5%,第二阶段是从49.5%到99%。第三阶段(从99%到100%)报告进度的方式是不可预料的。最后的阶段通常需要的时间比在前两个阶段计算1%的时间要短,但在某些情况下,完成可能需要几分钟。

我的机器不去获取新的工作,而调度程序(scheduler)也回答说"No work set, daily quota reached"(没有设定好的工作,达到了每日限量)。

这样的事情的发生可能是因为工作在传输到您的电脑途中丢失了。可能由于工作包丢失,您的日工作量已经达到了限额。这些丢失的工作包也可能会导致您的每日工作量限额降低。

翻译说明

本页面内容由中国分布式计算总站组织翻译自 http://einstein.phys.uwm.edu/faq.php。中文翻译部分版权为中国分布式计算总站所有,如需引用,请与本站工作人员联系,谢谢配合。
翻译人:pchufwjmath
校对:Youth碧城仙
如有错误,敬请指正。