Optimal multicast / TCP flow distribution

98 views
Skip to first unread message

Denis Ivaykin

unread,
Apr 29, 2014, 5:05:30 AM4/29/14
to libvm...@googlegroups.com
Dear Or,

Would be very grateful if you could advise on what'd be optimal. I've two MLNX cards and four 10GB lines to the switch.

I need to receive a lot of multicast data combined to logical channels. Most of the data in a channel is incremental A multicast group and B MC group (there could be ~100-10000 msgs/sec).

Then I need to send short TCP packet or series of TCP packets (0.5-10 msgs/sec).

The question is - should I stream all the multicast data RX through one MLNX card and do TCP TX through another or it's better to consume A multicast group on one MLNX card and B multicast on another card?

Target latencies ~3-10usec.

Does it even matter to the hardware/firmware/software - the separation of traffic I'm talking about? Or any combination of routing would yield pretty much the same performance?

Thx

orkme...@gmail.com

unread,
Apr 29, 2014, 6:01:41 AM4/29/14
to libvm...@googlegroups.com

Generally, for your described case, the performance will be pretty much the same in any configuration.

However for some scenarios you can benefit from distributing the RX streams to different NICs:

  1. If your total bandwidth is reaching the NIC maximum capacity, then splitting the streams to two NICs will obviously help.
  2. If you listen on many multicast groups or have many TCP connections (hundreds),  splitting the streams over several NICs will reduce latency.
  3. If you have several processes listening on the same multicast stream, you might benefit from using several NICs/Ports to receive the same MC traffic for different processes.

 

The TX flow is separated from the RX flow, so there shouldn’t be a difference when using another NIC or the same one used for RX.

Reply all
Reply to author
Forward
0 new messages