As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Motivos de falha na execução
Se uma execução falhar, use a operação GetRun da API para recuperar o motivo da falha.
Analise o motivo da falha para ajudá-lo a solucionar o motivo da falha na execução. A tabela a seguir lista cada motivo da falha junto com uma descrição do erro.
| Motivo da falha | Descrição do erro |
|---|---|
|
|
HealthOmics não tem permissão para assumir a função. Especifique o HealthOmics principal na relação de confiança para a função. |
|
|
Não é possível iniciar a tarefa de fluxo de trabalho: |
|
|
Não é possível iniciar a tarefa de fluxo de trabalho: |
ECR_PERMISSION_ERROR |
HealthOmics não tem permissão para acessar o URI da imagem. Confirme se o repositório privado do Amazon ECR existe e concedeu acesso ao principal do HealthOmics serviço. |
|
|
A exportação falhou. Verifique se o bucket de saída existe e se a função de execução tem permissão de gravação no bucket. |
|
|
O sistema de arquivos não tem espaço suficiente. Aumente o tamanho do sistema de arquivos e execute novamente. |
|
|
Não foi possível verificar a imagem |
|
|
A importação falhou. Verifique se o arquivo de entrada existe e se a função de execução pode acessar a entrada. |
RECURSO DE ARMAZENAMENTO DE DADOS ÔMICOS INATIVO |
O URI HealthOmics de armazenamento não está no estado ATIVO. Ative o conjunto de leitura e tente novamente. Para saber mais sobre como ativar conjuntos de leitura, consulteAtivando conjuntos de leitura em HealthOmics. |
URI DE ENTRADA NÃO ENCONTRADA |
O URI fornecido não existe:uri. Verifique se o caminho do URI existe e confirme se a função pode acessar o objeto. |
|
|
Não há capacidade de instância suficiente para concluir a execução do fluxo de trabalho. Aguarde e tente executar o fluxo de trabalho novamente. Para saber mais sobre mitigações de erros de falha na reserva de instâncias, consulte. Mitigando erros de INSTANCE_RESERVATION_FAILED |
URI DE IMAGEM ECR_ECR INVÁLIDO |
A estrutura do URI da imagem do Amazon ECR não é válida. Forneça um URI válido e tente novamente. |
|
|
A GPU, a CPU ou a memória solicitadas são muito altas para a capacidade computacional disponível ou são menores que o valor mínimo de 1 para a tarefa. ID |
|
|
A estrutura do URI não é válidauri. Verifique a estrutura do URI e tente novamente. |
RECURSO DE ENTRADA MODIFICADO |
O URI fornecido |
|
|
A tarefa do fluxo de trabalho |
|
|
A execução falhou porque a tarefa falhou. Para depurar a falha da tarefa, use a operação da GetRunTask API e o stream do Amazon CloudWatch Logs. |
|
|
Tempo limite de execução após |
ERRO_DE_SERVIÇO |
Houve um erro transitório no serviço. Tente executar o fluxo de trabalho novamente. |
LIMITE DE TEMPO LIMITE DA TAREFA |
A tarefa id atingiu o tempo limite após number segundos. |
|
|
O tamanho total da entrada é muito alto. Diminua o tamanho da entrada e tente novamente. |
|
|
Falha na execução do fluxo de trabalho. Revise o fluxo de CloudWatch registros do mecanismo de registros: |
|
|
HealthOmics não oferece suporte à versão solicitada do Nextflow: |
|
|
O tipo de instância solicitado não é suportado em |
Mitigando erros de INSTANCE_RESERVATION_FAILED
As instâncias de GPU são recursos sob demanda que nem sempre estão imediatamente disponíveis em sua zona de disponibilidade ou região preferida.
O que HealthOmics faz automaticamente
HealthOmics executa várias otimizações em seu nome para maximizar o sucesso da aquisição de GPU:
-
Multi-AZ pesquisa: HealthOmics verifica a capacidade da GPU em várias zonas de disponibilidade, não apenas uma única AZ.
-
Tentativas automáticas: quando uma GPU não está disponível imediatamente, HealthOmics tente várias vezes para adquirir capacidade à medida que ela se torna disponível.
-
Retenção de GPU em todas as tarefas: quando seu fluxo de trabalho tem tarefas sequenciais que exigem uma GPU, HealthOmics retém a GPU que você já tem para tarefas subsequentes, em vez de liberá-la e solicitá-la novamente, garantindo a conclusão bem-sucedida de fluxos de trabalho de GPU de várias etapas.
As práticas recomendadas adicionais a seguir podem melhorar ainda mais sua taxa de sucesso ao executar GPU-accelerated fluxos de trabalho em HealthOmics:
-
Use pacotes aceleradores para maximizar a flexibilidade
Em vez de solicitar um tipo específico de instância de GPU, use pacotes de aceleradores que permitem HealthOmics selecionar entre várias gerações de GPU compatíveis (por exemplo, g4dn, g5, g6). Quanto mais tipos de GPU seu fluxo de trabalho aceitar, maior será a probabilidade de encontrar capacidade disponível.
Para saber mais, consulte Aceleradores de tarefas em uma definição de HealthOmics fluxo de trabalho. Por exemplo:
-
nvidia-t4-a10g-l4extrai das famílias de instâncias G4, G5 e G6 -
nvidia-l4-a10gextrai das famílias de instâncias G5 e G6
-
-
Considere executar seu fluxo de trabalho em outra AWS região
A disponibilidade da GPU varia entre AWS as regiões. Se seus requisitos de residência de dados permitirem, considere executar GPU-intensive fluxos de trabalho em uma região diferente, onde a capacidade possa estar mais prontamente disponível. Para saber mais sobre as regiões suportadas, consulte Cotas de serviço e endpoints para. AWS HealthOmics
-
Configurar o fallback de recursos (somente fluxos de trabalho WDL)
Para fluxos de trabalho da WDL, a
omicsResourceFallbackOrderdiretiva permite definir uma lista ordenada de perfis de recursos (GPU ou CPU) por tarefa. Se seu tipo de acelerador preferido não estiver disponível, HealthOmics tentará automaticamente o próximo tipo de acelerador ou CPU em vez de falhar. Você também pode especificar por quanto tempo HealthOmics deve pesquisar uma GPU. Os casos de uso incluem:-
Substituição de GPU para GPU — experimente primeiro seu acelerador preferido e depois volte para uma alternativa (por exemplo, tente
nvidia-l40sprimeiro e depois).nvidia-l4 -
Substituição de GPU para CPU — adicione um CPU-only perfil final para que a tarefa seja concluída mesmo quando não houver capacidade de GPU disponível.
nota
Atualmente, a
omicsResourceFallbackOrderdiretiva é suportada somente para fluxos de trabalho da WDL. O suporte do Nextflow está planejado.Para saber mais, consulte Configuração avançada de recursos.
-
Orientação para corridas sem resposta
Ao desenvolver novos fluxos de trabalho, execuções ou tarefas específicas podem ficar “travadas” ou “travadas” se houver problemas com seu código e as tarefas não conseguirem sair dos processos adequadamente. Isso pode ser difícil de solucionar e detectar, pois é normal que as tarefas sejam executadas por longos períodos. Para evitar e identificar execuções que não respondem, siga as melhores práticas sugeridas nas seções a seguir.
Práticas recomendadas para evitar execuções sem resposta
-
Certifique-se de fechar todos os arquivos abertos em seu código de tarefa. Abrir muitos arquivos pode ocasionalmente levar a problemas de segmentação nos mecanismos de fluxo de trabalho.
-
Os processos em segundo plano criados por uma tarefa de fluxo de trabalho devem sair quando a tarefa for encerrada. No entanto, se um processo em segundo plano não sair corretamente, você deverá desativá-lo explicitamente em seu código de tarefa.
-
Certifique-se de que seus processos não se reproduzam sem sair. Isso pode causar uma execução sem resposta e requer uma alteração no código de definição do fluxo de trabalho para ser resolvido.
-
Forneça a alocação apropriada de memória e CPU para suas tarefas. Analise os CloudWatch registros ou use as Execute o Analyzer execuções concluídas com êxito do seu fluxo de trabalho para verificar se você tem uma alocação computacional ideal. Use o
headroomparâmetro Run Analyzer para incluir espaço adicional, garantindo que os processos tenham recursos suficientes para serem concluídos. Inclua pelo menos 5% de espaço livre na memória e na CPU alocadas, para contabilizar os processos do sistema operacional em segundo plano.-
Além disso, aumente o tamanho da largura de banda da instância se a instância exigir uma taxa de transferência maior. As instâncias do Amazon EC2 com menos de 16 vCPUs (tamanho 4xl ou menor) podem experimentar uma taxa de transferência intermitente. Para obter mais informações sobre a taxa de transferência de instâncias do Amazon EC2, consulte Largura de banda de instância disponível do Amazon EC2.
-
-
Verifique se você está usando o tamanho correto do sistema de arquivos para suas execuções. Para execuções sem resposta que usam armazenamento de execução estática, considere aumentar a alocação de armazenamento de execução estática para permitir maior taxa de transferência de E/S e capacidade de armazenamento no sistema de arquivos. Analise o manifesto de execução para ver o armazenamento máximo do sistema de arquivos, use o Run Analyzer para determinar se a alocação do sistema de arquivos precisa ser aumentada.
Práticas recomendadas para capturar corridas sem resposta
-
Ao desenvolver novos fluxos de trabalho, use um grupo de execução com o limite máximo de tempo de execução definido para capturar código descontrolado. Por exemplo, se uma execução levar 1 hora para ser concluída, coloque-a em um grupo de execução que expira após 2 ou 3 horas (ou em um período de tempo diferente com base no seu caso de uso) para detectar trabalhos ininterruptos. Além disso, aplique um buffer para contabilizar a variação nos tempos de processamento.
-
Configure uma série de grupos de execução com diferentes limites máximos de tempo de execução. Por exemplo, você pode atribuir execuções curtas a um grupo de execuções que encerra as execuções após algumas horas e a um grupo de execuções longas que encerra execuções após alguns dias, com base na duração esperada do fluxo de trabalho.
-
HealthOmics tem um limite de serviço de duração máxima de execução padrão de 604.800 segundos, ou 7 dias, que é ajustável por meio de uma solicitação na ferramenta de cotas. Solicite apenas um aumento do limite de serviço dessa cota se você tiver execuções com duração aproximada de uma semana. Se você tiver uma combinação de execuções curtas e longas e não estiver usando grupos de execuções, considere colocar as execuções de longa duração em uma conta separada com um limite de serviço de duração máxima de execução maior.
-
Inspecione os CloudWatch registros em busca de tarefas que você suspeita que possam não estar respondendo. Se uma tarefa normalmente gera instruções de registro regulares e não o faz por um longo período, é provável que a tarefa esteja paralisada ou congelada.
O que fazer se você encontrar uma execução sem resposta
-
Cancele a corrida para evitar custos adicionais.
-
Inspecione os registros de tarefas para verificar se algum processo falhou ao sair corretamente.
-
Inspecione os registros do motor para identificar qualquer comportamento anormal do motor.
-
Compare os registros de tarefas e mecanismos da execução sem resposta com os de execuções idênticas concluídas com êxito. Isso pode ajudar a identificar quaisquer diferenças que possam ter causado o comportamento de falta de resposta.
-
Se você não conseguir determinar a causa raiz, crie um caso de suporte e inclua o seguinte:
-
ARN da execução travada e ARN de uma execução idêntica que foi concluída com êxito.
-
Registros do motor (disponíveis quando a execução for cancelada ou falhar)
-
Registros de tarefas da tarefa que não responde. Não exigimos registros de tarefas de todas as tarefas no fluxo de trabalho para solucionar problemas.
-