Hi all,
Recently, someone asked me about the difference between scheduling for LVS
and scheduling for conventional distributed computing / parallel processing.
My answer was simply:
The only *real* difference is that LVS (and other clustering solutions) are
scheduling in a 'static' fashion. i.e. a process / network connection once
scheduled is completely processed at the processing element it was initially
assigned to.
Whereas, in distributed / parallel processing, most of the emphasis in
scheduling research is on 'dynamic' scheduling. i.e. moving incomplete
processes from the initially assigned-to processing element to a more
lightly loaded element. The logic here is that individual processes take a
long time to complete, thus the cost of a 'move' is justifiable.
So...
Dynamic scheduling for a clustering solution like LVS is essentially TCP
hijacking -- which when weighed with the effort in implementing such a
technique -- to me doesn't seem practical *at all*. (short connections,
connection tracking to the *extreme*, etc...)
I couldn't quite convince the guy of this, but anyway, I'm off to dinner.
Comments?
Cheers,
Ben.
--
B. http://b.makelinux.org/ "Keep it real."
__________________________________________________________________________
Most people in this society who aren't actively mad are, at best,
reformed or potential lunatics.
-- Susan Sontag
|