Optimisez l'exécution de notebooks pour votre organisation en effectuant les étapes suivantes.

Pour SystemLink Enterprise avril 2024 et les versions antérieures, utilisez la documentation AWS S3 afin de configurer les paramètres du cycle de vie. Les paramètres du cycle de vie nettoient les artefacts créés par Argo Workflows pour chaque exécution. NI recommande de définir le cycle de vie à 2 jours minimum.
  1. Ouvrez systemlink-values.yaml.
  2. Configurez parallelism et maxNumberOfWorkflowsToSchedule afin de spécifier le nombre maximum d'exécutions qui peuvent s'exécuter en parallèle.
    Remarque Par défaut, chaque exécution de notebook requiert au minimum 0,2 CPU et 2,176 Mio de mémoire. Par exemple, 150 exécutions parallèles requièrent 30 vCPU et 319 Gio de mémoire. Si vos exécutions sont courtes, vous pouvez spécifier moins d'exécutions parallèles pour que votre cluster reste petit.
  3. Si vous avez déjà un déploiement Argo Workflows sur votre cluster, effectuez les étapes suivantes.
    1. Dans systemlink-values.yaml, configurez instanceID pour Argo Workflows.
      argoworkflows:
        argo-workflows:
          controller:
            instanceID:
              enabled: true
              explicitID: sl-notebook-execution-0
    2. Ouvrez systemlink-admin-values.yaml.
    3. Dans systemlink-admin-values.yaml, désactivez l’installation d’Argo Workflows Custom Resource Definitions.
      argoworkflowscrds:
        crds:
          install: false
    4. Enregistrez et fermez systemlink-admin-values.yaml.
  4. Facultatif : Pour SystemLink Enterprise octobre 2024 et les versions ultérieures, vous pouvez configurer des profils de ressources afin de maximiser l'utilisation des ressources. Dans systemLink-values.yaml, modifiez l'allocation de ressources par défaut et les profils de ressources faible, moyen ou élevé.
    resourceProfiles:
      low:
        requests:
          cpu: "0.1"
          memory: 4Gi
        limits:
          memory: 4Gi
  5. Enregistrez et fermez systemlink-values.yaml.
  6. Facultatif : Utilisez le fichier node-selectors.yaml préconfiguré pour limiter les pods que vous pouvez planifier sur un nœud spécifique. Le fichier node-selectors.yaml comprend les paramètres suivants.
    • notebookExecutionNodeSelector
    • notebookExecutionTolerations
    Remarque Utilisez kubectl pour appliquer un taint ou étiqueter les nœuds de la ligne de commande.
    kubectl taint nodes <node> notebook_execution=true:NoSchedule 
    kubectl label nodes <node> notebook.executor=true