1

BOINC https://en.wikipedia.org/wiki/Berkeley_Open_Infrastructure_for_Network_Computing有什么区别

与一般 Hadoop/Spark/等相比。大数据框架?它们似乎都是分布式计算框架 - 有没有我可以阅读差异或特别是 BOINC 的地方?

似乎欧盟的大型强子对撞机正在使用 BOINC,为什么不使用 Hadoop?

谢谢。

4

2 回答 2

2

BOINC 是可以利用计算机上未使用的 CPU 和 GPU 周期进行科学计算的软件

BOINC 严格来说是一个单一的应用程序,可以使用未使用的计算周期进行网格计算。

Apache Hadoop 是一个开源软件框架,用于在由商用硬件构建的计算机集群上对超大型数据集进行分布式存储分布式处理。Hadoop 中的所有模块都设计有一个基本假设,即硬件故障很常见,应该由框架自动处理。

Apache Hadoop 的核心由称为 Hadoop 分布式文件系统 (HDFS) 的存储部分和称为 MapReduce 的处理部分组成。

(强调添加到框架和它的双重功能)

在这里,您会看到 Hadoop 是一个同时具有存储和计算能力的框架(也称为生态系统)。Cloudera 和 Hortonworks 等 Hadoop 供应商将附加功能捆绑到其中(Hive、Hbase、Pig、Spark 等)以及一些安全/审计工具。

此外,这两个集群对硬件故障的处理方式不同。如果 BOINC 节点死亡,则没有容错;这些资源丢失了。在 Hadoop 的情况下,数据被复制并且任务在最终失败之前被重新运行了一定次数,但是只要框架中内置的日志服务正在运行,这些步骤是可追溯的。

似乎欧盟的大型强子对撞机正在使用 BOINC,为什么不使用 Hadoop?

因为 BOINC 提供了一个世界上任何人都可以安装来加入集群的软件,所以他们几乎可以从任何地方免费获得大量的计算能力。

他们可能在内部使用 Hadoop 来做一些存储,也可能使用 Spark 来做额外的计算,但是批量购买商品硬件并构建/维护该集群似乎成本过高。

于 2016-06-25T16:57:12.017 回答
2

BOINC 和 Hadoop 之间的相似之处在于,它们利用了一个大问题可以在许多方面得到解决。两者都与跨多台计算机而不是应用程序分发数据最相关。

不同之处在于所有贡献机器之间的同步程度。使用 Hadoop,同步非常紧密,您希望在某个时候从所有机器收集所有数据,然后进行最终分析。您实际上是在等待最后一个,并且在完成工作的最后一部分之前什么都不会返回。

使用 BOINC,根本就没有同步性。您有数千个作业要运行。由项目维护者运行的 BOINC 服务器端协调工作的交付,以运行到由志愿者运行的 BOINC 客户端。

使用 BOINC,项目维护者根本无法控制客户。如果客户端没有返回结果,则工作单元将再次发送到其他地方。使用 Hadoop,项目维护者可以访问整个集群。使用 BOINC,应用程序跨不同平台提供,因为完全不确定用户提供什么平台。使用 Hadoop,一切都是明确定义的,并且通常非常同质。BOINC 最大的项目有成千上万的固定志愿者,Hadoop 有你买得起或租得起的东西。

于 2017-05-24T01:28:06.690 回答