DCT-330 · Lesson 6 of 12 · 19 min

Capacity tracking: space, power, cooling and network

A data center sells four things that run out: floor space in racks, power, cooling and network connectivity. Running out of any one of them stops growth, even if the other three have plenty to spare. Capacity tracking is the job of knowing, at any time, how much of each is designed, sold, installed, actually used and still available, hall by hall and row by row. Planners make the decisions, but technicians and the desk supply most of the data and see the warning signs first. This lesson explains the capacity figures, how they are calculated, and the trap of stranded capacity.

Four resources, several kinds of number

For each resource there are several different figures, and confusion between them causes most capacity mistakes. Using power as the example:

  • Design capacity: what the infrastructure was built to deliver with its redundancy intact. Hall A's 2N UPS systems are each 2,000 kW, so Hall A's design IT capacity is 2,000 kW, the most one side can carry alone.
  • Planning limit: the design capacity less a margin the site keeps in reserve, often 80 to 90 %. Stonebridge plans Hall A to 1,700 kW.
  • Contracted or sold: what customers have bought, often as kW per rack or per cage.
  • Provisioned: what has been installed and connected: branch circuits run, breakers fitted, PDUs in place.
  • Measured: what the load actually draws, from the EPMS, usually as the peak over the last month.
  • Reserved: capacity set aside for planned equipment or a customer's expansion option.

The available capacity is the planning limit less whichever is larger for each customer of contracted, reserved or measured, because Stonebridge must be able to deliver what it has sold even if the customer is not using it yet. In most halls, measured load is well below contracted load: customers buy capacity for growth. That difference is not free capacity, but it is useful to know, because it shows how much headroom exists today.

Power capacity and redundancy

Redundancy changes what 'capacity' means. In a 2N hall, each side must be able to carry the whole load, so the hall's usable capacity is one side's capacity, and in normal operation each side runs at no more than half of it. In Halls B and C, with four UPS systems in a 4N/3 distributed redundant design (DCT-220 lesson 11), the usable capacity is three systems' worth: if one fails, the other three carry its share. In an N+1 generator block, the usable capacity is N units. Capacity reports always state usable capacity after redundancy, never the sum of all the installed equipment.

# Usable power capacity after redundancy, and headroom against measured and sold load
halls = [  # (hall, design, units, unit kW, sold kW, measured peak kW, reserved kW)
    ("Hall A", "2N", 2, 2000, 1310, 1205, 120),
    ("Hall B", "4N/3", 4, 2400, 6600, 5480, 0),
    ("Hall D", "2N", 2, 9600, 7900, 7380, 0),
]
plan_margin = 0.85
for name, design, n, unit, sold, meas, res in halls:
    usable = unit if design == "2N" else unit * (n - 1)          # one side, or all but one system
    limit = usable * plan_margin
    committed = max(sold + res, meas)
    print(f"{name}: usable {usable:6.0f} kW, planning limit {limit:6.0f} kW, committed {committed:6.0f} kW,"
          f" available {limit - committed:6.0f} kW ({committed / limit * 100:3.0f} % of limit)")
    print(f"        normal per-unit load {meas / n:6.0f} kW = {meas / n / unit * 100:3.0f} % of each unit")
Output
Hall A: usable   2000 kW, planning limit   1700 kW, committed   1430 kW, available    270 kW ( 84 % of limit)
        normal per-unit load    602 kW =  30 % of each unit
Hall B: usable   7200 kW, planning limit   6120 kW, committed   6600 kW, available   -480 kW (108 % of limit)
        normal per-unit load   1370 kW =  57 % of each unit
Hall D: usable   9600 kW, planning limit   8160 kW, committed   7900 kW, available    260 kW ( 97 % of limit)
        normal per-unit load   3690 kW =  38 % of each unit

Hall A has room; Hall B is already beyond its planning limit once its sold capacity is counted, even though measured load is below it; Hall D is close. That is why Corvid AI's request for another pod in Hall D (lesson 8) went to the planners before anyone promised anything.

Space capacity

Space is counted in rack positions, not square meters. Each hall's floor plan in DCIM shows every position as available, reserved, installed or blocked. Blocked positions matter: a column, a fire suppression nozzle zone, a cable tray low point or a position kept clear for a CRAH's service access can make a 'free' position unusable. Within racks, space is counted in U, and DCT-130's rack elevations show it. A rack with 20 free U but no free power is not available space for a new 2U server; it is stranded space.

Cooling capacity

Cooling capacity is counted per hall and often per row or pod, because air and liquid do not move freely from one end of a hall to the other. In Hall A, the usable cooling capacity is the capacity of the CRAHs with the redundant units removed: twelve 150 kW units in N+3 give nine units, 1,350 kW, as described in DCT-230. Local cooling is checked too: a row of high-density racks can overheat while the hall average looks fine. In Hall D, cooling capacity is counted by CDU group and by the liquid loop's flow, alongside the air cooling that removes the remaining heat (about 16 % of each rack's load, from DCT-230 lesson 9).

Cooling is also limited by the plant: the dry coolers, towers and chillers serving all the halls. Plant capacity drops on the hottest days, so planners check the plant against the summer design day, not an average. Technicians see this as the CDU approach temperatures and the facility water temperature creeping up in July in Ashburn, or less so in Beauharnois, where the climate allows free cooling most of the year.

Network capacity

Network capacity is counted in physical ports and pathways: free ports on patch panels and cross-connect frames, free fiber strands in trunks, space in cable trays and conduits, and capacity in the meet-me room (DCT-210). Bandwidth on the network equipment belongs to whoever owns the equipment: Stonebridge counts what it owns, and customers count theirs. A cage whose trunks are full cannot take new servers even if the cage has space and power, until new trunks are run.

Stranded capacity

Stranded capacity is capacity that exists but cannot be used, because another resource has run out in the same place. It is the most expensive problem in capacity planning, because the stranded resource was paid for and is not earning anything. Common examples:

  • Racks with free U but no free power, because high-density servers used up the rack's branch circuits.
  • Power available on a floor PDU but no free rack positions within reach of its cables.
  • Hall power capacity left but cooling at its limit in the rows where the power is.
  • Space and power in a cage, but its network trunks full.

The fix is planning across all four resources together, which DCIM's capacity views are designed for, and placing equipment so that resources run out at roughly the same time. When Hall A's row 22 had free positions but its RPP was full, the planners moved the next customer to row 31, which had both, rather than adding a new RPP to row 22.

A grouped bar chart for Hall A showing four resources: space, power, cooling and network ports. Each bar is divided into used, reserved, available and stranded portions, as a percentage of the planning limit. Space shows 70 % used, 8 % reserved, 12 % available and 10 % stranded. Power shows 71 % used or sold, 7 % reserved, 22 % available. Cooling shows 89 % used and 11 % available. Network shows 64 % used and 36 % available. A note marks cooling as the first resource to run out.
Hall A capacity by resource: cooling, not space or power, is closest to its limit.
# Hall A capacity dashboard: which resource runs out first?
hall = {  # resource: (planning limit, used, reserved, stranded)
    "space (racks)": (240, 168, 19, 24),
    "power (kW)": (1700, 1205, 120, 0),
    "cooling (kW)": (1350, 1205, 0, 0),
    "network ports": (4800, 3070, 0, 0),
}
first = None
for name, (limit, used, res, strand) in hall.items():
    avail = limit - used - res - strand
    pct = (used + res) / limit * 100
    print(f"{name:14s}: used+reserved {pct:5.1f} %, available {avail:6.0f}, stranded {strand}")
    if first is None or avail / limit < first[1]:
        first = (name, avail / limit)
print(f"First to run out: {first[0]} ({first[1] * 100:.0f} % left)")
Output
space (racks) : used+reserved  77.9 %, available     29, stranded 24
power (kW)    : used+reserved  77.9 %, available    375, stranded 0
cooling (kW)  : used+reserved  89.3 %, available    145, stranded 0
network ports : used+reserved  64.0 %, available   1730, stranded 0
First to run out: cooling (kW) (11 % left)

In Hall A, cooling is the limit: 1,205 kW of measured load against 1,350 kW of usable cooling leaves only 11 %. Selling more power in Hall A would strand it, because there would not be enough cooling to remove the heat. The planners' response was to add rear-door heat exchangers for the next dense customer (DCT-230 lesson 8), raising local cooling capacity without new CRAHs.

Forecasting and early warnings

Capacity changes slowly and then suddenly. A rack's measured load may grow a few percent a month as a customer adds servers, then jump when they install a new generation of hardware. The desk and the planners watch trends: each month's peak load per rack, per row and per hall, against the planning limit. A simple linear trend gives a first estimate of when a limit will be reached; it is not a prediction, but it tells planners which rows to look at.

# Monthly peak load on Hall A row 31 and a simple linear forecast
months = list(range(1, 13))
peaks = [182, 185, 189, 190, 196, 199, 205, 207, 212, 217, 219, 224]   # kW
limit = 260                                                           # row planning limit, kW
n = len(months)
mx, my = sum(months) / n, sum(peaks) / n
slope = sum((x - mx) * (y - my) for x, y in zip(months, peaks)) / sum((x - mx) ** 2 for x in months)
print(f"Growth: about {slope:.1f} kW per month")
left = limit - peaks[-1]
print(f"Headroom now: {left} kW; at this rate the row reaches its limit in about {left / slope:.0f} months")
Output
Growth: about 3.9 kW per month
Headroom now: 36 kW; at this rate the row reaches its limit in about 9 months

Technicians contribute in two ways. They notice the physical signs of growth before the numbers show it: new equipment arriving at the dock for a customer, cages filling up, more tap-off boxes requested. And they record installs and removals in DCIM promptly, because a forecast built on stale records is wrong from the start.

Worked problem

Bayview asks for more power

Bayview Credit Union asks for an extra 4 kW in rack A-31-03, to add two storage shelves. The rack has two 208 V, 30 A three-phase branches (one per side). Its measured peak is 7.9 kW and its contract is 8.6 kW. Can the desk say yes?

Show solution
  1. Branch limit: from DCT-220 lesson 9, each 208 V 30 A side can carry about 8.2 kW continuously at 80 %, so the rack's total must stay under about 8.2 kW to survive losing one side.
  2. Requested total: 7.9 + 4 = 11.9 kW, well above what either side can carry alone. The rack cannot take it on its present branches.
  3. Row and hall: row 31 has 36 kW of headroom and Hall A has power available, but cooling in Hall A is the tight resource; 4 kW more is small but counts against it.
  4. Options: upgrade both branches to 208 V 60 A (about 16 kW per side), or place the shelves in a new rack nearby.
  5. Jamal does not answer yes or no. He opens a capacity request ticket with these figures and passes it to the planners, and tells Bayview the request is being assessed, with a reply within two business days as their contract states.

Answer: The planners chose a 60 A upgrade during Bayview's next maintenance window, as a change under a MOP. The desk's numbers made the decision quick.

Common mistakes

  • MistakeTreating sold but unused power as free.

    InsteadCount the larger of contracted, reserved or measured; sold capacity must be deliverable.

  • MistakeAdding up both sides of a 2N system as the hall's capacity.

    InsteadUsable capacity is after redundancy: one side in 2N, all but one system in 4N/3.

  • MistakeChecking only hall totals.

    InsteadCheck rows, pods and branches; local limits strand capacity.

  • MistakePromising a customer more power from the desk.

    InsteadOpen a capacity request with the figures; planners decide.

  • MistakeLeaving installs out of DCIM until later.

    InsteadForecasts and capacity views depend on current records.

Summary and key terms

  • Data centers track four resources: space, power, cooling and network; any one can stop growth.
  • Design, planning limit, contracted, provisioned, measured and reserved are different numbers; available capacity is counted against the larger of sold, reserved or measured.
  • Usable capacity is always stated after redundancy.
  • Stranded capacity is a resource that cannot be used because another has run out in the same place.
  • Trends of monthly peaks give early warning of rows and halls approaching their limits.
  • Technicians supply the data, notice growth first and pass capacity requests to the planners.
Design capacity
What the infrastructure can deliver with its redundancy intact.
Planning limit
Design capacity less a reserve margin, used for selling and placing equipment.
Measured load
The load actually drawn, usually the peak over a recent period.
Contracted capacity
What a customer has bought, whether or not it is used yet.
Stranded capacity
Capacity that exists but cannot be used because another resource has run out in the same place.
Headroom
The capacity left between the committed load and the planning limit.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. A 2N hall has two 2,000 kW UPS systems. What is its usable IT capacity?

    Show answer

    2,000 kW: one side must carry the whole load.

  2. Four 2,400 kW UPS systems in 4N/3. What is the usable capacity?

    Show answer

    7,200 kW: three systems' worth.

  3. Give one example of stranded capacity.

    Show answer

    Free rack space with no power left on its branches; or power with no cooling in that row.

  4. A row has 36 kW of headroom and grows by 3.6 kW a month. Roughly when does it reach its limit?

    Show answer

    In about 10 months.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz