Tuesday, October 28, 2008

Rodando simulações em uma rede linux

Nas redes de computadores das universidades é muito comum encontrar computadores bloqueados com o seguinte aviso: "Rodando simulações". Aqui explicaremos uma forma de rodar uma simulação em uma rede linux deixando o computador disponível para que outros usuários possam utiliza-lo.

Devinculando o processo do seu login

Vamos supor que você queria rodar o algoritmo Simulacao.R no software estatístico R. O procedimento mais conhecido é digitar a letra R num terminal e chamar esse script com o comando source('Simulacao.R') ou digitar apenas echo "source('Simulacao.R')" | R --no-save > teste.txt, o último comando executa o arquivo Simulacao.R e salva os resultados no arquivo teste.txt sem salvar o "workspace", para mais opções veja man R. Se você executar qualquer um dos dois comandos e finalizar sua sessão o kernel automaticamente encerrará todos os programas em execução que estão vinculados ao seu login.

Uma forma bem simples e eficiente para evitar esse problema é utilizando o comando nohup, assim para executar o script Simulacao.R devemos digitar num terminal

nohup echo "source('Simulacao.R')" | R --no-save > teste.txt &

(o último simbolo é um e comercial)

e pronto, agora você pode deslogar e numa outra hora apropriada abrir o arquivo teste.txt e verificar os resultados.

Uma outra forma que será útil apenas para quem tiver em casa um computador conectado a internet, basta se logar remotamente via ssh na rede da sua universidade e executar o comando que quiser.

Saiba mais sobre o comando nohup aqui

Site do Software estatístico R

Site do UBUNTU



No comments: