Difference between revisions of "Icecream"

From Linuxintro
imported>WikiSysop
imported>WikiSysop
Line 9: Line 9:
 
  export PATH=/opt/icecream/bin:$PATH
 
  export PATH=/opt/icecream/bin:$PATH
 
and make this change persistent:
 
and make this change persistent:
  echo "export PATH=/opt/icecream/bin:$PATH" >> /etc/profile
+
  echo "export PATH=/opt/icecream/bin:\$PATH" >> /etc/profile
  
 
= Run it =
 
= Run it =

Revision as of 09:50, 10 August 2008

Icecream is a software suite that allows you to build up a compile cluster. The goal is to speed up compiling by distributing the jobs over several computers. To do that, you need one compile-driver (the scheduler) and one or more slaves (daemons).

Install it

To install icecream on SUSE, enter into a konsole:

yast -i icecream icecream-monitor

Make sure your firewall is stopped:

rcSuSEfirewall2 stop

Icecream brings an own gcc executable with it, and you have to use this for a distributed compile. So, change your PATH variable so icecream's gcc is found before gnu's gcc:

export PATH=/opt/icecream/bin:$PATH

and make this change persistent:

echo "export PATH=/opt/icecream/bin:\$PATH" >> /etc/profile

Run it

On every slave, start the daemon:

export PATH=/opt/icecream/bin:$PATH
iceccd -d

On your driver, start the scheduler:

export PATH=/opt/icecream/bin:$PATH
scheduler -d

What happens

The daemon opens a socket on port 10245 and waits for requests to compile. You can check this with the following commands:

Show what ports are used by iceccd

duffman:/opt/icecream/bin # lsof -i | grep iceccd
iceccd    13193      root    8u  IPv4 119567      0t0  TCP *:10245 (LISTEN)
[...]

Show that port 10245 is really open

duffman:/opt/icecream/bin # nmap -p10245 localhost
[...]
PORT      STATE SERVICE
10245/tcp open  unknown
[...]

Kill your icecream daemon

duffman:/opt/icecream/bin # killall iceccd

Show the port is no longer open

duffman:/opt/icecream/bin # nmap -p10245 localhost
[...]
PORT      STATE  SERVICE
10245/tcp closed unknown
[...]

See also