Check out the new USENIX Web site.


Overview

Figure 1: Automated Workbench and Controller.
\begin{figure}\centering
\epsfig{file=graphs/controller2,width=7cm,bbllx=174,bbl...
...rx=544,bbury=705,angle =270,clip=true}
\vspace{-2ex}\vspace{-2ex}
\end{figure}

Figure 1 depicts a framework for automated server benchmarking. An automated workbench controller directs benchmarking experiments on a common hardware pool (workbench). The controller incorporates policies that decide which experiments to conduct and in what order, based on the following considerations:

Figure 2: These surfaces illustrate how the peak rate, $ \lambda ^*$, changes with number of disks and number of NFS daemon (nfsd) threads for two canned fstress workloads (DB_TP and Web server) on Linux-based NFS servers. The workloads for this example are described in more detail later, in Table 3.
\begin{figure*}\centering
\epsfig{file=graphs/surface_database.eps,width=8cm}
\e...
...aphs/surface_webserver.eps,width=8cm}
\vspace{-2ex}\vspace{-2ex}
\end{figure*}


Table 1: Some workload and configuration factors that affect NFS file server performance.
$ \vec{W}$ read/write ratio, random/sequential ratio, metadata/data ratio, dataset size, file size distribution, directory structure, request mix
$ \vec{R}$ CPU speed, memory size, number of disks
$ \vec{C}$ Number of NFS server I/O daemons (nfsds), type of file system, block size


We characterize the benchmark performance of a server by its peak rate or saturation throughput, denoted $ \lambda ^*$. $ \lambda ^*$ is the highest request arrival rate $ \lambda$ that does not drive the server into a saturation state. The server is said to be in a saturation state if a response time metric exceeds a specified threshold, indicating that the offered load has reached the maximum that the server can process effectively.

The performance of a server is a function of its workload, its configuration, and the hardware resources allocated to it. Each of these may be characterized by a vector of metrics or factors, as summarized in Table 1.

Workload $ \vec{W}$. Workload factors define the properties of the request mix and the data sets they operate on, and other workload characteristics.

Configurations ($ \vec{C}$). The controller may vary server configuration parameters (e.g., buffer sizes, queue bounds, concurrency levels) before it instantiates the server for each run.

Resources $ \vec{R}$. The controller can vary the amount of hardware resources assigned to the system under test, depending on the capabilities of the workbench testbed. The prototype can instantiate Xen virtual machines sized along the memory, CPU, and I/O dimensions. The experiments in this paper vary the workload and configuration parameters on a fixed set of Linux server configurations in the workbench.



Subsections
varun 2008-05-13