PolyMix-1

Here is PolyMix-1 at a glance:

Workload Name: PolyMix-1 (a.k.a. PolyMix#1)
Polygraph Version: 1.0p5 -- 1.0p7
Configuration: client and server command lines
Workload Parameters: Request rate (RR)
Results: First IRCache cache-off. Polyteam report
Synopsis: workload designed specifically for the first cache-off

Table of Contents

1. Details
    1.1 Client configuration
    1.2 Server configuration
    1.3 Workload parameters
2. Hints
3. More information

1. Details

1.1 Client configuration

A handy file with raw, unformatted command line options is available. Here is a more readable version:

polyclt \
    --verb_lvl 4 \
    --ports 1024:30000 \
    --proxy $Proxy \
    --origin $Server\ 
    --launch_win 1min \
    --rep_cachable 80p \
    --robots 1 \
    --req_rate $RR/sec \
    --dhr 55p \
    --pop_model unif \
    --tmp_loc none \
    --cool_phase 1min \
    --goal -1:1hr:0.30

1.2 Server configuration

A handy file with raw, unformatted command line options is available. Here is a more readable version:

polysrv \
    --port 80 \
    --verb_lvl 4 \
    --idle_tout 135sec \
    --xact_think norm:3s,1.5s \
    --goal 1.1hr

Note that you do not have to run poly-server(s) on port 80, but we did that during the cache-off. To be able to bind to ports under 1024, you must start polysrv with root privileges. Pots other than 80 are added to host part of the URLs, and port 80 is omitted as the default HTTP port. Transparent setups may require running poly-servers on port 80.

1.3 Workload parameters

PolyMix-1 has only one parameter, namely request rate RR. The rate is specified using the --req_rate command line option. We recommend to vary request rate from about 10%-30% of the maximum supported rate to 100%, obtaining at least 5 data points.

The order of experiments (i.e., the sequence of request rates) might affect the results for high loads. Use the best order (i.e., the one that gives highest request rate) and always report if you suspect that the order indeed matters.

2. Hints

Polygraph version 1.0p7 and later distributions contain a Perl script, called bb.pl, that was used to start PolyMix-1 and other experiments during the first cache-off. The script is not documented but is relatively easy to adjust to your needs.

Later versions of Polygraph may not generate Last-Modified: and Expires: HTTP response header fields for cachable responses (by default). The latter, under certain conditions, may prevent some proxies from caching content. See the Change Log and Object Life Cycle model for details.

Use --abs_urls off with transparent proxies.

On both sides, vary the random number generator seed (across experiments) using the --rng_seed option.

3. More information

Polyteam report describes PolyMix-1 in detail. Many workload aspects are also discussed in the first cache-off documentation, specifically in the Test Suite chapter.

See the DataComm-1 workload if you want to add persistent connections to PolyMix-1.