繁体   English   中英

Alogrithm用于平衡多个工作线程中的负载

[英]Alogrithm for balancing the load in multiple worker threads

我有一个带key1的HashMap到keyn,每个键的值是一个对象列表,每个对象上有不同数量的对象。

我也知道对象的总数(在各种键之间分配)。

我的目标是将数据加载到T个线程中,其中K作为每个线程中的平均记录数。

约束 :单个键的对象列表应该转到单个线程。 (或不能拆分)。 但是,我们可以使用不同的键对不同的记录列表进行分组。

有没有经过验证的算法可以执行相同的任务?

例:

总大小= 1000
请求地图=

k1 - > 100
k2 - > 50
k3 - > 200
k4 - > 250
k5 - > 150
k6 - > 80
k7 - > 60
k8 - > 90
k9 - > 20

现在输出可以是:

T1 = k4(250)
T2 = k3 + k2(250)
T3 = k1 + k5(250)
T4 = k6 + k7 + k8 + k9(250)

这称为Bin Packing Problem ,其中V = total-size/thread-count

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM