ACM SIGOPS Operating Systems Review · 1998 · 36 citations · 10 references
ComputingComputer ScienceComputer SystemsCluster ComputingDistributed SystemsStorage SystemsCluster Storage SystemsData LocalityDistributed ComputingDistributed StorageDistributed Systems PerformanceLoad BalancingCache MemoryContent DistributionLoad Balancing For Data AccessMain Memory OrganizationMemory Locality
Cluster‑based network servers route requests from a front‑end to multiple back‑ends, and content‑based distribution can improve cache locality, storage scalability, and enable specialized back‑end nodes. The authors propose a simple, practical locality‑aware request distribution (LARD) policy and a client‑transparent TCP handoff protocol to exploit request content for back‑end selection. LARD selects back‑ends by combining request content with load information, dynamically subdividing the server’s working set across nodes, and uses the TCP handoff protocol to transfer established connections without client disruption. Trace‑based simulations and prototype measurements show that LARD achieves high cache locality, load balancing, and delivers two‑to‑four‑.
We consider cluster-based network servers in which a front-end directs incoming requests to one of a number of back-ends. Specifically, we consider content-based request distribution: the front-end uses the content requested, in addition to information about the load on the back-end nodes, to choose which back-end will handle this request. Content-based request distribution can improve locality in the back-ends' main memory caches, increase secondary storage scalability by partitioning the server's database, and provide the ability to employ back-end nodes that are specialized for certain types of requests.As a specific policy for content-based request distribution, we introduce a simple, practical strategy for locality-aware request distribution (LARD). With LARD, the front-end distributes incoming requests in a manner that achieves high locality in the back-ends' main memory caches as well as load balancing. Locality is increased by dynamically subdividing the server's working set over the back-ends. Trace-based simulation results and measurements on a prototype implementation demonstrate substantial performance improvements over state-of-the-art approaches that use only load information to distribute requests. On workloads with working sets that do not fit in a single server node's main memory cache, the achieved throughput exceeds that of the state-of-the-art approach by a factor of two to four.With content-based distribution, incoming requests must be handed off to a back-end in a manner transparent to the client, after the front-end has inspected the content of the request. To this end, we introduce an efficient TCP handoflprotocol that can hand off an established TCP connection in a client-transparent manner.
10
Cluster-based scalable network services
Armando Fox, Steven D. Gribble, Yatin Chawathe et al. · 1997 · 527 citations · Full text
Implementing global memory management in a workstation cluster
Michael J. Feeley, W. E. Morgan, E. P. Pighin et al. · 1995 · 339 citations · Full text
Improving web server performance by caching dynamic data
Arun Iyengar, Jim Challenger · 1997 · 169 citations