Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for compute-intensive machines in additional worker pool #1685

Open
2 of 10 tasks
a-thaler opened this issue Jan 27, 2025 · 4 comments
Open
2 of 10 tasks

Support for compute-intensive machines in additional worker pool #1685

a-thaler opened this issue Jan 27, 2025 · 4 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Comments

@a-thaler
Copy link

a-thaler commented Jan 27, 2025

Description
As part of kyma-project/kyma#18769 new compute-intensive machine families should be suported, which for now are only configurable in additional worker pools, not in the default pool.

Current proposal is to get started with these types:
AWS: C7i
GCP: c2d-high-cpu
Azure: fsv2

The machine families are documented in the linked ticket.

Phase 1)

Phase 2) After additionalWorkers story is on prod

  • add to create/update schema new machine for all plans, aws, gcp, azure, azure_lite
  • document new machine types + document regions which are not supported
  • check with SRE if subscriptions quotas are updated
  • deploy
    • dev
    • stage
    • prod
@PK85 PK85 added kind/feature Categorizes issue or PR as related to a new feature. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jan 28, 2025
@a-thaler
Copy link
Author

a-thaler commented Feb 7, 2025

I checked the availability of the families in the regions:

AWS C7i - ✅
eu-central-1 - ✅
eu-west-2 - ✅
ca-central-1 - ✅
sa-east-1 - ✅
us-east-1 - ✅
us-west-1 - ✅
ap-northeast-1 - ✅
ap-northeast-2 - ✅
ap-south-1 - ✅
ap-southeast-1 - ✅
ap-southeast-2 - ✅
us-west-2(12.2024) - ✅

GCP c2d-high-cpu - ❌
europe-west3 - ✅
asia-south1 - ✅
us-central1 - ✅
me-central2 - ❌
asia-northeast2 - ❌
me-west1(20.06.2024) - ❌
southamerica-east1(07.2024) - ❌
australia-southeast1(07.2024) - ❌
asia-northeast1(03.2025) - ❌
asia-southeast1(03.2025) - ✅
us-west1(03.2025) - ✅
us-east4(03.2025) - ✅

Azure fsv2 - ✅

eastus - ✅
centralus - ✅
westus2 - ✅
uksouth - ✅
northeurope - ✅
westeurope - ✅
japaneast - ✅
southeastasia - ✅
australiaeast - ✅
switzerlandnorth - ✅
brazilsouth - ✅
Canadacentral - ✅

@PK85
Copy link

PK85 commented Feb 10, 2025

We will do validation on KEB side. GCP plan will reject if X regions will comes and return regions where machine type is available.

@KsaweryZietara
Copy link
Contributor

KsaweryZietara commented Feb 11, 2025

Machine types from 2 to 64 cpu:

AWS C7i

Machine type vCPU Memory (GiB) Display name
c7i.large 2 4 c7i.large (2vCPU, 4GB RAM)
c7i.xlarge 4 8 c7i.xlarge (4vCPU, 8GB RAM)
c7i.2xlarge 8 16 c7i.2xlarge (8vCPU, 16GB RAM)
c7i.4xlarge 16 32 c7i.4xlarge (16vCPU, 32GB RAM)
c7i.8xlarge 32 64 c7i.8xlarge (32vCPU, 64GB RAM)
c7i.12xlarge 48 96 c7i.12xlarge (48vCPU, 96GB RAM)
c7i.16xlarge 64 128 c7i.16xlarge (64vCPU, 128GB RAM)

GCP C2D high-cpu

Machine type vCPUs Memory (GB) Display name
c2d-highcpu-2 2 4 c2d-highcpu-2 (2vCPU, 4GB RAM)
c2d-highcpu-4 4 8 c2d-highcpu-4 (4vCPU, 8GB RAM)
c2d-highcpu-8 8 16 c2d-highcpu-8 (8vCPU, 16GB RAM)
c2d-highcpu-16 16 32 c2d-highcpu-16 (16vCPU, 32GB RAM)
c2d-highcpu-32 32 64 c2d-highcpu-32 (32vCPU, 64GB RAM)
c2d-highcpu-56 56 112 c2d-highcpu-56 (56vCPU, 112GB RAM)

Azure Fsv2

Machine type vCPUs Memory (GB) Display name
Standard_F2s_v2 2 4 Standard_F2s_v2 (2vCPU, 4GB RAM)
Standard_F4s_v2 4 8 Standard_F4s_v2 (4vCPU, 8GB RAM)
Standard_F8s_v2 8 16 Standard_F8s_v2 (8vCPU, 16GB RAM)
Standard_F16s_v2 16 32 Standard_F16s_v2 (16vCPU, 32GB RAM)
Standard_F32s_v2 32 64 Standard_F32s_v2 (32vCPU, 64GB RAM)
Standard_F48s_v2 48 96 Standard_F48s_v2 (48vCPU, 96GB RAM)
Standard_F64s_v2 64 128 Standard_F64s_v2 (64vCPU, 128GB RAM)

@KsaweryZietara
Copy link
Contributor

KsaweryZietara commented Feb 11, 2025

I will introduce a new field, regionsSupportingMachine, in the configuration. This map will specify machine types families that are not universally supported across all regions. If a machine type family appears in this list, it is only available in the explicitly defined regions.

Real configuration:

regionsSupportingMachine: |-
  c2d-highcpu:
    - europe-west3
    - asia-south1
    - us-central1

Sample configuration:

regionsSupportingMachine: |-
  m8g:
    - ap-northeast-1
    - ap-southeast-1
    - ca-central-1
  c2d-highmem:
    - us-central1
    - southamerica-east1
  Standard_L:
    - uksouth
    - japaneast
    - brazilsouth

How the algorithm will check the machine type:

  1. Check if the machine type passed in provisioning or update request matches an entry in the regionsSupportingMachine map.
  2. If the machine type family prefix is not present in regionsSupportingMachine, assume it is universally available and proceed with processing.
  3. If the machine type family prefix is in regionsSupportingMachine, retrieve the list of supported regions for that machine type family.
  4. Compare the requested region against the list of supported regions:
  • If the region is in the list, allow processing.
  • If the region is not in the list, reject the request with an appropriate error message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

No branches or pull requests

3 participants