[Spread-users] Load balancing with group communication
joshua at roughtrade.net
Wed Jan 8 15:06:37 EST 2003
On Wed, Jan 08, 2003 at 06:56:40AM -0800, Van Gale wrote:
> I have an application that I'd like to use Spread for messaging between
> components/objects. Sometimes the components fit nicely into the Spread
> mold, like logging components or databse replication. Sometimes though, I
> only want one member of the group to process the message. In other words,
> more of a message queue model.
> Unfortunately, the most promising looking paper, "S. Dolev, R. Segala, and
> A.A. Shvartsman, Dynamic Load Balancing with Group Communication, Proc. of
> 6th International Colloquium on Structured Information and Communication
> Complexity, 1999", seems to be unavailable online.
> Anyone have any pointers or ideas to help me out here?
That paper is cited at least eight times:
The following general schemes occurred to me whilst flicking through
Tanenbaum's "Distributed Systems":
a) A coordinator-based system; requests are brokered through a lookup service
(taking the form of a process or processes listening to a lookup group; the
master lookup service is then the responding broker. You could elect a master
by simply choosing the first process in the group membership, which is
globally the same in a stable view.)
JavaSpaces as a reference point.
b) An offer-and-reject system; each process monitors a group for
announcements of jobs-in-progress. When a new job becomes available, a
worker is selected from the known set by an appropriate algorithm, and
the job is offered. Rejection amounts to a back-off and retry.
Acceptance results in announcement to the jobs-in-progress group.
c) An announce-and-offer system; new job is multicast to a group and available
workers present themselves to the announcer.
d) Any dynamic combination of the above :)
e) Any dynamic combination of the above using virtual money to represent
estimated job value and worker speed.
More information about the Spread-users