如何在Dask中使用InfiniBand网络?

时间:2017-05-09 23:06:27

标签: python dask infiniband

我有一个具有高性能网络的集群(InfiniBand)。但是,当我设置我的Dask调度程序和工作程序时,性能似乎并不像我预期的那么快。我如何告诉Dask使用这个网络?

免责声明:我只是问这个问题,以便我可以回答。它已成为一个经常被问到的问题

1 个答案:

答案 0 :(得分:10)

从dask.distributed版本1.16.3开始,您可以使用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。您可以通过询问您的IT部门或检查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