Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Próxima revisão | Revisão anterior | ||
dicas:ccad [2010/05/11 15:27] paulojus criada |
dicas:ccad [2011/10/07 11:32] (atual) paulojus |
||
---|---|---|---|
Linha 1: | Linha 1: | ||
- | ====== Configuração e uso do LCPAD ====== | + | ====== Configuração e uso do CCAD para usuários do LEG ====== |
O CCAD - Centro de Computação de Alto Desempenho - | O CCAD - Centro de Computação de Alto Desempenho - | ||
Linha 7: | Linha 7: | ||
Este é um sistema alternativo a outro existente na UFPR, o [[dicas:lcpad|LCPAD]] com algums configurações e filosofias de uso diferentes. | Este é um sistema alternativo a outro existente na UFPR, o [[dicas:lcpad|LCPAD]] com algums configurações e filosofias de uso diferentes. | ||
+ | |||
+ | **O CCAD procura estimular/incentivar o uso de programas que rodem em paralelo!!** | ||
+ | |||
+ | Informações detalhadas na **[[http://www.ccad.ufpr.br|Página do CCAD]]** | ||
==== Conta no CCAD ==== | ==== Conta no CCAD ==== | ||
Linha 16: | Linha 20: | ||
* O usuário cadastrado receberá email com login e senha de acesso. | * O usuário cadastrado receberá email com login e senha de acesso. | ||
* o acesso deve ser feito sempre à servidora ''ccad.ufpr.br'' | * o acesso deve ser feito sempre à servidora ''ccad.ufpr.br'' | ||
- | * a partir desta servidora é possível acessar as demais máquinas do LCPAD via o comando ''rlogin'' (mais detalhes abaixo) | ||
* O acesso à servidora ''ccad.ufpr.br'' pode ser feito por ''ssh'' (inclusive gráfico com ''ssh -X'') via programa gráfico de ssh (putty, etc) ou linha de comando com:<code> | * O acesso à servidora ''ccad.ufpr.br'' pode ser feito por ''ssh'' (inclusive gráfico com ''ssh -X'') via programa gráfico de ssh (putty, etc) ou linha de comando com:<code> | ||
- | % ssh LOGIN@ccad.ufpr.br</code> | + | $ ssh LOGIN@ccad.ufpr.br</code> |
* ssh só é possível a partir de máquinas na UFPR. Se estiver acessando de fora acesse primeiro uma servidora da UFPR (do leg por exemplo) e dela acesse o CCAD | * ssh só é possível a partir de máquinas na UFPR. Se estiver acessando de fora acesse primeiro uma servidora da UFPR (do leg por exemplo) e dela acesse o CCAD | ||
* Recomenda-se trocar a senha no primeiro uso com o comando:<code> | * Recomenda-se trocar a senha no primeiro uso com o comando:<code> | ||
- | % passwd </code> | + | ccad:~> passwd </code> |
==== Uso ==== | ==== Uso ==== | ||
* O sistema operacional das máquinas do CCAD é LINUX (SuSe). É portanto recomandado que usuários estejam familiarizados com [[http://www.leg.ufpr.br/~paulojus/restrito/dicas/node2.html|comandos básicos do LINUX]] | * O sistema operacional das máquinas do CCAD é LINUX (SuSe). É portanto recomandado que usuários estejam familiarizados com [[http://www.leg.ufpr.br/~paulojus/restrito/dicas/node2.html|comandos básicos do LINUX]] | ||
Linha 27: | Linha 30: | ||
==== Uso do R no CCAD ==== | ==== Uso do R no CCAD ==== | ||
- | O R foi compilado na servidora do CCAD e está em um diretório **não usual**: | ||
- | /cluster/sw/R | ||
- | Portando o binário para execução está em: | + | === Rodando o R === |
- | /cluster/sw/R/bin/R | + | |
- | Para evitar ter que digitar todo este caminho quando for iniciar o R voce pode adicionar no seu arquivo ''.bashrc'' a seguinte linha: | + | **IMPORTANTE:**\\ |
- | alias R="/cluster/sw/R/bin/R" | + | Para rodar o R (em formato interativo sou submetendo jobs) o primeiro passo é digitar:<code> |
+ | ccad:~> module load mod_R </code> | ||
+ | Se voce é um usuário regular do R este comando de carregar o modulo pode ser colocado em seu ''.bashrc'' para que seja rodado automaticamente sempre que voce acessar o CCAD. | ||
+ | No momento o modulo do R faz duas coisas: | ||
+ | - define o diretório do executável do R no seu ''PATH'' | ||
+ | - define o camilho de procura de bibliotecas adicionais do R na conta da ''paulojus'' (para evitar que todos tenham que instalar os pacotes) | ||
- | Existem duas versões do programa ''R'' disponíveis no LCPAD | + | == Rodando na forma interativa == |
- | - Uma versão disponível para acesso **apenas na servidora ''lcpad.ufpr.br''** que pode ser usada inclusive interativamente e graficamente. Para iniciar esta versão do R em modo interativo digite:<code> | + | |
- | % R </code> | + | |
- | e para modo BATCH o comando usual e acompanha o andamento do //job// com:<code> | + | |
- | % R CMD BATCH seu_programa.R & | + | |
- | % tail -f seu_programa.Rout | + | |
- | </code> | + | |
- | - Nas demais máquinas do LCPAD não é possivel utilizar o R gráfico e foi compilada uma versão sem suporte gráfico do ''R'' que chamamos de ''Rnox''. Par usar esta versão voce deve primeiro criar um //alias// nos seu arquivo ''.bashrc'' e/ou ''.zshrc'' (se voce copiou estes arquivos da conta de PJ isto não é necessário pois o //alias// já está nos arquivos copiados): <code> | + | |
- | alias Rnox="nice -n 19 /home/users/est/paulojus/R/bin/R" | + | |
- | source .bashrc | + | |
- | source .zshrc | + | |
- | </code> | + | |
- | Depois disto voce pode rodar processos **em qualquer máquina ** com: | + | |
- | <code> | + | |
- | % Rnox CMD BATCH seu_programa.R & | + | |
- | </code> | + | |
+ | Depois de carregar o modulo do R voce poderá usar o programa de forma interativa simplesmente digitando | ||
+ | ccad:~> R | ||
- | ==== Processos, logout, interrupções, etc ==== | + | == Rodando como em "background" ("BATCH job") == |
- | **Usando o Z-shell (zsh)** se um processo em BATCH é iniciado com <code> | + | Lembrando usualmente trabalhos de R em background são submetidos com o modo BATCH e o comando usual e acompanhamento do andamento do //job// é feito com:<code> |
- | % Rnox CMD BATCH seu_programa.R & </code> | + | ccad:~> R CMD BATCH seu_programa.R & |
- | ele será interrompido caso se voce se deslogar da máquina. | + | ccad:~> tail -f seu_programa.Rout |
+ | </code> | ||
- | Existem diferentes estratégias para contornar isto: | + | - No ''R'' sugere-se sempre colocar no seu programa comandos ''print()'' (por exemplo imprimir o número da simulação) que permitam que voce acompanhe o andamento com<code> |
- | - Mudar o seu //shell// para o ''bash'' ([[lcpad#shell|ver sessão SHELL]] abaixo) | + | ccad:~> tail -f seu_programa.Rout |
- | - Utilizar ''disown'' ou ''nohup'' no //Z-shell// como nos exemplos a seguir (válido tanto para uso do ''R'' quanto ''Rnox'')<code> | + | |
- | a02% Rnox CMD BATCH ap.R & | + | |
- | a02% disown % | + | |
- | a02% exit | + | |
</code> | </code> | ||
- | e o //job// continua. Ou então:<code> | + | - Numa máquina voce pode ver se o processo está rodando com um dos seguintes comandos do linux: <code> |
- | a02% nohup Rnox CMD BATCH ap.R & | + | ccad:~> ps -u SEU_LOGIN |
+ | ccad:~> top | ||
</code> | </code> | ||
- | No caso do ''Rnox'' esta última solução pode ser //automatizada// mudando o seu //alias// em ''.zshrc'' para:<code> | + | <note warning> Entretanto, para rodar no CCAD vamos adaptar este procedimento um pouco para seguir os padrões e aproveitar as vantagens do cluster. Ou seja, ao invés de fazer como descrito acima devemos submeter processos R da seguinte forma:</note> |
- | alias Rnox="nice -n 19 nohup /home/users/est/paulojus/R/bin/R" | + | |
- | source .zshrc | + | Os passos básicos são (adaptar para suas configurações) |
+ | - Definir o ambiente de trabalho, basicamente: | ||
+ | * criar e entrar em um diretório para rodar o seu programa (substituir abaixo o nome deste diretório em ''SEU_DIRETORIO'')<code> | ||
+ | ccad:~> mkdir SEU_DIRETORIO | ||
+ | ccad:~> cd SEU_DIRETORIO | ||
</code> | </code> | ||
+ | * criar um arquivo de comandos em R (//script// R) com o que vai rodar tal como código de análise, simulação, etc. (substituir abaixo em ''seu_programa.R'') | ||
+ | - Criar um arquivo (formato texto) para chamar o R com o seguinte conteúdo básico. Vamos chamar este arquivo de ''run.sh''.<code> | ||
+ | #!/bin/bash | ||
+ | #PBS -S /bin/bash | ||
+ | #PBS -V | ||
+ | #PBS -m ae | ||
+ | #PBS -M paulojus@leg.ufpr.br | ||
+ | #PBS -l walltime=6:00:00 | ||
+ | cd $PBS_O_WORKDIR | ||
- | ==== SHELL ==== | + | R CMD BATCH seu_programa.R </code> |
- | * O LINUX utiliza ''interpretadores de comandos'' (chamados de //shell//) no terminal para executar as instruções dos usuários. Existem diversos interpretadores de comandos que são muito semelhantes na sintaxe dos comandos mas possuem algumas diferenças entes eles. | + | - Submeter ao cluster <code> |
- | * O interpretador de comandos talvez mais comum (usado no LEG e instalação padrão de LINUX tais como debian e Ubuntu) é o ''bash'' (//born again shell//) e o arquivo de configuração na área do usuário é o ''.bashrc'' | + | ccad:~> qsub run.sh </code> |
- | * No LCPAD utiliza-se outro, o ''zsh'' (//Z-shell//) e o arquivo de configuração na área do usuário é o ''.zshrc'' | + | - Monitorar o progresso com<code> |
- | * na servidora principal ''lcpad.ufpr.,br'' é possível mudar o interpretador de comandos padrão com<code> | + | ccad:~> qstat </code> |
- | % chsh </code> | + | - E também monitorar da forma usual o arquivo de saída do R<code> |
- | * nas demais servidoras este comando não pode ser utilizado, mas pode-se trocar o interpretador de comando para o ''bash'' digitando-se:<code> | + | ccad:~> tail -f seu_programa.Rout |
- | a01% /bin/bash </code> E para retornar ao ''zsh'' basta digitar <code> | + | |
- | a01% /bin/zsh</code> | + | |
- | * para fazer esta mudança parmanente e obter o ''bash'' toda vez que acessar as máquinas voce pode colocar na ultima linha do seu arquivo ''.zshrc'' o comando de mudança de shell: <code> | + | |
- | /bin/bash </code> | + | |
- | * se voce não quiser se preocupar com nada destas configurações pode ainda copiar os arquivos de configuração de PJ:<code> | + | |
- | % cp ../paulojus/.zshrc . | + | |
- | % cp ../paulojus/.bashrc . | + | |
</code> | </code> | ||
+ | <note>Não esqueça de carregar o modulo do R como descrito acima quando acessar a sua conta !!!</note> | ||
- | ==== Acompanhando seus processo ==== | ||
- | - No ''R'' sugere-se sempre colocar no seu programa comandos ''print()'' (por exmeplo imprimir o número da simulação) que permitam que voce acompanhe o andamento com <code> | ||
- | % tail -f seu_programa.Rout | ||
- | </code> | ||
- | - Numa náuqina voce pode ver se o processo está rodando com um dos seguintes comandos do linux: <code> | ||
- | % ps -u SEU_LOGIN | ||
- | % top | ||
- | </code> | ||
- | - O LCPAD disponibiliza ainda comandos para acompanha processos:<code> | ||
- | % carga | ||
- | % carga -u | ||
- | % carga -U | ||
- | % carga -j | ||
- | </code> | ||
- | * A primeira forma mostra o //load// das máquinas. (útil para escolher em qual máquina está menos carregada submeter o próximo //job//), | ||
- | * a segunda mostra o número total de processos que o usuário está rodando em cada máquina, | ||
- | * a terceira mostra o número de processos do usuário que efetivamente consomem cpu. | ||
- | * a quarta sintaxe mostra o nome dos programas daquele usuário rodando em cada máquina. | ||
- | ==== Finalmente .... ==== | + | O CCAD disponibiliza informações adicionais sobre [[http://www.ccad.ufpr.br/wiki/index.php/Submiss%C3%A3o|submissão e controle de processos em sua página]].\\ |
- | Vale insistir: não deixe de digitar na servidora o comando abaixo para ter mais informações sobre recursos e uso do sistema!!!<code> | + | Se tiverem dicas de uso para o R coloquem aqui!!! |
- | % normas </code> | + | |
+ | === Tempo de processamento === | ||
+ | |||
+ | Por //default// o CCAD interrompe os processos após uma (1) hora de processamento. | ||
+ | No exemplo de arquivo ''run.sh'' acima já modificamos | ||
+ | este tempo, para seis (6) horas, incluindo no seu arquivo: | ||
+ | #PBS -l walltime=6:00:00 | ||
+ | Ajuste este tempo de acordo com a sua necessidade. | ||
+ | |||
+ | === Pacotes do R === | ||
+ | Pacotes adicionais podem ser instalados em sua conta se desejado. | ||
+ | Entretanto para evitar replicação de instalações estamos centralizando a instalação de pacotes na conta de PJ. | ||
+ | O módulo do R (''mod_R'') faz este direcionamento. | ||
+ | > .libPaths("/home/paulojus/Rlibs") | ||
+ | |||
+ | Se precisar de algum pacote não instalado solicite por email para PJ. | ||
==== Agradecimento ==== | ==== Agradecimento ==== | ||
- | Agradecemos ao Prof. Carlos Carvalho (Depto de Física) o apoio, instruções e soluções para uso do LCPAD. | + | Agradecemos ao Prof. Manoel Cunha (CESEC) e Christian (POP) pelo apoio, instruções e soluções para uso do CCAD. |
+ | |||
+ | ==== Mais informações ==== | ||
+ | Informações detalhadas na **[[http://www.ccad.ufpr.br|Página do CCAD]]** | ||