+ + + Renderfarm é a designação atribuída a uma rede de

Transcrição

+ + + Renderfarm é a designação atribuída a uma rede de
COMO CRIAR UMA RENDERFARM COM UBUNTU, JAVA, BLENDER E LOKI RENDER
+
+
+
Renderfarm é a designação atribuída a uma rede de computadores criada para distribuir a tarefa de
renderizar por várias máquinas. O principal objectivo das renderfarms é acelerar o processo de criação de
imagens geradas por computador (renderização) utilizando em simultâneo e para um mesmo fim os
recursos de processamento de vários computadores.
Geralmente, as renderfarms são constituídas por um “master”, o computador que cria os “jobs” ou
projectos de renderização, e vários “slaves”, os computadores que realizam as “tasks” ou tarefas de
renderização. Cada “job” (projecto) é constituído por várias “tasks” (tarefas). Se o “job” for criar uma
animação, o número de “tasks” é semelhante ao número de frames da animação e cada “slave” terá como
missão renderizar um dado número de frames, realizar um dado número de “tasks”. Se, por outro lado, o
“job” for criar uma imagem única, esta é decomposta em várias secções ou partes e cada “slave” irá ter
como tarefas a renderização de um dado número de secções ou partes da imagem. Este último processo é
habitualmente designado por “tile rendering” ou “bucket rendering”.
Pré-requisitos:
Ter pelo menos 2 computadores...
•
ligados em rede (ligados com cabo de rede a um router),
•
com sistema operativo Ubuntu 9.10 (pode utilizar outro sistema operativo e até utilizar
sistemas operativos diferentes em simultâneo),
•
com Java Runtime Environment instalado,
•
com Blender 2.49b instalado.
ASSOCIAÇÃO ENSINO LIVRE
E.N. 111
3140 - 274 MONTEMOR-O-VELHO
HTTP://WWW.ENSINOLIVRE.PT/
OPENLAB ESEV
PROJECTO DE SOFTWARE LIVRE DA ESEV
ESCOLA SUPERIOR DE EDUCAÇÃO DE VISEU
HTTP://WWW.ESEV.IPV.PT/OPENLAB
Parte 1 – Instalar o Loki Render
a) Descarregue o ficheiro compactado lokiRender_062.zip de http://loki-render.berlios.de
b) Descompacte o ficheiro para uma pasta à sua escolha.
Parte 2 – Iniciar a renderfarm
a) Duplo clique no ficheiro launchLoki.sh (se estiver a utilizar sistema operativo Windows, duplo clique
no ficheiro lokiRender_062.exe) e escolha a opção “Run in Terminal” ou “Run”.
b) Na janela que irá surgir (ver imagem 1), pode escolher entre 3 papéis diferentes para o computador
desempenhar na renderfarm.
Imagem 1
•
Master and Grunt: o computador pode criar “jobs” e realiza “tasks”.
•
Master: computador só cria os “jobs”, é o “master” (mestre).
•
Grunt: computador só realiza “tasks”, é um “slave/grunt” (escravo).
c) No computador onde está (adiante designado por PC1), escolha a opção “Grunt”. O computador irá
assumir o papel de “grunt” (“slave”) e procurar um “Master” na rede para se conectar (imagem 2).
Todos os “grunts” (“slaves”) da renderfarm irão apresentar uma janela semelhante.
Imagem 2
d) No outro computador (adiante designado por PC2), repita os passos anteriores e escolha a opção
ASSOCIAÇÃO ENSINO LIVRE
E.N. 111
3140 - 274 MONTEMOR-O-VELHO
HTTP://WWW.ENSINOLIVRE.PT/
OPENLAB ESEV
PROJECTO DE SOFTWARE LIVRE DA ESEV
ESCOLA SUPERIOR DE EDUCAÇÃO DE VISEU
HTTP://WWW.ESEV.IPV.PT/OPENLAB
“Master and Grunt” ou “Master”. Se escolher a opção “Master and Grunt”, o computador irá
desempenhar 2 papéis em simultâneo e irão surgir duas janelas (ver imagem 3). Se escolher a
opção “Master”, só irá surgir a janela “master”.
Imagem 3
Na imagem acima, a janela “grunt” informa que o “grunt” está conectado a um “master” com o nome
“nelson-desktop”. Na janela “master” surge a indicação que existe um “grunt” também com o nome “nelsondesktop”. Esta situação só é possível porque o mesmo computador está a desempenhar 2 papéis: “master”
e “grunt”.
No seu caso, se o seu PC2 tiver sido configurado como “Master and Grunt”, a janela “master”
deverá identificar 2 “grunts” que correspondem aos PC1 e PC2. Se o PC2 tiver sido configurado como
“Master”, a janela “master” deverá identificar apenas 1 “grunt” que corresponde ao PC1.
ASSOCIAÇÃO ENSINO LIVRE
E.N. 111
3140 - 274 MONTEMOR-O-VELHO
HTTP://WWW.ENSINOLIVRE.PT/
OPENLAB ESEV
PROJECTO DE SOFTWARE LIVRE DA ESEV
ESCOLA SUPERIOR DE EDUCAÇÃO DE VISEU
HTTP://WWW.ESEV.IPV.PT/OPENLAB
e) Entretanto, se observar agora a janela “grunt” do PC1 (ver imagem 4) irá verificar que esta informa
que o seu “grunt” está agora conectado ao “master” e aguarda instruções.
Imagem 4
ASSOCIAÇÃO ENSINO LIVRE
E.N. 111
3140 - 274 MONTEMOR-O-VELHO
HTTP://WWW.ENSINOLIVRE.PT/
OPENLAB ESEV
PROJECTO DE SOFTWARE LIVRE DA ESEV
ESCOLA SUPERIOR DE EDUCAÇÃO DE VISEU
HTTP://WWW.ESEV.IPV.PT/OPENLAB
Parte 3 – Preparar os ficheiros
a) O primeiro passo é preparar o ficheiro criado em Blender que pretende renderizar, o ficheiro com
extensão .blend. Defina as opções de renderização que pretende para o seu projecto (i.e.
dimensão, resolução, formato do ficheiro, etc.). O Loki Render gere a renderização de imagens
fixas, NÃO escolha formatos de saída como AVI ou MOV, opte por formatos de imagem fixa (i.e.
Jpeg, PNG, etc.). Sugere-se a escolha do formato PNG.
b) Se o “job” for do tipo “tile rendering” ou “bucket rendering”, a imagem renderizada será sempre
criada com o formato PNG, independentemente do formato que tiver sido definido dentro do ficheiro
.blend.
c) Se o ficheiro incluir simulação de fluídos ou partículas, assegure-se que a “cache” criada pelo
“Bake” está disponível dentro de uma pasta na mesma localização do ficheiro e com o prefixo
“blendcache_”. Ou seja, se o ficheiro tiver o nome “exemplo.blend”, deverá existir uma pasta na
mesma localização do ficheiro com o nome “blendcache_exemplo”.
d) Depois de definir as opções desejadas e antes de gravar o seu ficheiro .blend, active as seguintes
opções:
–
“pack into .blend file” (menu “File” > “External Data”): para que todos os ficheiros externos
utilizados sejam arquivados ou importados para dentro do próprio ficheiro .blend.
–
“Compress File” (menu “File”): a compressão irá melhorar e aumentar a rapidez de
comunicação entre “master” e “grunts”.
ASSOCIAÇÃO ENSINO LIVRE
E.N. 111
3140 - 274 MONTEMOR-O-VELHO
HTTP://WWW.ENSINOLIVRE.PT/
OPENLAB ESEV
PROJECTO DE SOFTWARE LIVRE DA ESEV
ESCOLA SUPERIOR DE EDUCAÇÃO DE VISEU
HTTP://WWW.ESEV.IPV.PT/OPENLAB
Parte 4 – Iniciar um “job”
a) Na janela do “master” (ver imagem 5), clique no menu “Jobs” e depois na opção “New” (ou clique
com o botão direito na área “Job Queue” e depois escolha “New Job”).
Imagem 5
b) Na janela do “New Job” (ver imagem 6) atribua um nome ao seu projecto (“Name”), escolha o
ficheiro .blend que pretende utilizar (“Project file”), defina uma pasta para armazenar o resultado da
renderização (“Output Directory”), identifique o número da primeira e última frames que pretende
renderizar (“First Frame” e “Last Frame”). Opcionalmente, pode definir um prefixo para o nome das
imagens renderizadas (exemplo: se escrever “Cena23” no “Output File Prefix”, os ficheiros das
imagens irão ser gravados com o nome “Cena23_0001.png” , “Cena23_0002.png”, etc.). Active a
opção “Tile rendering” APENAS se pretender fazer um “tile rendering” ou “bucket rendering”. Clique
em “Save”.
ASSOCIAÇÃO ENSINO LIVRE
E.N. 111
3140 - 274 MONTEMOR-O-VELHO
HTTP://WWW.ENSINOLIVRE.PT/
OPENLAB ESEV
PROJECTO DE SOFTWARE LIVRE DA ESEV
ESCOLA SUPERIOR DE EDUCAÇÃO DE VISEU
HTTP://WWW.ESEV.IPV.PT/OPENLAB
Imagem 6
c) Na janela “master”, seleccione com um clique do rato o “job” que pretende iniciar e clique em “Start”.
Se desejar, pode adicionar vários “jobs”, criando uma lista de espera. Através da janela “master”
pode ir acompanhando todo o processo e ser informado de diversos detalhes (ver imagem 7).
Se clicar com botão direito do rato no nome de um “grunt” ou de um projecto/”job” pode aceder a
mais informações (“View Details”), abortar projectos/”jobs” ou desligar “grunts”.
ASSOCIAÇÃO ENSINO LIVRE
E.N. 111
3140 - 274 MONTEMOR-O-VELHO
HTTP://WWW.ENSINOLIVRE.PT/
OPENLAB ESEV
PROJECTO DE SOFTWARE LIVRE DA ESEV
ESCOLA SUPERIOR DE EDUCAÇÃO DE VISEU
HTTP://WWW.ESEV.IPV.PT/OPENLAB
Imagem 7
Job Queue
“name”: nome que definiu para o projecto/”job”
Grunts
“name”: nome do computador
“failed”: nº de “tasks” que falharam, não foram “OS”: sistema operativo
processadas correctamente
“cores”: nº de processadores
“remain”: nº de “tasks” por processar
“memory”: memória utilizada/disponível em GB
“running”: nº de “tasks” em processamento
“last task”: tempo utilizado para completar a última
“done”: nº de “tasks” concluídas
“task”
“status”: situação actual do projecto/”job”...
ready – aguarda início do processamento
das “tasks”
running – a executar “tasks”
done – todas as “tasks” foram concluídas
ASSOCIAÇÃO ENSINO LIVRE
E.N. 111
3140 - 274 MONTEMOR-O-VELHO
HTTP://WWW.ENSINOLIVRE.PT/
“status”: situação actual do computador...
idle - parado
busy – a renderizar
fetching – a descarregar ficheiro do projecto
do “master”
sending – a enviar renderizações ao “master”
OPENLAB ESEV
PROJECTO DE SOFTWARE LIVRE DA ESEV
ESCOLA SUPERIOR DE EDUCAÇÃO DE VISEU
HTTP://WWW.ESEV.IPV.PT/OPENLAB
Parte 5 – Automatizar o processo no Ubuntu 9.10
a) Crie uma renderfarm seguindo os passos descritos na Parte 1 e Parte 2 deste tutorial.
b) Aceda à janela “Preferences” de cada uma das suas máquinas.
c) No computador que irá servir de “Master”, aceda ao separador “general” (ver imagem 8), escolha a
opção “Master” ou “Master and Grunt” e faça “Save”.
Imagem 8
d) Nos computadores que irão servir de “grunts”, repita o processo acima descrito mas escolha a
opção “Grunt” e faça “Save”. Ainda nestes computadores, verifique se o caminho para a aplicação
Blender está correcto (ver imagem 9) e corrija se necessário.
ASSOCIAÇÃO ENSINO LIVRE
E.N. 111
3140 - 274 MONTEMOR-O-VELHO
HTTP://WWW.ENSINOLIVRE.PT/
OPENLAB ESEV
PROJECTO DE SOFTWARE LIVRE DA ESEV
ESCOLA SUPERIOR DE EDUCAÇÃO DE VISEU
HTTP://WWW.ESEV.IPV.PT/OPENLAB
Imagem 9
e) Adicione o script launchLoki.sh ao arranque de cada um dos computadores que pertencem à sua
renderfarm (“master” e “grunts”). Vá ao menu “System” (Sistema), submenu “Preferences”
(Preferências) e “Startup Applications” (Aplicações de Arranque).
Imagem 10
ASSOCIAÇÃO ENSINO LIVRE
E.N. 111
3140 - 274 MONTEMOR-O-VELHO
HTTP://WWW.ENSINOLIVRE.PT/
OPENLAB ESEV
PROJECTO DE SOFTWARE LIVRE DA ESEV
ESCOLA SUPERIOR DE EDUCAÇÃO DE VISEU
HTTP://WWW.ESEV.IPV.PT/OPENLAB
f)
Clique em “Add” (Adicionar) e introduza um nome à sua escolha. Na caixa “Command”, utilize o
“Browse” para localizar o ficheiro lokiRender_062.jar e adicione “java -jar” à linha de comando. A
caixa “Command” deverá apresentar uma linha de comando semelhante a esta:
java -jar /home/openlab/lokiRender_062/lokiRender_062.jar
(Atenção: existe um espaço entre -jar e o caminho para ficheiro)
g) Clique em “Add” (Adicionar).
Imagem 11
Se desejar, pode ainda automatizar o início do sistema. Utilize a janela “System > Administration >
Login Screen” (Sistema > Administração > Janela de Início de Sessão) para
remover a
necessidade de introduzir a palavra-passe no início da sessão.
Agora, basta ligar os computadores que pertencem à renderfarm para estes iniciarem
automaticamente em modo “Master” ou “Grunt”, consoante o caso.
Boas renderizações!
ASSOCIAÇÃO ENSINO LIVRE
E.N. 111
3140 - 274 MONTEMOR-O-VELHO
HTTP://WWW.ENSINOLIVRE.PT/
OPENLAB ESEV
PROJECTO DE SOFTWARE LIVRE DA ESEV
ESCOLA SUPERIOR DE EDUCAÇÃO DE VISEU
HTTP://WWW.ESEV.IPV.PT/OPENLAB
Título: Como criar uma renderfarm com Ubuntu, Java, Blender e Loki Render
Autor: Nelson A. F. Gonçalves
Data: 2009
Edição/Publicação: Associação Ensino Livre e OpenLab ESEV (ESE Viseu)
Esta obra está licenciada sob uma Licença Creative Commons Atribuição-Partilha 3.0
Pode copiar, distribuir, exibir e criar obras derivadas a partir deste documento. As novas
obras devem dar crédito ao autor original e se alterar, transformar, ou criar outra obra com
base nesta, só poderá distribuir a obra resultante através de uma licença idêntica a esta.
Mais informações sobre a licença: http://creativecommons.org/licenses/by-sa/3.0/
A Associação Ensino Livre tem como finalidade promover a utilização de
software livre e a produção de conteúdos livres nos processos de aprendizagem,
nomeadamente ao nível do sistema de ensino. Acreditamos que o
conhecimento colectivo é enriquecido pela partilha livre de saberes
individuais e/ou organizacionais, tendo presente que o próprio software,
também ele é uma forma de conhecimento. Cremos também que esta atitude
cultural contribui para o desenvolvimento e o interesse dos jovens pelas novas
tecnologias e pelo ensino, num mundo em que este binómio se assume
determinante para o desenvolvimento de uma sociedade.
Visite-nos em http://www.ensinolivre.pt
E-mail: [email protected]
Morada: Associação Ensino Livre, Estrada Nacional 111, s/n, 3140-274 Montemor-o-Velho
Apoio: Associação Diogo de Azambuja
ASSOCIAÇÃO ENSINO LIVRE
E.N. 111
3140 - 274 MONTEMOR-O-VELHO
HTTP://WWW.ENSINOLIVRE.PT/
OPENLAB ESEV
PROJECTO DE SOFTWARE LIVRE DA ESEV
ESCOLA SUPERIOR DE EDUCAÇÃO DE VISEU
HTTP://WWW.ESEV.IPV.PT/OPENLAB

Documentos relacionados

O GIMP (GNU Image Manipulation Program) (http://www.gimp.org

O GIMP (GNU Image Manipulation Program) (http://www.gimp.org Esta obra está licenciada sob uma Licença Creative Commons Atribuição-Partilha 3.0 Pode copiar, distribuir, exibir e criar obras derivadas a partir deste documento. As novas obras devem dar crédito...

Leia mais

tutorial - Associação Ensino Livre

tutorial - Associação Ensino Livre 2.18. Clica-se na barra de menus em Efeitos > Equalização. Aparecerá uma nova janela a indicar que não foram encontradas curvas pré-definidas e clica-se OK. Como o produto criado se trata de um Sp...

Leia mais

introdução ao audacity - Associação Ensino Livre

introdução ao audacity - Associação Ensino Livre 2.20. Clica-se na barra de menus em Efeitos > Equalização. Aparecerá uma nova janela a indicar que não foram encontradas curvas pré-definidas e clica-se OK. Como o produto criado se trata de um Po...

Leia mais