Как использовать сеть InfiniBand с Dask?

У меня есть кластер с высокопроизводительной сетью (InfiniBand). Однако, когда я настроил свой планировщик Dask и рабочие процессы, производительность оказалась не такой быстрой, как я ожидал. Как я могу сказать Dask использовать эту сеть?

Отказ от ответственности. Я задаю этот вопрос только для того, чтобы ответить на него. Этот вопрос стал часто задаваемым


person MRocklin    schedule 09.05.2017    source источник


Ответы (1)


Начиная с версии 1.16.3 dask.distributed вы можете указать сетевой интерфейс для исполняемых файлов dask-scheduler и dask-worker, используя ключевое слово --interface, как показано ниже:

dask-scheduler --interface ib0 --scheduler-file ~/my.cluster.yaml
dask-worker --interface ib0 --scheudler-file ~/my.cluster.yaml

В приведенном выше примере кода я предположил, что ваш сетевой интерфейс infininband называется ib0. Вы можете проверить это, обратившись в свой ИТ-отдел или просмотрев выходные данные ifconfig.

$ ifconfig
lo          Link encap:Local Loopback                       # Localhost
            inet addr:127.0.0.1  Mask:255.0.0.0
            inet6 addr: ::1/128 Scope:Host
eth0        Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX   # Ethernet
            inet addr:192.168.0.101
            ...
ib0         Link encap:Infiniband                           # Fast InfiniBand
            inet addr:172.42.0.101
person MRocklin    schedule 09.05.2017
comment
Я использую --interface ib0, но, похоже, Dask все еще использует eth0. Как я могу отладить это? (распространяемая версия 1.21.1. также работает с моим системным администратором). Спасибо! - person Wei Liu; 12.03.2018