Распределенный Dask: Как вычислительно распознать, работает ли рабочий на холостом ходу?

#python #dask #distributed #dask-distributed

#python #dask #распределенный #распределенный dask

Вопрос:

Я хотел бы отслеживать рабочих dask и перезапускать их, когда они застревают в режиме ожидания. Есть ли способ обнаружить работающих на холостом ходу рабочих, например, путем вычисления средней загрузки процессора рабочего в последнюю минуту?

Комментарии:

1. Вы пробовали панель мониторинга? он показывает графики загрузки процессора.

Ответ №1:

Вероятно, вы хотите посмотреть состояние планировщика в Scheduler.workers

Попробуйте

 workers = client.run(lambda dask_scheduler: dask_scheduler.workers)
  

Затем посмотрите на .metrics атрибут каждого WorkerState объекта

 {address: ws.metrics["cpu"] for address, ws in workers.items()}
  

(Здесь я вытащил процессор, но там много информации)

Возможно, вы также захотите взглянуть на адаптивное планирование