【问题标题】:Algorithm of task distribution between peer-to-peer nodes点对点节点之间的任务分配算法
【发布时间】:2014-11-12 03:09:17
【问题描述】:

我在使用全网状连接的节点之间分配任务时遇到问题。所有节点都知道所有任务,并且可以运行列表中的任何任务。

是否有任何协议或解决方案可以在所有节点之间统一分配这些任务?我假设当节点启动时,它会学习另一个对等节点并参与他们的任务。如果节点关闭,其他节点将承担该节点的任务。

【问题讨论】:

  • 任务调度算法通常会尝试优化作业完成的某些方面,例如延迟、公平性、局部性或吞吐量。你在寻找什么特质?
  • 我猜你正在寻找load balancer 实现!
  • 是的,分布式负载均衡器(没有中心点)。
  • @phs 限制无关紧要。如果连接不良(或断开),如果这个 claster 发生脑裂,那也没关系。
  • 然后elect a leader,让它收集进来的工作并打包出去。

标签: algorithm network-protocols distributed-computing


【解决方案1】:

如果您不想要头节点,则需要始终在节点之间分配任务,每个节点都维护一个任务列表,其中包含不在任何其他节点列表中的任务,以避免并发问题。

分配任务的一种方法是让每个节点估计完成分配的任务所需的时间。当一个节点发现自己的估计时间小于另一个节点的估计时间大于完成任务的时间时,它会与另一个节点合作,将另一个节点列表中的任务重新分配到自己的列表中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多