Python3: неоднозначная ошибка при запуске dask.distributed.worker_client из другого worker_client - PullRequest
0 голосов
/ 22 октября 2019

У меня есть код, который я пытаюсь ускорить, используя dask.disributed в Python3. У меня трехуровневый подход, где у меня есть объект dask.distributed Client, запускающий работу. Из этой работы я запускаю worker_clients для запуска определенных функций. Эти worker_clients сами начинают новое worker_clients. Таким образом, иерархия выглядит как

     level 0:                 Client 
                                /|\
     level 1:           wcA1    wcA2    wcA3     
                         /|\    /|\      /|\
     level 2:         wcB1 ...  wcB4...  wcB7...

Я получаю сообщение об ошибке

<Thread(Dask-Worker-Threads'-7805-1, started daemon 140437285209856)>

без дополнительных подробностей.

То, что я уже попробовал:

  • пропуск level 1. Я могу выполнить это успешно только с двумя уровнями, Client, который начинается worker_clients. Ошибка возникает, когда у меня worker_client запускается другой worker_clients.

Код:

  • для запуска основного Client: cli = Client()
  • для запуска level1 и level2 worker_clients:
with worker_client() as wc:
    y = [wc.submit(func, i) for i in iterable]
    y = wc.gather(y)

У кого-нибудь есть вход? Спасибо

1 Ответ

0 голосов
/ 24 октября 2019

Я не знаю, что здесь происходит, но одна мысль из этой строки:

<Thread(Dask-Worker-Threads'-7805-1, started daemon 140437285209856)>

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

...