Difference between pages "Icecream" and "Boot Process"

From Linuxintro
(Difference between pages)
imported>ThorstenStaerk
m (Reverted edits by 46.137.55.35 (talk) to last revision by ThorstenStaerk)
 
imported>ThorstenStaerk
(Redirected page to LINUX BOOT PROCESS)
 
Line 1: Line 1:
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 daemons. As a start, have a daemon running on the computers ''earth'' and ''moon'' and run the scheduler on ''earth''. Every daemon can trigger a cluster compilation, as well ''earth'' as ''moon''.
+
#REDIRECT [[LINUX BOOT PROCESS]]
 
 
= Install it =
 
To install icecream on SUSE, enter into a konsole:
 
yast -i icecream icecream-monitor
 
Icecream links /opt/icecream/bin/gcc to /usr/bin/icecc, 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 for login-shells:
 
echo "export PATH=/opt/icecream/bin:\$PATH" >> /etc/profile
 
and make this change persistent for non-login-shells:
 
echo "export PATH=/opt/icecream/bin:\$PATH" >> /etc/bash.bashrc
 
 
 
= Run it =
 
On every slave, start the daemon:
 
export PATH=/opt/icecream/bin:$PATH
 
iceccd -d
 
And make sure your firewall is stopped:
 
rcSuSEfirewall2 stop
 
On your driver, start the scheduler:
 
export PATH=/opt/icecream/bin:$PATH
 
scheduler -d
 
You can now start building e.g. with ''8'' compile jobs distributed over the nodes:
 
make -j8 CC=/usr/bin/icecc
 
 
 
= The monitor =
 
There is a graphical monitor available that shows which computer is compiling what:
 
 
 
[[Image:Icecream2.png]]
 
 
 
To see it, use the command
 
icemon
 
 
 
= 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
 
[...]
 
 
 
= How to compile icemon =
 
svn co https://svn.kde.org/home/kde/trunk/playground/devtools
 
cd devtools
 
cmake .
 
cd icemon
 
make && make install
 
 
 
= See also =
 
* http://en.opensuse.org/Icecream
 
* http://websvn.kde.org:80/trunk/icecream/ - icecream source
 
* http://websvn.kde.org/trunk/playground/devtools/icemon/ - icemon source
 

Revision as of 03:14, 14 January 2014

Redirect to: