我管理了一个 BOINC 项目(现已不复存在),我参与了一些 BOINC 的开发(并与开发人员进行了许多激烈的争论!),我至少实现了一项功能,现在已在服务器中,并且我曾经黑过一两个不了解“保持软件最新”重要性的 BOINC 项目。我现在正在与另外三个人一起开发 BOINC 客户端的分支。够了吗? :)
除非你正在找人雇用(提示!),否则你应该只针对你在设置 BOINC 服务器或开发应用程序或其他什么时遇到的实际问题提出具体问题,而不是“有人知道吗?话题?”
关于您提出的问题:
它是如何工作的?您是否编译代码,将其发布到某个地方,然后客户端下载它,然后您收到工作单元请求和结果?
您必须安装自己的带有 LAMP 和 BOINC 的服务器。 (请注意,SETI@Home 过去使用 Solaris 而不是 Linux;而且我非常确定,如果您自己编写配置,您可以使用非 Apache Web 服务器)。
您创建一个使用 BOINC API 的应用程序(或修改现有的计算应用程序以使用它),将其安装在服务器上,创建“工作单元”,然后让客户端附加到您的项目。客户下载作品,进行处理,然后上传回来。 (这有点过于简单化了……)
一旦到达服务器,完成的任务就会通过一个“验证器”(您编写或使用示例之一)来检查计算是否有效,以及一个“同化器”(您编写的)对结果执行一些有用的操作;例如解析输出文件并将数据放入关系数据库,或者通过电子邮件告诉您您找到了生命、宇宙和一切的答案。或者将几个工作单元的结果打包,并发回给“科学家”。
它支持哪些语言?它如何处理运行时(我想你将能够提供一个完整的、独立的包,其中包含所有必需的东西)
它主要支持C++。该 API 与 C 兼容,并且有一些生产项目在 Fortran 中使用它(climateprediction.net 是大约数百万行的 Fortran)。
我还写了一个Python 的包装器 http://bitbucket.org/nicolas17/pyboinc/。内部的 Python 应用程序无法太多访问 API,但添加起来很容易。我只是暴露了我需要的最少内容。但这可能是个坏主意。如果您需要 BOINC,那是因为您需要大量的 CPU 时间。在这种情况下,您一开始就不会使用缓慢的解释语言。
人们如何知道您的项目存在
概括地说,就像他们知道您的博客存在一样:那就是your营销/SEO 问题;)
然而,您会得到一些与社区相关的独特的东西:
- 有些 BOINCaholics 会关注任何出现的项目,并积极寻找它们。并告诉他们的朋友和队友。将您的项目放到网上,启用论坛,从至少一个网站链接它,以便它出现在 Google 中,然后我保证几天之内,主题中将出现一个主题为“ATA”的论坛帖子(Alpha Testers Anonymous)。如果你愿意的话,我什至可以告诉你出席者的用户名。他们是that可预测。 (公平地说,你可能会发现me那里也有:D)
- 有许多统计网站从多个项目收集用户的信用统计数据并将其汇总。您的项目出现在这些网站之一是人们查看它的重要方式。但仅仅导出统计数据并不意味着您就能实现目标;你必须向统计网站的管理员展示你的项目正在做一些有用的事情(以their意见)并且它是可以信任的。
- 如果您与用户保持良好的沟通,应用程序具有良好的稳定性等,您将通过口碑获得更多用户,也许更重要的是,您将使现有用户留下来和/或给您带来更大的利益CPU 时间份额。小心“你只有一次机会给人留下第一印象”。不要在第一次启动时大肆宣传您的项目,首先让口碑来照顾它,直到它变得足够稳定。
当然,很明显,世界上拥有计算机的人口中 BOINCaholic 所占的比例微不足道。仅有不到 10% 的人使用 BOINC。如果您想针对广大人群:回到通常的网站营销,我无法在这方面为您提供帮助。请注意,在这种情况下,您还必须向他们解释 BOINC 的工作原理以及如何安装它!
并选择参加?
他们从 BOINC 客户端附加项目(如果他们是 BOINC 新手,则先下载它)。他们可以直接从 BOINC GUI 创建帐户。
请甚至不要think尝试开发自己的 BOINC 项目,直到您自己使用 BOINC作为用户一阵子。这就像在没有使用网络浏览器经验的情况下创建一个网站(“我认为它可以工作,但我现在如何看待它?”)。下载客户端,找到一个很酷的项目,附加并观察它的工作情况。
我曾经尝试帮助某人建立一个项目,然后发现他没有从用户方面使用 LAMP 或 BOINC 的经验。那是个painful经验。
它提供哪些服务让我的生活更轻松?是否有用于常见任务的预制库?
我无法详细说明这一点;您必须更具体地说明您的项目将做什么、“工作”来自哪里、服务器端需要完成哪些处理、您的客户端应用程序使用什么语言/运行时/库等,以及then我可以告诉您 BOINC 是否有可以帮助您的东西。
...我想现在就足够了(哇,凌晨 3:15!)。