.. _perguntas_frequentes: ==================== Perguntas Frequentes ==================== .. contents:: Nesta seção: :local: :depth: 2 Esta seção reúne respostas para as dúvidas mais comuns dos usuários do GridUnesp. As perguntas estão organizadas por categoria para facilitar a consulta. .. tip:: Use a função de busca do seu navegador (Ctrl+F) para localizar rapidamente um termo específico. Acesso ao GridUnesp =================== 1) Como obter ajuda para utilizar o GridUnesp? ---------------------------------------------- .. admonition:: Resposta :class: toggle Entre em contato com a equipe de especialistas do GridUnesp enviando mensagem para ``support.ncc@unesp.br``. Para problemas com jobs, inclua na mensagem: - Localização do script de submissão (caminho completo: ``/home/$USER/caminho/para/script.sh``) - Localização dos arquivos de input - Arquivos de log (slurm-JOBID.out) - Comando usado para submeter o job - Número(s) do(s) job(s) em questão 2) Como faço login no GridUnesp? -------------------------------- .. admonition:: Resposta :class: toggle **Linux/Mac:** .. code-block:: bash ssh username@access.grid.unesp.br **Windows:** Utilize PuTTY ou WinSCP. Consulte :ref:`acessando_o_cluster` para instruções detalhadas. 3) Não lembro minha senha. Como resetar? ---------------------------------------- .. admonition:: Resposta :class: toggle Acesse a página: https://www.ncc.unesp.br/password-new/ Informe seu **username** ou e-mail cadastrado. Um token para troca de senha será enviado ao seu e-mail. **Recomendações para senha forte:** - Mínimo de 8 caracteres - Letras maiúsculas e minúsculas - Números e símbolos (!, $, %, @, #, ...) - Não use palavras comuns .. tip:: Use um gerador de senhas aleatórias: https://www.lastpass.com/features/password-generator 4) "The authenticity of host... can't be established" - O que significa? ------------------------------------------------------------------------ .. admonition:: Resposta :class: toggle É a primeira vez que você acessa o servidor. O SSH pergunta se você reconhece o servidor como confiável. Verifique se a impressão digital corresponde a uma das abaixo e digite ``yes``: .. code-block:: text RSA: SHA256:X3iCb13fWj7u2Tvp/MCCpn0brfSNS5Ie6ehm6lsvPSQ ECDSA: SHA256:WVFokXOLnuH9+2e7xxRU2gp7XJqxwuE6H8bbUMqTCXo ED25519: SHA256:+HEvFMmo0EA6ipPMJSaj5+Q6IabebRN+nRD0nxdYrKQ 5) "WARNING: POSSIBLE DNS SPOOFING DETECTED!" - O que fazer? ------------------------------------------------------------ .. admonition:: Resposta :class: toggle Esta mensagem aparece quando a chave do servidor mudou (por exemplo, após manutenção). Remova a entrada antiga: **Linux:** .. code-block:: bash ssh-keygen -f "/home/seu_usuario_local/.ssh/known_hosts" -R "access.grid.unesp.br" **Mac:** .. code-block:: bash ssh-keygen -f "/Users/seu_usuario_local/.ssh/known_hosts" -R "access.grid.unesp.br" Em seguida, tente conectar novamente. 6) Por que não consigo fazer login? ----------------------------------- .. admonition:: Resposta :class: toggle Possíveis causas: - **Senha incorreta:** Faça reset em https://www.ncc.unesp.br/password-new/ - **Bloqueio pelo Fail2Ban:** Após múltiplas tentativas erradas, scp repetido ou múltiplos logins, o sistema bloqueia por 15 minutos. Aguarde e tente novamente. - **Problemas de rede:** Verifique sua conexão com a internet. Se o problema persistir, envie a saída do comando abaixo para ``support.ncc@unesp.br``: .. code-block:: bash ssh -vvv username@access.grid.unesp.br 7) Estava conectado e o terminal travou. Por quê? ------------------------------------------------- .. admonition:: Resposta :class: toggle Causas comuns: - **Falha de internet:** Queda temporária na conexão - **Timeout de inatividade:** Conexões ociosas podem ser encerradas - **Bloqueio pelo Fail2Ban:** Se você estava realizando múltiplas operações Basta conectar novamente. .. tip:: Para conexões mais instáveis, considere usar ``screen`` ou ``tmux``. Eles são multiplexadores de terminal e gerenciadores de sessões que permitem manter programas rodando em segundo plano mesmo se a conexão cair. 8) Não sei o que fazer depois de acessar. Pode me ajudar? --------------------------------------------------------- .. admonition:: Resposta :class: toggle O GridUnesp é uma plataforma para processamento de alto desempenho. O fluxo típico é: 1. Transfira seus dados e programas para o cluster (:ref:`transferindo_para_gridunesp`) 2. Prepare scripts de submissão (:ref:`processando_simulacoes`) 3. Submeta jobs para execução nos nós de processamento 4. Monitore a execução 5. Recupere os resultados Consulte o :ref:`inicio_rapido` e o :ref:`manual_do_usuario` para orientações detalhadas. 9) Posso acessar o GridUnesp via browser? ----------------------------------------- .. admonition:: Resposta :class: toggle **Não.** O acesso ao GridUnesp é exclusivamente via SSH pelo terminal. Não há interface web para execução de comandos. Transferência de Arquivos ========================= 10) Como transfiro arquivos para minha conta? --------------------------------------------- .. admonition:: Resposta :class: toggle **Linux/Mac (linha de comando):** .. code-block:: bash scp arquivo_local.dat username@access.grid.unesp.br:/home/username/ **Windows:** Utilize WinSCP ou FileZilla. Consulte :ref:`transferindo_arquivos` para instruções. 11) Como transfiro arquivos do GridUnesp para meu computador? ------------------------------------------------------------- .. admonition:: Resposta :class: toggle **Linux/Mac:** .. code-block:: bash scp username@access.grid.unesp.br:/home/username/arquivo_remoto.dat . O ponto (.) indica o diretório atual. **Windows:** Utilize WinSCP ou FileZilla para fazer o download. Instalação de Programas ======================= 12) Não tenho permissão de administrador. Como instalar software? ------------------------------------------------------------------ .. admonition:: Resposta :class: toggle Você pode instalar aplicações em seu próprio diretório ``/home/``. Muitos programas permitem especificar um diretório de instalação alternativo. **Opções:** - Instale localmente com ``--prefix=$HOME/local`` - Instale dentro de uma imagem ou faça o download dela usando Apptainer - Use Conda/Anaconda para gerenciar ambientes - Solicite à equipe do GridUnesp a instalação global (``support.ncc@unesp.br``) Consulte :ref:`instalando_aplicacoes` para detalhes. 13) Como faço para instalar um software específico? --------------------------------------------------- .. admonition:: Resposta :class: toggle 1. Verifique se o software já está disponível como módulo: .. code-block:: bash module avail nome_parcial 2. Se não estiver disponível, tente instalar localmente: - Consulte a documentação do software para instruções de instalação - Use ``./configure --prefix=$HOME/local`` (para softwares com configure) - Use ``pip install --user`` (para Python) - Use ``R CMD INSTALL -l $HOME/R/libs`` (para R) 3. Se a instalação for complexa, solicite à equipe de suporte. Processamento de Jobs ===================== 14) Posso processar jobs no /home? ---------------------------------- .. admonition:: Resposta :class: toggle **Não.** O servidor **access** **não deve** ser usado para processamento de jobs. Ele serve apenas para: - Acesso à sua conta - Preparação de scripts - Submissão de jobs (``sbatch``) - Tarefas leves de pré/pós-processamento Os jobs devem ser executados nos nós de processamento via SLURM. 15) Como executar jobs no GridUnesp? ------------------------------------ .. admonition:: Resposta :class: toggle 1. Crie um script de submissão com diretivas SBATCH 2. Submeta com o comando: .. code-block:: bash sbatch script_submissao.sh 3. Acompanhe com: .. code-block:: bash squeue -u $USER Consulte :ref:`processando_simulacoes` para exemplos detalhados. 16) Como criar um script de submissão? -------------------------------------- .. admonition:: Resposta :class: toggle Um script básico tem o formato: .. code-block:: bash :caption: exemplo.sh #!/bin/bash #SBATCH -J nome_job #SBATCH -n 1 #SBATCH -t 01:00:00 export INPUT="entrada.dat" export OUTPUT="saida.dat" module load nome_do_modulo job-nanny ./meu_programa Consulte :ref:`melhorando_o_script_de_submissao` para todas as opções. Monitoramento de Jobs ===================== 17) Por quanto tempo meu job pode processar? -------------------------------------------- .. admonition:: Resposta :class: toggle O tempo máximo é de **30 dias**, dependendo da partição escolhida: - **short:** 24 horas - **medium:** 7 dias - **long:** 30 dias - **gpu:** 24 horas em um servidor GPU Use a diretiva ``#SBATCH -t`` para especificar o tempo. Consulte :ref:`sistema_de_filas_detalhado` para ver os exemplos. 18) Quantas partições existem? ------------------------------ .. admonition:: Resposta :class: toggle O GridUnesp possui 4 partições: - **short:** Jobs de até 24 horas - **medium:** Jobs de até 7 dias - **long:** Jobs de até 30 dias - **gpu:** 24 horas em um servidor GPU Exemplo: ``#SBATCH -t 2-00`` (2 dias) fará com que o SLURM aloque o job na partição **medium**. A partição é selecionada automaticamente com base no tempo solicitado. Em solicitações com prazo de até 24 horas, o SLURM poderá alocar tanto a partição **short**, quanto a **gpu***. A partição **gpu** pode ser alocada ao informar explicitamente ao sistema: ``#SBATCH --partition=gpu``. Consulte a seção :ref:`uso_gpus`. 19) Como sei que meu job começou a processar? --------------------------------------------- .. admonition:: Resposta :class: toggle Use o comando: .. code-block:: bash squeue -u $USER - **R** (Running): Job em execução - **PD** (Pending): Job aguardando recursos - **CG** (Completing): Job finalizando - **F** (Failed): Job falhou 20) Por que meu job demora para começar? ---------------------------------------- .. admonition:: Resposta :class: toggle Causas possíveis: - **Alta demanda:** Muitos jobs na fila - **Recursos solicitados:** Jobs que pedem muitos recursos podem esperar mais - **Prioridade:** Baseada no histórico de uso do usuário/grupo Para ver a fila: .. code-block:: bash squeue -r | wc -l # Total de jobs squeue -r --states=PD | wc -l # Jobs pendentes squeue -o "%.18i %.9Q %.8j %.8u %.10V %.6D %R" --sort=-p,i --states=PD # Prioridade 21) Existe previsão para meu job começar? ----------------------------------------- .. admonition:: Resposta :class: toggle **Não.** O tempo de espera depende de fatores não determinísticos: - Duração dos jobs em execução - Falhas que liberam recursos antecipadamente - Chegada de novos jobs com prioridade diferente 22) Por que outros usuários têm muitos jobs e eu não? ----------------------------------------------------- .. admonition:: Resposta :class: toggle O GridUnesp utiliza política de **Fair Share**: - Usuários com menos uso recente têm prioridade maior - Jobs que solicitam menos recursos podem "furar a fila" - O sistema busca equilíbrio entre todos os usuários - A configuração das filas busca evitar que haja recursos ociosos Consulte :ref:`politica_de_prioridade` para detalhes. Falhas no Processamento ======================= 23) Meu job foi cancelado por TIMEOUT. O que significa? ------------------------------------------------------- .. admonition:: Resposta :class: toggle O job atingiu o tempo limite solicitado e foi encerrado pelo sistema. **Solução:** Aumente o tempo na diretiva ``#SBATCH -t`` ou otimize seu código para executar mais rápido. 24) Meu job foi cancelado por falta de INPUT. O que significa? -------------------------------------------------------------- .. admonition:: Resposta :class: toggle O script ``job-nanny`` exige a definição da variável **INPUT**. Adicione-o ao seu script. Exemplo: .. code-block:: bash export INPUT="arquivo_entrada.dat diretorio_entrada/" 25) Meu job foi cancelado por falta de OUTPUT. O que significa? --------------------------------------------------------------- .. admonition:: Resposta :class: toggle O script ``job-nanny`` exige a definição da variável **OUTPUT**. Adicione-o ao seu script. Exemplo: .. code-block:: bash export OUTPUT="arquivo_saida.dat diretorio_saida/" 26) Por que meu job falhou? --------------------------- .. admonition:: Resposta :class: toggle Causas comuns: - Falta de arquivos de input - Erro no código do programa - Falta de módulos necessários - Memória insuficiente - Timeout Verifique o arquivo de log: .. code-block:: bash cat slurm-JOBID.out Se não encontrar a causa, envie o log para o suporte. Otimização de Jobs ================== 27) Como acelerar o processamento do meu job? --------------------------------------------- .. admonition:: Resposta :class: toggle Possíveis estratégias: - Aumente a memória disponível (``#SBATCH --mem=16G``) - Utilize mais CPUs (``#SBATCH -c 8``) - Paralelize com OpenMP ou MPI - Otimize o código (algoritmos, compilação) - Use GPUs quando aplicável Consulte :ref:`otimizando_o_desempenho`. 28) Quantas CPUs posso solicitar? --------------------------------- .. admonition:: Resposta :class: toggle Cada nó CPU possui **28 núcleos** com Hyper-Threading, totalizando **56 threads**. Você pode solicitar até 56 CPUs por nó com ``-c 56``. As 4 CPUs restantes são reservadas para uso exclusivo do sistema operacional. O nó da GPU possui **48 núcleos** com Hyper-Threading, totalizando **96 threads**. Você pode solicitar até 88 CPUs por nó com o parâmetro ``-c 88``. Os 8 núcleos restantes da CPU são reservados para uso exclusivo do sistema operacional. .. list-table:: Divisão de Recursos do Cluster (Especialização de Núcleos) :widths: 34 22 22 22 :align: center * - Tipo de Nó - Capacidade Total - Reservado ao SO - Disponível para Jobs * - **Nós Regulares** (``node[001-056]``) - 28 Cores / 56 CPUs - 2 Cores / 4 CPUs - 26 Cores / 52 CPUs * - **Nó de GPU** (``gpunode001``) - 48 Cores / 96 CPUs - 4 Cores / 8 CPUs - 44 Cores / 88 CPUs A memória disponível é de 128 GB por nó de CPU (aproximadamente 2 GB por núcleo), mas não é recomendável requisitar porque deve haver margem para as tarefas do sistema operacional. Por sua vez, o nó de GPU tem 1.5 TB de memória RAM. 29) Tem GPU no GridUnesp? ------------------------- .. admonition:: Resposta :class: toggle **Sim.** O GridUnesp conta com um nó GPU (gpunode001) equipado com: - 4 GPUs NVIDIA L40S (48 GB cada) - 48 núcleos CPU AMD EPYC - 1.5 TB de RAM Consulte :ref:`uso_gpus` para detalhes de uso. 30) Como usar várias CPUs em um job? ------------------------------------ .. admonition:: Resposta :class: toggle Solicite as CPUs com a diretiva ``-c``: .. code-block:: bash #!/bin/bash #SBATCH -c 16 Certifique-se de que seu programa está configurado para usar múltiplas threads (OpenMP, pthreads). Veja a seção :ref:`memoria_compartilhada`. 31) Como processar jobs em paralelo? ------------------------------------ .. admonition:: Resposta :class: toggle Duas abordagens principais: **Memória compartilhada (OpenMP):** .. code-block:: bash #!/bin/bash #SBATCH -c 8 export OMP_NUM_THREADS=8 ./programa_omp **Memória distribuída (MPI):** .. code-block:: bash #!/bin/bash #SBATCH -n 4 module load openmpi/4.0.1 mpirun -n 4 ./programa_mpi Consulte :ref:`memoria_compartilhada` e :ref:`memoria_distribuida`. 32) Como usar MPI? ------------------ .. admonition:: Resposta :class: toggle .. code-block:: bash :caption: script_mpi.sh #!/bin/bash #SBATCH -N 2 # Requisitando 2 nós #SBATCH -n 4 # Requisitando 4 processos distribuídos nos 2 nós module load openmpi/4.0.1 # ou module load intel/mpi/2017 mpirun -np $SLURM_NTASKS ./programa_mpi Consulte :ref:`memoria_distribuida`. 33) Como especificar número de nós? ----------------------------------- .. admonition:: Resposta :class: toggle Use a diretiva ``-N``: .. code-block:: bash #SBATCH -N 2 # Exatamente 2 nós #SBATCH -N 2-4 # Mínimo 2, máximo 4 nós Combine com ``-n`` para distribuir processos entre os nós. Consulte :ref:`memoria_distribuida`. 34) Posso submeter vários jobs de uma vez? ------------------------------------------ .. admonition:: Resposta :class: toggle **Sim.** Use **job array**: .. code-block:: bash :caption: job_array.sh #!/bin/bash #SBATCH --array=1-10 #SBATCH -n 1 export INPUT="input_${SLURM_ARRAY_TASK_ID}.dat" export OUTPUT="output_${SLURM_ARRAY_TASK_ID}.dat" job-nanny ./meu_programa Consulte :ref:`job_array`. 35) Por que meu job é mais rápido em 1 nó do que em vários? ----------------------------------------------------------- .. admonition:: Resposta :class: toggle Possíveis causas: - **Overhead de comunicação:** MPI introduz latência de rede - **I/O compartilhado:** Acesso concorrente ao storage - **Granularidade:** Problema pequeno demais para justificar paralelização Jobs que usam múltiplos nós escrevem em ``/store/`` (compartilhado), enquanto jobs de 1 nó usam ``/tmp/`` local, que é mais rápido. 36) O GridUnesp usa InfiniBand ou Ethernet? ------------------------------------------- .. admonition:: Resposta :class: toggle Atualmente, o GridUnesp utiliza **Ethernet 40 Gb/s**. Anteriormente usava InfiniBand, mas a manutenção se tornou inviável. Boas Práticas ============= 37) Meus arquivos são muito grandes. Há problema? ------------------------------------------------- .. admonition:: Resposta :class: toggle - Jobs de **1 nó:** Usam ``/tmp/`` (≈180 GB local). Adequado para arquivos de até algumas dezenas de GB. - Jobs com **múltiplos nós:** Usam ``/store/`` automaticamente (espaço compartilhado grande). - Para forçar uso de ``/store/`` em jobs de 1 nó com arquivos grandes: .. code-block:: bash export SHARED_FS="true" # ou export LARGE_FILES="true" 38) Como usar /store/ em vez de /tmp/? -------------------------------------- .. admonition:: Resposta :class: toggle Adicione no script de submissão: .. code-block:: bash export SHARED_FS="true" # ou export LARGE_FILES="true" Ou solicite múltiplos nós (``-N 2``) para forçar automaticamente o uso de ``/store/``. 39) Como usar /tmp/ em vez de /store/? -------------------------------------- .. admonition:: Resposta :class: toggle Para jobs com múltiplos nós, não é possível forçar o uso de ``/tmp/``. Para jobs de 1 nó, o padrão já é ``/tmp/``. Para garantir: .. code-block:: bash export SHARED_FS="false" # ou export LARGE_FILES="false" 40) Posso deixar arquivos guardados no GridUnesp? ------------------------------------------------- .. admonition:: Resposta :class: toggle **Em regra, não.** O cluster não deve ser usado como armazenamento de longo prazo. Mantenha apenas arquivos necessários para processamento atual ou futuro próximo. **Razões:** - Espaço limitado e compartilhado - Sem backup automático - Risco de perda de dados 41) Como apagar arquivos da minha conta? ---------------------------------------- .. admonition:: Resposta :class: toggle .. code-block:: bash # Remover arquivo rm arquivo.dat # Remover diretório vazio rmdir diretorio/ # Remover diretório com conteúdo rm -rf diretorio/ .. warning:: O comando ``rm`` é destrutivo e não pode ser desfeito. Use com cuidado. 42) Como contribuir para o bom funcionamento do cluster? -------------------------------------------------------- .. admonition:: Resposta :class: toggle - Siga as :ref:`boas_praticas` - Respeite a :ref:`politica_de_uso` - Limpe arquivos temporários regularmente - Não execute jobs pesados no servidor de acesso (**access.grid.unesp.br**) - Reporte problemas ao suporte - Inclua agradecimentos nas publicações conforme indicado na seção :ref:`publicacoes` Outras Dúvidas ============== 43) O GridUnesp usa Ubuntu? --------------------------- .. admonition:: Resposta :class: toggle **Não.** O cluster utiliza **AlmaLinux** (compatível com CentOS/RHEL). A instalação de pacotes na raiz do sistema é feita via comandos ``yum`` e ``dnf``, **não** ``apt-get``. 44) Qual é o sistema operacional? --------------------------------- .. admonition:: Resposta :class: toggle **Linux** (distribuição AlmaLinux). 45) Posso usar programas interativos? ------------------------------------- .. admonition:: Resposta :class: toggle **Sim, com limitações.** Para programas com interface gráfica, use a opção ``-X`` no SSH: .. code-block:: bash ssh -X username@access.grid.unesp.br nedit arquivo.txt & .. **Jobs interativos** (para testes): .. code-block:: bash salloc -n 1 -t 01:00:00 Consulte a documentação do SLURM para mais opções. 46) Como abrir aplicações visuais? ---------------------------------- .. admonition:: Resposta :class: toggle Use SSH com encaminhamento X11: .. code-block:: bash ssh -X username@access.grid.unesp.br Em seguida, execute a aplicação: .. code-block:: bash xterm & nedit arquivo.txt & 47) Posso ter videoconferência com o suporte? --------------------------------------------- .. admonition:: Resposta :class: toggle **Sim.** Em casos complexos, a equipe pode agendar uma videoconferência. Envie e-mail para ``support.ncc@unesp.br`` explicando o problema e solicitando esse formato de atendimento. .. seealso:: - :ref:`solucao_problemas` - Para problemas mais específicos - :ref:`contato` - Canais de suporte