文档

自定义CPU选项

更新时间:

一个ECI Pod(即ECI实例)的CPU选项由CPU物理核心数和每核线程数决定。根据您创建ECI Pod的方式,部分ECI Pod支持自定义CPU选项。

功能说明

基于英特尔的超线程HT(Hyper-Threading)技术,ECI允许在一个物理核上并发运行两个线程,一个线程可以视为一个vCPU,vCPU=CPU物理核心数*每核线程数。

如下表所示,对于一台ECI实例,CPU选项由CPU物理核心数和每核线程数决定。根据您创建ECI实例的方式,部分ECI实例支持自定义CPU选项(CPU Options)。

说明

自定义CPU选项不会产生额外计费。

CPU选项

作用

适用场景

CPU物理核心数

决定启用的CPU物理核心数。

减少启用的CPU物理核心数可以减少vCPU数,进而可以获得更高的内存配比,同时降低软件许可费用支出。

每核线程数

决定CPU是否开启超线程。

支持自定义CPU选项的ECS规格默认开启了超线程(即每核线程数不为1),可以应对常见的工作负载。在以下场景下,您可以考虑关闭超线程:

  • 部分HPC业务场景下,关闭超线程可能获得更好的性能表现。

  • 内存密集型业务场景下,关闭超线程可以减少vCPU数,进而可以获得更高的内存配比,同时降低软件许可费用支出。

仅指定ECS规格创建ECI实例时,支持自定义CPU选项。如果系统使用的ECS实例规格支持自定义CPU选项,则相应的ECI实例支持自定义CPU选项。

说明

仅部分ECS规格支持自定义CPU选项,默认已开启超线程。更多信息,请参见支持自定义CPU选项的ECS规格

  • 指定单个ECS规格

    • 如果指定的ECS规格支持自定义CPU选项,则创建ECI实例并设置CPU选项。

    • 如果指定的ECS规格不支持自定义CPU选项,则忽略CPU选项设置,直接创建ECI实例,您将收到相应的事件通知。如果CPU选项设置不合法,您将收到报错提示,不创建ECI实例。

  • 指定多个ECS规格

    按照您设置的ECS规格顺序尝试创建ECI实例。

    • 如果使用的ECS规格支持自定义CPU选项,则创建ECI实例并设置CPU选项。

    • 如果使用的ECS规格不支持自定义CPU选项,或者CPU选项设置不合法,则忽略CPU选项设置,直接创建ECI实例,您将收到相应的事件通知。

配置说明

您可以在Pod metadata中添加Annotation来自定义CPU选项。相关Annotation如下:

  • k8s.aliyun.com/eci-cpu-option-core:CPU物理核心数。

  • k8s.aliyun.com/eci-cpu-option-ht:每核线程数。

重要
  • Annotation请添加在Pod的metadata下,例如:创建Deployment时,Annotation需添加在spec>template>metadata下。

  • 仅支持在创建ECI Pod时添加ECI相关Annotation来生效ECI功能,更新ECI Pod时添加或者修改ECI相关Annotation均不会生效。

配置示例如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-use-specs : "ecs.c6.2xlarge"    #指定支持自定义CPU选项的ECS规格
        k8s.aliyun.com/eci-cpu-option-core: "2"              #自定义设置CPU物理核心数为2
        k8s.aliyun.com/eci-cpu-option-ht: "1"                    #自定义设置每核线程数为1,即关闭超线程
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80

  • 本页导读 (1)
文档反馈