Snowpark Container Services : nouvelles valeurs par défaut et validation des besoins en ressources pour un service¶
Attention
Ce changement de comportement est présent dans le bundle 2024_06.
Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.
Attention
Ce changement de comportement devait être introduit avec le bundle 2024_05. Cependant, il a été reporté et se trouve désormais dans le bundle 2024_06.
Vous fournissez les besoins en ressources pour un service dans la spécification de service.
La manière dont Snowflake gère les services avec des besoins en ressources non spécifiés est en train de changer. De plus, la manière dont Snowflake valide les besoins en ressources spécifiés est en train de changer :
- Avant la modification:
Si vous ne fournissez aucune exigence en matière de ressources, Snowflake suppose que votre service consommera des ressources négligeables.
Lorsque vous fournissez les besoins en ressources, Snowflake valide les valeurs par rapport à la capacité totale du nœud. Les ressources consommées par les composants du système Snowpark Container Services ne sont pas prises en compte.
- Après la modification:
Si les exigences en matière de ressources ne sont pas fournies, les valeurs par défaut suivantes sont appliquées. Notez que
resource.requests
etresource.limits
sont relatifs à la capacité du nœud (vCPU et mémoire) de la famille d’instances du pool de calcul associé.Si une demande de ressource (CPU, mémoire ou les deux) n’est pas fournie, Snowflake en dérive une pour vous :
Pour
cpu
, la valeur dérivée est soit 0,5 soit la limitecpu
que vous avez fournie, selon la plus petite des deux.Pour
memory
, la valeur dérivée est soit 0,5 GiB ou la limitememory
que vous avez fournie, selon la plus petite des deux.
Si aucune limite de ressources (processeur, mémoire ou les deux) n’est fournie, Snowflake définit par défaut les limites de la capacité du nœud pour la famille d’instances du pool de calcul associé.
Si vous fournissez
resource.limits
et qu’elles dépassent la capacité du nœud, Snowflake plafonnera la limite de la capacité du nœud.Snowflake évalue ces besoins en ressources de manière indépendante pour
cpu
etmemory
.
Notez que s’il est théoriquement impossible pour Snowflake de planifier le service sur le pool de calcul donné, CREATE SERVICE échouera. Théoriquement impossible, on suppose que le pool de calcul dispose du nombre maximal de nœuds autorisés et qu’aucun autre service n’est en cours d’exécution sur le pool de calcul. Autrement dit, Snowflake ne peut en aucun cas allouer les ressources demandées dans les limites du pool de calcul. Si c’est théoriquement possible, mais que les ressources nécessaires sont utilisées, alors CREATE SERVICE réussira. Certaines instances de service signaleront un statut indiquant que le service ne peut pas être planifié en raison de ressources insuffisantes jusqu’à ce que des ressources soient disponibles.
Aussi, avec ce BCR, la capacité du nœud (vCPU et la mémoire) pour chaque type d’instance a changé comme indiqué :
Famille d’instances |
vCPU . avant modification |
vCPU . après modification |
Mémoire (GiB) . avant modification |
Mémoire (GiB) . après modification |
---|---|---|---|---|
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 . (AWS uniquement) |
8 |
6 |
32 |
27 |
GPU_NV_M . (AWS uniquement) |
48 |
44 |
192 |
178 |
GPU_NV_L . (AWS uniquement) |
96 |
92 |
1152 |
1112 |
GPU_NV_XS . (Azure uniquement) |
4 |
3 |
28 |
26 |
GPU_NV_SM . (Azure uniquement) |
36 |
32 |
440 |
424 |
GPU_NV_2M . (Azure uniquement) |
72 |
68 |
880 |
858 |
GPU_NV_3M . (Azure uniquement) |
48 |
44 |
440 |
424 |
GPU_NV_SL . (Azure uniquement) |
96 |
92 |
880 |
858 |
Réf : 1648