Portaldocs
Reference

Settings

Every setting of a workspace and every policy, with its default, and where each one is changed.

Warnings and limits

  • Only an Owner changes settings, in the console's Settings, with a Clusy sign-in from the last 5 minutes. On hosted Portal, portal settings KEY VALUE and agents cannot change them.
  • A change of policy applies to every job from its next check; encrypt_capsules applies to jobs created after the change.
  • Settings that run Portal's storage and node images are its operators' and are not listed here.
  • A job's own flags and its project's portal.yaml take precedence over these defaults for that job.

Read and change

portal settings
portal settings spot.on

portal settings shows the workspace's settings, and portal settings KEY one of them. To change one, an Owner opens Settings in the console: Policies holds the policies, Controller the rest.

For one job, use portal run flags (--no-cheaper, --policy idle.after_min=60) or a portal.yaml in the project, which holds the same policy object at its top level or under policy::

cheaper:
  on: false
idle:
  after_min: 60

All settings

The tables below are generated from Portal's code.

Policies

SettingKindDefaultWhat it does
spot.onon or offtrueCheckpoint and suspend a job when its spot or preemptible machine gets a notice.
spot.exclude_minminutes30How long a pool that reclaimed a machine is left out of new placements.
spot.move_when_overon or offtrueMove a job running on spot to an on-demand machine once its measured state is above what its machine's notice can save. A job pinned to an exact spec is warned instead.
spot.rebalanceon or offtrueMove a job whose measured state is above what its notice can save off its machine as soon as EC2 recommends rebalancing, usually minutes before the notice. A job whose state fits waits for the notice. Every recommendation is recorded with what followed it.
landingone of serverless, same, cheapestserverlessHow Portal ranks destinations when it finishes an interrupted move or resume itself: serverless (offers that boot in under 30 s first), same (the machine type the job ran on) or cheapest. It never chooses where a suspended job resumes: you do.
return.onon or offtrueLook for spot offers while a job runs on a machine that is not spot, and move there when one qualifies.
return.min_saving_pctpercent20The smallest saving, in percent of the current price, that makes a return worth a move.
return.min_saving_x_movenumber3.0The saving must be at least this many times the move's own cost.
return.every_minminutes10How often a job looks for a spot offer to return to.
return.cooldown_minminutes30How long after a move a job waits before it looks again.
oom.onon or offtrueCheckpoint and suspend a job whose process runs out of memory, when the failure is recoverable.
oom.gpu_memory_xfactor1.5Kept with the policy; Portal does not use it to pick a machine (you choose the larger machine when you resume).
cheaper.onon or offtrueLook for cheaper offers while a job runs, and move there when one qualifies.
cheaper.min_saving_pctpercent20The smallest saving, in percent of the current price, that makes a move worth it.
cheaper.min_saving_x_movenumber3.0The saving must be at least this many times the move's own cost.
cheaper.every_minminutes10How often a job looks for a cheaper offer.
cheaper.cooldown_minminutes30How long after a move a job waits before it looks again.
lifetime.onon or offtrueCheckpoint and suspend a job before a provider's fixed time limit ends its machine.
lifetime.margin_minminutes30How long before the limit the checkpoint starts.
rightsize.modeone of on_move, active, offon_moveSize CPU and memory from the job's observed peaks: on_move (at a move), active (also moves to resize) or off.
rightsize.headroom_xfactor1.3Headroom over the observed peak when sizing.
rightsize.min_saving_pctpercent20The smallest saving that makes an active resize worth a move.
rightsize.every_minminutes10How often an active resize looks.
budget.onon or offtrueEnforce a job's budget when it has one.
budget.usdUS dollarsnoneA default budget in US dollars for jobs that set none (none by default).
budget.actionone of suspend, stopsuspendWhat a spent budget does: suspend or stop.
budget.margin_minminutes2How early the budget acts: this long at the machine's price before the budget is reached.
idle.onon or offtrueAct on a job that has been idle.
idle.after_minminutes30How long without progress or CPU use counts as idle.
idle.actionone of suspend, stopsuspendWhat idleness does: suspend or stop.
idle.cpu_percentnumber5.0CPU use, in percent of one core, below which a job counts as idle.
ttl.onon or offtrueStop a job after a total running time.
ttl.hoursnumber72.0The running time after which a running job is stopped; time suspended does not count toward it. A suspended job ends this many hours after its creation on the clock, its checkpoint kept 7 days for a resume to continue it.

Workspace settings

SettingDefaultWhat it does
r2_regionaltrueUse the regional storage locations for checkpoints when a closer one exists.
modal_planstarterYour Modal plan (starter, team or enterprise), which sets the egress allowance Portal's cost model applies.
encrypt_capsulestrueEncrypt each job's checkpoints with a key of its own. Decided when a job is created.
baselineawsThe provider whose on-demand offer a plan shows beside the quotes, as a reference (when it is connected).
gcp_regionsnoneThe Google Cloud regions Portal may place jobs in (none set: Portal's default list).
gcp_max_run_h24.0The hard limit, in hours, on a Google Cloud machine's life.
gcp_preemption_notice_s120The termination notice Portal asks Google Cloud for on spot machines, in seconds.
capture_probeonThe checkpoint check at a job's first pause point and then every capture_probe_every_min: on checks whether a checkpoint could carry the job's state without saving anything (5 s in all; a pause asked for meanwhile is taken at once), full also rehearses a real checkpoint on the machine's disk (deleted after) and reports its size and time, on on-demand machines only (on spot the check runs without it), off skips it. A job's env PORTAL_CAPTURE_PROBE overrides it for that job.
capture_probe_every_min10How often, in minutes, the checkpoint check repeats while a job runs.

On this page