首页 > 解决方案 > 即使 CPU 可用,Dask Worker 也会花费大量时间 /Hangs

问题描述

我正在尝试使用 dask 分布式自定义工作负载进行并行处理。在运行更多块时,我看到了一些问题。适用于小负载

我正在使用如下期货,custom_compute 是一个独立/线程安全的函数

            future_list = client.map(custom_compute,input_list) 
            for x in as_completed(futures):
               logit('gathering result')
               outlist_list.append(x.result())

当输入列表大小约为 100 时,它会产生一个问题,我在 EMR 上运行此程序,4CPU 和 32 GB 作为主节点并自动扩展核心节点,每个节点配置为 4CPU 16GB,最多 60 个实例。

cluster = YarnCluster(environment='python:///home/hadoop/miniconda/bin/python', worker_vcores=1, worker_memory='3GiB')
cluster.adapt(wait_count=10,target_duration='240s',interval='30s',minimum=8) 

每个 custom_compute 平均需要 3-4 分钟。我有以下查询

注意:尝试现场运行以及按需运行 aws ec2 任何帮助将不胜感激。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述 在此处输入图像描述

标签: pythondaskdask-distributed

解决方案


推荐阅读