NEWS | ABOUT PIOVRA | MANUALE | QUICKSTART | DOWNLOAD | SCREENSHOT | SPLASHSCREEN | CREDITS | GPL

 

 
 

Questo e' un semplice tutorial realizzato allo scopo di illustrare da
subito le potenzialita' del progetto piovra v-1.02 ed avvicinarvi ad
un utilizzo corretto dello strumento in modo semplice e intuitivo.
Il presente testo si riferisce all'utilizzo di Piovra SENZA INTERFACCIA GRAFICA
bensi' da linea di comando.

Ipotiziamo il caso di una renderfarm costituita da:

1 pc dual processor e sistema operativo linux (generico)
1 pc portatile con sistema operativo WINDOWS(R)
1 pc fisso con sistema operativo BSD (anche MAC)

PREREQUISITI

Sara' necessario procedere all'installazione su tutti i pc di:

- Python versione uguale o superiore alla 2.34
- Blender della medesima versione su tutti i nodi

INSTALLAZIONE

A questo punto sara' sufficiente decomprimere l'archivio contenente piovra-1.02
in qualsiasi directory del vostro sistema.
Eseguite le operazioni che seguono con permessi di amministratore:

- sui pc Linux e BSD digitare: "sh linux-install.sh"
- sui pc Windows lanciare: "Setup.exe"

Giunti a questo punto l'installazione e' terminata.

CONFIGURAZIONE

Prima di iniziare il rendering vero e proprio dovrete impostare gli slave
lanciando piovraslave:
Prima di tutto, visto che siamo persone molto ordinati, creeremo una directory
che ci servira' per contenere i frame renderizzati, quindi ci spostiamo
in quella directory e procediamo come segue:

- sul dual processor digitiamo : "piovraslave 2 /usr/bin"
> ipotizzando l'esistenza dell'eseguibile /usr/bin/blender

- sul pc windows apriamo un promt di comandi, ci spostiamo nella directory
di cui sopra e digitiamo "piovraslave 1 c:\progra~1\blende~1"
> ipotizzando che l'eseguibile di blender si trovi in c:/programmi/blender

- sull'ultimo pc digitiamo "piovraslave 1 /home/pippo/blender-2.36"
> ipotizzando l'esistenza dell'eseguibile /home/pippo/blender-2.36/blender

Questi comandi possono essere utilizzati all'interno di script sh o file batch
da lanciare all'avvio del sistema in modo automatico. In questo modo non dovremo
mai piu' preoccuparci di lanciare manualmente piovra sugli slave: ci sara'
sufficiente accendere tutti i pc per avere la nostra renderfarm pronta all'uso!

PRIMO RENDERING

Eccoci giunti al dunque: abbiamo un file "renderizzami.blend" che vogliamo
renderizzare dal frame 1 al frame 100 sul pc dual processor.

Prima di tutto dobbiamo configurare il file blend:
nella finestra dei render facciamo in modo che il campo
"Directory/name to save rendered pics to" (a sinstra nella finestra)sia vuoto.
Per fare in modo che le texture vengano caricate da tutti gli slave apriamo
il menu a tendina File in alto a sinistra e selezioniamo pack data.
Quindi selezioniamo un tipo di output che nel nostro caso sara' jpg.
Premiamo Ctrl+W per salvare il file e procediamo nella configurazione.

Gli indirizzi ip delle macchine della renderfarm sono:

192.168.0.0
192.168.0.1
192.168.0.9

Quindi ci dirigiamo verso il pc dual processor che sara' il nostro master
e prima di iniziare il lavoro compiliamo la lista degli slave della
renderfarm digitando:

piovramaster -add 192.168.0.0
piovramaster -add 192.168.0.1

Se vogliamo sapere quali slave fanno parte della renderfarm digitiamo:

piovramaster -list

e l'output nel nostro caso sara':

192.168.0.0
192.168.0.1

questo file restera' sempre a disposizione anche per le prossime sessioni di
rendering dunque controllate che contenga tutti gli slave prima di ogni
sessione.

Ora non ci resta che iniziare il rendering vero e proprio:

piovramaster -wakeall /home/pippo/renderizzami.blend 1 100 2

Il risultato dopo pochissimi secondi sara' l'inizio del rendering distribuito.

Ma ci accorgiamo che ci siamo dimenticati del pc con BSD, quindi
per aggiungerlo alla renderfarm sara' sufficiente digitare:

piovramaster -wake 192.168.0.9

Per evitare di fare troppa confusione i comandi che seguono possiamo digitarli
su un secondo terminale in modo da non confondere i diversi output
di piovramaster in una unica schermata.

Ora abbiamo la nostra renderfarm a pieno regime!

Ma come al solito vostro padre rivendica il portatile con Windows(R) e voi
dovete staccarlo dalla renderfarm.
Digitate:

piovramaster -del 192.168.0.1

Attendete che il portatile richieda un nuovo frame e leggerete sull'output
di piovramaster che e' stato disconnesso uno slave. Se proprio non abbiamo
tempo possiamo dirigerci verso il portatile e uccidere i processi di blender,
ma non quelli di piovra!

Ma prima di restituire il portatile al genitore vogliamo recuperare i frame
renderizzati fino a quel momento e metterli in /home/pippo/jpgtemp/:

piovramaster -recv 192.168.0.1 jpg /home/pippo/jpgtemp

Quindi vogliamo anche che vengano eliminati i residui sul portatile:

piovramaster -purge 192.168.0.1 jpg

Non e' finita: vogliamo che quel portatile si spenga:

piovramaster -halt 192.168.0.1

Il lavoro di rendering continua per alcuni minuti e noi vogliamo sapere
come le macchine della renderfarm stiano lavorando.

Inizialmente vogliamo vedere i frame renderizzati quindi digitiamo:

piovramaster -recvall jpg /home/pippo/jpgtemp

Quindi ci chiediamo quale sia il carico a cui sono sottoposte le varie macchine.
Visto che sono tutti pc con Linux o BSD come sistema operativo vorremmo
lanciare il comando "uptime" su tutti i nodi, niente di piu' facile:

piovramaster -execall uptime

Avremo l'output di tutti i nodi sul nostro master.

Ok ma come faccio a sapere se qualche pc non ha avuto ram a sufficienza:

piovramaster -execall free

Come sopra leggeremo l'output di tutti i pc direttamente sul master.

E se ci interessasse lo spazio libero sull hard-disk del pc con BSD?

piovramaster -exec 192.168.0.9 df

Ora siamo tranquilli, guardiamo le immagini ma....
Il nostro personaggio 3d non va bene: dobbiamo modificarlo e ricominaciare il
rendering da capo! E la renderfarm come la fermo?

piovramaster -stopall

A differenza dell'utilizzo di piovramaster -del in questo modo non
modifichiamo la lista degli slave.

Quando il master ricevera' le richieste degli slave dira' loro di fermarsi,
quindi noi ripuliremo gli slave dai file renderizzati con

piovramaster -purgeall jpg

Modificato il file blend siamo pronti, ma si aggiunge un nuovo problema.
dovete andare a cena dalla nonna e un dilemma sovrasta la vostra mente:
- devo restare ad attendere la fine del rendering per spegnere i pc
e recuperare i frame
- oppure devo andare dalla nonna a mangiare pietanze rustiche e succulente?

Nessun problema! Voi digitate:

piovramaster -allauto /home/pippo/renderizzami.blend 1 100 2 jpg /home/pippo/jpgtemp

e piovra fara' tutto da se:

renderizzera' tutti i frame, quindi recuperera' i frame renderizzati, ripulira'
gli slave, infine spegnera' automaticamente tutti i pc.

NOTE:

a] Perche' non fare in modo che ogni frame renderizzato venga immediatamente
spedito sul master?

a) innanzi tutto non e' detto che io li voglia ricevere sul master, ma potrei
vorli ricevere su un altro pc della renderfarm. Per esempio perche'
il mio master e' un 486 con 200 MB di Hard Disk!
Se io compilo una lista di slave della renderfarm su uno slave posso
poi lanciare da quello slave tutti i comandi che ho elencato prima meno
quelli riguardanti il rendering. Ossia posso spegnere i pc, recuperare
i frame renderizzati e eseguire comandi per il controllo del sistema.


b] Nel manuale ho letto che e' importante configurare bene il firewall perche?

b) perche' se avvii automaticamente piovraslave all'avvio con permessi di
amministratore lasci che piovraslave possa eseguire del codice
da remoto sul tuo sistema.
Questo potrebbe essere molto pericoloso nel caso in cui la macchina
fosse collegata ad internet.
Infatti un possibile attaccante potrebbe tranquillamente installare sul
proprio pc piovramaster ed eseguirlo con l'opzione "-halt" sulla tua
macchina.
Dunque una buona configurazione del firewall si rende necessaria nel
caso in cui un pc debba utilizzare piovraslave e nel contempo avere una
connessione ad internet oppure ad una qualsiasi rete da cui possano
provenire eventuali attacchi.

Piovra is (C) 2004 The Piovra Project Team



 

the piovra - a network rendering script for blender - by the piovra team 2004