This directory contains source for the reader/writer lock tests
performed on the BBN TC2000. The algorithms are all coded in C.

The experiments reported in the paper were performed on a 45 processor
Butterfly TC2000.

The files:

Makefile            makefile to compile the test program components
README              this file
dissemination.c     an optimized version of HFM's dissemination barrier
synchtest.c         the main test program that runs multiprocessor tests
                       of the various reader/writer algorithms
runtest             a shell script used to run a sequence of reader/writer tests
fair_queue.c        C source for local-spin fair reader/writer algorithm
fair_queue.h        record types for local-spin fair reader/writer algorithm
fair_tas.c          C source for simple centralized reader/writer algorithm
fair_tas.h          record types for simple centralized reader/writer algorithm
latency.c           main test program that runs latency tests on one processor
read_pref_queue.c   C source for local-spin reader preference r/w lock algorithm
read_pref_queue.h   record types for local-spin reader preference r/w lock
read_pref_tas.c     C source for simple centralized reader preference r/w lock
read_pref_tas.h     record types for simple centralized reader preference 
                        r/w lock
types.h             some general definitions
write_pref_queue.c  C source for local-spin writer preference r/w lock
write_pref_queue.h  record types for local-spin writer preference r/w lock

typescript-latency  results from our latency tests
typescript-competition  results from our multiprocessor tests

----------

Each test executes 100000 read/write locks.  The time reported is the
total time in microseconds for each test to complete (including loop 
overhead). Our graphs show the average time per lock acquisition/release
as (reported time/100000).
