[Samba] [Question] Multichannel load-balancing algorithm

Michael Adam obnox at samba.org
Fri Aug 5 09:43:01 UTC 2016


On 2016-08-04 at 16:54 -0700, Jeremy Allison wrote:
> On Sun, Jul 24, 2016 at 04:16:41PM +0200, Martin Houry wrote:
> > Hello,
> > 
> > I have a question about multichannel and the load-balancing algorithm.
> > What kind of algorithm is it? (Roud-robin, dynamic round-robin, ...)
> > What are the arguments the algorithm compute to load-balance the
> > network traffic on the interfaces?
> > 
> > I already know that if a 10Gb/s interface and a 1Gb/s interfaces are
> > in the multichannel connection the 1Gb/s one will be ignored until the
> > 10Gb/s goes down. But the available bandwith (and not the theorical
> > bandwith) could vary. This is why I want to know if the load-balancing
> > algorithm doesn't limit to just load-balance equally on the best
> > theorical interfaces?
> 
> Isn't this a client controlled thing based on what it gets
> back from FSCTL_QUERY_NETWORK_INTERFACE_INFO ?

Yeah, it is client-implementation specific: The server just provides
the available interfaces with characteristics (speed, ...).
The client then chooses over which interfaces to send what.

AFAIK, the windows client only puts traffic on interfaces of same
speed and quality simultaneouslt, choosing the fastest interface
type. E.g. if the server offers 2 10G NICs and 4 1G NICs, the
client will bind them all to the session but only use the 2 10 G
nics for traffic, even only one of them if the other is down.
Only if both 10G interfaces are down, it will revert to sending
I/Os over the 4 1G interfaces. Among those simultaneously
used IFs, I don't know what kind of algorithm is used, possibly
some kind of round robin.
Another example: if the server and client support smb over rdma
(smb direct), and the server has one 32G infinband interface,
and 4 10Gb interfaces, it will do traffic only over the 32G IB
interface if that is available (after initially having connected
via one of the 10Gb interfaces and bound all of them to the
multi-channel session).

Caveat: This is my understanding of the Windows client behavior.
It it is probably not 100% correct, but I guess the basic idea
is correct enough. :-)

Cheers - Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba/attachments/20160805/97a4bf40/signature.sig>


More information about the samba mailing list