【问题标题】:Dask Gateway, set worker resourcesDask Gateway,设置工作器资源
【发布时间】:2021-09-23 22:24:39
【问题描述】:

我正在尝试按照 docs here 为工作人员设置资源,但在使用 Dask 网关的设置上。具体来说,我希望能够关注this question 的答案,但使用 Dask Gateway。

我无法在ClusterConfig options 中找到对工作人员资源的引用,我尝试了以下 (as per this answer),但似乎不起作用:

def set_resources(dask_worker):
    dask_worker.set_resources(task_limit=1)
    return dask_worker.available_resources, dask_worker.total_resources

client.run(set_resources)

# output from a 1 worker cluster
> {'tls://255.0.91.211:39302': ({}, {})}


# checking info known by scheduler
cluster.scheduler_info

> {'type': 'Scheduler',
 'id': 'Scheduler-410438c9-6b3a-494d-974a-52d9e9fss121',
 'address': 'tls://255.0.44.161:8786',
 'services': {'dashboard': 8787, 'gateway': 8788},
 'started': 1632434883.9022279,
 'workers': {'tls://255.0.92.232:39305': {'type': 'Worker',
   'id': 'dask-worker-f95c163cf41647c6a6d85da9efa9919b-wvnf6',
   'host': '255.0.91.211',
   'resources': {}, #### still {} empty dict
   'local_directory': '/home/jovyan/dask-worker-space/worker-ir8tpkz_',
   'name': 'dask-worker-f95c157cf41647c6a6d85da9efa9919b-wvnf6',
   'nthreads': 4,
   'memory_limit': 6952476672,
   'services': {'dashboard': 8787},
   'nanny': 'tls://255.0.92.232:40499'}}}

如何做到这一点,或者在使用 Dask Gateway 的舵图的 config.yaml 创建集群时(理想情况下,用户可以更改集群选项中的一个字段!),或者在工作人员已经启动并运行?

【问题讨论】:

  • 有趣,我也可以在本地集群上复制它...

标签: dask dask-kubernetes dask-gateway


【解决方案1】:

我找到了一种方法来指定这一点,至少在 Kubernetes 上,是通过KubeClusterConfig.worker_extra_container_config。这是我用于工作配置的 yaml sn-p(具体来说,这是在我的 daskhub helm deploy 配置中):

dask-gateway:
  gateway:
    backend:
      worker:
        extraContainerConfig:
          env:
          - name: DASK_DISTRIBUTED__WORKER__RESOURCES__TASKSLOTS
            value: "1"

cluster options 中没有公开设置工作器资源的选项,也没有在KubeClusterConfig 中明确公开。环境变量的具体格式描述为here。资源环境变量需要在dask worker进程启动前设置,我设置KubeClusterConfig.environment时发现不行。

使用它,我可以在一个拥有 4 个内核的 dask 工作容器中使用 mkl 运行多线程 numpy (np.dot)。我看到 400% 的 CPU 使用率和每个工作人员只分配了一个任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-14
    • 2020-08-21
    • 2017-06-11
    • 1970-01-01
    相关资源
    最近更新 更多