首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分布式系统设计

分布式系统设计
EN

Stack Overflow用户
提问于 2010-12-16 20:54:06
回答 3查看 1K关注 0票数 2

在分布式系统中,某个节点在“N”节点上平均分配“X”工作单元(通过套接字消息传递)。

随着工作节点数量的增加,每个节点完成工作的速度更快,但我们必须建立更多的连接。

在实际情况下,这类似于更改Hadoop类系统中的10个节点,每个节点处理100 1MB,每个节点处理1MB。

  • 在这种情况下建立更多的连接会产生什么影响?在poll()函数中,这是一个很大的开销吗?
  • 最好的方法是什么?
EN

回答 3

Stack Overflow用户

发布于 2010-12-16 21:00:37

听起来你需要咨询Amdahl定律

至少我是这样计算高速开关上有多少台机器是最适合并行计算的。

票数 3
EN

Stack Overflow用户

发布于 2010-12-19 20:51:58

是否必须使用监控程序和工作人员之间的套接字和消息传递?

您可以使用某种类型的队列,以避免将负载强加给主管。或者类似于HDFS的分布式文件系统来分发任务并收集结果。

它还取决于您计划部署Worker的节点数量。1,000,000个节点是一个非常大的数目,因此在这种情况下,您必须将任务分配到多个队列中。

需要注意的是,如果所有节点同时完成任务,将会发生什么。当他们可以要求一个新的任务时,这将是值得的。ZooKeeper (http://hadoop.apache.org/zookeeper/)也可能用于同步作业。

票数 1
EN

Stack Overflow用户

发布于 2010-12-16 21:05:26

你能测量一下你的网络成本吗?在工作机器上花费的时间只应是消息传递和接收成本的一部分。

另外,您能描述将每个工作结果处理为主结果的O符号吗?

你的轮知更鸟大师期望得到回应吗?

顺便说一句--如果您的工作节点完成得更快,但没有充分利用cpu资源,您可能会错过一个设计折衷吗?

当然,你可以是任何法律的规则或例外(论点/过时的研究)。;-)

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

https://stackoverflow.com/questions/4465279

复制
相关文章

相似问题

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