A tar file containing my Parallel Proteus source code can be obtained by anonymous ftp from: ftp.lcs.mit.edu in pub/ulana/parallel_proteus/release.tar.gz Because I have RSI & can't type, I haven't been able to package up the code with all the necessary libraries and tools so that it could just be compiled and run. However, if you're not planning to run on a CM5, that would not have been very helpful anyway. I think that the code I am providing will be most useful as a guide or reference as to how to parallelize Proteus on your own system. Some details and caveats: The code included there runs on a Thinking Machine's CM5. It uses the Strata communications library for the CM5 (available from rdb@lcs.mit.edu) and the CM5 cmmd communication library. The application included with the simulator is sor -- successive over-relaxation, which performs a relaxation function on a grid of points. Parallel Proteus simulates message-passing multicomputers ONLY - not shared-memory machines. Parallel Proteus supports 3 different synchronization techniques: Periodic Global Barriers, local barriers and predictive barrier scheduling. These are described in my Master's Thesis available on the web: http://www.psg.lcs.mit.edu/~ulana The most important files to look at are: main_p.c, req-queue_synch_p.c, par_req_queue_p.c, msg_barrier.c, send_req.c, receive_req.c and local_barrier.c. If you have any questions, I will be happy to answer them by phone only (617) 253-6583 (again, because of my RSI, sending long detailed email messages is out of the question).