gpt4 book ai didi

java - 在多个工作线程中平衡负载的算法

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:58:39 24 4
gpt4 key购买 nike

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

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

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

Constraint: The list of objects for a single key should go to single thread. (or cannot be splitted). However, we can group different list of records with different keys.

是否有任何经过验证的算法可以完成相同的任务?

例子:

Total size is = 1000
Request Map =

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 = 总大小/线程数

关于java - 在多个工作线程中平衡负载的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31205585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com