Simple Grid Protocol 1.02 - Copyright (c) Brendan Kosowski 2004, 2005 (updated 19-Nov-2005) TO INSTALL THE SOFTWARE ----------------------- This must be performed on all systems on the grid. 1.) Setup TCP/IP Networking. Using a pen & paper, make a list of systems & IP addresses. Example: Tracking Server : 192.168.1.1 Computer No.1 : 192.168.1.2 Computer No.2 : 192.168.1.3 Computer No.3 : 192.168.1.4 2.) Install the CLISP package onto your systems. This is available as a package on many flavours of Linux & BSD. Some I know of: a.) Mandrake Linux comes with a CLISP RPM-Package. b.) OpenBSD (some releases) comes with a CLISP Package. c.) FreeBSD comes with a CLISP Package. If CLISP does not come as a package with your system, you can download the source code from http://www.clisp.org & build CLISP for your system. They also have links to CLISP Packages on their web site (including a generic Linux RPM-Package & some links to BSD Packages). From the Linux/BSD shell prompt, type "which clisp". If clisp is not located in /usr/local/bin you will need a symbolic link. Read REDHAT_LINUX_ISSUES for an example of how to setup the symbolic link. When CLISP is installed, run it "clisp" and make sure you see the CLISP banner. In recent versions of CLISP, WARNING messages above the banner are normal. These WARNING messages also appear on the data stream coming from the Tracking Server & CPU Resource Servers but Simple Grid Protocol 1.02 is now immune to these WARNING messages. To exit clisp type: (bye) 3.) Login as "root" & add a user named "grid" to the system with the home directory "/home/grid". Also set the permissions for the home directory "chmod 755 /home/grid". 4.) Login as "grid" & untar the file "sgp_1_02.tar" while your home directory is the current working directory. Set permissions for lisp & dat files also. Assuming that "sgp_1_02.tar" is in your home directory: a.) type: cd b.) type: tar -xvf sgp_1_02.tar c.) type: chmod 755 *.lisp d.) type: chmod 644 *.dat 5.) Login as "grid" and edit the following .dat files: NOTE: The values entered into the .dat files should be on the first line and the line should contain no spaces or return. a.) "my_ip.dat" contains your IP address, eg: 192.168.1.2 b.) "track_ip.dat" contains the Tracking Server IP address, eg: 192.168.1.1 c.) "cpu_freq.dat" contains your CPU frequency in MHz. On a 1.7GHz CPU system, the file would contain: 1700 d.) "token.dat" contains the Security Token which is a string of letters and numbers. All systems on the grid must have the same security token, eg: dj88xv2s91 TO SETUP THE TRACKING SERVER ---------------------------- This must be performed on the system that will be used as the grid Tracking Server. 1.) Login as "root". 2.) type: cp /home/grid/track.lisp /usr/sbin 3.) type: chmod 555 /usr/sbin/track.lisp 4.) Using your favourite text editor, add the following line to the "/etc/services" file: sgpts 17667/tcp 5.) Using your favourite text editor, add the following line to the "/etc/inetd.conf" file: sgpts stream tcp nowait grid /usr/sbin/track.lisp track.lisp NOTE: If your system uses xinetd instead of inetd then this step will be different. Read REDHAT_LINUX_ISSUES. 6.) type: reboot TO SETUP THE CPU RESOURCE SERVERS --------------------------------- This must be performed on all systems on the grid except for the Tracking Server. 1.) Login as "root". 2.) type: cp /home/grid/cpurs.lisp /usr/sbin 3.) type: chmod 555 /usr/sbin/cpurs.lisp 4.) Using your favourite text editor, add the following line to the "/etc/services" file: sgpcs 17666/tcp 5.) Using your favourite text editor, add the following line to the "/etc/inetd.conf" file: sgpcs stream tcp nowait nobody /usr/sbin/cpurs.lisp cpurs.lisp NOTE: If your system uses xinetd instead of inetd then this step will be different. Read REDHAT_LINUX_ISSUES. 6.) type: reboot RUN THE NOTIFY DAEMON --------------------- This must be performed on all systems on the grid except for the Tracking Server (each time the systems are turned on or rebooted). 1.) Login as "grid". 2.) On Linux Systems Type: ./notify.lisp & On BSD Systems Type: ./notify_bsd.lisp & NOTE: If you see a WARNING message, just ignore this & hit ENTER & you should return to the shell prompt. *** Your Grid is now ready to use *** START WRITING GRID FRIENDLY SOFTWARE ------------------------------------ 1.) The file "porta.lisp" contains the function (porta) that is used to make CLISP programming tasks portable so that they can run on any system on the grid (that has the CPU Resource Server installed and the Notify Daemon running). The files "example1.lisp", "example2.lisp" & "example3.lisp" give examples of how to use the function (porta). 2.) Remember, if a programming task performs I/O (eg. displays info or inputs data from a mouse/keyboard) it must not be made portable because I/O tasks require your local machine. *** Have Fun! ***