Política de Prioridade
Nesta seção:
O GridUnesp utiliza um sistema de prioridades baseado em Fair Share para garantir o uso equilibrado dos recursos computacionais entre todos os usuários e grupos de pesquisa.
Como a Prioridade Afeta os Jobs
A prioridade calculada pelo Fair Share influencia diretamente a ordem de execução dos jobs na fila.
Listando Jobs em Ordem de Prioridade
squeue -o "%.18i %.9Q %.8j %.8u %.10V %.6D %R" --sort=-p,i --states=PD
Exemplo de saída:
JOBID PRIORITY NAME USER SUBMIT_TIM NODES NODELIST(REASON)
2847404 296816 force1.s yoda 2022-03-31 1 (Priority)
2838783_12 222821 dark1.sh vader 2022-03-15 1 (Priority)
2838783_14 222821 dark1.sh vader 2022-03-15 1 (Priority)
2844502 185817 crucio1. valdemo+ 2022-03-28 1 (Priority)
2848555 50480 vulcano. spock 2022-04-01 4 (Priority)
Observações:
A coluna PRIORITY mostra o valor numérico da prioridade
Jobs com prioridade mais alta (maior número) são executados primeiro
A prioridade é dinâmica e muda conforme:
Novos jobs são submetidos
Jobs em execução terminam
O tempo passa (meia-vida de 14 dias)
Fatores que Influenciam a Prioridade
Uso recente do cluster
Quanto mais você usou nos últimos 14 dias, menor sua prioridade
A cada 14 dias, o “contador” é gradualmente resetado
Número de usuários no grupo
Grupos com muitos usuários têm fatias menores por pessoa
Incentiva grupos a gerenciarem internamente o uso
Tamanho do job
Jobs que pedem muitos recursos podem ter prioridade ajustada
O sistema busca equilíbrio entre jobs grandes e pequenos
Tempo de espera
Jobs que esperam muito tempo ganham prioridade gradualmente
Evita starvation (jobs nunca executados)
Porém, jobs que demandam curto prazo de processamento têm maior chance de obter recursos mais rapidamente.
Dicas para Melhorar sua Prioridade
✅ Faça:
Solicite apenas o necessário
#SBATCH -t 02:00:00 # Se seu job roda em 1h30, não peça 24h #SBATCH --mem=8G # Se usa 6G, não peça 64G
Distribua o uso ao longo do tempo
Evite submeter centenas de jobs de uma vez
Espalhe a submissão ao longo de dias/semanas
Use job arrays para muitos jobs pequenos
#SBATCH --array=1-1000 # 1000 jobs pequenos #SBATCH --ntasks=1 #SBATCH --time=01:00:00
Monitore seu Fair Share regularmente
sshare -U $USER
❌ Evite:
Monopolizar recursos com jobs muito grandes e longos
Solicitar recursos muito acima do necessário
Deixar jobs processando que já poderiam ter terminado
Entendendo a Meia-Vida de 14 Dias
O sistema utiliza um decaimento exponencial com meia-vida de 14 dias:
Dia 0: Uso máximo (prioridade mínima)
Dia 14: O “peso” do uso cai pela metade
Dia 28: O “peso” cai para 1/4 do valor original
E assim por diante…
Isso significa que:
Se você usou muitos recursos hoje, sua prioridade tende ao valor inicial com o decorrer dos dias
O sistema “esquece” gradualmente o uso antigo
Todos têm chance de recuperar prioridade após períodos de inatividade
Exemplo Prático
Vamos acompanhar um usuário ao longo do tempo:
Semana 1: João submete poucos jobs: prioridade alta (0.9)
sshare -U joao
# FairShare = 0.901
Semana 2: João submete muitos jobs: prioridade cai
sshare -U joao
# FairShare = 0.452
Semana 3: João continua usando muito: prioridade muito baixa
sshare -U joao
# FairShare = 0.187
Semana 4: João reduz o uso: prioridade começa a recuperar
sshare -U joao
# FairShare = 0.223
Semana 5-6: Com uso moderado: prioridade tende ao valor inicial
sshare -u joao
# FairShare = 0.854
Resumo dos Comandos
Comando |
Descrição |
|---|---|
|
Ver Fair Share de todos os usuários |
|
Ver apenas seu Fair Share |
|
Ver Fair Share do seu grupo |
|
Ver seus jobs ordenados por prioridade decrescente ( |
|
Listar jobs pendentes em ordem de prioridade decrescente ( |
Ver também
Processando Simulações - Como submeter jobs
Otimizando o Desempenho - Dicas para otimizar recursos
Boas Práticas - Recomendações gerais