我正在复制zguide2的zeroMQ的Divide & Conquer example。它使用呼吸机将任务推给几个工人,然后将结果发送到水槽。你知道吗
一切正常。然而,如果我在模拟一个较慢的客户机或非常不平衡的任务,那么运行时间远不是最佳的。例如,这可以通过添加行来实现
if(task_nbr % cpu_count() == 0):
workload *= 4
在ventilator中的workload = random.randint(1, 100)
之后。你知道吗
我试图将接收器(工作者)和发送器(呼吸机)的水位降到最高点,但没有改进运行时间。你知道吗
错误可能是在选择套接字类型“PUB”/“PULL”时发生的?你知道吗
如果需要,我可以附加一个最小的工作示例,但是由于工人通风槽结构的原因,它有点长(大约150行)。你知道吗
在这种情况下,最好使用ROUTER and REQ sockets。这在python中是可能的
以及
Jeremy Avnet给出的一个完整的例子可以在in the zguide中找到。可以观察到,即使添加了问题的代码,运行时也将接近最优。你知道吗
在 The Load Balancing Pattern一节中也描述了这项工作的原因:
相关问题 更多 >
编程相关推荐