Pular para o conteúdo principal

Melhore a confiabilidade do lançamento de compute usando tipos de nós flexíveis.

info

Visualização

Este recurso está em Pré-visualização Pública.

Os recursos compute clássicos no Databricks usam tipos de nós flexíveis, o que permite que seu recurso compute recorra a tipos de instância alternativos e compatíveis quando o tipo de instância especificado não estiver disponível.

Esse comportamento melhora a confiabilidade do lançamento de compute , reduzindo falhas de capacidade (erros de falta de estoque) durante os compute . Para instâncias spot com fallback, os tipos de nós flexíveis podem tentar adquirir instâncias várias vezes em diferentes tipos de instância antes de recorrer a instâncias sob demanda. Isso resulta em uma porcentagem maior de instâncias executadas como instâncias spot em vez de sob demanda, reduzindo seus custos totais compute .

Como funcionam os tipos de nós flexíveis

Ao iniciar um recurso compute , seu provedor cloud às vezes pode ficar sem capacidade para o tipo de instância especificado. Isso resulta em um erro de falta de estoque:

AWS_INSUFFICIENT_INSTANCE_CAPACITY_FAILURE

Embora esses erros sejam mais comuns em instâncias spot, eles também podem ocorrer em instâncias sob demanda.

Com os tipos de nós flexíveis ativados, o Databricks gera automaticamente ou utiliza a sua lista de fallback especificada de tipos de instância compatíveis. Se o tipo de instância preferido não estiver disponível, o Databricks tentará adquirir esses tipos de instância de backup em vez de falhar imediatamente.

Habilite tipos de nós flexíveis em seu workspace

Os administradores do espaço de trabalho podem ativar tipos de nós flexíveis nas configurações de administração workspace . Quando ativada, toda nova instância compute clássica no workspace usará tipos de nós flexíveis, a menos que seja explicitamente desativada:

  1. Como administrador workspace , acesse a página de configurações.
  2. Clique na aba Compute .
  3. Ative ou desative a configuração "Habilitar tipos de nós flexíveis automáticos" :
    • Ativado : Todos os novos recursos compute clássicos usam automaticamente tipos de nós flexíveis, a menos que sejam explicitamente desativados.
    • Desativado : O recurso compute clássico só usa tipos de nó flexíveis se você configurar explicitamente node_type_flexibility na configuração do recurso compute .

Essa configuração para todo workspacenão afeta os recursos compute existentes. Quando desativado, os usuários ainda podem configurar tipos de nós flexíveis para recursos compute individuais, configurando explicitamente os campos worker_node_type_flexibility ou driver_node_type_flexibility com listas fallback personalizadas. Para impedir que os usuários configurem esses campos, os administradores workspace podem usar políticas compute . Veja exemplos de políticas flexíveis de tipo de nó.

Especifique uma lista de fallback personalizada

Quando os tipos de nós flexíveis estão habilitados em seu workspace, Databricks gera automaticamente uma lista fallback de tipos de instância compatíveis para novos recursos compute .

Se você não quiser usar a lista de fallback gerada automaticamente, pode especificar sua própria lista de fallback. Além disso, mesmo que os tipos de nós flexíveis estejam desativados em seu workspace, você ainda poderá especificar uma lista fallback personalizada para seu recurso compute . Apenas determinados tipos de instâncias são compatíveis. Consulte os requisitos de tipo de instância de fallback. Para obter uma lista de tipos de instância compatíveis, consulte a referência de compatibilidade de tipos de nó flexíveis.

Listas fallback personalizadas são suportadas apenas ao configurar compute usando a API. Consulte a documentação de referência APIde clusters .

Por exemplo, a seguinte configuração especifica qual tipo de instância o recurso compute utilizará como alternativa, se necessário:

JSON

"worker_node_type_flexibility": {
"alternate_node_type_ids": [
"Standard_E64as_v5"
]
},
"driver_node_type_flexibility": {
"alternate_node_type_ids": [
"Standard_D64as_v5"
]
},

Requisitos de tipo de instância de fallback

Os tipos de instância de fallback devem ser compatíveis com o tipo de instância preferencial do compute. Sua lista de tipos de instância de fallback deve atender aos seguintes requisitos:

  • Mesma quantidade de vCPUs e memória que o tipo de instância preferencial (instâncias de fallback devem ter entre 100% e 110% da memória do tipo de instância preferencial).

  • Mesmo número de discos locais e tamanho de disco que o tipo de instância preferencial.

  • Mesma arquitetura de CPU que o tipo de instância preferido (todas ARM ou todas x86)

  • Mesma imagem do sistema operacional e suporte ao Photon que o tipo de instância preferencial.

  • Não há tipos de instância de GPU (GPUs não são suportadas)

  • Máximo de 5 tipos de instâncias de fallback exclusivos

  • Os tipos de instância virtual (como m-fleet) não podem ser usados como tipo de instância preferencial ou na lista de fallback, pois já oferecem comportamento de fallback semelhante.

Use tipos de nós flexíveis com pool

Você também pode personalizar uma lista fallback para a piscina. Na APIdo pool, defina o campo node_type_flexibility para especificar os tipos de instância fallback . Por exemplo:

JSON
"node_type_flexibility": {
"alternate_node_type_ids": ["Standard_D64as_v5"]
}

O pool não suporta o uso de tipos de instância flexíveis para manter a contagem mínima de parados. O pool só pode iniciar VMs usando os tipos de instância fallback quando uma inicialização compute a partir do pool for tentada. O pré-aquecimento da contagem minIdle utiliza apenas o tipo de instância preferencial.

visualizar os tipos de instância adquiridos

Ao usar tipos de nós flexíveis, seu recurso compute pode consistir em uma combinação de diferentes tipos de instância. Todos os tipos de instâncias fallback são compatíveis com o seu tipo preferido, mantendo a mesma contagem de vCPUs, memória, disposição em disco, arquitetura de CPU e imagem do sistema operacional para garantir a execução correta da sua carga de trabalho.

Você pode view quais tipos de instância foram adquiridos para seu recurso compute :

  1. Na página de detalhes compute , clique nos três pontos ao lado do botão Terminar e selecione visualizar JSON .
  2. Analise o campo node_type_id para cada executor para ver quais tipos de instância estão em execução.

Você também pode usar a APIGet clusters info para recuperar essas informações programaticamente. Além disso, os usuários com permissão para acessar as tabelas do sistema podem consultar a tabela node_timelines . Consulte o esquema da tabela de linha do tempo do nó.

Desative os tipos de nós flexíveis em um recurso compute

nota

A Databricks recomenda manter os tipos de nós flexíveis ativados, a menos que você tenha requisitos rigorosos para um tipo de instância específico.

Se preferir que a inicialização compute falhe em vez de fallback a um tipo de instância alternativo, você pode desativar o comportamento flexível do nó no nível do recurso computeindividual. Isso só é compatível ao usar a API de clusters. Para desativar os tipos de nós flexíveis, defina os campos de tipo de nó flexível como vazios na configuração compute . Por exemplo:

JSON
"worker_node_type_flexibility": {
"alternate_node_type_ids": []
},
"driver_node_type_flexibility": {
"alternate_node_type_ids": []
}