Skip to navigation

BCM Power Shelf Integration

View as Markdown

The NVIDIA GB200 server platforms use power shelves to distribute power in racks. Several power shelves are used per rack. Each power shelf takes up one rack unit. Each power shelf comprises several PSUs (Power Supply Units).

The reference design for an NVIDIA GB200 rack has 8 power shelves, and uses 6 PSUs in each power shelf. Each PSU is rated up to 5.5kW, so that each power shelf is rated up to 33kW.

This chapter primarily considers an NVIDIA GB200 server platform that has been configured to work with BCM, though BCM’s power shelf support also extends to other platform generations, as described in section 4.1.

4.1 The Vera Rubin Power Shelf

BCM also supports racks using the reference architecture (RA) Vera Rubin generation power shelf. From BCM’s perspective, the RA power shelf is discovered, monitored, and controlled identically to the GB200 power shelf described in this chapter: it appears as the same powershelf device kind, uses the same list -t powershelf, powershelfoverview, and rack-mode commands, and follows the same power sequencing. PSU counts are always discovered dynamically over Redfish rather than hardcoded, so the command examples shown throughout this chapter apply to RA racks without modification. Examples showing shelf counts or physical rack layout are GB200-specific, since those differ for RA (see the following list).

Physically, the RA power shelf differs from the GB200 power shelf as follows:

  • 4 power shelves per rack, compared to 8 for GB200 — each RA power shelf delivers substantially more power, so fewer are needed.

  • 6 PSUs per shelf, the same count as GB200.

  • 3 rack units (3RU) in height, compared to 1RU for GB200.

  • Rated up to 110kW output per shelf at 415VAC or higher input, compared to 33kW for GB200.

  • 54V output voltage, compared to 50V for GB200.

  • 3-phase PSU topology, compared to single phase for GB200.

The input voltage range (415-480VAC) and cooling method (air) are unchanged from GB200.

4.2 Power Shelf Listing And Overview

The list -t powershelf command in device mode can be used to list the power shelves of a configured cluster

Power shelves are configured as devices on an IPMI network, as indicated by the following example (some rows ellipsized):

Example

[basecm11->device]% list -t powershelf
Type Hostname (key) MAC IP Network Status
----------- ---------------- ------------------ ----------- ---------- ----------
PowerShelf B05-P1-PWR-01 00:18:23:0C:1E:90 7.241.1.47 rfnet [ UP ]
...
PowerShelf B05-P1-PWR-08 00:18:23:0C:1E:85 7.241.1.54 rfnet [ UP ]
PowerShelf a05-p1-pwr-01 00:18:23:0C:1E:84 7.241.1.8 rfnet [ UP ]
...
PowerShelf a05-p1-pwr-08 00:18:23:0C:1E:8F 7.241.1.80 rfnet [ UP ]
PowerShelf b06-p1-pwr-01 00:18:23:0C:40:2A 7.241.1.55 rfnet [ UP ]
...
PowerShelf b06-p1-pwr-08 00:18:23:0C:40:99 7.241.1.62 rfnet [ UP ]

The powershelfoverview command displays an overview of a particular power shelf, showing the measurements from its PSUs (6 in the following example):

Example

[basecm11->device*[B05-P1-PWR-01]]% powershelfoverview
Input Input Input Rail Rail Rail Fan
Supply power current voltage power current voltage Temperature speed Healthy
------ ------ ------- -------- ----- ------- ------- ----------- -------- -------
1 679 W 2.98 A 240.75 V 652 W 13.06 A 49.85 V 44 C 6.7 KRPM PASS
2 632 W 2.8 A 240.75 V 607 W 12.18 A 49.87 V 44 C 6.6 KRPM PASS
3 599 W 2.64 A 240.75 V 575 W 11.48 A 49.87 V 43 C 6.8 KRPM PASS
4 599 W 2.63 A 240.75 V 575 W 11.51 A 49.89 V 43 C 6.8 KRPM PASS
5 617 W 2.76 A 240.5 V 574 W 11.5 A 49.87 V 43 C 6.9 KRPM PASS
6 609 W 2.64 A 240.5 V 584 W 11.7 A 49.87 V 43 C 6.6 KRPM PASS

4.3 Power Shelves Networking Configuration

The network interface settings for a specific power shelf can be managed with its Redfish interface (section 3.7.1 of the Administrator Manual). For example, a power shelf, here named B05-P1-PWR-01, can have the following values set with the set command:

Example

[basecm11->device[B05-P1-PWR-01]->interfaces[rf0]]% show
Parameter Value
-------------------------------- ------------------------------------------------
Revision
Type bmc
Network device name rf0
Network rfnet
IP 7.241.1.47
DHCP no
Alternative Hostname
Additional Hostnames
Switch ports
Start if always
BringUpDuringInstall no
On network priority 60
Bootable no
MAC 00:18:23:0C:1E:90
Speed
Card Type

Redfish metrics, which are the ones prefixed by RF_ (as seen in section 12.8), are sampled only when the BMC interface starts with rf0, rf1, …

4.4 Access Configuration For The Power Management Controller

Access to the Power Management Controller (PMC) is configured in the BMC settings:

Example

[basecm11->device[B05-P1-PWR-01]->bmcsettings]% show
Parameter Value
-------------------------------- ------------------------------------------------
Revision
User name root
Password ********
User ID -1
Power reset delay 0s
Extra arguments
Privilege administrator

Authentication allows NVIDIA Mission Control to monitor the power shelves using Redfish sampling.

4.5 Power Shelf Settings Overview

An overview of the settings for a particular power shelf can be viewed with the show command:

Example

[basecm11->device[B05-P1-PWR-01]]% show
Parameter Value
-------------------------------- ------------------------------------------------
Hostname B05-P1-PWR-01
IP 7.241.1.47
Network rfnet
Revision
Type PowerShelf
Mac 00:18:23:0C:1E:90
Model
Activation Tue, 11 Feb 2025 16:45:39 PST
Rack B05:6
Chassis < not set >
Access Settings <submode>
Management network rfnet
Power control none
Custom power script
Custom power script argument
Power distribution units
Default gateway 10.141.255.254 (headnode)
Default gateway metric 0
Switch ports B04-P1-OOB-02:1
Interfaces <1 in submode>
BMC Settings <submode>
Userdefined1
Userdefined2
User defined resources
Supports GNSS no
Custom ping script
Custom ping script argument
Partition base
Part number
Serial number
Notes <0B>
Prometheus metric forwarders <0 in submode>

4.6 Power Shelf Metrics Overview

A listing of the power shelf metrics can be seen with some grepping (the output for PSUs 2 to 5 have been ellipsized for readability in this manual):

[basecm11->monitoring->measurable]% list -f name:40,parameter:9,producer
|head -2; list -f name:40,parameter:9,producer| egrep -i
'(powershel|redfish_power_shelf)'
name (key) parameter producer
---------------------------------------- --------- --------------------
AveragePowerShelfTemperature AggregatePowerShelf
PowerShelvesClosed ClusterTotal
PowerShelvesDown ClusterTotal
PowerShelvesTotal ClusterTotal
PowerShelvesUp ClusterTotal
RF_Active_PSU redfish_power_shelf
RF_PowerShelf_Status 1 redfish_power_shelf
...
RF_PowerShelf_Status 6 redfish_power_shelf
RF_PowerShelf_Status total redfish_power_shelf
RF_Power_Supply_Energy 1 redfish_power_shelf
...
RF_Power_Supply_Energy 6 redfish_power_shelf
RF_Power_Supply_Energy total redfish_power_shelf
RF_Power_Supply_FanSpeed 1 redfish_power_shelf
...
RF_Power_Supply_FanSpeed 6 redfish_power_shelf
RF_Power_Supply_FanSpeed average redfish_power_shelf
RF_Power_Supply_InputCurrent 1 redfish_power_shelf
...
RF_Power_Supply_InputCurrent 6 redfish_power_shelf
RF_Power_Supply_InputCurrent total redfish_power_shelf
RF_Power_Supply_InputPower 1 redfish_power_shelf
...
RF_Power_Supply_InputPower 6 redfish_power_shelf
RF_Power_Supply_InputPower total redfish_power_shelf
RF_Power_Supply_InputVoltage 1 redfish_power_shelf
...
RF_Power_Supply_InputVoltage 6 redfish_power_shelf
RF_Power_Supply_LifetimeReading_Energy 1 redfish_power_shelf
...
RF_Power_Supply_LifetimeReading_Energy 6 redfish_power_shelf
RF_Power_Supply_OutputPower 1 redfish_power_shelf
...
RF_Power_Supply_OutputPower 6 redfish_power_shelf
RF_Power_Supply_OutputPower total redfish_power_shelf
RF_Power_Supply_PowerFactor_Input 1 redfish_power_shelf
...
RF_Power_Supply_PowerFactor_Input 6 redfish_power_shelf
RF_Power_Supply_RailCurrent 1 redfish_power_shelf
...
RF_Power_Supply_RailCurrent 6 redfish_power_shelf
RF_Power_Supply_RailCurrent total redfish_power_shelf
RF_Power_Supply_RailPower 1 redfish_power_shelf
...
RF_Power_Supply_RailPower 6 redfish_power_shelf
RF_Power_Supply_RailPower total redfish_power_shelf
RF_Power_Supply_RailVoltage 1 redfish_power_shelf
...
RF_Power_Supply_RailVoltage 6 redfish_power_shelf
RF_Power_Supply_Temperature 1 redfish_power_shelf
...
RF_Power_Supply_Temperature 6 redfish_power_shelf
RF_Power_Supply_Temperature average redfish_power_shelf
RF_Power_Supply_code_error 1 redfish_power_shelf
...
RF_Power_Supply_code_error 6 redfish_power_shelf
RF_Power_Supply_message_error 1 redfish_power_shelf
...
RF_Power_Supply_message_error 6 redfish_power_shelf
RF_Summary_Metrics_Power redfish_power_shelf
RF_Summary_Metrics_Temperature redfish_power_shelf
RF_Total_PSU redfish_power_shelf
TotalPowerShelfInputCurrent AggregatePowerShelf
TotalPowerShelfInputPower AggregatePowerShelf
TotalPowerShelfRailCurrent AggregatePowerShelf
TotalPowerShelfRailPower AggregatePowerShelf

The descriptions for these metrics are as indicated in table 12.4.

4.7 Power Shelf Firmware

Power shelf firmware is managed by the firmware command options as described in Section 14.5.3 of the Administrator Manual.

BCM currently supports power shelf firmware updates for two vendors, Delta and Lite-On. Each power shelf, regardless of vendor, has two kinds of firmware components: a Power Management Controller (PMC), and several Power Supply Units (PSUs). Unlike DGX compute trays and NVLink switch trays, the device type PowerShelf on its own selects the correct firmware handling for a power shelf, so no separate firmwaremanagemode setting is needed.

Firmware files for both supported vendors are uploaded to the same directory on the head node:

/cm/local/apps/cmd/etc/htdocs/bios/firmware/powershelf/

Once uploaded, the firmware info command, run from device mode against a power shelf, lists the available firmware files and the components they apply to:

Example

[basecm11->device[B05-P1-PWR-01]]% firmware info
Component Version State Size
---------- -------- ---------- --------
DeltaPMC 3.2.4 available 35MiB

The firmware status command shows the current version of each firmware component on the power shelf:

Example

[basecm11->device[B05-P1-PWR-01]]% firmware status
Component Version State
---------------- --------- --------
FW_ERoT_BMC_0 1203 current
FW_PMC_alt 3.2.4 current
FW_PMC_primary 3.2.4 current
FW_PSU_1 01050105 current
FW_PSU_2 01050105 current
FW_PSU_3 01050105 current
FW_PSU_4 01050105 current
FW_PSU_5 01050105 current
FW_PSU_6 01050105 current

Running firmware flash with a firmware file updates only the components that file applies to. The following example flashes a PMC firmware file, which updates only the PMC components, and leaves the power shelf’s PSUs alone:

Example

[basecm11->device[B05-P1-PWR-01]]% firmware flash nvidia-pmc-3.2.3.fwpkg
Device Result
---------------- --------
B05-P1-PWR-01 good

The --targets option of firmware flash is not supported for power shelves, and updates are always carried out with the effect of the --force option, so the components in the uploaded file are always installed.

While flashing is in progress, firmware status shows the components being updated with a flashing state and a progress percentage. Only the PMC components in the following example are being updated by the flash just carried out; the PSUs are unaffected and remain current:

Example

[basecm11->device[B05-P1-PWR-01]]% firmware status
Component State Progress
---------------- --------- --------
FW_ERoT_BMC_0 current N/A
FW_PSU_1 current N/A
FW_PSU_2 current N/A
FW_PSU_3 current N/A
FW_PSU_4 current N/A
FW_PSU_5 current N/A
FW_PSU_6 current N/A
FW_PMC_alt flashing 10.0%
FW_PMC_primary flashing 10.0%

Unlike DGX compute trays, power shelves activate new firmware automatically, without requiring a manual AC power cycle. However, firmware status does not reliably report progress once flashing passes approximately 60%, since the power shelf resets during activation. A firmware status command run during this window may briefly show a failed result with no further detail; this does not necessarily mean the update failed. Running firmware status again after a short wait confirms the new firmware version is shown as current.

Lite-On power shelves currently have a more limited firmware workflow than Delta power shelves. For Lite-On power shelves:

  • PSUs must be updated one at a time rather than in a single firmware flash call.

  • There is no indication of progress in the Progress column for firmware updates. What can be observed is that:

    • by default, the power shelf auto-activates new firmware immediately, and stops responding while activating

    • firmware status gives a response after the firmware has been updated

    Progress monitoring is expected to be addressed in a future release.

Updating firmware on multiple power shelves in parallel:

firmware status and firmware flash can also be run against several power shelves at once, from device mode, by combining the rack (--rack, or -r) and device type (--type, or -t) options with the intersection option (--intersection, or -i). This starts one background firmware process per device, rather than updating the shelves one at a time. The following example checks firmware status on every power shelf in rack d03:

Example

[basecm11->device]% firmware status -i -t powershelf -r d03

A --dry-run flash can be run the same way, across the same rack-wide selection, before committing to a real flash:

Example

[basecm11->device]% firmware flash nvidia-pmc-3.3.8-RELEASE.FOR.UPDATE.CEC-CFG.fwpkg --dry-run -i -t powershelf -r d03

This pattern is not specific to power shelves: any device grouping of the same hardware make, model, and part number can be targeted this way. For compute nodes and NVSwitches, category (--category, or -c) and node lists (--nodes, or -n) are typically used instead of rack and type.

4.8 Power Shelf Circuit Monitoring

A power circuit typically supplies several power shelves, based on the rated power of the circuit and power shelves. Administration and wiring convenience may also play a role in allocating a circuit to a power shelf.

So, for example, the administrator may configure a rack with 6 power shelves so that it is supplied power from one power circuit.

The power circuit breakers used by each power circuit, typically provided by a remote power panel (RPP), can have their locations noted for administrative convenience.

Example

[basecm11->powercircuit]% list
Name (key) Row Room Building Location Racks
---------- ---- ------ ------------ ----------- -----
RPP-B12-3 1 G Watchtower Trantor
RPP-B14-3
RPP-B21-5
RPP-B21-6
RPP-B22-5
...

The cluster may have been set up to monitor the power circuit breaker for the power reaching BCM (section 3.3.1.1). In that case, the overview command typically displays the power consumption and current per phase.

Example

[basecm11->powercircuit]% overview RPP-B14-3
Current Current Current Current
Power circuit Power Current limit phase 1 phase 2 phase 3 Racks
------------- ------- --------- -------- -------- --------- --------- -----
RPP-B14-3 15.6 KW 30.137 A 0 A 18.28 A 30.119 A 28.134 A 1

A value of 0 A means that the current limit is not reported.

4.9 Power Shelves And Rack Mode Commands

This section discusses some of the commands that can be useful for setting up and viewing devices from within the rack mode of cmsh (section 3.16 of the Administrator Manual), but with a focus on power shelf management.

4.9.1 The list Command

If the attributes of racks in rack mode have been set up in a meaningful way, then the list command can give useful information on how the power shelves in racks are organized:

Example

[basecm11->rack]% list
x-Coord- y-Coord
Name (key) Room inate inate Height Devices
----------- ----- --------- ------ ------- ------------------------------------
A01 T 1 1 48
A02 T 1 2 48
A03 T 1 3 48
A04 T 1 4 48
A05 T 1 5 48 a05-p1-pwr-01..a05-p1-pwr-08,a05...
A06 T 1 6 48
A07 T 1 7 48
A08 T 1 8 48
A09 T 1 9 48
A10 T 1 10 48
A11 T 1 11 48
A12 T 1 12 48
...

The help set command describes how these values can be set.

In the preceding example, the administrator has noted that a rack, for example A05, is in a room T, and is at an (x,y) coordinate of (1,5) in that room.

The power shelf devices have also been given meaningful names: a05-p1-pwr-01, a05-p1-pwr-02…, which here has a prefix that is the rack it is in, and uses pwr to indicate it is a power shelf.

4.9.2 The rackoverview Command

The rackoverview command displays information about the types of entities in a rack. It also then lists some more detailed information about some of the entity types.

The power shelf is one of the types that has more detailed information listed (some output truncated and ellipsized, because this section is focussing on the power shelves):

Example

[basecm11->rack]% rackoverview <TAB><TAB>
a01 a02 a03 a04 a05 a06 a07 a08 a09 a10 a11 a12 b01 b02 b03 b04...
[basecm11->rack]% rackoverview a05
Type Up Down Closed Total
----------------- --------------- --------------- --------------- ---------------
Nodes 18 0 0 18
DPU nodes 0 0 0 0
Managed switches 0 0 0 0
NVLink switches 0 9 0 9
Power shelves 8 0 0 8
Devices 0 0 0 0
Cores 2,592 - - 2,592
GPUs 72 - - 72
...
Power Input Output Fan Active Total
shelf power power Temperature speed PSU PSU
--------------- -------- -------- ---------- --------- ------- ------
a05-p1-pwr-01 0 W 0 W 0 C 0 RPM 0 6
a05-p1-pwr-02 0 W 0 W 0 C 0 RPM 0 6
a05-p1-pwr-03 3.7 KW 3.6 KW 43.3333 C 6.7 KRPM 6 6
a05-p1-pwr-04 2.51 KW 2.38 KW 42.75 C 6.7 KRPM 6 6
a05-p1-pwr-05 2.83 KW 2.69 KW 49 C 6.8 KRPM 6 6
a05-p1-pwr-06 3.7 KW 3.5 KW 45 C 6.7 KRPM 6 6
a05-p1-pwr-07 3.7 KW 3.5 KW 46.3333 C 6.7 KRPM 6 6
a05-p1-pwr-08 3.8 KW 3.7 KW 47.3333 C 6.7 KRPM 6 6
[basecm11->rack]%

In the preceding, the A05 rack is seen to have some active power shelves, which show some power-related values.

4.9.3 The display Command

If the cluster administrator has recorded the device positions in the rack, then the display command in rack mode is useful for seeing the position of where power shelves are located in the rack:

Example

[basecm11->rack]% display |less -R
...
A05 B05
48 48
47 47
46 46
45 45
44 44
43 43
42 a05-p1-pwr-08 42 B05-P1-PWR-08
41 a05-p1-pwr-07 41 B05-P1-PWR-07
40 a05-p1-pwr-06 40 B05-P1-PWR-06
39 a05-p1-pwr-05 39 B05-P1-PWR-05
38 38
37 a05-p1-dgx-01-c18 37 b05-p1-dgx-05-c18
36 a05-p1-dgx-01-c17 36 b05-p1-dgx-05-c17
35 a05-p1-dgx-01-c16 35 b05-p1-dgx-05-c16
34 a05-p1-dgx-01-c15 34 b05-p1-dgx-05-c15
33 a05-p1-dgx-01-c14 33 b05-p1-dgx-05-c14
32 a05-p1-dgx-01-c13 32 b05-p1-dgx-05-c13
31 a05-p1-dgx-01-c12 31 b05-p1-dgx-05-c12
30 a05-p1-dgx-01-c11 30 b05-p1-dgx-05-c11
29 a05-p1-dgx-01-c10 29 b05-p1-dgx-05-c10
28 a05-p1-dgx-01-c09 28 b05-p1-dgx-05-c09
27 a05-p1-nvsw-09 27 B05-P1-NVSW-09
26 a05-p1-nvsw-08 26 B05-P1-NVSW-08
25 a05-p1-nvsw-07 25 B05-P1-NVSW-07
24 a05-p1-nvsw-06 24 B05-P1-NVSW-06
23 a05-p1-nvsw-05 23 B05-P1-NVSW-05
22 a05-p1-nvsw-04 22 B05-P1-NVSW-04
21 a05-p1-nvsw-03 21 B05-P1-NVSW-03
20 a05-p1-nvsw-02 20 B05-P1-NVSW-02
19 a05-p1-nvsw-01 19 B05-P1-NVSW-01
18 a05-p1-dgx-01-c08 18 b05-p1-dgx-05-c08
17 a05-p1-dgx-01-c07 17 b05-p1-dgx-05-c07
16 a05-p1-dgx-01-c06 16 b05-p1-dgx-05-c06
15 a05-p1-dgx-01-c05 15 b05-p1-dgx-05-c05
14 a05-p1-dgx-01-c04 14 b05-p1-dgx-05-c04
13 a05-p1-dgx-01-c03 13 b05-p1-dgx-05-c03
12 a05-p1-dgx-01-c02 12 b05-p1-dgx-05-c02
11 a05-p1-dgx-01-c01 11 b05-p1-dgx-05-c01
10 10
09 a05-p1-pwr-04 09 B05-P1-PWR-04
08 a05-p1-pwr-03 08 B05-P1-PWR-03
07 a05-p1-pwr-02 07 B05-P1-PWR-02
06 a05-p1-pwr-01 06 B05-P1-PWR-01
05 05
04 04
03 03
02 02
01 01

4.9.4 Power Management Of Racks

For devices in general, power operation commands are described in Section 4.2 of the Administrator Manual. Power status responses are described here.

Racks can take a while to power up through the configured sequence of components (power shelves, switches, nodes). The BUSY status can therefore be visible for a while. In this status, the power up operation can be cancelled.

A session showing power commands running on the racks of a DGX OS cluster may show output similar to the following:

Example

[basecm11->rack]% events off
Private events: off
Broadcast events: off
[basecm11->rack]% power on -b nvl[001-016]
[basecm11->rack]% power status
post::powershelf ......... [ BUSY ] nvl001
post::powershelf ......... [ BUSY ] nvl002
post::powershelf ......... [ BUSY ] nvl003
...
[basecm11->rack]% power status
post::switch ............. [ BUSY ] nvl001
post::switch ............. [ BUSY ] nvl002
post::switch ............. [ BUSY ] nvl003
...
[basecm11->rack]% power cancel nvl001
Cancelled: 1 operations
[basecm11->rack]% power status
none ..................... [CANCELLED] nvl001
post::compute ............ [ BUSY ] nvl002
post::compute ............ [ BUSY ] nvl003
...

More details on power commands use in the rack mode of cmsh can be seen with:

Example

[basecm11->rack]% help power
Name:
power - Manipulate the power state of rack
Usage:
power [OPTIONS] on
power [OPTIONS] off
power [OPTIONS] cancel
power [OPTIONS] status
Options:
-b, --background
Run in background, output will come as events
-d, --delay <seconds>
Wait <seconds> between executing two sequential power commands. This option is
ignored for the status command
-m, --mode <mode>
Mode: full(default), domain(switch and compute tray), compute, emergency(off only)
-w, --overview
Create overview instead of individual rack list
-f, --force
Force power command on devices which have been closed or are reported as leaking
--timeout <seconds>
Maximal time to wait for all result to come in
--message <message>
An optional message saved to DB for on/off/reset operations
--initial-wait-switch <seconds>
Wait the specified time before switch power on after power shelves were found UP
--initial-wait-node <seconds>
Wait the specified time before node power on after swirches were found UP
--maximal-redfish-wait <seconds>
Maximal time to wait between power shelf power on and the redfish of switch/node becoming
available
--maximum-wait <seconds=30>
Maximal time to wait between for devices to enter the correct state
Examples:
power on rack01 Power on rack01
power off -m compute rack01 Power off the compute tray in rack01
power cancel Cancel all active rack power operations
power cancel rack01 Cancel power operation on rack01
power status Show status of all active power operations