Tools, like any other software, have their own CPU and memory requirements. Having a tool execute on an instance that does not provide adequate resources may cause that tool to run much slower than usual or to fail.
Other tools require few resources and use only a very small fraction of an instance’s available computational resources. In this case, it makes sense to run several jobs on a single instance at the same time. Doing so not only lets the workflow complete faster, but may also quite significantly lower its cost.
Because tool resource requirements are crucial for scheduling tool executions, every tool is expected to specify the resources it requires when a job is run. These parameters are already specified for tools available in Public Apps, and it is up to you to specify them for tools you upload to the Platform. If you do not specify resource requirements for the tools you upload to the Platform, default tool resource requirements will be used.
If you are a tool developer, you can specify your tool's resource requirements in the visual interface.
You can also specify these requirements via the API. For more information on setting these and other hints in general, read more about setting hints at tool level using the API.
If a tool for any reason does not have its resource requirements specified, the Platform will assign it the default of 1 CPU core and 1024 MB of RAM.
Updated less than a minute ago