amazon-genomics-cli icon indicating copy to clipboard operation
amazon-genomics-cli copied to clipboard

Support ARM based instance types or document that they cannot be used

Open AsierGonzalez opened this issue 1 year ago • 1 comments

Description

I only discovered that ARM based instance types are not supported when I tried to deploy a context with M6g machines and it failed with the following error message:

2022-08-09T15:17:02+02:00 𝒊  /home/asier/.agc/cdk/lib/util/instance-types.ts:181
2022-08-09T15:17:02+02:00 𝒊        throw new Error("ARM based instance type is not supported in Amazon Genomics CLI");
2022-08-09T15:17:02+02:00 𝒊              ^
2022-08-09T15:17:02+02:00 𝒊  Error: ARM based instance type is not supported in Amazon Genomics CLI
2022-08-09T15:17:02+02:00 𝒊      at Object.exports.getInstanceTypesForBatch (/home/asier/.agc/cdk/lib/util/instance-types.ts:181:13)
2022-08-09T15:17:02+02:00 𝒊      at Batch.renderComputeEnvironment (/home/asier/.agc/cdk/lib/constructs/batch.ts:222:24)
2022-08-09T15:17:02+02:00 𝒊      at new Batch (/home/asier/.agc/cdk/lib/constructs/batch.ts:115:36)
2022-08-09T15:17:02+02:00 𝒊      at BatchConstruct.renderBatch (/home/asier/.agc/cdk/lib/stacks/engines/batch-construct.ts:75:12)
2022-08-09T15:17:02+02:00 𝒊      at new BatchConstruct (/home/asier/.agc/cdk/lib/stacks/engines/batch-construct.ts:51:33)
2022-08-09T15:17:02+02:00 𝒊      at ContextStack.renderBatchStack (/home/asier/.agc/cdk/lib/stacks/context-stack.ts:225:12)
2022-08-09T15:17:02+02:00 𝒊      at ContextStack.renderCromwellStack (/home/asier/.agc/cdk/lib/stacks/context-stack.ts:94:29)
2022-08-09T15:17:02+02:00 𝒊      at new ContextStack (/home/asier/.agc/cdk/lib/stacks/context-stack.ts:58:14)
2022-08-09T15:17:02+02:00 𝒊      at Object.<anonymous> (/home/asier/.agc/cdk/apps/context/app.ts:23:1)
2022-08-09T15:17:02+02:00 𝒊      at Module._compile (node:internal/modules/cjs/loader:1092:14)
2022-08-09T15:17:02+02:00 𝒊  Subprocess exited with error 1
2022-08-09T15:17:02+02:00 ✘  Failed to deploy context 'M6gonDemandCtxCromwell'. Below is the log for that deployment

Are there plans to support them in future releases?

At least it would be nice to clearly mention that they are not supported at the moment. I could not find any information about the supported instance types either in the AGC documentation or on GitHub.

Use Case

I am exploring ARM based instances as an alternative to equivalent VMs that use Intel processors.

AsierGonzalez avatar Aug 09 '22 13:08 AsierGonzalez

ARM based instances for workflow "worker nodes" could be done in theory. The containers used for workflow runs would need to be based on ARM (rather than X68_64). The images we use for workflow engines are based on X86 so they would need to run in X86 machines (or we would have to build alternatives).

We would have to investigate if the CDK code we use follows the InstanceType information from the context definition in the agc-project.yaml. There's actually no reason for it to do this so we could in theory have a workflow compute environment based on graviton instances and an engine compute environment based on small X86 instances.

markjschreiber avatar Aug 31 '22 16:08 markjschreiber