In this section, we describe our experimental environment, our benchmarks, and our results. The SpecHint tool implements the design described in the previous section by modifying Alpha binaries for Digital UNIX 3.2. Threading to support speculative execution was implemented using Digital UNIX's POSIX-compliant pthreads library.
Our experiments were conducted on an AlphaStation 255 (233MHz processor) with
256MB of main memory running Digital UNIX 3.2g, where the standard Unified
Buffer Cache (UBC) manager was replaced with the TIP informed prefetching and
caching manager. To facilitate comparison with Patterson's
work [Patterson95], the file cache size was set to 12MB. The automatic
read-ahead policy, which was invoked by all unhinted read calls, prefetches
approximately the same number of blocks as have been sequentially read, up
to a maximum of 64 blocks. The I/O system consisted of four HP C2247 disks
(15ms average access times) attached by fast-wide-differential SCSI. Data
files were striped over these disks by a striping pseudodevice with a striping
unit of 64KB. A new file system was created to hold the files used in our
experiments. All tests were run with the file cache initially empty. All
reported results are averages over five runs. To facilitate comparison with
programmer-inserted hints, we reran the manually modified
applications [Patterson95] on this testbed.