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 |
Default |
How to customize |
Details |
Region of Workflow VM | us-central1 |
runtime { |
To learn more about available regions, see Google's documentation about regions and zones. |
Zone of Workflow VM | us-central1-b |
runtime { |
To learn more about available zones, see Google's documentation about regions and zones. |
CPU | 1 |
runtime { |
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 { |
|
memory | 2G |
runtime { |
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 { |
You can specify HDD or SSD disks. |
bootDiskSizeGb | 10GB |
runtime { |
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 { |
For more details on saving costs with preemptible VMs, see Controlling cloud costs - sample use cases. |
GPUs | not used by default |
runtime { |
For more details on GPUs, see Why and how to use GPUs when running a workflow. |