[OpenAFS] OpenAFS client and load balancing...
Rodney M Dyer
rmdyer@uncc.edu
Tue, 09 Aug 2005 21:00:28 -0400
Hi,
Would it be possible to put an algorithm for load balancing into the AFS
client such that the client would select the next server in its preference
list if the data stream fed to it by the server was "too slow"? Then,
every few minutes, or hours, re-try the primary preferences again and
switch back.
Basically what I'm refering to here is an adaptive real-time algorithm
where the client would upon startup keep a running history of its data
bandwidth rate and when that rate dramatically falls for short periods of
time, the client just switches to the next available server.
The current implementation of AFS server preferences for fail-over doesn't
help to eliminate bottlenecks of caused by many machines hitting a single
server and loading it down.
Why this would be needed? At our site we have an algorithm that sets
server preferences a special way. Basically we set all the client machines
in one building to randomize their preferences for all the servers in that
building, then choose the other buildings and the servers in them at
random, next in the list. This is generally not a problem except in the
case where you have lots of clients in a building, and few servers, or in
our case 1 server. However in our case, due to space limitations, we don't
have room for more servers. Now of course I could change our preferences
setting algorithm for a "special case" where there are few servers for a
building, howevever I don't want the client to always use another buildings
servers, except in severe cases of loading.
How complex would this be to add to the client?
Rodney