Mustapha,
> I would like to change the scheduling algorithm (until now I am
> using rr scheduling) used in Piranha to take into account the
> network state.
Bingo - you've pretty much defined what I've been working on for most of this
year. :)
I've been writing and testing a dynamic feedback system for LVS, which reports
the state of each server to the director to update the weighting values for
wrr scheduling. At present 'server state' is defined by CPU load, but the
program itself uses plugin modules (a la dlopen()) to generate a health
index. Writing a plugin to use network health instead would be a fairly
trivial task.
The feedback program is still only sutiable for a simulation environment (no
security and probably a few reliability issues), but is in development. From
the testing I have done so far (which has been part of my Honours project),
the benefit of using the system looks promising. The final results are being
written up and will be presented at the linux.conf.au conference
(http://linux.conf.au/). The feedback software will be released under the
GPL.
I'll post to this list with a link to the paper once it's done. Although the
software has been tested in the lab, there won't have been a real-world
implementation of it; testers would be welcome.
Of course, since you're monitoring the network in this case (just detecting
broken links? or some sort of continuous metric?) then all of the moitoring
could feasibly be done on the realserver, maybe even in kernel space as a
patch to LVS. This all depends on what it is that you're monitoring...
Jeremy
|