首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >像折叠这样的项目如何与你的电脑沟通以解决蛋白质折叠问题?

像折叠这样的项目如何与你的电脑沟通以解决蛋白质折叠问题?
EN

Stack Overflow用户
提问于 2022-09-18 23:09:18
回答 1查看 20关注 0票数 0

像折叠“家庭”这样的程序是如何工作的?我的电脑

  1. 单独在它上执行一个“工作”单元,完全独立于运行折叠@home的其他计算机?然后在回答完成后将其发回?

  1. 或to折叠@home将连接到它的所有计算机看作一个项目,假设有1000个核心,然后当工作完成时,就相当于说一些类似于
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-19 07:25:46

像折叠@Home和BOINC这样的项目是松散耦合并行计算的例子,在这种情况下,每个任务都是完全独立的,无需与其他计算实体通信就可以完成。它们也是一种称为控制器/工作者(以前称为主/工作者)的模式的例子,在这种模式中,中央控制器将一个大型任务分解成一个小型(呃)子任务池,并以先到先得的方式将其分配给一组工作进程,这与您的第一点相对应。

在F@H (和BOINC)中,客户端计算机连接到服务器,请求任务,直到任务完成,然后再连接到服务器,返回结果并请求一个新任务。这样做的好处是自动负载平衡、容错(通过冗余)和不需要调度。

当您运行make -j #cores时,make会启动许多并行作业,但是这些作业通常是相互依赖的,因此make必须以最优的方式对它们进行调度。然后,作业作为进程在同一台计算机上运行,这将为make提供完整的进程控制。如果生成步骤失败,整个构建作业将立即中止,用户可以快速查看问题,修复问题,并重新启动构建。这不是一个可行的模型,因为客户端计算机可以具有任意的计算速度,可以在任何时候连接和断开连接,并且/或决定简单地停止处理任务。有一些make的分布式版本,比如dmake,它们在不同的远程节点上运行构建过程的不同部分,但是这种情况仍然发生在一个严格控制的环境中,通常是在构建集群上。

请注意,在非常高的抽象级别上,这两者基本上是等价的,主要的区别在于工作是被推送还是被拉出来的。尽管作业拉动在各种系统上都能很好地工作,但作业推送通常要求(紧密耦合的)系统具有可预测的特性和良好的调度算法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73766959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档