Skip to content

Billing and plans

View as Markdown

A Slurm Cluster is billed for the nodes it holds, whatever work they do, so the way to control cost is to control the node count. For the rate of each plan, see E2E Networks pricing.

A cluster is billed for each worker node, per hour, at the selected plan’s rate, whether jobs are running on it or it sits idle. On a committed plan, the charge for each node is the plan’s fixed price for the term, whatever the hours you use.

Attached storage volumes (Parallel File System, Shared File System, and datasets) and reserved IPs are billed separately from the cluster.

These come at no extra charge:

  • Individual Slurm jobs of any kind, in any number: batch jobs, job arrays, container jobs, and multi-node jobs.
  • Restarting workers, the login service, or the whole cluster.
  • Cloning a cluster’s configuration.
  • Adding or removing partitions, SSH keys, or security groups.
  • Editing the extra slurm.conf settings or the prolog and epilog scripts.

Terminating the cluster is the only way to stop compute billing, and an idle cluster is billed at the full rate. A cluster with an empty queue for a week is billed at the full rate for that week.

Since you pay for nodes and jobs are free, the cheapest set-up is the smallest pool of nodes that your queue can keep busy. Watch the job count chart for running and pending jobs on the Monitoring tab. A pending backlog that persists means it is time to scale up, and a queue that stays empty means it is time to scale down. See Scale a cluster.

What happens Effect on billing
You create the cluster Billing starts when the create succeeds and is dated from the moment you submitted the form, before any job runs.
The cluster stays in Creating for a while, then succeeds You are billed from the moment you submitted the form, including the time spent in Creating.
The create fails and the cluster is Failed Compute for a Failed cluster is free.
The cluster is Running, idle or busy The same rate, whether it is idle or busy.
You scale up The billed node count rises at once. The scale action itself is free.
You scale down The billed node count falls at once.
You terminate the cluster Compute billing for its nodes stops.
You delete the terminated cluster Billing already stopped when you terminated it.
The volumes stay after termination Storage keeps billing until you delete the volumes.

The Scale Cluster dialog shows New hourly cost and Change from current before you confirm.

On-demand, savings plans, and committed plans

Section titled “On-demand, savings plans, and committed plans”

On-Demand is the default plan. It bills by the hour, and you can scale or terminate the cluster whenever you like.

Where a plan offers a committed term, the Pricing section on the create form lists it by length with its saving:

Term Saving
1 Month Savings Plan Save 10%
3 Month Savings Plan Save 14%
6 Month Savings Plan Save 20%
1 Year Savings Plan Save 25%
2 Year Savings Plan Save 30%
3 Year Savings Plan Save 35%

E2E’s price list sets which of these a plan offers. A term of any other length shows as “ Days Committed”, and the saving is left blank.

An hourly cluster can move to a committed plan from Actions, then Convert to Committed. You choose what happens when the term ends: renew the same plan, return to hourly billing, or delete the cluster. Converting changes only the billing, and the cluster keeps running throughout.

You pay for the whole term at once, for every node. The dialog quotes the per-node price, and you pay that price multiplied by your node count, so work out the total before you confirm. You can still terminate or delete a committed cluster before the term ends. You paid for the whole term at the start, so the remaining days are not refunded.

A committed cluster keeps the size you bought: you cannot scale it up or down, or convert it again. Size the cluster on On-Demand first, confirm that the queue is consistently busy, and then commit. For the steps, see Convert a cluster to committed.

A Slurm Cluster built on a TIR Private Cluster draws its nodes from that cluster’s reserved pool instead of shared on-demand inventory. It is billed as part of your private cluster plan, which covers the Slurm Cluster’s nodes. Ask for at most as many nodes as are free in the reserved pool; a larger request is refused.

Situation Choose
Evaluating, or a one-off experiment On-Demand
A project with a fixed end date A savings plan that matches the duration
Steady training demand over several months Convert to Committed, once the size is settled
Frequent create and delete cycles, or capacity you must have A TIR Private Cluster

A Parallel File System, a Shared File System, and a dataset are each billed independently of the cluster. Terminating a cluster unmounts its volumes and keeps them, so your data survives. The volumes keep billing until you delete them yourself under Storage in the TIR sidebar. Volumes left behind this way are the most common source of unexpected charges on a Slurm Cluster, so check your volumes whenever you tear a cluster down.

Container squash files and checkpoints are the usual reason a volume grows faster than you expect. To see what is using space, run du -sh /shared/* on the login node, replacing /shared with your mount path.

  • Terminate a cluster once its work is done. This saves the most, because terminating is the only way to stop compute billing.
  • Size the cluster to the queue. An idle node costs the same as a busy one.
  • Check GPU utilization on the first run of a new job script. A job that completes at 15% utilization costs the same as one at 95%, and takes far longer. See Monitor a cluster.
  • Scale down after a burst of work.
  • Cache container images, so that 16 array tasks start from one cached copy of a 15 GB image instead of each pulling it on paid GPU time.
  • Set a Max time on your partitions, so a hung job ends and frees its GPUs when the limit is reached. See Manage partitions.
  • Delete old checkpoints and squash files, because storage bills until you delete it.
  • Attach a utilization alert, so you hear about a cluster that nobody is using.
  • Clone rather than keep a cluster idle between bursts of work.

To do that, terminate the cluster when a burst of work ends. The record stays at Terminated, and Clone Cluster starts a create form pre-filled from it, so you keep the configuration and pay no compute charges in between. Partitions name the original cluster’s own nodes, so add them again after each clone. See Clone a cluster.

Billing & Usage in the account menu at the top right shows usage and invoices for your account, with cluster and storage charges listed separately. The E2E pricing calculator helps you compare plans before you create anything.