Escrever o contrato mínimo de uma solicitação
Uma solicitação utilizável nomeia um responsável, um projeto, uma entrada disponível, um comando ou procedimento identificado e um resultado esperado. Ela indica o número de placas simultâneas, a memória por placa, a duração estimada e o destino das saídas. Por fim, especifica o prazo, o motivo desse prazo e a pessoa autorizada a aceitar um atraso ou uma redução do escopo.
A ausência dessas informações não deve ser ocultada por uma prioridade elevada. Uma tarefa cujas entradas não estão prontas continua não admissível, mesmo que o projeto seja importante. Peça o que falta e defina o ponto de reavaliação. A fila torna-se então uma ferramenta de decisão: ela não se transforma em depósito de solicitações impossíveis de iniciar que cada um espera ver tratadas espontaneamente.
Distinguir admissão, reserva e direito de passagem
A admissão verifica se a tarefa pode ser examinada: direitos, dados, compatibilidade, capacidade e procedimento presentes. Uma reserva protege em seguida um horário ou um recurso definido. A prioridade escolhe a ordem entre as solicitações admissíveis que disputam um recurso disponível. Essas três decisões podem depender de pessoas diferentes; torne essa divisão explícita para evitar uma validação implícita da necessidade técnica.
Uma placa livre não torna todas as tarefas admissíveis. O disco necessário pode faltar, uma licença pode limitar a concorrência ou o resultado anterior pode ser necessário. Por outro lado, uma solicitação tecnicamente pronta pode aguardar uma decisão de calendário. Exiba um motivo compreensível e uma próxima ação, em vez de um simples número de ordem que ninguém sabe interpretar.
Definir prioridades que não se tornem privilégios
Escolha algumas classes legíveis, por exemplo prazo externo confirmado, trabalho corrente e exploração sem data firme. Determine quem pode atribuir uma classe e qual documento a justifica. Dentro de uma classe, uma regra de antiguidade ou de rodízio pode tornar a escolha previsível. Uma solicitação dividida em cem pequenas submissões não deve obter mecanicamente cem vezes mais chances do que uma solicitação de outra equipe.
O Slurm distingue, entre outros, a idade de espera admissível e o compartilhamento equitativo baseado nos recursos atribuídos e consumidos. Isso ilustra duas questões diferentes: desde quando se espera, e qual parte já se utilizou? Sua regra pode permanecer manual. Não adote uma fórmula de pontuação sem entender seus parâmetros; os pesos de um agendador específico não constituem uma norma de equidade universal.
Exemplo fictício: encaixar uma urgência sem expulsar os outros
A equipe fictícia "Planos e Referências" usa uma única placa. Às 9h, uma tarefa do projeto Planos tem um horário confirmado até as 11h; ela não é interrompível. Duas solicitações completas aguardam: Referências, quarenta minutos, e Esboços, oitenta minutos. Às 9h30 chega uma urgência de trinta minutos, solicitada por Referências para uma revisão ao meio-dia. Todos esses tempos são hipóteses didáticas, não medições.
A regra local autoriza uma urgência validada a passar no próximo ponto de liberação, sem interromper um trabalho já iniciado. A urgência começa, portanto, às 11h e termina teoricamente às 11h30. A equipe concede em seguida a passagem a Esboços para evitar que Referências, já atendida por sua urgência, monopolize a fila. Essa exceção e o novo início esperado de Referências são comunicados aos responsáveis envolvidos.
| Horário hipotético | Projeto | Motivo da passagem |
|---|---|---|
| 9h–11h | Planos | Horário já comprometido, não interrompível |
| 11h–11h30 | Referências, urgência | Prazo externo confirmado antes do meio-dia |
| 11h30–12h50 | Esboços | Rodízio após a urgência atendida em Referências |
| 12h50–13h30 | Referências, solicitação corrente | Próxima solicitação admissível |
Evitar a fome dos trabalhos longos
Atender sistematicamente a solicitação mais curta produz uma fila aparentemente fluida, mas pode adiar indefinidamente um trabalho longo. Preveja janelas reservadas ou uma reavaliação a partir de uma idade de espera anunciada. Esse limite é uma regra interna a ser definida, não um prazo de serviço garantido. Se o trabalho longo realmente ultrapassar o período disponível, sua admissão deve levar a um novo cronograma em vez de uma espera sem saída.
As lacunas curtas podem acomodar tarefas que não adiem uma partida reservada. Essa decisão pressupõe uma estimativa confiável, um recurso realmente compatível e a possibilidade de concluir dentro da janela. Não preencha todas as margens do cronograma com novos compromissos. Uma reserva destinada a absorver um desvio não é um espaço gratuito; seu uso deve ter um responsável e uma consequência conhecida.
Prever um cancelamento com escopo claro
Defina quem pode cancelar sua própria solicitação, a de um projeto ou uma execução que se tornou perigosa para os demais trabalhos. Para uma solicitação ainda em espera, confirme sua remoção da ordem de passagem. Para um trabalho iniciado, verifique primeiro o que é interrompível, o que deve ser preservado e quem aguarda suas saídas. Uma mensagem "cancelamento solicitado" ainda não prova que o recurso está livre.
A ferramenta real determina os efeitos técnicos. A documentação do scancel distingue um trabalho e suas etapas, bem como o envio de um sinal e o cancelamento do trabalho. Antes de usar uma ferramenta equivalente, verifique o identificador e o escopo envolvidos; evite uma seleção global por conveniência. Em seguida, verifique o término dos processos e o destino das saídas parciais. O plano de recuperação de dados é tratado no dossiê de migração, separadamente desta regra de prioridade.
Limitar as tentativas e isolar uma tarefa defeituosa
Decida antes da execução quantas tentativas automáticas são aceitáveis para uma mesma causa. Uma entrada inválida não se torna correta porque é relançada; uma dependência temporariamente inacessível pode justificar uma nova tentativa após verificação. A regra deve indicar o número máximo, o prazo eventual e o responsável pela reavaliação. Um contador zerado a cada nova submissão anula essa proteção: vincule as solicitações sucessivas ao mesmo problema.
No limite decidido, retire a tarefa defeituosa da concorrência normal e coloque-a em quarentena lógica, com um motivo legível. O restante dos trabalhos admissíveis pode continuar. A reintegração exige uma correção ou uma explicação validada, um pequeno controle direcionado e uma decisão do proprietário; ela não retoma automaticamente a prioridade de uma urgência antiga. Esse procedimento trata da admissão após falha. A preservação das saídas e sua retomada permanecem no dossiê de migração, sem inventar aqui um novo registro de estados.
Testar a política com quatro situações simples
Peça aos responsáveis de projetos que revisem a regra com quatro casos: duas solicitações idênticas, uma urgência durante um trabalho não interrompível, uma tarefa longa cercada de solicitações curtas e uma solicitação incompleta classificada como urgente. Para cada caso, uma pessoa diferente deve chegar à mesma próxima partida ou identificar explicitamente a arbitragem necessária. Uma regra que só seu autor entende não está pronta para ser aplicada.
Verifique também que um cancelamento não conceda duas vezes a mesma capacidade e que um trabalho bloqueado não impeça inutilmente outro trabalho admissível. Essas verificações podem começar no papel; elas não provam a implementação de um escalonador. Se você automatizar depois, reproduza os mesmos cenários na ferramenta configurada antes de fazer um compromisso de projeto depender disso.
Medir o serviço prestado pela fila
Acompanhe a espera das solicitações elegíveis por classe e por projeto, bem como os motivos de bloqueio. Separe espera, ocupação e prazo até o resultado aceito. Um único total de trabalhos concluídos pode mascarar uma equipe sempre adiada ou um acúmulo de tarefas urgentes. Examine também as diferenças entre ocupação estimada e real: elas influenciam diretamente as reservas futuras.
Revise a política em um prazo escolhido com a equipe, ou após um incidente que revele uma regra ausente. Altere uma regra de cada vez e anuncie seu efeito sobre as solicitações já existentes. O resultado esperado é uma ordem de passagem explicável, exceções rastreáveis e um calendário coerente. Ela não substitui a autenticação da conta Capordia nem as permissões da máquina, e não cria nenhum compromisso de suporte.
Perguntas para decidir
Uma urgência deve sempre passar na frente?
Uma urgência deve ser elegível, justificada e validada conforme a regra comum. Ela não torna um trabalho em andamento interrompível. Defina seu ponto de passagem, as solicitações deslocadas e a pessoa que assume o efeito sobre seus prazos.
Como evitar que uma equipe monopolize os horários?
Observe os recursos já obtidos e a espera dos outros projetos, depois use uma rotação ou uma regra de compartilhamento explícita. O número bruto de solicitações não é uma medida de equidade. Preveja também o tratamento de trabalhos longos.
Esse método exige instalar o Slurm?
Não. Os documentos do Slurm esclarecem certas distinções, mas a política pode primeiro ser aplicada na ferramenta de coordenação da equipe. Uma eventual automação exige sua própria configuração e seus controles; nenhum agendador é considerado fornecido.