[comp.arch] Hennesey & Patterson Software: available via anonymous ftp

gm@wsrcc.com (Greg McGary) (11/09/90)

Those who have read the Preface to _Computer_Architecture:_
_A_Quantitative_Approach_ will recall that the authors mention a set of
sofware tools that supplement the text.  I just spoke with Morgan
Kaufmann yesterday and learned that you can pay them $$$ for a tape, or
get it via anonymous ftp for free!

The README file doesn't contain a copyright notice, nor any mention of
copying restrictions.  I don't know about any of the other files, as I
don't have the disk capacity to download them and find out.  If someone
knows of or discovers any restrictions, please post a followup.

To those without internet access:  Please don't ask me to forward this
stuff for you, since my access to the internet is limited and only
through the kindness of a friend.

This stuff lifes on max.stanford.edu [36.22.0.19] in
~ftp/hennessey-patterson.sofware

Here is the directory listing...

total 18586
-rw-r--r--  1 55           9015 Aug 28 11:06 README
-rw-r--r--  1 55           8164 Aug 28 11:06 README.me
-rw-r--r--  1 55        1849417 Sep 24 10:34 benchmarks.tar.Z
-rw-r--r--  1 55          76779 Aug 14 16:09 dinero.tar.Z
-rw-r--r--  1 55        2824930 Oct 30 13:45 dlx.tar.Z
-rw-r--r--  1 55          41938 Aug 14 16:09 statistics.tar.Z
-rw-r--r--  1 55          20480 Sep 24 09:58 tools.tar
-rw-r--r--  1 55            322 Aug 28 11:06 traces.README
-rw-r--r--  1 55       10024960 Aug 28 11:04 traces.atum.tar
-rw-r--r--  1 55        4136960 Aug 28 10:31 traces.benchmarks.tar

As you can see, its very large: 20Mb compressed, and 100Mb uncompressed.
It would be kind to download it during non-peak hours...

For your convenience, here is the README.me file (apply [nt]roff -me)
(The README listed above is simply an nroff'ed version of README.me)

.ce 100
.ps 18
\fBSoftware Distribution for Computer Architecture: 

A Quantitative Approach

Revised Version
August 1990\fR
.ce 0

.pp
This tape contains the software that accompanies \fIComputer Architecture:
A Quantitative Approach\fR.  This release replaces the older version
and includes an entirely new compiler and simulator.
It is organized into six major components: 
dlx, dinero, benchmarks, statistics, traces (broken into two
separate tar files to keep them about 10MB in size), and tools.
Each directory contains a README file (there is one README for the trace
directories file at the top, called traces.README) 
which describes the contents of that
directory in detail, and how one can install and use the software. Each 
directory has been "tarred" into a single file and then compressed.
This makes the release as small as possible. 
Below is a brief description of each directory.
.sp 2
.ip "\fBdinero\fR"
The dinero cache simulator.  All source files, documentation, and tools
required to build the simulator are included.  This is version III of the
dinero cache simulator and is sometimes referenced as dineroIII.
.ip "\fBtraces.benchmarks\fR"
Dinero-formatted cache traces of the three  benchmarks (Spice,gcc,TeX), each
including  1,000,000 references.
.ip "\fBtraces.atum\fR"
Dinero-formatted cache traces taken on the VAX using ATUM.
.ip "\fBbenchmarks\fR"
Contains the benchmarks gcc, TeX, and spice.  All source and tools
required to build and run the benchmarks are included.
.ip "\fBstatistics\fR"
Tables of performance statistics for the benchmark programs running on 
both the VAX and DLX. 
.ip "\fBdlx\fR"
DLX simulator and compiler.  A second version of gcc (which
is in the benchmark directory) resides here, but is used only for generating
DLX code.  Note that this is a DLX cross compiler which runs on your host 
system and creates output for the DLX simulator.  Also contained in this
directory are sample programs to run under DLX.
.ip "\fBtools\fR"
Tools to extract directories from the tape and build any of the programs
included. You should extract this directory first.
.sp 2
.ce 10
\fBInstalling the Software\fR
.ce 0
.sh 1 "General Information"
.pp
This tape contains approximately 20 megabytes of data.  Any or all may be
extracted into one or more directories on your system.  Building all 
the executables requires additional megabytes of disk space, and
uncompressing all the trace files requires mucho megabytes of
disk space.
.sh 1 "Extracting Information"
.sh 2 "Reading the Entire Tape"
.pp
If you wish to read the entire tape and install it on your system in a
single location, load the tape on the tape drive, change to the desired 
target directory
.(l
    \fIcd\fR target_directory
.)l
and extract all the files from tape
.(l
    \fItar\fR xv
.)l
If your tape drive has a name other than the tar default you will need to use 
.(l
    \fItar\fR xvf device-name
.)l
A list of all the extracted files will be displayed on your screen.  Now go
to section 3.
.sh 2 "Reading Parts of the Tape"
.pp
If you wish to extract selected software from the tape, you should first
extract the tools.  Load the tape on the tape drive, change to the desired
target directory
.(l
    \fIcd\fR target_directory
.)l
and extract the tools
.(l
    \fItar\fR xv tools
.)l
If your tape drive has a name other than the default name you will have
to use 
.(l
    \fItar\fR xvf device-name tools
.)l
A list of all the tools included will be displayed on your screen.
The tools directory contains installation scripts and scripts to extract
additional information from the tape.  To simplify the remaining installation
and extraction process, it is useful to include the tools directory in your
search path so that the programs located there can be readily accessed.
To do this, issue the following two commands:
.(l
    \fIset\fR path=($path target_directory/tools)
    \fIrehash\fR
.)l
where target_directory is the directory from which you loaded the tape.
.pp
Now, you may extract specific portions of the release.  But, first
you need to edit the extract script to put in your tape
drive device name. Each portion is
in a single compressed tar file. The extract process will get the
file from tape, uncompress it, and then de-tar it--greatly expanding the size!
The command
extract will ask you which modules to extract, and then read those modules 
from tape.
.pp
You will be prompted for each of the following:
.(l
    dinero
    traces
    benchmarks
    statistics
    dlx
.)l
Responding with a "y" will request that the module in question be extracted.
.sh 1 "Installing the Software"
.pp
Each directory you extract has its own README file which describes the
contents of the directory and provides a more detailed description of
the programs present.  You may install all the software you have extracted
or only part of it.  The installation procedure will build all the executable
programs in the distribution.  Please note, however that the traces are 
delivered in compressed form and the individual files are not uncompressed 
as part of installation
since they will immediately consume tremendous quantities of disk space.
.pp
All executables will be installed in the bin directory in the target directory
and the manual pages will be stored in the man/man1 and man/cat1 directories.  
If you wish
to have the executables installed elsewhere, edit the script tools/sw_install
to reflect the desired locations of the executables.
In order to access the executables easily, 
you will have to modify your path variable and MANPATH environment variable.
As above, assume that target_directory is where you have
read the tape.  Issuing the following two commands will set up your environment.
.(l
    \fIset\fR path=(target_directory/bin $path)
    \fIsetenv\fR MANPATH target_directory/man:$MANPATH
.)l
If you get the error message, "MANPATH: Undefined variable." then issue the
command:
.(l
    \fIsetenv\fR MANPATH target_directory/man
.)l
.pp
As specified in section 2.2 above, make sure that the tools directory is
in your \fIpath\fR variable.  Now, change into the target directory (the one
into which you extracted the tape) and issue the command \fIsw_install\fR.
You will be asked if you wish to install all present software or merely
a selected subset (all the software will occupy about 100 MB when
installed and compiled).  
If you chose to install all the software, all the appropriate
compilations will be performed.
Once you have completed the installation, type
.(l
    \fIrehash\fR
.)l
You should now be able to access all the executables.  Furthermore, using
\fIman\fR on programs like dlxcc and dinero should now work.
See the README files in each directory for a more detailed description of
the contents of each directory.
.sh 1 "Trace Files"
.pp
The trace subdirectory contains several dinero input trace files.  These
have been shipped in compressed format since they compress by a factor of
approximately 6:1.  You can uncompress these files using the UNIX uncompress
command.  However, you may run them through dinero using UNIX pipes and the
command zcat:
.(l
    \fIzcat\fR file | \fIdinero\fR -options
.)l
.sh 1 "Testing Your Software"
.pp
There are several test programs included that will allow you to verify
that your software is working.  To verify dinero, go into the dinero/demo
directory and execute the script "dinchk".  This will run dinero on a small
input file and verify the output against the sample output shipped.  To verify
the dlx simulator and compiler, go into the dlx/test directory
and compile and simulate the test programs there.  For example, compile
perm.c by typing:
.(l
    \fIdlxcc\fR perm.c
.)l
Then start the simulator by typing:
.(l
    \fIdlxsim\fR
.)l
Then read the simulator documentation to find out how to load
and run perm.
.pp
If you get the error message:
.(l
dlxcc: Command not found.
.)l
for dlxcc or any other program, check your path shell variable 
(type \fIecho\fR $path)
and make sure
that the tape bin directory is included there.  If the manual pages are not
found when you execute the \fIman\fR command, check the $MANPATH variable
(echo $MANPATH).
-- 
Greg McGary		uunet!wsrcc!gm, gm@wsrcc.com
(703) 318-8698		10310 Main Street, #109, Fairfax, Virginia  22030