在分布式系统中,某个节点在“N”节点上平均分配“X”工作单元(通过套接字消息传递)。
随着工作节点数量的增加,每个节点完成工作的速度更快,但我们必须建立更多的连接。
在实际情况下,这类似于更改Hadoop类系统中的10个节点,每个节点处理100 1MB,每个节点处理1MB。
发布于 2010-12-16 21:00:37
听起来你需要咨询Amdahl定律。
至少我是这样计算高速开关上有多少台机器是最适合并行计算的。
发布于 2010-12-19 20:51:58
是否必须使用监控程序和工作人员之间的套接字和消息传递?
您可以使用某种类型的队列,以避免将负载强加给主管。或者类似于HDFS的分布式文件系统来分发任务并收集结果。
它还取决于您计划部署Worker的节点数量。1,000,000个节点是一个非常大的数目,因此在这种情况下,您必须将任务分配到多个队列中。
需要注意的是,如果所有节点同时完成任务,将会发生什么。当他们可以要求一个新的任务时,这将是值得的。ZooKeeper (http://hadoop.apache.org/zookeeper/)也可能用于同步作业。
发布于 2010-12-16 21:05:26
你能测量一下你的网络成本吗?在工作机器上花费的时间只应是消息传递和接收成本的一部分。
另外,您能描述将每个工作结果处理为主结果的O符号吗?
你的轮知更鸟大师期望得到回应吗?
顺便说一句--如果您的工作节点完成得更快,但没有充分利用cpu资源,您可能会错过一个设计折衷吗?
当然,你可以是任何法律的规则或例外(论点/过时的研究)。;-)
https://stackoverflow.com/questions/4465279
复制相似问题