Default runtime attributes for workflow submissions

Jason Cerrato
  • Updated

Runtime attributes can be configured within a WDL's task block, but if no value is specified for any one of the customizable attributes, your task will run with the default runtime attribute value. The chart below shows the defaults for each runtime attribute, and how to customize it to a value of your choice.

Terra supports the following CPU platforms

  • Intel Cascade Lake (n2)
  • Intel Skylake (n1)
  • Intel Broadwell (n1)
  • Intel Haswell (n1)
  • Intel Ivy Bridge (n1)
  • Intel Sandy Bridge (n1)
  • AMD Rome (n2d)

Terra requests a custom Google virtual machine (VM) based on your specification. Please see the notes for CPU and memory to learn how Google interprets your resource request. See Google's Compute Engine machine family documentation for more information about their machine families and rules for custom machines.

For more detailed information on the runtime attributes, please see Cromwell's Runtime Attribute Descriptions documentation.

Runtime attribute


How to customize 


Region of Workflow VM us-central1

runtime {
    zones: "us-east1-c

To learn more about available regions, see Google's documentation about regions and zones.

Zone of Workflow VM us-central1-b

runtime {
    zones: "us-central1-c us-central1-f"

To learn more about available zones, see Google's documentation about regions and zones.

runtime {
    cpu: 2

Google Cloud interprets this as the minimum number of cores to use. If you request more memory than your CPU resource request can handle, Google automatically bumps up to the appropriate number of CPUs.

n1 machines can have 1-6.5 GB of memory per CPU.

n2 and n2d machines can have 0.5-8 GB of memory per CPU.


For more details on CPU quotas, see How to troubleshoot and fix stalled workflows.

cpuPlatform Whichever variety of CPU Platform n1 machine Google has available at time of request

runtime {
    cpuPlatform: "Intel Cascade Lake"


memory 2G

runtime {
    memory: "4G"

Google Cloud interprets this as the minimum amount of memory to use. If you request more CPUs than makes sense for your memory request, Google automatically bumps up to the appropriate amount of memory. Example: You cannot request 8 CPUs and 1 GB memory, since each CPU needs between 1-6.5 GB of memory.

disks 10GB SSD

runtime {
    disks: "local-disk 100 HDD"

You can specify HDD or SSD disks. 
bootDiskSizeGb 10GB

runtime {
    # Yikes, we have a big OS in this docker image! Allow 50GB to hold it:
    bootDiskSizeGb: 50

It's important that your boot disk is large enough for your Docker image.
maxRetries 0 runtime {
    maxRetries: 3
This is independent of your preemptible count. This is also required to use the out of memory retry option.
preemptible 0

runtime {
    preemptible: 1

For more details on saving costs with preemptible VMs, see Controlling cloud costs - sample use cases.
GPUs not used by default

runtime {
      gpuType: "nvidia-tesla-k80"
      gpuCount: 2
      nvidiaDriverVersion: "418.87.00"
      zones: ["us-central1-c"]

For more details on GPUs, see Why and how to use GPUs when running a workflow.


Was this article helpful?

1 out of 1 found this helpful



Please sign in to leave a comment.