gpt4 book ai didi

python - 访问 dask 集群中分散数据的成本

转载 作者:行者123 更新时间:2023-12-04 10:22:21 25 4
gpt4 key购买 nike

我使用 dask 来并行化一些处理,这很有趣。

我有一个案例,客户端的计算需要一些生成非常繁重的查找数据,因此将这些数据分散到客户端:

[future_dict] = client.scatter([large_dict], broadcast=True)

然后计算就像
def worker(i):
key = do_some_work()
data = future_dict.result()[key]
res = do_some_more_work( data )
return (i, res )

f = client.map( worker, range(200))
res = client.gather( f )

这有效,但查找 future_dict.result()[key]很慢。在 worker 中进行查找所花费的时间类似于对 large_dict 的腌制版本进行解压缩。 ,所以我猜我的字典在每个 worker 中都被反序列化了。

我可以做些什么来更快地访问分散的数据吗?例如,如果我对每个工作人员中反序列化数据的假设是正确的,我是否可以做一些事情使反序列化仅在每个客户端中发生一次?

最佳答案

你在做什么应该没问题,但如果你想让它更快,你可以在 future 传递一个明确的论点。

def func(i, my_dict=None):
key = do_some_work()
data = my_dict[key]
res = do_some_more_work( data )
return (i, res )

f = client.map( func, range(200), my_dict=future_data)
res = client.gather( f )

关于python - 访问 dask 集群中分散数据的成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60796801/

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