Skip to content

Build Not yet confirmed elsewhere1 publisher 3 min read Published

One SchedulingConfig parameter puts Salesforce's shared-GPU model copies in both Availability Zones

Co-hosting models on shared GPUs cut Salesforce's inference infrastructure bill eightfold, but the placement algorithm that made it cheap counted instances and ignored Availability Zones. SchedulingConfig reconciles the two.

The Engineer · Build desk

Send a correction

Illustration accompanying One SchedulingConfig parameter puts Salesforce's shared-GPU model copies in both Availability Zones
Generated illustration

What happened

  • AWS says SageMaker Inference Components cut Salesforce's inference infrastructure costs by 8x by co-hosting multiple models on shared GPUs.
  • Salesforce requires 2-AZ support for every production model, a bar the cost-optimized default placement did not meet.
  • AWS added the SchedulingConfig parameter to CreateInferenceComponent, exposing AvailabilityZoneBalance for cross-AZ distribution and PlacementStrategy for placement within each zone.

Why it matters

  • Who has to decide decision Every inference component now carries an explicit SPREAD or BINPACK call, and picking fault isolation spends part of the shared-GPU density that made the hosting cheap in the first place.
  • What it limits constraint Strict balance on a two-AZ endpoint admits only even copy counts, so HA-critical components lose the single-copy autoscaling step and move in twos.
  • Who's exposed exposure Anyone treating the AZ spread as a satisfied control owns the residual risk, since AWS describes the even distribution as best-effort while only the persistence of placement through updates is stated flatly.

The AWS post's scope note matters: SchedulingConfig governs the placement plan for each individual scale operation [13]. Balance is therefore an outcome of each API call, not a property the endpoint holds. After enough scale-in and scale-out cycles, the per-operation plans can drift, and AWS's answer is a second setting in a second object: the endpoint's ScaleInPolicy with the CONSOLIDATION strategy, which runs a background sweeper that consolidates copies and releases idle instances while honoring AZ balance constraints [13][14]. Two-AZ placement is one parameter on the component and one policy on the endpoint.

AWS also leans on the phrase "best-effort," and it is worth sitting with. AWS describes availability-aware distribution as even placement across AZs on a best-effort basis, while stating separately that endpoint and inference component update operations persist multi-AZ placement, so HA survives model updates [15]. Persisting placement through updates is real engineering and the harder half of the problem. Best-effort spreading, though, is a behaviour to test on your own endpoint rather than a control to cite in an audit, particularly if the requirement is a hard internal rule like Salesforce's 2-AZ mandate for every production model [4].

Here is the arithmetic the post sets up but does not finish. The documented scenario is four instances, two per AZ, with four copies deployed under SPREAD, landing two in AZ-1 and two in AZ-2 [8]. Lose an AZ and two copies remain, which is half the serving capacity [17]. Two-AZ HA at unchanged throughput therefore costs double the copies you need in steady state, and the copies are the thing you were consolidating onto shared GPUs to save money on. Set MaxImbalance to 0 and the constraint tightens further: strict balance across two AZs admits only even copy counts [18].

The 8x number is Salesforce's, for Agentforce, and it comes specifically from co-hosting multiple models on shared GPUs [20]. For it to transfer you would need a fleet of models that each leave a GPU substantially idle, compatible enough accelerator and instance requirements to share, and traffic peaks that do not arrive together. One large model per endpoint gets none of it, and neither does a portfolio whose components all spike at the same hour. What transfers unconditionally is the failure mode: without SchedulingConfig, the default algorithm optimizes each deployment operation on its own and distributes copies evenly across instances without considering AZs, so copies of one model can pile into one zone even on a multi-AZ endpoint [2].

The post also tells you never to set CopyCount to 1 for an HA-critical model, because a single copy lives in a single AZ [12]. In plain terms, a single copy means your high-availability plan runs in one Availability Zone.

What to watch

  • Whether AWS upgrades best-effort AZ distribution into documented, testable behaviour rather than an effort target.
  • Whether SchedulingConfig becomes settable outside CreateInferenceComponent, since today the post shows it on the create call.
  • Whether the CONSOLIDATION sweeper's interval gets published, because it decides how long a drifted endpoint stays drifted.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence58
Adoption45
Hype gap+18
Incentives82
Confidence56
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    Salesforce set out to make Agentforce, its AI foundation for agents, highly available across multiple Availability Zones, and faced a gap: SageMaker AI Inference Components could cut GPU costs but their default placement did not guarantee the multi-AZ resilience Salesforce's compliance bar required.

    Reported Supported Source: AWS Machine Learning BlogView cited source
  2. [2]

    By default the SageMaker placement algorithm optimizes each Inference Component deployment operation independently, distributing new copies evenly across instances without considering AZ balance, so even on a multi-AZ endpoint copies of a specific model can end up unevenly distributed across AZs.

    Reported SupportedView cited source
  3. [3]

    The post lists the resulting single points of failure: a single instance crash takes down all copies of a model, and an AZ outage makes the entire model unavailable.

    Reported SupportedView cited source

Get this ledger inside ChatGPT. Ask about any of our stories and the answer brings its figure, each claim’s verdict and the sources. Free, no account.

Add to ChatGPTAdd to Claude

Sources

1 independent publisher whose own reporting we read for this story.

  1. aws.amazon.com

    1 article · August 28, 2026

    Spreading the load: How Salesforce met Multi-AZ HA with SageMaker Inference Components

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

  • Multi-AZ High AvailabilityFollow
  • Internal Compliance RequirementsFollow
  • GPU Inference Cost OptimizationFollow
  • Managed Model Serving PlatformsFollow
Loading related stories