From: Manish Mittal (manishm_at_microsoft.com)
Date: Mon Mar 08 2004 - 11:53:30 PST
This paper describes architecture for a cluster of workstations and
describes the implementation of this architecture for two services. The
main ideas of the architecture presented are layered design, centralized
load balancing and distributed request handling.
In this design, parsing of requests is separated from load distribution,
data transformation services, and data retrieval services. This allows
specialization of nodes for a particular type of operation and makes
implementation of each layer simple. Specialization also helps to
improve performance of instruction and data caches, thereby increasing
the throughput. The load balancing is performed by a centralized manager
that has global information about the state of the cluster. The incoming
requests are handled by a number of front-ends that are equipped with
manager stubs. Manager stubs contact the centralized manager, who makes
load distribution decisions based on the load information that it has
and based on use profile data that can be looked up in a database. The
manager chooses a particular worker to handle the request. There are
also a number of nodes in the cluster that serve as caches. These
services are designed for read dominated applications unlike porcupine.
The experimental results showed that one manager can support a cluster
of reasonable size.
This archive was generated by hypermail 2.1.6 : Mon Mar 08 2004 - 11:52:26 PST