+ + + 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
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 maistutorial - 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 maisintroduçã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