

1.0) Introduction
 You should prepare both the dipcd program and the kernel part before
being able to use DIPC on your system.

 Note: There is a dipc.install script that does steps 2.1, 3.1, 3.2 and 3.4 
for you. To partially remove DIPC, use the dipc.remove script.
 

2.0) KERNEL CHANGES:
 Some source files in the kernel were changed to provide the necessary 
support for DIPC. In all of these files, the parts relating to DIPC are 
sandwiched between

#ifdef CONFIG_SYSVIPC_DIPC
 and
#endif

 macros, so it would be easy to locate them. There are also some new files
added to the kernel. 

2.1) You should apply the appropriate patch file for modifying the kernel 
files. These are in the "kernel" directory of the DIPC package. 

 If after applying the patch you could not compile the kernel, or the system
did not fuction properly, then the patch file has not been suitable for your
kernel version. You could try installing another kernel recommended by the
DIPC package you are using.

2.2) Some of the modified kernel files can output messages related to DIPC 
as they work. This is mainly for debugging purposes. If you need it, you can 
uncomment the suitable 'printk' statements . More useful ones are marked by 
a comment beginning with /** 

2.3) After copying the files, you should reconfigure the kernel to make sure
that support for system V IPC is present (make config), then compile the
kernel by typing 'make dep; make clean; make zImage (or make bzImage)'. When 
done, copy the new kernel image to the appropriate directory (/ or /boot) and 
install it (probably using lilo).
 

3.0) NON-KERNEL CHANGES:

3.1) Type make in the dipcd directory to compile and make this program,
called dipcd. Copy the dipcd program to /usr/sbin directory. 

3.2) Edit the filr /etc/rc.d/rc.local to execute dipcd on system startup. See 
dipcd.doc file for more information.

3.3) Add a user named dipcd to the computer (you can use adduser).

3.4) Copy dipc.conf file to /etc directory and make the necessary changes to
place this machine in a cluster. see dipcd.doc for more information. 

The following lines are a sample dipc.conf file in machine one. The IP
addresses were assigned arbitrarily.

this_machine = dipc_auto_find #address of this machine
referee = 191.72.3.0 # address of the referee. Here it runs on this machine    
transfer_mode = Segment
dipc_page_size = 8192
inhibit_shm_signal = No
employer_referee_timeout = 55
employer_shm_timeout = 56
employer_worker_timeout = 300
shm_ak_timeout = 38
referee_timeout = 18
shm_hold_timeout = 0.6

 Note that the time-out values are determined arbitrarily. Change them to
more suitable values if you want.


4.0) You may have to modify the file /etc/hosts.equiv in different machines,
so that DIPC programmers and users will be able to use rsh.


5.0) There may be a need for users to have the same login name in more than
one computer to be able to execute a distributed program. The adduser
command may be used for this.


6.0) Now everything should be OK. Reboot your machine. Hopefully you can use
DIPC.

