Documentation

Francisco Pereira (ïÿïÄïÿëÜïÿçôïÿä ïÿà$ïÿ×è)
Tue, 22 Jul 1997 12:23:57 -0400

Hello everybody

We are using TreadMarks, and are having a few problems. We have
already written to the people who sold us the license, but in the absence
of an answer decided to ask for help from you. If you can help us in any
of the questions we would be very grateful.

We have a system running linux 2.0.27, and got the following
error messages when we tried to use make to compile the examples and
libraries for TreadMarks Version 0.10.1.1. Do you have any idea about
the reasons why these errors occur ? Is there a more recent version of
TreadMarks that has been successfully compiled in systems running
linux 2.xx ?

These are the error messages we got

ricercar ~/Tmk # make linux
cd lib.linux ; make
make[1]: Entering directory `/root/CC/pp/Tmk/lib.linux'
gcc -g -O2 -I../include -c ../src/open_udp.c
In file included from ../src/Tmk.h:134,
from ../src/open_udp.c:73:
../src/linux.h:67: redefinition of `struct msghdr'
make[1]: *** [open_udp.o] Error 1
make[1]: Leaving directory `/root/CC/pp/Tmk/lib.linux'
make: *** [linux] Error 2

After removing the definiton for struct msghdr from linux.h (I think the error
ocurred because this struct was already defined in sys/socket.h), the following
happened:

ricercar ~/Tmk # make linux
cd lib.linux ; make
make[1]: Entering directory `/root/CC/pp/Tmk/lib.linux'
gcc -g -O2 -I../include -c ../src/open_udp.c
gcc -g -O2 -I../include -c ../src/barrier.c
gcc -g -O2 -I../include -c ../src/diff.c
../src/diff.c: In function `Tmk_diff_request':
../src/diff.c:431: warning: comparison of distinct pointer types lacks a cast
gcc -g -O2 -I../include -c ../src/distribute.c
gcc -g -O2 -I../include -c ../src/exit.c
gcc -g -O2 -I../include -c ../src/fort_if.c
gcc -g -O2 -I../include -c ../src/interval.c
gcc -g -O2 -I../include -c ../src/lock.c
gcc -g -O2 -I../include -c ../src/page.c
gcc -g -O2 -I../include -c ../src/repo.c

gcc -g -O2 -I../include -c ../src/segv.c
../src/segv.c: In function `segv_handler':
../src/segv.c:218: parameter `scs' has incomplete type
make[1]: *** [segv.o] Error 1
make[1]: Leaving directory `/root/CC/pp/Tmk/lib.linux'
make: *** [linux] Error 2

In the "Lazy Release Consistency for Distributed Shared Memory" paper,
Dr. Keleher mentions experiments performed on hybrid systems that use
hardware shared memory in small-scale clusters, and software DSM in between
clusters. Does this version of TreadMarks support this ? We were planning
to run TreadMarks on a a system with clusters containing 4 PentiumPro's and
64Mb of RAM.
We would also like to know if there is a version of TreadMarks which
will do statistics and profiling for the synchronization primitives and for
the general performance of the system. There are a few example programs
(which we were not able to compile due to the problems mentioned above), such
as diff.c, barrier.c, lock.c, which seem to be performance tests. Are they ?
Is there any documentation explaining their purpose ?

Thank you all for your patience
Francisco Pereira