Check out the new USENIX Web site. next up previous
Next: The problem with HTTP/1.1 Up: Background Previous: Content-based Request Distribution

Locality-aware request distribution

Locality-aware request distribution (LARD) is a specific strategy for content-based request distribution that focuses on the first of the advantages cited above, namely improved cache hit rates in the back-ends [23]. LARD strives to improve cluster performance by simultaneously achieving load balancing and high cache hit rates at the back-ends.


  
Figure 1: Locality-Aware Request Distribution
\begin{figure*}
\centering
\centerline{\psfig{figure=fig/splitting_lard_bw.ps,height=1.0in}}
\end{figure*}

Figure 1 illustrates the principle of LARD in a cluster with two back-ends and a working set of three targets (A, B, and C) in the incoming request stream. The front-end directs all requests for A to back-end 1, and all requests for B and C to back-end 2. By doing so, there is an increased likelihood that the request finds the requested target in the cache at the back-end.

In contrast, with a round-robin distribution of incoming requests, requests for all three targets will arrive at both back-ends. This increases the likelihood of a cache miss, if the sum of the sizes of the three targets, or, more generally, if the size of the working set exceeds the size of the main memory cache at an individual back-end node. Thus, with a round-robin distribution, the cluster does not scale well to larger working sets, as each node's main memory cache has to fit the entire working set. With LARD, the effective cache size approaches the sum of the individual node cache sizes. Thus, adding nodes to a cluster can accommodate both increased traffic (due to additional CPU power) and larger working sets (due to the increased effective cache size).


next up previous
Next: The problem with HTTP/1.1 Up: Background Previous: Content-based Request Distribution
Peter Druschel
1999-04-27