November 02, 2026
A job finishing, a machine stopping, and a resource being deleted are three separate events, and the charges around a GPU run attach to resources rather than to the job. When a training script exits, the container, server, or cluster it ran on is not removed along with it, while attached resources such as a public IP, and any prepaid term, follow their own end dates. On GMI Cloud's GPU infrastructure, each deployment form has a defined end-of-life action: a pay-as-you-go container is terminated, a bare-metal server or a managed cluster (in early access) is deleted from its list, and an Elastic IP is released on its own. Cost control after a run is therefore a short, ordered teardown of whatever the next run will not use.
Container and bare-metal rows in the console open their orders through View Order, which shows the order number, billing method, status, and amount, and the Orders page under Billing and Usage keeps the full history. Teardown and reconciliation happen in the same place, which makes it practical to compare container, bare-metal, and managed-cluster costs on one account after the work is done, not only on the quote.
| Event | Container | Bare metal | Managed cluster |
|---|---|---|---|
| Job exits | Does not terminate the container | Does not stop or delete the server | Does not remove worker nodes |
| Machine-level action | Restart, Reconfigure (erases container data) | Stop, Start, Reboot, PowerCycle | Cluster-level actions: open, delete |
| Resource removed | Terminate (pay as you go) | Delete | Delete (status shows Deleting) |
| Billing method | Pay as you go or prepaid plan | Set in the server's order | Pay as you go (by the minute) or prepaid |
| Items to review separately | Elastic IP, firewall, any external storage | Elastic IP, firewall, VPC | Storage and network resources configured for it |
Only the actions in the "Resource removed" row take a resource off the account; stop, restart, and reboot leave it in place under its order.
A pay-as-you-go container runs without an end date, and its More actions menu terminates it whenever you choose. A job's exit does not terminate it, and the container stays on the account under its pay-as-you-go order until it is terminated. When nothing else is planned for that container, terminating it soon after the job exits closes the gap.
A prepaid container runs for its rental period, and terminating it early is not part of a prepaid plan. Its cost is fixed when the plan is bought, so the decision that matters comes at renewal. Renew Plan offers extensions from one day to three years and shows the new end time and price before payment; extend only when the next run is scheduled, and to the shortest period that covers it.
Reconfiguring a container permanently erases the data stored inside it. Copy outputs and checkpoints to persistent storage before any reconfigure or terminate step, so cleanup never forces a choice between keeping data and ending the charge.
The Bare Metals page offers Stop, Start, Reboot, and PowerCycle, plus delete. Stopping powers the server down while it stays provisioned to your organization under its order, ready to start again. Deleting removes the server from the account, so for a server the next run will not use, delete is the end-of-life action.
Ending a job does not by itself remove a managed cluster's worker nodes, which belong to the cluster rather than to the job. A pay-as-you-go cluster is charged by the minute with no upfront cost, so a cluster with no work planned for the weekend is one to delete on Friday. A prepaid cluster is billed for its term. The cluster list shows each cluster's billing method next to its node count and status.
An Elastic IP is billed pay as you go, by the minute, from allocation until it is released, whether it is associated with an instance or not. Terminating a container does not release its Elastic IP, and disassociating an address returns it to the account in a Disassociated state, still allocated. Release is the step that ends billing for the address.
There are two paths to that step. While a container is still running, its networking comes off from the container's detail page in a fixed order: firewall first, then the Elastic IP. After a container has been terminated, open the Elastic IP page, disassociate the leftover address if it still shows as associated, and release it there. A released address goes back to the pool and is unlikely to come back on a new allocation, so release only addresses that no client or DNS record depends on.
Firewalls are configuration objects scoped to one data center, and a firewall can be deleted only once no instance is associated with it. Deleting unused custom firewalls keeps the next teardown audit short and keeps an old rule set from being attached to a new instance by mistake.
The pricing page treats compute as the GPU price, with networking and storage set up per workload as separate items. Treat each storage volume or network resource configured for the workload as its own line in the teardown review, kept or removed on its own decision rather than by default with the GPU resource. An Elastic IP's bandwidth specification is chosen at allocation, together with the address.
The timeline below uses assumed times to show which resources are still on the account, with no prices attached. Assume a pay-as-you-go container with one Elastic IP and an external checkpoint volume:
Two gaps follow the job in this example: the container stayed up for 90 minutes after the exit, and the Elastic IP stayed allocated for 18 hours 20 minutes, from the exit to Tuesday's release, a span that includes those 90 minutes. Both shrink when teardown is part of the job script and the run plan names, in advance, which attached resources stay.
With the same job on a pay-as-you-go managed cluster, the timeline comes down to one decision: delete the cluster once no further work is planned for its nodes. On a prepaid cluster, the equivalent control is sizing the term to the planned work before buying it.
Run these steps in order after the last job of a run:
Keep the Elastic IP allocated and associate it with the next instance when the run starts. It stays billed by the minute while allocated, which is the cost of a stable address. The next instance has to be in the same data center as the address, because only instances in that data center appear as association targets.
Renew when the next run is on the calendar, and pick the shortest extension that covers it. Renewal can be done at any time while the container is running, and the Renew page shows the new end time and price before payment. Renewing before the current end time keeps the container running without interruption.
When the next run is planned, decide up front which resources are per-run and which persist, and pick billing methods to match: pay as you go for per-run containers and clusters, prepaid or committed capacity for steady work. To set this up, sign in to the GMI Cloud console, or talk to our sales team about prepaid and committed terms sized to your schedule.
Colin Mo
GMI Cloud helps you architect, deploy, optimize, and scale your AI strategies
