Aller au contenu principal

Améliorez la fiabilité du lancement de compute grâce aux types de nœuds flexibles

Les ressources de compute classiques dans Databricks utilisent des types de nœuds flexibles, ce qui permet à votre ressource de compute de revenir à des types d'instances alternatifs et compatibles lorsque le type d'instance spécifié n'est pas disponible.

Ce comportement améliore la fiabilité de lancement du compute en réduisant les erreurs de capacité (ruptures de stock) lors des lancements de compute. Pour les instances ponctuelles avec fallback, les types de nœuds flexibles peuvent tenter d’acquérir des instances plusieurs fois sur différents types d’instances avant de revenir aux instances à la demande. Il en résulte un pourcentage plus élevé d'instances s'exécutant en spot au lieu d'à la demande, ce qui réduit vos coûts totaux de compute.

Comment fonctionnent les types de nœuds flexibles

Lorsque vous lancez une ressource de compute, votre fournisseur de cloud manque parfois de capacité pour le type d'instance spécifié. Cela entraîne une erreur de rupture de stock :

AWS_INSUFFICIENT_INSTANCE_CAPACITY_FAILURE

Bien que ces erreurs soient plus fréquentes pour les instances ponctuelles, elles peuvent également se produire pour les instances à la demande.

Avec les types de nœuds flexibles activés, Databricks génère ou utilise automatiquement votre liste fallback spécifiée de types d'instance compatibles. Si votre type d'instance préféré est indisponible, Databricks tente d'acquérir ces types d'instance de secours au lieu d'échouer immédiatement.

Activer les types de nœuds flexibles dans votre workspace

Les administrateurs de Workspace peuvent activer les types de nœuds flexibles dans leurs paramètres d'administration du Workspace. Lorsqu'elles sont activées, toutes les nouvelles ressources de compute classiques basculent automatiquement vers des types de nœuds alternatifs. Les ressources de compute polyvalentes existantes ne sont pas affectées. Voir Comment les charges de travail existantes sont-elles affectées ?.

Pour activer les types de nœuds flexibles dans un Workspace :

  1. En tant qu'administrateur de workspace, accédez à la page des paramètres.
  2. Cliquez sur l'onglet Compute .
  3. Basculez le paramètre Activer les types de nœuds flexibles automatiques :
    • Activé : Toutes les nouvelles ressources de compute classiques utilisent automatiquement des types de nœuds flexibles, sauf si elles sont explicitement désactivées.
    • Désactivé : Les ressources de compute classiques utilisent uniquement des types de nœuds flexibles si vous configurez explicitement node_type_flexibility dans la configuration de la ressource de compute.

Si ce paramètre est désactivé, les utilisateurs peuvent toujours configurer des types de nœuds flexibles pour des ressources de compute individuelles en configurant explicitement les champs worker_node_type_flexibility ou driver_node_type_flexibility avec des listes de fallback personnalisées. Pour empêcher les utilisateurs de configurer ces champs, les administrateurs de Workspace peuvent utiliser des politiques de compute. Voir les exemples de politique de type de nœud flexible.

Spécifiez une liste de fallback personnalisée

Lorsque les types de nœuds flexibles sont activés dans votre Workspace, Databricks génère automatiquement une liste fallback de types d'instances compatibles pour les nouvelles ressources compute.

Si vous ne souhaitez pas utiliser la liste fallback générée automatiquement, vous pouvez spécifier votre propre liste fallback à la place. De plus, si les types de nœuds flexibles sont désactivés dans votre Workspace, vous pouvez toujours spécifier une liste de fallback personnalisée pour votre ressource de compute. Seuls certains types d'instances sont compatibles. Voir Exigences relatives aux types d'instances fallback. Pour une référence des types d'instances compatibles, consultez la référence de compatibilité des types de nœuds flexibles.

Les listes de fallback personnalisées ne sont prises en charge que lors de la configuration du compute à l'aide de l'API. Consultez la documentation de référence de l'API Clusters.

Par exemple, la configuration suivante spécifie le type d'instance vers lequel la ressource de compute reviendra si nécessaire :

JSON

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

Exigences relatives aux types d'instances de fallback

Les types d'instances fallback doivent être compatibles avec le type d'instance préféré du compute. Votre liste de types d'instances de fallback doit répondre aux exigences suivantes :

  • Même nombre de vCPU et même mémoire que le type d'instance préféré (les instances de fallback doivent avoir entre 100 % et 110 % de la mémoire du type d'instance préféré)

  • Même nombre de disques locaux et même taille de disque que le type d'instance préféré

  • Même architecture de processeur que le type d'instance préféré (tout ARM ou tout x86)

  • Même image OS et prise en charge de Photon que le type d'instance préféré

  • Aucun type d'instance GPU (les GPU ne sont pas pris en charge)

  • Maximum de 5 types d'instances de fallback uniques.

  • Les types d'instances virtuelles (tels que m-fleet) ne peuvent pas être utilisés comme type d'instance préféré ou dans la liste de fallback, car ils fournissent déjà un comportement de fallback similaire.

Utiliser des types de nœuds flexibles avec les pools

Vous pouvez également personnaliser une liste de fallback pour les Pools. Dans l'API Pools, définissez le champ node_type_flexibility pour spécifier les types d'instance de fallback. Par exemple :

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

Les pools ne prennent pas en charge l'utilisation de types d'instances flexibles pour maintenir le nombre minimal d'instances inactives. Le Pool ne peut lancer des VM qu'en utilisant les types d'instances de fallback lorsqu'un lancement de compute depuis le Pool est tenté. Le préchauffage du nombre minIdle n'utilise que le type d'instance préféré.

Afficher les types d'instance acquis

Lorsque vous utilisez des types de nœuds flexibles, votre ressource de compute peut se composer d'un mélange de différents types d'instances. Tous les types d'instances de fallback sont compatibles avec votre type préféré, en maintenant le même nombre de vCPU, la même mémoire, le même layout du disque, la même architecture CPU et la même image du système d'exploitation pour garantir que votre charge de travail s'exécute correctement.

Vous pouvez visualiser les types d'instances qui ont été acquises pour votre ressource compute :

  1. Dans la page de détails du compute, cliquez sur les trois points à côté du bouton **Terminer** et sélectionnez **Afficher le JSON**
  2. Examinez le champ node_type_id pour chaque exécuteur afin de voir quels types d'instances sont en cours d'exécution.

Vous pouvez également utiliser l'API pour obtenir des informations sur les clusters afin de récupérer ces informations par programmation. De plus, les utilisateurs ayant l'autorisation d'accéder aux tables système peuvent interroger la table node_timelines. Consultez le schéma de la table de chronologie des nœuds.

Désactiver les types de nœuds flexibles sur une ressource compute

remarque

Databricks recommande de maintenir les types de nœuds flexibles activés, sauf si vous avez des exigences strictes concernant un type d'instance spécifique.

Si vous préférez que le lancement du compute échoue plutôt que de recourir à un type d'instance de fallback alternatif, vous pouvez désactiver le comportement de nœud flexible au niveau des ressources de compute individuelles. Ceci est pris en charge uniquement lors de l'utilisation de l'API Clusters. Pour désactiver les types de nœuds flexibles, laissez les champs de type de nœud flexible vides dans la configuration compute. Par exemple :

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

Questions fréquemment posées

Comment les workloads existants sont-ils affectés ?

Les ressources de compute multifonction existantes sont inchangées. Pour utiliser le fallback automatique, créez une nouvelle ressource de compute polyvalente après avoir activé le paramètre, ou mettez à jour la spécification de l'API de ressource de compute avec une liste de fallback personnalisée.

Pour les Jobs utilisant le compute de Job, chaque exécution crée une nouvelle Ressource de compute, de sorte que les exécutions ultérieures des Jobs existants utilisent automatiquement le fallback flexible.

Cela fonctionne-t-il avec des pools d'instances ?

Oui. Les types de nœuds flexibles s'appliquent à vos configurations de pool d'instances. Quelques points à noter :

  • Le minimum d’instances inactives reste constant : le minimum d’instances inactives (minIdle) du Pool est maintenu à l’aide de votre type de nœud principal. Toutes les nouvelles VM lancées via une demande de lancement de cluster peuvent être satisfaites à l'aide de types de nœuds fallback compatibles lorsque le type principal est contraint.
  • Modifications de Pool : Vous ne pouvez pas modifier un Pool d'instances après sa création. Si vous souhaitez modifier des paramètres de fallback personnalisés, vous devez créer un nouveau Pool d’instances.
  • Visibilité de l’API : La /api/2.0/instance-pools/get réponse n’affiche pas la flexibilité du type de nœud, sauf si vous avez explicitement configuré une liste de fallback personnalisée sur le pool. Pour voir la configuration de fallback de votre pool d’instances, vous pouvez créer un cluster d’exemple et afficher la réponse /api/2.1/clusters/get.

Comment fonctionne la facturation ?

Vous êtes facturé en fonction des tarifs DBU standard pour les types d'instance réellement acquis. Toutes les remises au niveau de l'instance dont vous disposez auprès de votre fournisseur cloud s'appliquent automatiquement aux types d'instance correspondants utilisés par la ressource de compute.

Comment cela interagit-il avec les quotas de types de nœuds dans mon workspace ?

Si le lancement d'un compute échoue parce que votre type de nœud principal atteint une limite de « quota dépassé », les types de nœuds flexibles peuvent toujours améliorer la fiabilité du lancement en revenant automatiquement à une alternative compatible. Cela dit, pour les échecs liés aux quotas, Databricks recommande de considérer le fallback comme un filet de sécurité plutôt qu'une solution principale. Vous pouvez demander une augmentation de quota auprès de votre fournisseur cloud afin que Databricks puisse systématiquement acquérir vos types d'instances préférés avant de recourir à des alternatives, ou utiliser du compute serverless.

Puis-je activer les types de nœuds flexibles pour seulement un sous-ensemble de mes charges de travail ?

Le fallback de type de nœud auto-généré n'est configurable qu'au niveau du workspace. Cependant, vous avez deux options pour contrôler le comportement de fallback d'une charge de travail spécifique :

  • (Recommandé) Activez les types de nœuds flexibles pour le Workspace, puis désactivez un cluster spécifique en définissant alternate_node_type_ids sur une liste vide [] dans la spécification de ce cluster.
  • Désactivez les types de nœuds flexibles pour l'ensemble du workspace, puis activez une spécification de clusters spécifique en fournissant une liste de fallback personnalisée dans alternate_node_type_ids qui satisfait aux exigences de compatibilité.