Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

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 ​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çãoque 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>​
-//job// continua. Ou então:<​code>​ +  - Numa máquina voce pode ver se 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áriosExistem 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 ​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 ​interpretador de comando para o ''​bash''​ digitando-se:​<​code>​ +ccad:~tail -f seu_programa.Rout
-a01% /bin/bash </codeE para retornar ao ''​zsh''​ basta digitar <​code>​ +
-a01% /bin/zsh</​code>​ +
-      * para fazer esta mudança parmanente e obter ''​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ísicaapoio, 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]]** 
  

QR Code
QR Code dicas:ccad (generated for current page)