icecream
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware64 usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware64, se l'argomento è Slackware32 o generale usate rispettivamente il forum Slackware o Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware64 usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware64, se l'argomento è Slackware32 o generale usate rispettivamente il forum Slackware o Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
-
- Linux 0.x
- Messaggi: 76
- Iscritto il: gio 23 lug 2009, 9:33
icecream
buonasera al gruppo.
giocherellando con due host slackware current ho provato a mettere in moto icecream ,per provare l'ebrezza della compilazione distribuita.
il nodo .137 virtuale ed il nodo .223 fisico . ambedue slack current.
ebbene , la cpu del nodo .223 (8 core , 8 gb ram) e' praticamente a zero , e la cpu della VM .137 (1 core, 1/2 gb ram) e' a palla. non ho errori nei log, ma mi piacerebbe riuscire nell'impresa di svolgere in parallelo una compilazione. qualcuno ha voglia/tempo di aiutarmi? magari ci esco un how-to
grazie
giocherellando con due host slackware current ho provato a mettere in moto icecream ,per provare l'ebrezza della compilazione distribuita.
il nodo .137 virtuale ed il nodo .223 fisico . ambedue slack current.
ebbene , la cpu del nodo .223 (8 core , 8 gb ram) e' praticamente a zero , e la cpu della VM .137 (1 core, 1/2 gb ram) e' a palla. non ho errori nei log, ma mi piacerebbe riuscire nell'impresa di svolgere in parallelo una compilazione. qualcuno ha voglia/tempo di aiutarmi? magari ci esco un how-to
grazie
- ponce
- Iper Master
- Messaggi: 3086
- Iscritto il: mer 5 mar 2008, 16:45
- Nome Cognome: Matteo Bernardini
- Slackware: slackware64-current
- Kernel: 6.14.6
- Desktop: lxde
- Località: Pisa
- Contatta:
Re: icecream
se puo' esserti utile su LQ c'e' gia' una guida
https://www.linuxquestions.org/question ... 175647336/
https://www.linuxquestions.org/question ... 175647336/
-
- Linux 0.x
- Messaggi: 76
- Iscritto il: gio 23 lug 2009, 9:33
Re: icecream
e' la prima cosa che ho letto.
tuttavia non funziona. il nodo 2 proprio non vuole saperne di compilare.
ho. chi ha altre guida da sottopormi e' ben accetto.
grazie
tuttavia non funziona. il nodo 2 proprio non vuole saperne di compilare.
ho. chi ha altre guida da sottopormi e' ben accetto.
grazie
- ponce
- Iper Master
- Messaggi: 3086
- Iscritto il: mer 5 mar 2008, 16:45
- Nome Cognome: Matteo Bernardini
- Slackware: slackware64-current
- Kernel: 6.14.6
- Desktop: lxde
- Località: Pisa
- Contatta:
Re: icecream
strano, qui funziona regolarmente...
controlla che i demoni siano attivi sulla macchina: sul nodo principale io ho attivato sia lo scheduler ("chmod +x /etc/rc.d/rc.icecc-scheduler ; /etc/rc.d/rc.icecc-scheduler start", che sta in ascolto sulle porte 8765 e 8766) che il demone ("chmod +x /etc/rc.d/rc.iceccd ; /etc/rc.d/rc.iceccd start", che sta in ascolto sulla porta 10245)
sugli altri membri del cluster solo il demone
poi viene usato semplicemente perche' nella variabile PATH i comandi che usano icecc vengono prima di quelli dei compilatori tradizionali: la variabile PATH viene cosi' aggiornata quando il tuo utente fa login dal file di profilo /etc/profile.d/icecream.sh e solo se il file /etc/rc.d/rc.iceccd e' eseguibile
quindi, nel caso non ci sia quel percorso, potresti, per esempio, sloggarti e riloggarti e vedere se la variabile PATH viene aggiornata regolarmente.
occhio che, come spiegato nella guida, le macchine devono essere nel solito dominio: il nome del cluster e' ricavato dal comando "hostname -d", che normalmente restituisce il nome di dominio, quindi se non funziona (o i demoni non partono) controlla anche su entrambe le macchine /etc/HOSTNAME, /etc/hosts e /etc/resolv.conf (magari postali).
controlla che i demoni siano attivi sulla macchina: sul nodo principale io ho attivato sia lo scheduler ("chmod +x /etc/rc.d/rc.icecc-scheduler ; /etc/rc.d/rc.icecc-scheduler start", che sta in ascolto sulle porte 8765 e 8766) che il demone ("chmod +x /etc/rc.d/rc.iceccd ; /etc/rc.d/rc.iceccd start", che sta in ascolto sulla porta 10245)
Codice: Seleziona tutto
# pgrep -a ice
969 /usr/sbin/icecc-scheduler -n mia.lan -d -l /var/log/icecream/icecc-scheduler.log
976 /usr/sbin/iceccd -n mia.lan -d -b /var/cache/icecream -l /var/log/icecream/iceccd.log -m 13
Codice: Seleziona tutto
# pgrep -a ice
955 /usr/sbin/iceccd -n mia.lan -d -b /var/cache/icecream -l /var/log/icecream/iceccd.log -m 13
Codice: Seleziona tutto
# set | grep ^PATH
PATH=/usr/lib64/zulu-openjdk17/bin:/usr/libexec/icecc/bin:/usr/lib64/go1.24.2/go/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib64/libexec/kf5:/usr/lib64/qt5/bin:/usr/lib64/qt6/bin:/root/bin
# ls -la /usr/libexec/icecc/bin
total 8
drwxr-xr-x 2 root root 4096 May 5 09:24 ./
drwxr-xr-x 3 root root 4096 May 5 09:24 ../
lrwxrwxrwx 1 root root 14 May 5 09:24 c++ -> /usr/bin/icecc*
lrwxrwxrwx 1 root root 14 May 5 09:24 cc -> /usr/bin/icecc*
lrwxrwxrwx 1 root root 14 May 5 09:24 clang -> /usr/bin/icecc*
lrwxrwxrwx 1 root root 14 May 5 09:24 clang++ -> /usr/bin/icecc*
lrwxrwxrwx 1 root root 14 May 5 09:24 g++ -> /usr/bin/icecc*
lrwxrwxrwx 1 root root 14 May 5 09:24 gcc -> /usr/bin/icecc*
lrwxrwxrwx 1 root root 14 May 5 09:24 x86_64-slackware-linux-c++ -> /usr/bin/icecc*
lrwxrwxrwx 1 root root 14 May 5 09:24 x86_64-slackware-linux-clang -> /usr/bin/icecc*
lrwxrwxrwx 1 root root 14 May 5 09:24 x86_64-slackware-linux-clang++ -> /usr/bin/icecc*
lrwxrwxrwx 1 root root 14 May 5 09:24 x86_64-slackware-linux-g++ -> /usr/bin/icecc*
lrwxrwxrwx 1 root root 14 May 5 09:24 x86_64-slackware-linux-gcc -> /usr/bin/icecc*
occhio che, come spiegato nella guida, le macchine devono essere nel solito dominio: il nome del cluster e' ricavato dal comando "hostname -d", che normalmente restituisce il nome di dominio, quindi se non funziona (o i demoni non partono) controlla anche su entrambe le macchine /etc/HOSTNAME, /etc/hosts e /etc/resolv.conf (magari postali).
-
- Linux 0.x
- Messaggi: 76
- Iscritto il: gio 23 lug 2009, 9:33
Re: icecream
grazie per la risposta, ti posto le configurazioni del nodo1 , virtuale, se mi dai conferma che e' tutto corretto allora poi posto le conf del nodo2 , fisico.
nodo1 = scheduler + iceccd , 192.168.1.238 , virtuale, 1gb ram , 1 core processore.
hostname = slackvm.dominio.lan , nessun firewall ,
root@slackvm:~# pgrep -a ice
742 /usr/sbin/icecc-scheduler -n dominio.lan -d -l /var/log/icecream/icecc-scheduler.log
749 /usr/sbin/iceccd -n dominio.lan -d -b /var/cache/icecream -l /var/log/icecream/iceccd.log -m 2 -vvv
root@slackvm:/etc/profile.d# cat icecream.csh
#!/bin/csh
# Only add the icecream directory to the PATH if we see that iceccd is
# supposed to be running on this machine:
if ( -x /etc/rc.d/rc.iceccd ) then
setenv PATH /usr/libexec/icecc/bin:${PATH}
endif
root@slackvm:/etc/profile.d# cat icecream.sh
#!/bin/sh
# Only add the icecream directory to the PATH if we see that iceccd is
# supposed to be running on this machine:
if [ -x /etc/rc.d/rc.iceccd ]; then
export PATH=/usr/libexec/icecc/bin:$PATH
fi
root@slackvm:/etc/profile.d# icecc --version
ICECC 1.4.0
rete a gigabit, testata con iperf3
root@slackvm:/etc/profile.d# set | grep ^PATH
PATH=/usr/libexec/icecc/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib64/libexec/kf5:/usr/lib64/qt5/bin:/usr/lib64/qt6/bin
root@slackvm:/etc/profile.d#
a me sembra tutto in ordine. se vedi errori allora li correggo.
domanda: puo' essere che la compilazione avvenga effettivamente anche sul nodo2 ma la cpu rimanga a 0% ? non ha senso lo so, ma non mi viene in mente altro
grazie
nodo1 = scheduler + iceccd , 192.168.1.238 , virtuale, 1gb ram , 1 core processore.
hostname = slackvm.dominio.lan , nessun firewall ,
root@slackvm:~# pgrep -a ice
742 /usr/sbin/icecc-scheduler -n dominio.lan -d -l /var/log/icecream/icecc-scheduler.log
749 /usr/sbin/iceccd -n dominio.lan -d -b /var/cache/icecream -l /var/log/icecream/iceccd.log -m 2 -vvv
root@slackvm:/etc/profile.d# cat icecream.csh
#!/bin/csh
# Only add the icecream directory to the PATH if we see that iceccd is
# supposed to be running on this machine:
if ( -x /etc/rc.d/rc.iceccd ) then
setenv PATH /usr/libexec/icecc/bin:${PATH}
endif
root@slackvm:/etc/profile.d# cat icecream.sh
#!/bin/sh
# Only add the icecream directory to the PATH if we see that iceccd is
# supposed to be running on this machine:
if [ -x /etc/rc.d/rc.iceccd ]; then
export PATH=/usr/libexec/icecc/bin:$PATH
fi
root@slackvm:/etc/profile.d# icecc --version
ICECC 1.4.0
rete a gigabit, testata con iperf3
root@slackvm:/etc/profile.d# set | grep ^PATH
PATH=/usr/libexec/icecc/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/lib64/libexec/kf5:/usr/lib64/qt5/bin:/usr/lib64/qt6/bin
root@slackvm:/etc/profile.d#
a me sembra tutto in ordine. se vedi errori allora li correggo.
domanda: puo' essere che la compilazione avvenga effettivamente anche sul nodo2 ma la cpu rimanga a 0% ? non ha senso lo so, ma non mi viene in mente altro
grazie
- ponce
- Iper Master
- Messaggi: 3086
- Iscritto il: mer 5 mar 2008, 16:45
- Nome Cognome: Matteo Bernardini
- Slackware: slackware64-current
- Kernel: 6.14.6
- Desktop: lxde
- Località: Pisa
- Contatta:
Re: icecream
Devi dare un make con un numero di job maggiore dei processori che hai per vederli eseguiti anche sull'altro nodo...
Ma hai controllato anche l'host fisico? posta anche i dati relativi a quello (non dimenticare le informazioni relative al nome host e dominio)...
Ma hai controllato anche l'host fisico? posta anche i dati relativi a quello (non dimenticare le informazioni relative al nome host e dominio)...
-
- Linux 0.x
- Messaggi: 76
- Iscritto il: gio 23 lug 2009, 9:33
Re: icecream
ecco le configurazioni del nodo 2 , fisico.
hostname = slack-c.dominio.lan
root@slack-c:/home/claudio# pgrep -a ice
994 /usr/sbin/iceccd -n dominio.lan -d -b /var/cache/icecream -l /var/log/icecream/iceccd.log --log-file /var/log/icecream/iceccd.log -m 9 -vvv
root@slack-c:/home/claudio# icecc --version
ICECC 1.4.0
root@slack-c:/etc/rc.d# cat rc.iceccd
#!/bin/sh
# Start/stop/restart iceccd.
# $Id: rc.iceccd,v 1.0 2009/04/18
# Author: Heinz Wiesinger <pprkut@liwjatan.at>
# ---------------------------------------------------------------------------
# Get the configuration information from /etc/rc.d/rc.icecream.conf:
. /etc/rc.d/rc.icecream.conf
# Start iceccd:
iceccd_start() {
if [ -x /usr/sbin/iceccd ]; then
echo "Starting distributed compiler daemon: /usr/sbin/iceccd $ICECCD_OPTIONS $ICECCD_JOBS $ICECCD_NICENESS $ICECCD_EXTRA_OPTIONS"
/usr/sbin/iceccd $ICECCD_OPTIONS --log-file /var/log/icecream/iceccd.log $ICECCD_JOBS $ICECCD_NICENESS $ICECCD_EXTRA_OPTIONS
fi
}
# Stop iceccd:
iceccd_stop() {
echo "Stopping iceccd."
killall iceccd
}
# Restart iceccd:
iceccd_restart() {
iceccd_stop
sleep 1
iceccd_start
}
case "$1" in
'start')
iceccd_start
;;
'stop')
iceccd_stop
;;
'restart')
iceccd_restart
;;
*)
echo "usage $0 start|stop|restart"
esac
root@slack-c:/etc/rc.d#
root@slack-c:/etc/profile.d# cat icecream.csh
#!/bin/csh
# Only add the icecream directory to the PATH if we see that iceccd is
# supposed to be running on this machine:
if ( -x /etc/rc.d/rc.iceccd ) then
setenv PATH /usr/libexec/icecc/bin:${PATH}
endif
root@slack-c:/etc/profile.d# cat icecream.sh
#!/bin/sh
# Only add the icecream directory to the PATH if we see that iceccd is
# supposed to be running on this machine:
if [ -x /etc/rc.d/rc.iceccd ]; then
export PATH=/usr/libexec/icecc/bin:$PATH
fi
root@slack-c:/etc/profile.d#
proprio non ho idee. ovviamente sul nodo 1 ho lanciato una compilazione con make -j 12 , ma il nodo2 proprio non vuole saperne.
boh.
grazie per le risposte
hostname = slack-c.dominio.lan
root@slack-c:/home/claudio# pgrep -a ice
994 /usr/sbin/iceccd -n dominio.lan -d -b /var/cache/icecream -l /var/log/icecream/iceccd.log --log-file /var/log/icecream/iceccd.log -m 9 -vvv
root@slack-c:/home/claudio# icecc --version
ICECC 1.4.0
root@slack-c:/etc/rc.d# cat rc.iceccd
#!/bin/sh
# Start/stop/restart iceccd.
# $Id: rc.iceccd,v 1.0 2009/04/18
# Author: Heinz Wiesinger <pprkut@liwjatan.at>
# ---------------------------------------------------------------------------
# Get the configuration information from /etc/rc.d/rc.icecream.conf:
. /etc/rc.d/rc.icecream.conf
# Start iceccd:
iceccd_start() {
if [ -x /usr/sbin/iceccd ]; then
echo "Starting distributed compiler daemon: /usr/sbin/iceccd $ICECCD_OPTIONS $ICECCD_JOBS $ICECCD_NICENESS $ICECCD_EXTRA_OPTIONS"
/usr/sbin/iceccd $ICECCD_OPTIONS --log-file /var/log/icecream/iceccd.log $ICECCD_JOBS $ICECCD_NICENESS $ICECCD_EXTRA_OPTIONS
fi
}
# Stop iceccd:
iceccd_stop() {
echo "Stopping iceccd."
killall iceccd
}
# Restart iceccd:
iceccd_restart() {
iceccd_stop
sleep 1
iceccd_start
}
case "$1" in
'start')
iceccd_start
;;
'stop')
iceccd_stop
;;
'restart')
iceccd_restart
;;
*)
echo "usage $0 start|stop|restart"
esac
root@slack-c:/etc/rc.d#
root@slack-c:/etc/profile.d# cat icecream.csh
#!/bin/csh
# Only add the icecream directory to the PATH if we see that iceccd is
# supposed to be running on this machine:
if ( -x /etc/rc.d/rc.iceccd ) then
setenv PATH /usr/libexec/icecc/bin:${PATH}
endif
root@slack-c:/etc/profile.d# cat icecream.sh
#!/bin/sh
# Only add the icecream directory to the PATH if we see that iceccd is
# supposed to be running on this machine:
if [ -x /etc/rc.d/rc.iceccd ]; then
export PATH=/usr/libexec/icecc/bin:$PATH
fi
root@slack-c:/etc/profile.d#
proprio non ho idee. ovviamente sul nodo 1 ho lanciato una compilazione con make -j 12 , ma il nodo2 proprio non vuole saperne.
boh.
grazie per le risposte
- ponce
- Iper Master
- Messaggi: 3086
- Iscritto il: mer 5 mar 2008, 16:45
- Nome Cognome: Matteo Bernardini
- Slackware: slackware64-current
- Kernel: 6.14.6
- Desktop: lxde
- Località: Pisa
- Contatta:
Re: icecream
ma slack-c.dominio.lan a che ip corrisponde?
potresti per favore postarmi, come ti avevo chiesto prima, i file /etc/hosts e i file /etc/HOSTNAME delle due macchine?
come sono collegate le due macchine (cavo o che altro)?
hai messo per caso opzioni aggiuntive dentro /etc/rc.d/rc.icecream.conf? perche', ad esempio, nel pgrep vedo come parametro un -vvv che io non ho nel mio processo...
prova a usare i file di default.
e poi: hai mica un firewall attivo (iptables o nftables) sulle macchine in questione? puoi controllare se le porte sono aperte con nmap da una macchina all'altra
(deve rispondere che e' "open")
potresti per favore postarmi, come ti avevo chiesto prima, i file /etc/hosts e i file /etc/HOSTNAME delle due macchine?
come sono collegate le due macchine (cavo o che altro)?
hai messo per caso opzioni aggiuntive dentro /etc/rc.d/rc.icecream.conf? perche', ad esempio, nel pgrep vedo come parametro un -vvv che io non ho nel mio processo...
prova a usare i file di default.
e poi: hai mica un firewall attivo (iptables o nftables) sulle macchine in questione? puoi controllare se le porte sono aperte con nmap da una macchina all'altra
Codice: Seleziona tutto
nmap -p 10245 ${IP}