Appearance
systemslab infra estimate
| Description | Estimate what a planned submission would cost, from historical run durations and current EC2 pricing — budget against the on-demand high figure. |
|---|---|
| Usage | systemslab infra estimate [OPTIONS] --experiment-name <NAME> --host-count <N> |
Description
The systemslab infra estimate command answers "roughly what would this cost?" for a planned submission, before anything launches: it multiplies the median completed-run duration for --experiment-name by the current price of --host-count hosts of the candidate instance type(s).
Use the on-demand high figure to budget against, printed as On-demand cost (BUDGET FIGURE). When more than one --instance-type is given, both cost figures widen into a range: the low end is only true if the cheapest candidate happens to be the one that actually launches, and nothing behind this command chooses that — the infrastructure manager does, at launch time, based on capacity and configured allocation policy. The spot figure is informational only: spot capacity is not guaranteed and its price moves, so it is never a number to commit a budget against.
Duration, on-demand price, and spot price are three independent kinds of "I don't know," and none of them are ever collapsed into a fabricated $0.00:
- No completed run history for
--experiment-name→Duration: unknown. - A candidate priced on one market but not the other → that market's cost line reads
unknownwhile the other still reports a number. - A candidate never priced anywhere → both cost lines read
unknown, and it counts towardUnpriced instance types.
This is a run-time estimate at today's prices, not a forecast and not a bill: it excludes queue wait and provisioning time, and does not account for prices changing before the work actually runs.
This command reads over the REST API (there is no GraphQL field for it).
Output
The command prints, in order: Region (the priced region); Duration (the median completed-run duration behind the estimate, with its sample size, or why it is unknown); On-demand cost (labeled (BUDGET FIGURE) — for a range, the high end is called out specifically as the figure to budget against); Spot cost (labeled "informational only, not a budget figure"); Priced candidates (one line per instance-type/market/$/hr this estimate could price); and Unpriced instance types (a count of named candidates with no price in either market).
systemslab submit --budget prints this exact same breakdown before deciding whether to proceed — see systemslab submit.
Examples
sh
systemslab infra estimate --experiment-name my-benchmark --host-count 4 --instance-type m5.large --instance-type m6i.largeOptions
| Option | Default | Description |
|---|---|---|
--experiment-name | The experiment name whose completed run history should drive the duration estimate — the exact name the planned submission will run under. Required. | |
--host-count | How many hosts the planned submission would launch. Required. | |
--instance-type | Candidate instance type(s) to price this submission against. This flag can be provided multiple times to name more than one — naming more than one widens the cost figures into a range. Omit it to price against every instance type this deployment has ever priced in --region. | |
--region | The AWS region to price against. Defaults to this deployment's configured infrastructure region; the server rejects the request if this deployment has no such configuration and no region was given. |
Common Options
| Option | Default | Description |
|---|---|---|
--systemslab-url | The URL at which to access the systemslab server. | |
--color | auto | Controls when color is used in the output. Possible values are auto, always, and never. |
--output-format | long | Output format to use when outputting messages. long will result output designed to be human-readable while short is short output meant to be used within scripts. |
Environment Variables
| Variable | Description |
|---|---|
SYSTEMSLAB_URL | Specify the URL used to contact the SystemsLab server. Equivalent to --systemslab-url. |