Autonomous Link Maintenance (ALM) Plugin

NVIDIA UFM-SDN Appliance User Manual v4.15.0

The primary objective of the Autonomous Link Maintenance (ALM) plugin is to enhance cluster availability and improve the rate of job completion. This objective is accomplished by utilizing machine learning (ML) models to predict potential link failures. The plugin then isolates the expected failing links, implements maintenance procedures on them, and subsequently restores the fixed links to their original state by removing the isolation.

The ALM plugin performs the following tasks:

  1. Collects telemetry data from UFM and employs ML jobs to predict which ports need to be isolated/de-isolated

  2. Identifies potential link failures and isolates them to avert any interruption to traffic flow

  3. Maintains a record of maintenance procedures that can be executed to restore an isolated link

  4. After performing the required maintenance, the system verifies if the links can be de-isolated and restored to operational status (brought back online)

The ALM plugin operates in the following two distinct modes:

  1. Shadow mode

    • Collects telemetry data, runs ML prediction jobs, and saves the predictions to files.

  2. Active mode

    • Collects telemetry data, runs ML prediction jobs, and saves the predictions to files.

    • Automatically isolates and de-isolates based on predictions.

    • It is essential to note that a subset of the links must be specified in the allow list to enable this functionality.

The Autonomous Link Maintenance (ALM) plugin can be deployed using the following methods:

  1. On the UFM Appliance

  2. On the UFM Software

To deploy the plugin, follow these steps:

  1. Download the ufm-plugin-alm-image from the NVIDIA License Portal (NLP).

  2. Load the downloaded image onto the UFM server. This can be done either by using the UFM GUI by navigating to the Settings -> Plugins Management tab or by loading the image via the following instructions:

  3. Log in to the UFM server terminal.

  4. Run:


    docker load -I <path_to_image> 

  5. After successfully loading the plugin image, the plugin should become visible within the plugins management table within the UFM GUI. To initiate the plugin’s execution, simply right-click on the respective in the table.



The supported InfiniBand hardware technologies are HDR, Beta on NDR.

The ALM plugin collects data from the UFM Enterprise appliance in the following two methods:

  1. Low-frequency collection: This process occurs every 0 minutes and gathers data for the following counter: hist0, hist1, hist2, hist3, hist4, phy_effective_errors, phy_symbol_errors

  2. High-frequency collection : This process occurs every 10 seconds and gathers data for the following counters: phy_state,logical_state,link_speed_active,link_width_active,fec_mode_active, raw_ber,eff_ber,symbol_ber,phy_raw_errors_lane0,phy_raw_errors_lane1,phy_raw_errors_lane2, phy_raw_errors_lane3,phy_effective_errors,phy_symbol_errors,time_since_last_clear, hist0,hist1,hist2,hist3,hist4,switch_temperature,CableInfo.temperature,link_down_events, plr_rcv_codes,plr_rcv_code_err,plr_rcv_uncorrectable_code,plr_xmit_codes,plr_xmit_retry_codes, plr_xmit_retry_events,plr_sync_events,hi_retransmission_rate,fast_link_up_status, time_to_link_up,status_opcode,status_message,down_blame,local_reason_opcode, remote_reason_opcode,e2e_reason_opcode,num_of_ber_alarams,PortRcvRemotePhysicalErrorsExtended, PortRcvErrorsExtended,PortXmitDiscardsExtended,PortRcvSwitchRelayErrorsExtended,PortRcvConstraintErrorsExtended, VL15DroppedExtended,PortXmitWaitExtended,PortXmitDataExtended,PortRcvDataExtended,PortXmitPktsExtended, PortRcvPktsExtended,PortUniCastXmitPktsExtended,PortUniCastRcvPktsExtended,PortMultiCastXmitPktsExtended,PortMultiCastRcvPktsExtended

  3. The collected counters can be configurable and customized to suit your requirements. The counters can be found at /opt/ufm/conf/plugins/alm/counters.cfg


The ALM configuration is used for controlling isolation/de-isolation. The configuration can be found under /opt/ufm/cyber-ai/conf/cyberai.cfg.


Section name




The mode can be active or shadow

The active mode means the alm will apply isolation/deisolation rule omn all ports exceptin the port in the expect list

And the shadow mode mean the alm will apply isolation/deisolation rules on the ports on the except list

The mode can be either "active" or "shadow."

In active mode, the ALM will enforce isolation/deisolation rules on all ports except those listed in the "expect" list.

In shadow mode, the ALM will enforce isolation/deisolation rules on the ports listed in the "except" list.



Includes the ports that receive the opposite treatment compared to the mode.

Format: portguid_number, portguid_portnumber2



The maximum number of ports that can be isolated in a hour



Maximum number of ports that can be isolated in a week



Maximum number of the ports that can be isolated in a month



The waiting time before deisolate the isolated port



The maximum number of deisolated port per hour



The maximum number of ports than can be isolated in one sample

After the successful deployment of the plugin, a new item is shown in the UFM side menu for the ALM plugin: 


Current State

This page displays a table presenting the current cluster status, outlining the following counts:

  1. Number of ports

  2. Number of isolated ports

  3. Number of ports in active/shadow mode

  4. Number of ports out of NOC


Events Summary

This page displays a table presenting a port count summary, outlining the following counts:

  1. Number of isolated ports in the past hour, week, and month for ‘host to switch’ and ‘switch to switch’.

  2. Number of de-isolated ports in the past hour, week, and month for ‘host to switch’ and ‘switch to switch’.

  3. Number of isolation actions not taken by ALM in the past hour, week, and month for ‘host to switch’ and ‘switch to switch’.


Port Level Status

This page displays a table presenting the cluster ports.



This page displays ALM plugin configuration update method.


The table presented below displays the names and descriptions of ALM jobs. These jobs are designed to predict the ports that require isolation/de-isolation. Upon enabling the ALM plugin, these ALM jobs run periodically.

ALM Job Name




By using the low frequency bit error histogram counters, the ALM job identifies the ports that will be monitored at high frequency in the next time interval. The job generates an output file that is later read by the high frequency telemetry monitoring job. It prioritizes links that are more susceptible to failure.

600 seconds


Predicts the likelihood of a port failure by analyzing input data from low frequency telemetry, while only utilizing physical layer counters. The prediction works for isolated ports as well. The resulting output from this task serves as a critical input for determining whether to isolate or de-isolate ports.

10 seconds

© Copyright 2023, NVIDIA. Last updated on Feb 8, 2024.