NodeD

  • NodeD must be installed when full-NPU scheduling, static vNPU scheduling, dynamic vNPU scheduling, inference card fault recovery, rescheduling upon inference card faults, resumable training, or elastic training are required.
  • Users who only use containerization support and resource monitoring can skip installing NodeD and proceed directly past this chapter.
  • NodeD must be installed before using the slow node & slow network fault detection feature. For details, see Slow Node & Slow Network Fault.

Procedure

  1. Log in to each compute node as the root user and run the following command to check whether the image and version number are correct.

    docker images | grep noded

    The following is an example of the command output:

    noded                               v26.0.0              ef801847acd2        29 minutes ago      133MB
  2. Copy the YAML file in the directory where the NodeD software package is decompressed to any directory on the K8s management node.

  3. If you do not modify the component startup parameters, you can skip this step. Otherwise, modify the NodeD startup parameters in the YAML file according to the actual situation. For startup parameters, see Table 1. You can run ./noded -h to view parameter descriptions.

  4. (Optional) When using resumable training or elastic training, you need to configure the node status report interval. Add the -reportInterval parameter in the args line of the NodeD startup YAML file, as shown below:

    ...
              env:
                - name: NODE_NAME
                  valueFrom:
                    fieldRef:
                      fieldPath: spec.nodeName
              imagePullPolicy: Never
              command: [ "/bin/bash", "-c", "--"]
              args: [ "/usr/local/bin/noded -logFile=/var/log/mindx-dl/noded/noded.log -logLevel=0 -reportInterval=5" ]
              securityContext:
                readOnlyRootFilesystem: true
                allowPrivilegeEscalation: true
              volumeMounts:
                - name: log-noded
    ...
  5. In the path where the YAML file is located on the management node, run the following command to start NodeD.

    • If you do not use the DPC fault detection function, run the following command.

      kubectl apply -f noded-v{version}.yaml
    • If the environment requires DPC fault detection, run the following command to start NodeD.

      kubectl apply -f noded-dpc-v{version}.yaml

      Example:

      serviceaccount/noded created
      clusterrole.rbac.authorization.k8s.io/pods-noded-role created
      clusterrolebinding.rbac.authorization.k8s.io/pods-noded-rolebinding created
      daemonset.apps/noded created
  6. Run the following command to check whether the component has started successfully.

    kubectl get pod -n mindx-dl

    The following is an example of the output. Running indicates that the component startup is successful.

    NAME                              READY   STATUS    RESTARTS   AGE
    ...
    noded-fd6t8                  1/1    Running  0        74s
    ...

Parameter Description

Table 1 NodeD startup parameters

Parameter

Type

Default Value

Description

-reportInterval

int

5

  • Minimum interval for reporting node fault information. If the node status changes, it will be reported within 5s. If the node status remains unchanged, the reporting period is 30 minutes.
  • Value range: 1 to 300, unit: seconds.
  • When the request pressure on the K8s APIServer increases, you can increase the interval based on the actual situation to reduce the pressure on the APIServer.

-monitorPeriod

int

60

Polling detection period for node hardware faults. Value range: 60 to 600, unit: seconds.

-version

bool

false

Whether to query the current version number of NodeD.

  • true: Query.
  • false: Do not query.

-logLevel

int

0

Log level:

  • Value is -1: debug
  • Value is 0: info
  • Value is 1: warning
  • Value is 2: error
  • Value is 3: critical

-maxAge

int

7

Log backup retention time. Value range: 7 to 700, unit: days.

-resultMaxAge

int

7

Number of days to retain pingmesh result backup files. Value range: [7, 700], unit: days.

[!NOTE] Description

This parameter is supported only on Atlas 900 A3 SuperPoD. The driver version must be ≥ 24.1.RC1.

-logFile

string

/var/log/mindx-dl/noded/noded.log

Log file. When a single log file exceeds 20 MB, automatic rotation is triggered. The maximum file size cannot be modified. The naming format of the rotated file is: noded-rotation_time.log, for example: noded-2023-10-07T03-38-24.402.log.

-maxBackups

int

30

Maximum number of rotated log files to retain. Value range: 1 to 30, unit: files.

-deviceResetTimeout

int

60

During component startup, if the number of chips is insufficient, the maximum time to wait for the driver to report the complete chips. Unit: seconds, value range: 10 to 600.

  • Atlas A2 training series products, Atlas 800I A2 inference server, A200I A2 Box heterogeneous component: Suggested configuration is 150 seconds.
  • Atlas A3 training series products, A200T A3 Box8 SuperPoD, Atlas 800I A3 SuperPoD: Suggested configuration is 360 seconds.
  • Atlas 350 PCIe card, Atlas 850 series hardware products, Atlas 950 SuperPoD: Suggested configuration is 600 seconds.

-h or -help

None

None

Display help information.