

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 /* DIPC s */  and  /* DIPC e */ comments, so it would be 
easy to locate them. There are also some new files. 

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'. When done, copy the new
kernel image to the root directory and install it (by using lilo).

 Note: It happened once, that the system refused to work well the first time
it was installed. After I changed a file in kernel (shm.c) to add a few 
printk statements, and recompiled the kernel, every thing worked OK. Can
someone tell me what could be wrong? 
 

3.0) NON-KERNEL CHANGES:

3.1) Make sure that swapping is enabled. See the mkswap and swapon man
pages. 

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

3.3) Change a configuration file in /etc/rc.d directory (rc.local ?) to
execute dipcd on system startup. See dipcd.doc file for more information.

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

3.5) 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 = 191.72.3.0 #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.

