我发现我的集群内的数据传输将受到网络互连的瓶颈(我使用连续工作负载使双 SAS 连接饱和),并且我还不确定是使用 10 GbE 还是 40/56 Gb Infiniband 来缓解这个问题。
我倾向于使用双端口 10 GbE NIC 和链路聚合来增加服务器之间的吞吐量。但是,我了解到吞吐量不会随着链路数量的增加而线性增加。我应该期望什么样的吞吐量?如果这取决于我的工作集,我该如何估算吞吐量?
答案1
绑定 1GBE 链路几乎是线性的。不过我还没有尝试过 10GBe 链路,我怀疑它不是线性的。原因是内存和 CPU 成为瓶颈。我在 FDR infiniband 上看到过这种情况,尽管有卸载机制,我也不怀疑以太网也会发生同样的情况。
这就是 RDMA 被发明的原因。在 Infiniband 上,它被称为 RDMA。在以太网上,他们称之为 RoCE 或融合以太网上的 RDMA。它旨在提供内存到内存的传输,并绕过 CPU,但设置传输过程除外。iSCSI iSER 协议使用 RDMA。但是,同样存在瓶颈。要执行 RDMA,您需要锁定内存区域以防止它们在过程中被分页到磁盘。这需要时间,而且往往是一个瓶颈。在 FDR 上,我们获得了大约 6GBytes/sec 的吞吐量,这仍然低于 56GBit/s - 开销。
一般情况下,人们都希望坚持使用一种已知的技术,比如以太网。但为了获得尽可能高的性能,Infiniband 相当不错。两者都相当昂贵,但以太网在成本上可能更胜一筹。