我有一个具有高性能网络的集群(InfiniBand)。但是,当我设置我的Dask调度程序和工作程序时,性能似乎并不像我预期的那么快。我如何告诉Dask使用这个网络?
免责声明:我只是问这个问题,以便我可以回答。它已成为一个经常被问到的问题
答案 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