icecream

Se avete problemi con l'installazione e la configurazione di Slackware64 postate qui. Non usate questo forum per argomenti che trattano la Slackware32 o generali... per quelli usate rispettivamente il forum Slackware e Gnu/Linux in genere.

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.
Rispondi
commodore64
Linux 0.x
Linux 0.x
Messaggi: 76
Iscritto il: gio 23 lug 2009, 9:33

icecream

Messaggio da commodore64 »

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

Avatar utente
ponce
Iper Master
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

Messaggio da ponce »

se puo' esserti utile su LQ c'e' gia' una guida

https://www.linuxquestions.org/question ... 175647336/

commodore64
Linux 0.x
Linux 0.x
Messaggi: 76
Iscritto il: gio 23 lug 2009, 9:33

Re: icecream

Messaggio da commodore64 »

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

Avatar utente
ponce
Iper Master
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

Messaggio da ponce »

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)

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
sugli altri membri del cluster solo il demone

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
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

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*
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).

commodore64
Linux 0.x
Linux 0.x
Messaggi: 76
Iscritto il: gio 23 lug 2009, 9:33

Re: icecream

Messaggio da commodore64 »

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

Avatar utente
ponce
Iper Master
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

Messaggio da ponce »

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)...

commodore64
Linux 0.x
Linux 0.x
Messaggi: 76
Iscritto il: gio 23 lug 2009, 9:33

Re: icecream

Messaggio da commodore64 »

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

Avatar utente
ponce
Iper Master
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

Messaggio da ponce »

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

Codice: Seleziona tutto

nmap -p 10245 ${IP}
(deve rispondere che e' "open")

Rispondi