在使用全网状连接的节点之间分配任务时遇到问题。所有节点都知道所有任务,可以从列表中运行任何任务。
是否有任何协议或解决方案在所有节点之间统一分配这些任务?我假设当节点启动时,它会学习另一个同伴并完成他们的部分任务。如果节点关闭,则其他节点将执行此节点的任务。
答案 0 :(得分:0)
如果您不需要头节点,则需要始终在节点之间分配任务,每个节点都维护一个任务列表,其中包含不在任何其他节点列表中的任务,以避免并发问题。
分配任务的一种方法是每个节点保持估计完成其分配的任务所需的时间。当一个节点发现其估计时间小于另一个节点的估计时间超过完成任务的时间时,它会与另一个节点合作,将任务从另一个节点的列表重新分配到自己的列表。