.. _processando_simulacoes: ====================== Processando Simulações ====================== .. contents:: Nesta seção: :local: :depth: 2 Esta seção apresenta os conceitos fundamentais para processar jobs no GridUnesp, desde a preparação do ambiente até o monitoramento da execução. .. important:: O servidor **access.grid.unesp.br** é exclusivamente para acesso e preparação. **NUNCA execute simulações diretamente no access.** Use sempre o sistema de filas (SLURM) para submeter jobs aos nós de processamento. Fluxo de Trabalho Básico ======================== .. raw:: html O fluxo típico de trabalho no GridUnesp segue estas etapas: 1. **Acesse** o servidor access (``ssh``) 2. **Prepare** seus arquivos e scripts no ``/home/`` 3. **Submeta** o job com ``sbatch`` 4. **Acompanhe** a execução com ``squeue`` 5. **Recupere** os resultados após a conclusão Primeiro Job: Exemplo Simples ============================= Vamos criar um job de teste que apenas mostra a data e aguarda 60 segundos. **Passo 1: Crie o script de submissão** .. code-block:: bash :caption: primeiro_job.sh #!/bin/bash #SBATCH -t 5:00 # Tempo máximo: 5 minutos date sleep 60 **Passo 2: Submeta o job** .. code-block:: bash sbatch primeiro_job.sh **Passo 3: Verifique o status** .. code-block:: bash squeue -u $USER **Passo 4: Veja o resultado** .. code-block:: bash cat slurm-*.out .. note:: O arquivo de saída segue o padrão ``slurm-JOBID.out``. .. _monitorando_simulacoes: Monitorando Jobs ================ Comando squeue -------------- .. code-block:: bash # Ver todos os jobs squeue -a # Ver apenas seus jobs squeue -u $USER # Ver jobs em formato detalhado squeue -u $USER -o "%.18i %.9P %.8j %.8u %.2t %.10M %.6D %R" **Estados dos jobs:** - **PD** (PENDING): Aguardando recursos - **R** (RUNNING): Em execução - **CG** (COMPLETING): Finalizando - **F** (FAILED): Falhou - **TO** (TIMEOUT): Excedeu tempo limite **Exemplo de saída:** .. code-block:: text JOBID PARTITION NAME USER ST TIME NODES NODELIST 2848879 short vulcano.sh spock R 0:09 1 node011 2841620 long crucio.sh vader R 10:02:40 1 node018 Comando scontrol ---------------- Para obter detalhes completos de um job: .. code-block:: bash scontrol show job JOBID **Exemplo de saída parcial:** .. code-block:: text JobId=2848879 JobName=vulcano.sh UserId=spock(11992) GroupId=enterprise(11006) JobState=RUNNING RunTime=00:00:18 TimeLimit=00:05:00 NodeList=node011 Command=/home/spock/vulcano.sh Comando scancel --------------- Para cancelar um job: .. code-block:: bash scancel JOBID Para cancelar todos os seus jobs: .. code-block:: bash scancel -u $USER .. _sistema_de_filas_basico: Sistema de Filas (Partições) ============================ O GridUnesp organiza os jobs em partições baseadas no tempo máximo de execução: .. list-table:: Partições disponíveis :header-rows: 1 :widths: 20 30 50 * - Partição - Limite - Uso recomendado * - **short** - 24 horas - Testes, jobs rápidos (padrão) * - **medium** - 7 dias - Simulações de média duração * - **long** - 30 dias - Simulações longas * - **gpu** - 24 horas - Exclusivamente para o uso do servidor com GPUs .. important:: - Se não especificar, o job vai para a partição **short** com limite de 24h - Ao atingir o limite, o job é **automaticamente cancelado** (TIMEOUT) - Especifique sempre um tempo **realista** (jobs mais curtos têm prioridade) Especificando o tempo: .. code-block:: bash #SBATCH -t 30:00 # 30 minutos #SBATCH -t 12:00:00 # 12 horas #SBATCH -t 2-12:00:00 # 2 dias e 12 horas #SBATCH -t 30-00:00:00 # 30 dias .. _informacao_sobre_storage: Sistemas de Arquivos ==================== Durante a execução, os jobs utilizam diferentes áreas de armazenamento: .. list-table:: Pontos de montagem :header-rows: 1 :widths: 20 20 60 * - Local - Capacidade - Uso * - ``/home/`` - 120 TB - Preparação dos jobs (acesso pelo access) * - ``/tmp/`` - ~180 GB/nó - Jobs de 1 nó (rápido, temporário) * - ``/store/`` - 7 TB - Jobs multi-nó e arquivos grandes .. tip:: Consulte :ref:`guia_armazenamento` para detalhes sobre como otimizar o uso de cada área. Resumo dos Comandos Básicos =========================== .. list-table:: Comandos essenciais :header-rows: 1 :widths: 30 70 * - Comando - Descrição * - ``sbatch script.sh`` - Submeter job * - ``squeue -u $USER`` - Ver seus jobs * - ``scancel JOBID`` - Cancelar job * - ``scontrol show job JOBID`` - Detalhes do job * - ``sacct -j JOBID`` - Histórico do job (após finalizar) .. seealso:: - :ref:`melhorando_o_script_de_submissao` - Mais opções de configuração - :ref:`monitorando_simulacoes` - Monitoramento avançado - :ref:`politica_de_prioridade` - Como funciona a prioridade - :ref:`boas_praticas` - Recomendações de uso