我有一个高性能网络的集群 (InfiniBand)。 然而,当我设置我的Dask调度程序和工作节点时,性能似乎并不如我所期望的快。 我怎么告诉Dask使用这个网络呢?
免责声明:我只是问这个问题,以便回答它。这已经成为一个常见的问题。
我有一个高性能网络的集群 (InfiniBand)。 然而,当我设置我的Dask调度程序和工作节点时,性能似乎并不如我所期望的快。 我怎么告诉Dask使用这个网络呢?
免责声明:我只是问这个问题,以便回答它。这已经成为一个常见的问题。
从dask.distributed 1.16.3版本开始,您可以使用--interface
关键字指定dask-scheduler
和dask-worker
可执行文件的网络接口,例如:
dask-scheduler --interface ib0 --scheduler-file ~/my.cluster.yaml
dask-worker --interface ib0 --scheudler-file ~/my.cluster.yaml
在上面的代码示例中,我假设您的InfiniBand网络接口称为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