Martin Houry
2016-Jul-24 14:16 UTC
[Samba] [Question] Multichannel load-balancing algorithm
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? Thank you, Martin
Jeremy Allison
2016-Aug-04 23:54 UTC
[Samba] [Question] Multichannel load-balancing algorithm
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 ?
Michael Adam
2016-Aug-05 09:43 UTC
[Samba] [Question] Multichannel load-balancing algorithm
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>