Project

General

Profile

Actions

Feature #20978

closed

Support multiple candidate instance types to assign containers

Added by Peter Amstutz about 1 year ago. Updated 12 months ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Crunch
Story points:
3.0
Release relationship:
Auto

Description

Arvados InstanceTypes list will include all instance types across all availablity zones that we might possibly want to use.

Containers have a set of candidate instance types instead of a single one, this is based on finding the cheapest instance type and any instance types that are within 1.5x (configurable?) cost of the cheapest type. This list of candidates will be sorted in ascending order by cost.

Launching a container will first check if there is an idle instance of any of the candidate instance types.

If none are available, it will next try to start a new instance. It will start with the cheapest and try to launch it in each configured subnet. If it is not available in any subnet, then try the next candidate instance type and so on.

If there is an error that states an instance type is unknown / never available (which is distinct from a "not available due to capacity" error) we should cache the result. Alternately, we can use the AWS API to find which instance types are available in a given subnet/availability zone and use that. Or we can skip this optimization entirely.

Example command line call to get instance types in a given availability zone:

aws ec2 describe-instance-type-offerings --filters "Name=location,Values=us-east-1e" --location-type availability-zone --region us-east-1

Which presumably corresponds to this:

https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypeOfferings.html


Subtasks 1 (1 open0 closed)

Task #21066: Review 20978-instance-typesIn ProgressTom Clegg10/31/2023Actions

Related issues

Related to Arvados Epics - Idea #20599: Scaling to 1000s of concurrent containersResolved06/01/202303/31/2024Actions
Related to Arvados Epics - Idea #18179: Better spot instance supportIn Progress03/01/202206/30/2024Actions
Related to Arvados - Feature #20983: Tool to automatically populate Arvados InstanceTypesNewBrett SmithActions
Related to Arvados - Feature #21175: Do not retry after "unsupported instance type" EC2 errorsNewActions
Related to Arvados - Feature #16316: a-c-r handles resource range requests (especially CPU) and adjusts requests based on what is in InstanceTypes listIn ProgressActions
Actions

Also available in: Atom PDF