Project

General

Profile

Actions

Feature #18180

closed

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

Added by Peter Amstutz over 2 years ago. Updated about 2 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Crunch
Target version:
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 1 (0 open1 closed)

Task #18823: review 18180-cwl-spotResolvedPeter Amstutz03/17/2022Actions

Related issues

Related to Arvados Epics - Idea #18179: Better spot instance supportIn Progress03/01/202203/31/2024Actions
Actions #1

Updated by Peter Amstutz over 2 years ago

  • Category set to Crunch
  • Description updated (diff)
Actions #2

Updated by Peter Amstutz over 2 years ago

  • Related to Idea #18179: Better spot instance support added
Actions #3

Updated by Peter Amstutz about 2 years ago

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

Updated by Peter Amstutz about 2 years ago

  • Assigned To set to Peter Amstutz
Actions #5

Updated by Peter Amstutz about 2 years 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
Actions #6

Updated by Peter Amstutz about 2 years ago

  • Description updated (diff)
Actions #7

Updated by Peter Amstutz about 2 years ago

  • Release set to 46
Actions #8

Updated by Peter Amstutz about 2 years ago

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

Updated by Peter Amstutz about 2 years ago

18180-cwl-spot @ 0ffd9efd1c9e088ec713e2303012463465008d40

developer-run-tests: #2968

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

Updated by Lucas Di Pentima about 2 years 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.
Actions #12

Updated by Peter Amstutz about 2 years 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

Actions #13

Updated by Lucas Di Pentima about 2 years ago

LGTM, thanks!

Actions #14

Updated by Peter Amstutz about 2 years ago

  • Status changed from New to Resolved
Actions #15

Updated by Ward Vandewege about 2 years 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?

Actions

Also available in: Atom PDF