Locality-aware request distribution in cluster-based network servers

Vivek S. Pai, Mohit Aron, Gaurov Banga, Michael Svendsen, Peter Druschel, Willy Zwaenepoel, Erich Nahum

ACM SIGOPS Operating Systems Review · 1998 · 36 citations · 10 references

DOIFull text

Open access

Concepts

TL;DR

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‑.

Abstract

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.

References

10