The SHRIMP setup may change over time. If you discover that this page contains out-of-date information, please send mail to felten@cs.princeton.edu.
There is a mailing list for people interested in using the SHRIMP systems. To join, send mail to majordomo@cs.princeton.edu, containing the line "subscribe shrimp-sys".
You might not be able to rlogin or telnet directly to all of these machines. You should, however, be able to reach shrimpfs.cs.princeton.edu from anywhere, and you should be able to reach any of the other machines from shrimpfs.
Programs that use SBL should #include the file /u/shrimp/include/hw/sbl.h, and they should be linked with the library /u/shrimp/lib/hw/libsbl.a.
The program /u/shrimp/bin/hw/peek displays the current status of the local network interface board. If the last line of the output says "LOOKS GOOD!!!" then the board is probably in a good state. You can run peek any time without affecting any ongoing computations.
The program /u/shrimp/bin/hw/show gathers more information about the local network interface board, but it disrupts any packets that are passing through the board, and hence it will probably screw up any programs that are using SHRIMP. Again, everything is probably OK if the last line of the output is "LOOKS GOOD!!!".
Note that both peek and show provide information only about the local board; they don't say anything about the global state of the system. At present there is no way to do a system-wide integrity check.
If the SHRIMP hardware and/or software are hung or otherwise messed up, there are three levels of rebooting available. I will now describe them, in order of increasing power. Needless to say, rebooting will do nasty things to anybody else who is using SHRIMP at the time.
The first level of rebooting restarts the SBL daemons, which are the software processes that control the network interface hardware on each node. To restart the daemons, on anchovy run /u/shrimp/bin/hw/restartsbld.
The second level of rebooting resets the routing backplane, resets all of the network interface boards, and restarts the SBL daemons. To do this, you must have separate windows logged in to shark, anchovy, and fishnet. You should be logged in as root on shark and anchovy, and as guest on fishnet. (Ask somebody for the guest password on fishnet.) First, run "start -r" on both shark and anchovy. Both machines should stop and ask you to hit return. Before hitting return, run "r" on fishnet. Then run "stream" on fishnet. (This puts the routing backplane in streaming mode, which gives better performance than the default mode.) When that is finished, hit return in both the shark and anchovy windows, and wait for the "start" program to finish on both machines. Now restart the daemons as described in the previous paragraph.
The third level of rebooting power-cycles the routing backplane. You shouldn't do this unless you know what you're doing; in any case, you need physical access to the machine to do it. If you think a power-cycle is necessary, try to get a knowledgeable person at Princeton to do it.
The files /u/shrimp/tmp/sbld.out (for shark and anchovy).
The ideal technique for viewing these files is to run, in a separate window on shrimpfs,
tail -f /u/shrimp/tmp/sbld.out(Running on any other node will only make you aware of annoying delays in NFS.)
The simulator does not support automatic update. If you try to link a program that uses automatic update with the simulator, the linker will fail to find the SBL_AUMap function.
There is no way to check the status of the simulator.
To reboot the simulator, on node1 run /u/shrimp/bin/sim/restartsbld. You must be logged in as root or shrimp to do this.
The file /u/shrimp/tmp/sbldsock.out (for the simulator) log the activity of the SBL daemon.
The ideal technique for viewing these files is to run, in a separate window on shrimpfs,
tail -f /u/shrimp/tmp/sbldsock.outfor the simulator. (Running on any other node will only make you aware of annoying delays in NFS.)