Snowpark Container Services:服务的新默认值和资源需求验证

注意

此行为变更包含在 2024_06 捆绑包中。

有关捆绑包的当前状态,请参阅 捆绑包历史记录

注意

此行为变更原计划在 2024_05 捆绑包中推出。但已推迟,现在包含在 2024_06 捆绑包中。

您在服务规范中提供服务的 资源需求

Snowflake 处理未指定资源需求的服务的方式正在发生变化。此外,Snowflake 验证指定资源需求的方式也在发生变化:

变更前:
  • 如果您不提供任何资源需求,Snowflake 会假定您的服务将消耗极少的资源。

  • 当您提供资源需求时,Snowflake 会根据整个节点容量验证这些值。不考虑 Snowpark Container Services 系统组件所消耗的资源。

变更后:

如果未提供资源需求,则应用以下默认值。请注意,resource.requestsresource.limits 与相关 计算池 的实例系列的节点容量(vCPU 和内存)有关。

  • 如果没有提供资源需求(CPU、内存或两者),Snowflake 会为您派生一个:

    • 对于 cpu,派生的值要么是 0.5,要么是您提供的 cpu 限制,以较小者为准。

    • 对于 memory,派生的值要么是 0.5 GiB,要么是您提供的 memory 限制,以较小者为准。

  • 如果未提供资源限制(CPU、内存或两者),Snowflake 默认会将限制设置为相关 计算池 的实例系列的节点容量。

  • 如果您提供 resource.limits 并且超出了节点容量,Snowflake 将设置节点容量上限。

  • Snowflake 独立评估 cpumemory 的资源需求。

请注意,如果 Snowflake 理论上无法在给定的计算池上安排服务,CREATESERVICE 将会失败。理论上不可能假设计算池具有允许的最大节点数,并且计算池上没有运行其他服务。也就是说,Snowflake 无法在计算池限制内分配请求的资源。如果理论上可行,但所需资源正在使用中,那么 CREATE SERVICE 将会成功。一些服务实例会报告状态,表明由于资源不足,无法安排服务,直到资源可用为止。

此外,通过此 BCR,每种实例类型的节点容量(vCPU 和内存)均发生了变化,如下所示:

实例系列

vCPU . 变更前

vCPU . 变更后

内存 (GiB) . 变更前

内存 (GiB) . 变更后

CPU_X64_XS

2

1

8

6

CPU_X64_S

4

3

16

13

CPU_X64_M

8

6

32

28

CPU_X64_L

32

28

128

116

HIGHMEM_X64_S

8

6

64

58

HIGHMEM_X64_M

32

28

256 (AWA) . 256 (Azure)

240 (AWS) . 244 (Azure)

HIGHMEM_X64_L

128 (AWS) . 96 (Azure)

124 (AWS) . 92 (Azure)

1024 (AWS) . 672 (Azure)

984 (AWS) . 654 (Azure)

GPU_NV_S :newline:`.`(仅限 AWS)

8

6

32

27

GPU_NV_M :newline:`.`(仅限 AWS)

48

44

192

178

GPU_NV_L :newline:`.`(仅限 AWS)

96

92

1152

1112

GPU_NV_XS :newline:`.`(仅限 Azure)

4

3

28

26

GPU_NV_SM :newline:`.`(仅限 Azure)

36

32

440

424

GPU_NV_2M :newline:`.`(仅限 Azure)

72

68

880

858

GPU_NV_3M :newline:`.`(仅限 Azure)

48

44

440

424

GPU_NV_SL :newline:`.`(仅限 Azure)

96

92

880

858

参考:1648

语言: 中文