Понимание потока задач Dask - PullRequest
0 голосов
/ 14 ноября 2018

Я запускаю dask локально, используя распределенный планировщик на моей машине с 8 ядрами. По инициализации вижу:

enter image description here

Что выглядит правильно, но меня смущает поток задач в диагностике (показанный ниже): enter image description here

Я ожидал 8 строк, соответствующих 8 рабочим / ядрам, это неправильно?

Спасибо

AJ

Я добавил код, который я использую:

import dask.dataframe as dd
from dask.distributed import Client, progress
client = Client()
progress(client)

# load datasets
trd = (dd.read_csv('trade_201811*.csv', compression='gzip',  
                    blocksize=None, dtype={'Notional': 'float64'})
         .assign(timestamp=lambda x: dd.to_datetime(x.timestamp.str.replace('D', 'T')))
         .set_index('timestamp', sorted=True))

1 Ответ

0 голосов
/ 14 ноября 2018

Каждая строка соответствует одному потоку.Некоторые более сложные операции Dask запускают дополнительные потоки, это происходит, в частности, когда задачи запускают другие задачи, что обычно, особенно в рабочих нагрузках машинного обучения.

Я предполагаю, что вы используете один из следующих подходов:

  • dask.distributed.get_client или dask.distributed.worker_client
  • Joblib Scikit-Learn
  • Dask-ML

Если это так, то поведение, которое вы видите, является нормальным.Да, график потока задач будет выглядеть немного странно, но, надеюсь, он все еще может быть интерпретирован.

...