BOINC Computing的区别是什么?
与Hadoop/Spark/等大数据框架?它们似乎都是分布式计算框架--我有什么地方可以读到其中的差异,尤其是BOINC吗?
看来欧盟的大型强子对撞机正在使用BOINC,为什么不使用Hadoop呢?
谢谢。
发布于 2016-06-25 16:57:12
BOINC是一种可以使用计算机上未使用的CPU和GPU周期进行科学计算的软件。
BOINC严格来说是一个应用程序,它使用未使用的计算周期启用网格计算。
Apache是一个开源软件框架,用于分布式存储、和分布式处理计算机集群上由商品硬件构建的大型数据集。Hadoop中的所有模块都有一个基本假设,即硬件故障是常见的,应该由框架自动处理。 Apache的核心由一个称为(HDFS)的存储部分和一个称为MapReduce的处理部分组成。
(强调框架及其双重功能)
在这里,您可以看到Hadoop是一个具有存储和计算功能的框架(也称为生态系统)。Hadoop供应商(如Cloudera和Hortonworks )将附加功能捆绑到其中(Hive、Hbase、Pig、Spark等)以及一些安全/审计工具。
另外,这两个集群以不同的方式处理硬件故障。如果一个BOINC节点死了,就没有容错能力;这些资源就会丢失。在Hadoop的情况下,数据被复制,任务在最终失败之前被重新运行了一定次数,但是只要框架中内置的日志记录服务正在运行,这些步骤就可以跟踪。
看来欧盟的大型强子对撞机正在使用BOINC,为什么不使用Hadoop呢?
因为BOINC提供了世界上任何人都可以安装的软件来加入集群,所以他们可以从任何地方获得大量的计算能力,实际上是免费的。
他们可能会在内部使用Hadoop进行一些存储,也许使用Spark来进行额外的计算,但大量购买大宗商品硬件和构建/维护集群似乎成本过高。
发布于 2017-05-24 01:28:06
BOINC和Hadoop之间的相似之处在于,它们利用了一个可以在许多部分解决的大问题。两者都与在多台计算机上分发数据有关,而不是一个应用程序。
不同之处在于所有出力机器之间的同步程度。使用Hadoop,同步非常紧密,您希望在某个时候从所有机器收集所有数据,然后进行最终分析。您实际上是在等待最后一个任务,直到作业的最后一小部分完成,才会返回任何内容。
对于BOINC,根本不存在同步。你有成千上万的工作要运行。由项目维护人员运行的BOINC服务器端安排将作业交付给由志愿者运行的BOINC客户端。
使用BOINC,项目维护人员根本无法控制客户端。如果客户端没有返回结果,则工作单元将再次发送到其他地方。使用Hadoop,项目维护者可以访问整个集群。使用BOINC,应用程序是跨不同平台提供的,因为它完全不确定用户提供什么平台。有了Hadoop,一切都是定义良好的,而且通常是非常同构的。BOINC最大的项目有数以万计的志愿者,Hadoop有你能买得起或租得起的东西。
https://stackoverflow.com/questions/38030539
复制相似问题