|
imported>ThorstenStaerk |
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]] |
− | | |
− | Now thats sutlbe! Great to hear from you.
| |
− | | |
− | = 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
| |