按照下列步骤,优化notebook执行。

对于SystemLink Enterprise 2024年4月及更早版本,请使用AWS S3文档来配置生命周期参数。生命周期参数将清除Argo Workflows为每个执行创建的工件。NI建议将生命周期设置为至少2天。
  1. 打开systemlink-values.yaml
  2. 配置parallelismmaxNumberOfWorkflowsToSchedule,指定并行执行量的最大值。
    注: 默认状态下,每个Notebook执行至少需要0.2 CPU和2,176 MiB内存。例如,150个并行执行需要30 vCPU和319 GiB内存。如执行时间较短,可指定较少的并行执行次数,以保证簇较小。
  3. 如果集群上已有Argo Workflows部署,请完成以下步骤。
    1. systemlink-values.yaml中配置Argo Workflows的instanceID
      argoworkflows:
        argo-workflows:
          controller:
            instanceID:
              enabled: true
              explicitID: sl-notebook-execution-0
    2. 打开systemlink-admin-values.yaml
    3. systemlink-admin-values.yaml中禁用Argo Workflows Custom Resource Definitions的安装。
      argoworkflowscrds:
        crds:
          install: false
    4. 保存并关闭systemlink-admin-values.yaml
  4. 可选: 对于SystemLink Enterprise 2024年10月及更新版本,可配置资源配置文件以大幅提升资源利用率。在systemlink-values.yaml中,修改默认资源分配以及资源配置文件。
    resourceProfiles:
      low:
        requests:
          cpu: "0.1"
          memory: 4Gi
        limits:
          memory: 4Gi
  5. 保存并关闭systemlink-values.yaml
  6. 可选: 使用预配置的node-selectors.yaml限制可在特定节点上调度的pod数量。node-selectors.yaml文件包括以下参数。
    • notebookExecutionNodeSelector
    • notebookExecutionTolerations
    注: 使用kubectl在命令行中标记或标注节点。
    kubectl taint nodes <node> notebook_execution=true:NoSchedule 
    kubectl label nodes <node> notebook.executor=true