Feature #18180

Ability to control use of spot instances on a per-workflow and step level

Added by Peter Amstutz 8 months ago. Updated about 2 months ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Crunch
Target version:
Start date:
03/17/2022
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Story points:
-
Release relationship:
Auto

Description

  • container_request scheduling_parameter['preemptible'] doesn't have to match the setting of the cluster
  • ability to choose spot instances when submitting workflow with arvados-cwl-runner
    • --enable-preemptible --disable-preemptible
    • gets passed through to the arvados-cwl-runner leader instance
  • --disable-preemptible opts out for whole workflow (overrides)
  • --enable-preemptible opts in for the whole workflow
  • Individual steps can opt out if preemptible is enabled

Subtasks

Task #18823: review 18180-cwl-spotResolvedPeter Amstutz


Related issues

Related to Arvados Epics - Story #18179: Better spot instance supportNew03/01/202207/31/2022

History

#1 Updated by Peter Amstutz 8 months ago

  • Category set to Crunch
  • Description updated (diff)

#2 Updated by Peter Amstutz 8 months ago

  • Related to Story #18179: Better spot instance support added

#3 Updated by Peter Amstutz 3 months ago

  • Target version set to 2022-03-16 sprint
  • Description updated (diff)

#4 Updated by Peter Amstutz 3 months ago

  • Assigned To set to Peter Amstutz

#5 Updated by Peter Amstutz 2 months ago

  • Subject changed from Ability to control use of spot instances on a per-workflow basis to Ability to control use of spot instances on a per-workflow and step level

#6 Updated by Peter Amstutz 2 months ago

  • Description updated (diff)

#7 Updated by Peter Amstutz 2 months ago

  • Release set to 46

#8 Updated by Peter Amstutz 2 months ago

  • Target version changed from 2022-03-16 sprint to 2022-03-30 Sprint

#9 Updated by Peter Amstutz 2 months ago

18180-cwl-spot @ 0ffd9efd1c9e088ec713e2303012463465008d40

developer-run-tests: #2968

  • Adds --enable/disable-preemptible command line options
  • Adds arv:UsePreemptible hint
  • Adds tests

#11 Updated by Lucas Di Pentima 2 months ago

Code looks good to me. Here're my doc-related comments:

  • Files arv-cwl-schema*.yml: The fields.class.doc keys seems to need fixing. (Copy&pasted content from other extension?)
  • Documentation at /admin/spot-instances.html might need some update: "When UsePreemptibleInstances is enabled, child containers (workflow steps) will automatically be made preemptible..."
  • I think the doc pages /user/cwl/cwl-runner.html & /user/cwl/cwl-run-options.html could also need some updates regarding this new feature.

#12 Updated by Peter Amstutz 2 months ago

Lucas Di Pentima wrote:

Code looks good to me. Here're my doc-related comments:

  • Files arv-cwl-schema*.yml: The fields.class.doc keys seems to need fixing. (Copy&pasted content from other extension?)

Fixed.

  • Documentation at /admin/spot-instances.html might need some update: "When UsePreemptibleInstances is enabled, child containers (workflow steps) will automatically be made preemptible..."

Added more text about it.

  • I think the doc pages /user/cwl/cwl-runner.html & /user/cwl/cwl-run-options.html could also need some updates regarding this new feature.

Updated cwl-run-options and cwl-style.

While I was at it, I also improved the formatting of cwl-style a bit.

18180-cwl-spot @ f21f62d680e200d113d6fd700db743e702e96602

#13 Updated by Lucas Di Pentima 2 months ago

LGTM, thanks!

#14 Updated by Peter Amstutz 2 months ago

  • Status changed from New to Resolved

#15 Updated by Ward Vandewege 2 months ago

I noticed that the "Scheduling parameters" section at doc/api/methods/containers.html says

key type description notes
preemptible boolean If true, the dispatcher will ask for a preemptible cloud node instance (eg: AWS Spot Instance) to run this container. Optional. Default is false.

Isn't that default more subtle now, depending on the cluster configuration?

Also available in: Atom PDF