Rosetta@home:使用 Linux 系统帮助对抗 COVID-19
想为冠状病毒的研究做出贡献吗?为此,您不必成为一名科学家。感谢 Rosetta@home 项目,您可以贡献计算机的部分计算能力。
听起来不错?让我分享更多细节。
什么是 Rosetta@home?
Rosetta@home 是一个用于蛋白质结构预测的分布式计算项目,位于华盛顿大学 Baker 实验室,运行在伯克利网络计算开放基础设施 (BOINC) 开源平台上,该平台最初是为支持 SETI@home 而开发的。
计算能力不够?利用分布式计算的力量
预测和设计天然蛋白质的结构需要大量计算。为了加快这一过程,大卫·贝克尔博士在整个实验室和走廊里放满了台式电脑。然后他们开始收到建筑物升温的投诉,但仍然没有足够的计算能力来准确预测和设计蛋白质结构。
Rosetta@home 如何工作?
Rosetta@home 利用志愿者计算机的闲置计算机处理能力对各个工作单元进行计算。当请求的任务完成时,客户端将结果发送到中央项目服务器,在那里它们被验证并合并到项目数据库中。
截至 2020 年 3 月 28 日,Rosetta@home 的计算能力已提高至 1.7 PetaFlops,因为最近加入的用户希望参与抗击 COVID-19 大流行的斗争。正因如此,2020 年 6 月 26 日,Rosetta@home 研究人员宣布他们已经在实验室中创造出了能够中和 SARS-CoV-2 的抗病毒蛋白。
BOINC平台安全吗?
经过数百万个系统的运行几年后,没有因 BOINC 而报告任何安全事件。这一事实并不意味着不存在安全风险。
BOINC 使用一种名为代码签名的机制,该机制基于公钥加密,只要项目采用正确的做法,就可以消除该漏洞。每个项目都有一个由公钥和私钥组成的代码签名密钥对,用于为程序创建“签名”。 BOINC客户端只会运行具有有效签名的程序。
项目被指示仅将私钥保存在永久离线的计算机上以创建签名。因此,黑客无法诱骗 BOINC 运行恶意软件。
大多数 BOINC 项目都遵循这些实践。如果您担心安全性,则仅当您知道项目正确遵循代码签名过程时才应附加到该项目。如果有疑问,您可以要求项目管理员描述他们如何进行代码签名。
通过 BOINC 平台为 Rosetta@home 做出贡献
如果您有兴趣通过捐赠一些计算能力来为科学研究做出贡献,您会发现本文的其余部分很有帮助。
我将讨论以下内容:
加入BOINC平台的先决条件
使用 BOINC 平台通过桌面 Linux 将计算能力捐赠给您选择的项目
使用树莓派一直运行BOINC
BOINC平台的系统要求
您可以用来访问 Rosetta@home 的 BOINC 分布式计算平台可在 Windows、Linux、macOS 和 FreeBSD 等 64 位操作系统上使用。
您需要至少 500 MHz 的 CPU、200 MB 的可用磁盘空间、512 MB 的 RAM 和互联网连接。
系统拥有的 CPU 核心越多,需要的 RAM 就越多,因为工作单元将“喂养”每个核心。
在BOINC平台创建用户帐户
在配置 BOINC 平台之前,请使用您的计算机创建一个帐户。如果您将使用 Raspberry Pi,您可以加入“crunch-on-arm”团队。
请注意,同一个帐户可以同时用于多台机器。您的所有机器都会显示在您的帐户中。
在各种Linux发行版上安装BOINC平台
BOINC 应用程序具有以下元素:
boinc-client(运行平台的守护进程)
boinctui:基于终端的界面,用于选择项目和其他设置
boinc-manager:基于 GUI 的界面,用于选择项目和其他设置
如果您使用服务器,则应该安装 boinctui。如果您使用 Linux 桌面,则可以选择 boinc-manager。
在本教程的这一部分中,我将继续使用 GUI 工具。
在 Debian/Ubuntu 上
BOINC 工具在 Ubuntu 20.04 的 Universe 存储库中可用,因此请确保您的 Ubuntu 系统上启用了 Universe 存储库。
使用以下命令来安装它:
sudo apt install boinc-client boinc-manager
打开终端并输入以下命令:
sudo dnf install boinc-client boinc-manager
首先,通过在终端上运行以下命令来确保启用 EPEL 存储库:
sudo yum install epel-release
您现在可以安装必要的软件包:
sudo yum install boinc-client boinc-manager
打开BOINC管理器并添加项目
安装后,打开BOINC管理器。系统将要求您添加项目并创建帐户或登录现有帐户。
添加您的凭据并在出现提示时单击“完成”。
几分钟后,状态将更改为正在运行。
您无需担心在使用计算机时是否会消耗系统资源。默认情况下,如果 BOINC 管理器发现用户需要超过 25% 的 CPU 资源,BOINC 计算将停止被暂停。
如果您希望应用程序在较低或较高的 CPU 使用率下暂停,您可以在创建帐户的网站上更改您的个人资料设置。
Raspberry Pi 4 上的 Rosetta@home
Raspberry Pi 是 24/7 运行 Rosetta@home 应用程序的理想设备,它功能强大且功耗极低。
要使用 Raspberry Pi 4 对抗 COVID-19,您需要具有 2 GB RAM 或更多内存的型号。我个人的建议是 4 GB RAM 选项,因为在我的 2 GB 型号中,其中一个核心因内存不足而处于空闲状态。
第1步:安装Ubuntu服务器(推荐)
您的 Raspberry Pi 上需要有一些操作系统。在 Raspberry Pi 上安装 Ubuntu 服务器是最方便的选择之一。
第2步:安装BOINC平台
要安装 BOINC 客户端和命令行管理界面,请在 Raspberry Pi 上运行的服务器上运行以下命令。
sudo apt install boinc-client boinctui
默认情况下,您的帐户设置为在用户空闲时使用 90% 的内存。 Rosetta工作单元需要1.9GB内存才能在四核Raspberry Pi上运行,因此客户端有可能因初始读取而无法启动。如果 Raspberry Pi 内存不足,它将暂停前面提到的 4 个正在运行的任务之一。要覆盖 1.9gb 阈值,请将以下行添加到以下位置:
sudo nano /var/lib/boinc-client/global_prefs_override.xml
立即添加这些行
<global_preferences>
<ram_max_used_busy_pct>100.000000</ram_max_used_busy_pct>
<ram_max_used_idle_pct>100.000000</ram_max_used_idle_pct>
<cpu_usage_limit>100.000000</cpu_usage_limit>
</global_preferences>
此设置会将 Rosetta 可用的默认内存增加到板上的最大内存量。
第3步:添加Rosetta@home项目
在 Raspberry Pi 命令行中输入“boinctui”,然后单击 Enter 加载终端 GUI。
boinctui
按键盘上的 F9 调出菜单选项。使用箭头键转到“项目”并按 Enter。
您可能会注意到有一些可用项目可供选择,但如果您有兴趣积极支持抗击 COVID-19,请选择 Rosetta。系统将提示您创建用户帐户或使用现有帐户。
选择“现有用户”,然后输入您在第一步中在网站上创建的凭据。正如你所看到的,我已经选择了Rosetta项目。
下载工作单元需要一些时间,然后它将自动开始在您的 Raspberry Pi 4 上处理数据!
结论
如果您想停止使用 BOINC,只需删除之前安装的 boinc 软件包即可。我相信您知道如何使用发行版的软件包管理器来删除软件。
分布式计算的好处之一是允许用户为了共同利益捐赠他们的系统资源。尽管这一流行病在世界范围内蔓延,令人悲痛,但它也可以让我们认识到以某种方式志愿服务的必要性。
如果您想知道如何充分利用 Raspberry Pi,Rosetta@home 可以包含在列表中。
如果您开始“苦苦挣扎”以及您选择了哪个平台,请在下面的评论中告诉我们。注意安全!