We evaluated the effectiveness of our approach on three benchmark applications from the TIP benchmark suite [Patterson97].
Agrep (version 2.04) is a fast full-text pattern matching program. The application loops through the files specified on its command line, opening and reading each file sequentially. Therefore, the arguments to Agrep completely specify the stream of read accesses it will perform. In the benchmark, Agrep searches 1349 Digital UNIX kernel source files occupying 2928 disk blocks for a simple string that does not occur in any of the files.
Gnuld (version 2.5.2) is the Free Software Foundation's object code linker. The input object files are specified on the command line. Gnuld first reads each object file's file header, symbol header, symbol tables and string tables. The location of each file's symbol header is stored in its file header, and the locations of its symbol and string tables are stored in its symbol header. Gnuld then makes up to nine small, non-sequential reads in each object file to gather debugging information. The locations of these reads are determined from the symbol tables. Finally, Gnuld loops through the different non-debugging sections that appear in an object file, reading the corresponding section from each of the object files. Interspersed with the reads, Gnuld processes the data in order to produce and output an executable. In the benchmark, 562 binaries are linked to produce a Digital UNIX kernel.
XDataSlice (version 2.2) is a data visualization package that
allows users to view a false-color representation of arbitrary slices through a
three-dimensional data set. The original application limited itself to data
sets that fit into memory, but Patterson modified the application to load data
dynamically from large data sets [Patterson95]. In the benchmark,
XDataSlice retrieves 25 random slices (the same slices used for Patterson's
experiments) through a data set of 5123 32-bit floating-point numbers
that resides in 512MB of disk space.