Se produce un error de disponibilidad de recursos cuando una zona no tiene suficiente capacidad disponible para aprovisionar los recursos de procesamiento que solicitaste para crear, reiniciar o actualizar instancias de Compute Engine, o para reservar recursos zonales.
En este documento, se explica cómo identificar y resolver errores de disponibilidad de recursos. Debido a que estos errores indican una escasez de hardware físico en una zona, en lugar de un límite de uso del proyecto, un aumento de la cuota no los resuelve. Como alternativa, para solucionar problemas de límites de cuota, consulta Soluciona problemas de errores de cuota.
Comprende los errores de disponibilidad de recursos
Los errores de disponibilidad de recursos se producen cuando una zona no tiene capacidad suficiente para uno o más de los siguientes recursos físicos:
Aceleradores (si corresponde)
Núcleos de la CPU
Discos
Memoria
Por ejemplo, supongamos que deseas crear una instancia de procesamiento que use el
tipo de máquina a2-highgpu-2g y tenga dos discos SSD locales conectados. Este tipo de máquina
incluye 24 vCPUs en el procesador Intel Xeon Platinum 8273CL,
170 GB de memoria y dos GPUs NVIDIA A100. Si todos estos
recursos están disponibles en la zona especificada en el momento de la solicitud, esta
se realizará correctamente. De lo contrario, tu solicitud fallará con un error de disponibilidad
de recursos.
Cuando se produce un error de disponibilidad de recursos, Compute Engine devuelve un mensaje de error similar a uno de los siguientes en la consola de Google Cloud , la Google Cloud CLI o la respuesta de la API:
ZONE_RESOURCE_POOL_EXHAUSTED
ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
REGION_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
POOL_CAPACITY_INSUFFICIENT
The zone 'projects/PROJECT_ID/zones/ZONE' does not have enough resources available to fulfill the request. Try a different zone, or try again later.
A VM_TYPE_AND_SIZE VM instance with RESOURCE_ATTACHMENT is currently unavailable in the ZONE zone. Capacity changes frequently, so try your request in a different zone, with a different VM hardware configuration, or at a later time. For more options, see troubleshooting documentation.
A VM_TYPE_AND_SIZE VM instance with RESOURCE_ATTACHMENT is currently unavailable in the ZONE zone because of REASON. Consider trying your request in the AVAILABLE_ZONES zones, which currently has capacity to accommodate your request. If you cannot move your VM to AVAILABLE_ZONES, review the instructions to resolve the REASON failure that are available in troubleshooting documentation, then try your request again. If your workload can't accommodate the suggested resolution, try your request with a different VM hardware configuration or at a later time.
Puedes ver un mensaje de error de disponibilidad de recursos de la siguiente manera:
Para las instancias de procesamiento independientes, las instancias de procesamiento creadas de forma masiva, los nodos de usuario único o las reservas, Compute Engine devuelve estos mensajes de error en la consola de Google Cloud , gcloud CLI o la respuesta de la API.
En el caso de los grupos de instancias administrados (MIG), Compute Engine registra estos errores en la lista de errores de instancias del MIG. Para ver el mensaje de error y la restricción de hardware que lo causó, consulta Enumera los errores de instancia.
Resuelve errores de disponibilidad de recursos
Los errores de disponibilidad de recursos se dividen en dos categorías: errores de configuración que puedes corregir (por ejemplo, cuando intentas solicitar un tipo de máquina no admitido en una zona) y restricciones de hardware físico que no puedes controlar.
Para solucionar un error de disponibilidad de recursos, completa los siguientes pasos. Si prefieres evaluar las opciones en función de lo que puede ajustar tu carga de trabajo, consulta Resumen de recomendaciones por requisitos de carga de trabajo.
Aborda las restricciones de recursos específicas: si el mensaje de error incluye un código de motivo, consulta Resuelve errores por motivos de error. Si esas soluciones específicas no resuelven el problema, continúa con el siguiente paso.
Aplica estrategias de capacidad generales: Si tu mensaje de error no incluye un código de motivo o si los ajustes específicos son insuficientes, consulta Resuelve errores comunes.
Revisa las recomendaciones específicas de las funciones: Si aún no resolviste el problema, consulta una de las siguientes secciones según tu método de implementación o función:
Si encuentras errores de disponibilidad de recursos cuando intentas crear o escalar automáticamente un clúster de Google Kubernetes Engine (GKE), consulta Soluciona problemas de creación de clústeres.
Cómo resolver errores según los motivos de error
Cuando Compute Engine proporciona datos de diagnóstico detallados para un error de disponibilidad de recursos, la respuesta de error identifica las causas raíz específicas que impidieron que Compute Engine completara tu solicitud.
En la consola de Google Cloud , gcloud CLI o Cloud Logging, las causas raíz aparecen en el mensaje de error de la operación:
ERROR: (gcloud.compute.instances.create) Could not fetch resource:
- A n1-standard-1 VM instance with 2 local SSD(s) is currently unavailable in the us-central1-a zone, because of cpu_availability,local_ssd_availability root cause(s). Consider trying your request in the us-central1-b, us-central1-c zone(s), which currently has capacity to accommodate your request.
En la API de REST, los detalles del error aparecen en el array error.errors[] de la operación, y las causas raíz se devuelven en el detalle LocalizedMessage y en el
google.rpc.ErrorInfo (domain: "compute.googleapis.com"):
{
"code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
"message": "A n1-standard-1 VM instance with 2 local SSD(s) is currently unavailable in the us-central1-a zone, because of cpu_availability,local_ssd_availability root cause(s). Consider trying your request in the us-central1-b, us-central1-c zone(s), which currently has capacity to accommodate your request.",
"errorDetails": [
{
"errorInfo": {
"domain": "compute.googleapis.com",
"reason": "cpu_availability,local_ssd_availability",
"metadata": {
"vmType": "n1-standard-1",
"zone": "us-central1-a",
"attachment": "local-ssd:2",
"zonesAvailable": "us-central1-b,us-central1-c"
}
}
}
]
}
Según el código de error de tu respuesta, realiza las siguientes acciones:
ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS: Compute Engine identifica las causas raíz que impidieron el cumplimiento en la zona de destino. Si otras zonas de la misma región tienen capacidad para tu solicitud, los detalles del error también incluyen una lista de zonas recomendadas (AVAILABLE_ZONESen el mensaje ozonesAvailableen los metadatosErrorInfode la API). Si en los detalles del error se enumeran las zonas recomendadas, crea, migra o reserva tus instancias de procesamiento en una de esas zonas. Si ninguna otra zona de la región tiene capacidad, el mensaje de error no mostrará zonas alternativas.REGION_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS: Todas las zonas evaluadas en tu región de destino no tienen capacidad para tu solicitud. Revisa los motivos de la restricción en el mensaje de error o vuelve a intentar la solicitud en otra región, con un tipo de máquina alternativo o con un modelo de aprovisionamiento flexible.POOL_CAPACITY_INSUFFICIENT: la zona seleccionada no tiene suficientes recursos disponibles para crear la cantidad solicitada de instancias de procesamiento. Solicita menos recursos, selecciona un tipo de máquina o una zona diferente, o usa el modelo de aprovisionamiento de inicio flexible, spot o con reserva.ACCELERATOR_INTERCONNECT_CONFIG_FAILED: Compute Engine no pudo configurar la topología de interconexión de alta velocidad requerida para tu porción de acelerador, como una TPU o una porción de GPU de varios nodos. Espera unos minutos y vuelve a intentar enviar la solicitud. Si el problema persiste, comunícate con tu equipo de cuentas o con el equipo de asistencia.
Si tu solicitud encuentra restricciones en varios recursos físicos al mismo tiempo, Compute Engine devuelve una lista separada por comas de códigos reason,
como "reason": "gpu_availability,local_ssd_availability".
Si tu respuesta de error incluye uno o más motivos de restricción, revisa los
siguientes pasos para solucionar problemas de cada restricción de recursos aplicable:
configuration_availability
Un error configuration_availability indica que la zona de destino no admite
la combinación de tipo de máquina, plataforma de CPU o interfaz de disco que
solicitaste. A diferencia de otros errores de disponibilidad de recursos, este indica
una configuración no admitida, en lugar de una restricción temporal de recursos. Si vuelves a intentar enviar la solicitud más tarde, esta seguirá fallando.
Para resolver este error, completa los siguientes pasos:
Verifica la compatibilidad del hardware: Para confirmar si la zona de destino admite la configuración solicitada, consulta Regiones y zonas disponibles y Comparación de series de máquinas.
Modifica tu solicitud: Si tu configuración de hardware no es compatible con esa zona, prueba una de las siguientes acciones:
Modifica tu solicitud para usar un tipo de máquina, una plataforma de CPU o una interfaz de disco que admita la zona de destino.
Vuelve a intentar la solicitud en una zona alternativa que admita la serie de máquinas, la plataforma de CPU y los tipos de discos que necesitas.
cpu_availability
Un error cpu_availability indica que la zona no tiene capacidad para la cantidad especificada de CPU o CPU virtuales.
Para resolver este error, prueba una o más de las siguientes acciones:
Implementa en una zona o región alternativa: Si en el mensaje de error se enumeran las zonas disponibles (
AVAILABLE_ZONES), crea o migra tu instancia de procesamiento a una de esas zonas recomendadas. Si en el mensaje de error no se enumeran las zonas disponibles, intenta solicitar recursos en otra zona de la misma región o en una región diferente.Borra las restricciones de la plataforma de CPU: Si tu solicitud especifica una plataforma de CPU mínima (
minCpuPlatform), establece el valor enAUTOMATIC. Cuando necesitas una plataforma de CPU específica, Compute Engine no puede colocar tu instancia de procesamiento en otras plataformas de CPU que tu serie de máquinas admite en esa zona.Cambia a otra serie de máquinas: Si una serie de máquinas específica no tiene capacidad en tu zona de destino, prueba con otra serie o generación de máquinas que admita tu carga de trabajo, como N2, N2D o N4. Las diferentes series de máquinas usan distintas plataformas de CPU y servidores físicos. Las series de máquinas de generaciones posteriores también ofrecen un mayor rendimiento por CPU virtual, lo que puede permitirte ejecutar tu carga de trabajo con menos CPUs virtuales.
Reduce las CPU virtuales solicitadas: Si usas tipos personalizados de máquinas, reduce el recuento de CPU virtuales al mínimo requerido para tu carga de trabajo. Las configuraciones de CPU virtuales más pequeñas se ajustan a los servidores físicos que tienen una capacidad restante limitada, lo que aumenta la probabilidad de que Compute Engine cumpla con tu solicitud.
Divide los requisitos de procesamiento en tipos de máquinas más pequeños: Si tu aplicación admite una arquitectura distribuida, divide tu huella de procesamiento en tipos de máquinas más pequeños de la misma familia de máquinas. Por ejemplo, si no puedes crear 80 instancias de procesamiento con tipos de máquina
n2-standard-96(con 96 CPUs virtuales cada una), intenta crear 160 instancias de procesamiento con tipos de máquinan2-standard-48(con 48 CPUs virtuales cada una).
gpu_availability
Un error gpu_availability indica que la zona no tiene capacidad para el
modelo de GPU que solicitaste.
Para resolver este error, prueba una o más de las siguientes acciones:
Implementa en una zona o región alternativa: Si en el mensaje de error se enumeran las zonas disponibles (
AVAILABLE_ZONES), crea o migra tu instancia de procesamiento a una de esas zonas recomendadas. Si en el mensaje de error no se enumeran las zonas disponibles, intenta solicitar recursos en otra zona o región que admita el mismo modelo de GPU. Para obtener una lista de las regiones y zonas que admiten GPUs, consulta Disponibilidad de GPUs.Usa un modelo de aprovisionamiento alternativo: Si no puedes crear instancias de GPU con el modelo de aprovisionamiento estándar, intenta solicitar recursos con el modelo de aprovisionamiento de inicio flexible, Spot o vinculado a la reserva. Los diferentes modelos de aprovisionamiento se basan en grupos de capacidad independientes. Para obtener más información, consulta Modelos de aprovisionamiento de instancias de Compute Engine.
local_ssd_availability
Un error local_ssd_availability indica que la zona no tiene capacidad para la cantidad o los tipos de discos SSD locales que solicitaste.
Si tu carga de trabajo tolera el almacenamiento persistente, cambia de discos SSD locales a volúmenes de Hyperdisk Extreme, Hyperdisk Balanced o disco persistente SSD. Para obtener orientación sobre las compensaciones de rendimiento y durabilidad, consulta Opciones de almacenamiento temporal frente a duradero.
memory_availability
Un error memory_availability indica que la zona no tiene capacidad para la
cantidad de memoria que solicitaste.
Para resolver este error, prueba una o ambas de las siguientes acciones:
Implementa en una zona o región alternativa: Si en el mensaje de error se enumeran las zonas disponibles (
AVAILABLE_ZONES), crea o migra tu instancia de procesamiento a una de esas zonas recomendadas. Si en el mensaje de error no se enumeran las zonas disponibles, intenta solicitar recursos en otra zona de la misma región o en una región diferente.Divide los requisitos de procesamiento en tipos de máquinas más pequeños: Si tu aplicación admite una arquitectura de memoria distribuida, divide el espacio en memoria en varias instancias de procesamiento más pequeñas. Por ejemplo, si no puedes crear una instancia de procesamiento con 1.88 TB de memoria (como
m1-ultramem-80), divide tu carga de trabajo en varias instancias de procesamiento más pequeñas que proporcionen esa capacidad de memoria combinada.
resource_availability
Un error resource_availability indica que la zona no tiene capacidad para el tipo de máquina que solicitaste. Para resolver este error, prueba una o más de las siguientes
acciones:
Especifica una zona alternativa.
Selecciona un tipo de máquina alternativo que admita tu carga de trabajo. Para obtener orientación sobre cómo seleccionar tipos de máquinas alternativos, consulta Recomendaciones para tipos de máquinas.
Si tu carga de trabajo puede tolerar interrupciones o horas de inicio flexibles, especifica un modelo de aprovisionamiento alternativo. Para obtener más información, consulta Modelos de aprovisionamiento de instancias de Compute Engine.
Si encuentras este error mientras solicitas un tipo de máquina
a3-highgpu-1g,a3-highgpu-2goa3-highgpu-4g, verifica que aprovisiones la instancia de procesamiento con uno de los métodos de implementación admitidos.
Cómo resolver errores comunes
Si el mensaje de error no incluye un código de motivo, ajusta la ubicación, la configuración de hardware o la hora de inicio de tus instancias de procesamiento. Para aumentar las posibilidades de que Compute Engine cumpla con tu solicitud, prueba una o más de las siguientes acciones:
Prueba una región o zona alternativa: Si tu carga de trabajo lo permite, solicita recursos en otra zona dentro de la misma región o en una región diferente. Cuando creas MIG regionales o instancias de procesamiento de forma masiva en una región, Compute Engine distribuye las instancias de procesamiento entre las zonas que tienen hardware disponible. Para obtener más información, consulta Funciones de flexibilidad de ubicación.
Verifica las propiedades de la reserva: Si no puedes crear una instancia de procesamiento a pesar de tener una reserva coincidente que no se consumió por completo, verifica que las propiedades de la reserva y la instancia de procesamiento coincidan. Cuando las propiedades no coinciden, Compute Engine intenta aprovisionar capacidad a pedido en la zona de destino en lugar de usar la reserva. Este intento puede fallar si la zona no tiene capacidad. Para solucionar problemas cuando consumes una reserva, consulta Soluciona problemas de consumo de reservas.
Adopta la flexibilidad del tipo de máquina: en lugar de reemplazar un solo tipo de máquina por otro, amplía tus opciones. Cuando crees MIG regionales o instancias de procesamiento de forma masiva, especifica varios tipos de máquinas de resguardo en una política de flexibilidad de instancias. Si tu tipo de máquina principal no está disponible, Compute Engine aprovisiona un tipo de máquina de resguardo disponible de tu lista. También puedes dividir tus requisitos de procesamiento en tipos de máquinas más pequeños con menos CPUs virtuales y menos memoria. Para obtener más información, consulta Funciones de flexibilidad de tipos de máquinas y Recomendaciones para tipos de máquinas.
Usa un modelo de aprovisionamiento alternativo: Si no puedes crear instancias de procesamiento con el modelo de aprovisionamiento estándar, intenta solicitar recursos con el modelo de aprovisionamiento de inicio flexible, vinculado a la reserva o Spot. Los diferentes modelos de aprovisionamiento se basan en grupos de capacidad independientes. Para obtener más información, consulta Modelos de aprovisionamiento de instancias de Compute Engine.
Verifica la capacidad en tiempo real: Antes de crear, reiniciar o actualizar VMs Spot, verifica la probabilidad de obtener capacidad (la puntuación de obtención) y el tiempo de actividad esperado en todos los tipos de máquinas y ubicaciones. Debido a que estas puntuaciones no garantizan ni reservan capacidad, envía tu solicitud en cuanto verifiques la disponibilidad. Para obtener instrucciones, consulta Consulta la disponibilidad de las VMs Spot.
Vuelve a enviar la solicitud más tarde: La capacidad de una zona cambia a medida que las cargas de trabajo en Google Cloud completan y liberan hardware físico. Si tu carga de trabajo es flexible, vuelve a enviar la solicitud más tarde. Para obtener más información, consulta Funciones de flexibilidad de tiempo.
Resuelve errores cuando creas instancias de procesamiento independientes
Si tu solicitud para crear instancias de procesamiento independientes falla debido a restricciones de hardware, prueba una o más de las siguientes acciones:
Cambia el método de solicitud: Las instancias de procesamiento independientes ofrecen poca flexibilidad durante las restricciones de hardware en una zona. Si tu carga de trabajo lo permite, crea instancias de procesamiento de forma masiva. Este método de creación te permite hacer lo siguiente:
Agrega flexibilidad de ubicación: Puedes crear instancias de procesamiento en una región en lugar de una sola zona. Este enfoque permite que Compute Engine distribuya instancias de procesamiento en las zonas que tienen hardware disponible.
Agrega tipo de máquina de máquinas: Puedes especificar varios tipos de máquinas de resguardo en una política de flexibilidad de instancias. Este enfoque permite que Compute Engine seleccione otro tipo de máquina de la lista si tu opción principal no está disponible.
Reduce los recursos solicitados: selecciona un tipo predefinido de máquina con menos CPU virtuales, menos memoria o menos discos conectados. Las configuraciones de hardware más pequeñas se ajustan a los servidores físicos que tienen una capacidad restante limitada.
Crea tipos personalizados de máquinas: Los tipos personalizados de máquinas usan los mismos servidores físicos que los tipos predefinidos de máquinas de la misma serie de máquinas y no tienen un grupo de capacidad independiente. Para que quepan en servidores físicos con capacidad limitada, solicita menos CPU virtuales que un tipo predefinido de máquina más grande (por ejemplo, solicita un tipo personalizado de máquina con 20 CPU virtuales en lugar de un
n2-standard-32). En el caso de las series de máquinas optimizadas para aceleradores (como G2), los tipos personalizados de máquinas aún requieren GPU físicas y no pueden resolver una escasez de GPU. Para obtener instrucciones, consulta Crea una VM con un tipo personalizado de máquina.Cambia los tipos de almacenamiento: Si tu tipo de máquina admite opciones de almacenamiento alternativas, cambia entre Google Cloud Hyperdisk y Persistent Disk. Persistent Disk SSD y el disco persistente balanceado comparten el mismo grupo de almacenamiento físico. Si un tipo de disco no tiene capacidad en una zona, el otro tipo de disco tampoco estará disponible en la mayoría de los casos. Si un volumen de Persistent Disk no tiene capacidad, verifica que tu proyecto tenga suficiente cuota para Hyperdisk y cambia a un tipo de máquina que admita volúmenes de Hyperdisk. Para revisar qué series de máquinas admiten volúmenes de Persistent Disk y Hyperdisk, consulta Comparación de series de máquinas.
Resuelve errores cuando creas instancias de procesamiento de forma masiva
Cuando creas instancias de procesamiento de forma masiva (bulkInsert), Compute Engine
verifica la capacidad por adelantado sin poner en cola ni reintentar tu solicitud. De forma predeterminada,
el recuento mínimo (minCount) es igual al recuento total solicitado (count), por lo que, si
Compute Engine no puede crear todas las instancias de procesamiento solicitadas en el momento
de tu solicitud, esta falla y no se crean instancias de procesamiento.
Si tu solicitud para crear instancias de procesamiento de forma masiva falla debido a restricciones de hardware, prueba una o más de las siguientes acciones. Para obtener orientación sobre cómo evaluar las compensaciones y las prácticas recomendadas, consulta Evalúa y adopta una infraestructura flexible.
Acepta la capacidad parcial (
minCount): Si tu carga de trabajo puede comenzar con menos instancias de procesamiento que el recuento total que solicitaste, establece un valor más bajo en el campominCount. Este parámetro de configuración permite que tu solicitud se realice correctamente siempre que Compute Engine pueda aprovisionar, al menos, la cantidad mínima de instancias de procesamiento.Crea instancias de procesamiento en una región: Si creas instancias de procesamiento de forma masiva en una zona específica, tu solicitud fallará cuando esa zona no tenga capacidad. En su lugar, segmenta una región para que Compute Engine seleccione zonas que tengan hardware disponible. De forma predeterminada, la creación masiva regional usa la forma de distribución de destino
ANY_SINGLE_ZONE, que coloca todas las instancias de procesamiento en una sola zona que tiene capacidad. Si ninguna zona puede alojar tu lote completo y tus instancias de procesamiento pueden abarcar varias zonas, establece la forma de distribución objetivo enBALANCEDoANY. Para obtener instrucciones, consulta Crea VMs de forma masiva en una región.Usa tipos de máquinas de resguardo: En una solicitud masiva regional, configura una política de flexibilidad de instancias con tipos de máquinas de resguardo compatibles. Si es necesario, también puedes restringir la ubicación a zonas específicas con la marca
--location-policy. Si tu tipo de máquina principal no está disponible, Compute Engine aprovisiona los tipos de máquina de resguardo disponibles de tu lista.Divide tu solicitud entre ubicaciones o a lo largo del tiempo: Si ninguna zona o región tiene suficiente capacidad para tu lote completo, divide tu solicitud en lotes más pequeños en diferentes zonas o regiones, o escalona tus solicitudes a lo largo del tiempo. No envíes varias solicitudes más pequeñas a la misma zona agotada al mismo tiempo.
Flexibiliza las restricciones de posición compacta: Si especificas una política de posición compacta cuando creas instancias de procesamiento, considera aumentar el valor de distancia máxima o quitar la política para flexibilizar las restricciones de posición. Los valores de distancia máxima más bajos colocan las instancias de procesamiento más cerca para reducir la latencia de red, pero aumentan el riesgo de encontrar errores de disponibilidad de recursos. Para obtener más información, consulta Acerca de las políticas de posición compacta.
Resuelve errores cuando creas, escalas o reparas MIG
A diferencia de las solicitudes de creación masiva o independientes, un MIG aprovisiona tantas instancias de procesamiento como lo permita la capacidad actual. Para cualquier instancia de procesamiento que el MIG aún no pueda crear, el grupo registra errores en Enumerar errores de instancias y sigue reintentando la creación en segundo plano.
Si tu MIG encuentra errores de disponibilidad de recursos cuando crea, escala horizontalmente o repara instancias de procesamiento, prueba una o más de las siguientes acciones:
Espera o ajusta el tamaño objetivo: Si la escasez de hardware es temporal y tu carga de trabajo se puede ejecutar con capacidad parcial, deja que el MIG siga reintentando o reduce el tamaño objetivo del MIG.
Actualiza la plantilla de instancias: Si la lista de errores de la instancia muestra un error
configuration_availability(hardware no compatible en la zona) o un agotamiento de la capacidad persistente en un tipo de máquina, crea y lanza una plantilla de instancias actualizada que use un tipo de máquina compatible o más disponible, o un modelo de aprovisionamiento alternativo. Este enfoque funciona en cualquier MIG zonal o regional existente sin migrar a un grupo nuevo.Reemplaza un MIG zonal bloqueado por un MIG regional: Si un MIG zonal experimenta escasez de capacidad recurrente y tu carga de trabajo requiere resiliencia multizona continua, crea un MIG regional, migra tu carga de trabajo al grupo nuevo y borra el MIG zonal original. Los MIG regionales aumentan la probabilidad de obtener hardware, ya que pueden aprovisionar instancias de procesamiento en varias zonas de la región.
Configura una forma de distribución objetivo flexible: Con la forma de distribución
EVEN, un MIG regional aprovisiona una parte igual de instancias de procesamiento en cada zona. Si una zona no tiene capacidad, las otras zonas de la región seguirán creando su parte de instancias de procesamiento, mientras que la zona restringida volverá a intentar crear su parte. Los MIG con ajuste de escala automático y una forma de distribuciónEVENtambién siguen escalando horizontalmente en las zonas disponibles. Este comportamiento deja un grupo con un tamaño manual por debajo de su tamaño objetivo completo hasta que se recupere la capacidad en la zona restringida. Para evitar esta limitación, configura tu MIG regional para que use una forma de distribución de destino que coincida con los requisitos de tu carga de trabajo:BALANCED: distribuye las instancias de procesamiento entre las zonas que tienen capacidad disponible, a la vez que mantiene la distribución lo más uniforme posible. Usa esta forma para cargas de trabajo por lotes y de entrega con alta disponibilidad.ANY: Coloca instancias de procesamiento en cualquier zona que tenga capacidad disponible y prioriza las reservas sin usar en la región. Usa esta forma para las cargas de trabajo por lotes que no requieren una distribución equilibrada entre las zonas.ANY_SINGLE_ZONE: Coloca todas las instancias de procesamiento en una sola zona que tenga capacidad disponible, lo que evita la latencia entre zonas y los costos de salida de red. Usa este tipo para cargas de trabajo con acoplamiento alto y sensibles a la latencia.
Configura la flexibilidad del tipo de máquina en tu MIG regional: En un MIG regional que use la forma de distribución
BALANCED,ANYoANY_SINGLE_ZONE, agrega tipos de máquinas de resguardo en una política de flexibilidad de instancias (instanceFlexibilityPolicy). Si el tipo de máquina principal no está disponible cuando el MIG se escala horizontalmente, el MIG aprovisiona el siguiente tipo de máquina disponible en tu lista. De forma predeterminada, las reparaciones solo vuelven a intentar el tipo de máquina original de la instancia de procesamiento con errores. Para permitir que las reparaciones también usen tipos de máquinas de resguardo, habilita la actualización en la reparación configurando el campoinstanceLifecyclePolicy.forceUpdateOnRepaircomo"YES". Para las cargas de trabajo de una sola zona, usa un MIG regional con la formaANY_SINGLE_ZONEo selecciona una sola zona de destino. Para obtener más información, consulta Acerca de la flexibilidad de instancias en los MIG.Permite reparaciones en una zona alternativa: En un MIG regional sin estado que usa la forma de distribución
BALANCEDoANY, configura el grupo para volver a crear instancias de procesamiento con errores en otra zona durante la reparación. Este parámetro de configuración solo se aplica cuando el MIG repara instancias de procesamiento existentes que fallan. Para colocar instancias de procesamiento nuevas en zonas disponibles durante la creación o el escalamiento horizontal, usa la forma de distribuciónBALANCEDoANY. Para habilitar la reparación en zonas alternativas, configura el campoinstanceLifecyclePolicy.onRepair.allowChangingZoney el campoinstanceLifecyclePolicy.forceUpdateOnRepaircomo"YES". Para obtener instrucciones, consulta Repara una VM en una zona alternativa.Poner en cola las solicitudes de capacidad para hardware escaso: Para las cargas de trabajo por lotes o de IA o AA que requieren hardware escaso (como las GPU) y pueden tolerar una hora de inicio flexible, usa las solicitudes de cambio de tamaño de MIG para poner en cola tu solicitud y aprovisionar las instancias de procesamiento solicitadas juntas cuando la capacidad esté disponible, o crea un MIG con VMs de inicio flexible.
Flexibiliza las restricciones de posición compacta: Si especificas una política de posición compacta cuando creas instancias de procesamiento, considera aumentar el valor de distancia máxima o quitar la política para flexibilizar las restricciones de posición. Los valores de distancia máxima más bajos colocan las instancias de procesamiento más cerca para reducir la latencia de red, pero aumentan el riesgo de encontrar errores de disponibilidad de recursos. Para obtener más información, consulta Acerca de las políticas de posición compacta.
Supervisa la distribución de instancias de procesamiento: Durante la creación y el escalamiento horizontal del grupo, cuando un MIG regional que usa la forma de distribución
BALANCED,ANYoANY_SINGLE_ZONEsatisface su tamaño objetivo con zonas disponibles o tipos de máquinas de resguardo, el grupo no registra errores de disponibilidad de recursos. Sin embargo, durante las reparaciones, si el tipo de máquina original de una instancia de procesamiento con errores no está disponible, el MIG registra erroresZONE_RESOURCE_POOL_EXHAUSTEDincluso cuando habilitas la actualización en la reparación. Para ver dónde Compute Engine colocó tus instancias de procesamiento en las zonas y los tipos de máquinas, consulta la pestaña Supervisión del MIG en la consola deGoogle Cloud o consulta el panel de Cloud Monitoring. Para obtener instrucciones, consulta Supervisa la distribución de instancias en los MIG.
Resuelve errores cuando creas nodos de usuario único
Si Compute Engine no puede asignar servidores físicos para tus nodos de usuario único, prueba una de las siguientes acciones o ambas:
Usa un tipo de nodo diferente: Elige una plantilla de nodo o un tipo de nodo diferente que ofrezca configuraciones de hardware distintas. Para obtener más información, consulta Descripción general del usuario único.
Optimiza la capacidad de los nodos con el exceso de compromiso de CPU: Si intentas agregar nodos porque te quedaste sin capacidad para instancias de procesamiento nuevas en tus nodos existentes, considera habilitar el exceso de compromiso de CPU. Esta función te permite aumentar la densidad de las instancias de procesamiento en tus servidores físicos actuales, lo que evita la necesidad de aprovisionar nodos adicionales. Para obtener más información, consulta Exceso de compromiso de CPU en VMs de usuario único.
Resuelve errores cuando crees porciones de TPU
Si tu solicitud para crear o escalar porciones de TPU falla porque una zona carece de hardware físico conectado, prueba una o más de las siguientes acciones:
Usa VMs de inicio flexible, reservas futuras en modo de calendario o recursos en cola: En lugar de enviar solicitudes de TPU on demand sin reserva, usa VMs de inicio flexible o reservas futuras en modo de calendario para programar o poner en cola tu solicitud de porción de TPU en Compute Engine. Si aprovisionas TPU a través de la API de Cloud TPU en lugar de Compute Engine, usa la API de Queued Resources para poner en cola tu solicitud hasta que haya capacidad contigua disponible en la zona.
Evalúa topologías más pequeñas: Si tu framework de aprendizaje automático (AA) admite tamaños de porciones más pequeños, solicita topologías más pequeñas. Los sectores de TPU más grandes requieren hardware físico conectado que se encuentre en el mismo lugar, lo que podría no estar disponible en una sola zona. Si tu modelo requiere una interconexión entre chips (ICI) de gran ancho de banda en todas las TPU, es posible que debas ajustar la configuración para la fragmentación o la paralelización del modelo. Para obtener más información, consulta Topología de TPU.
Vuelve a intentarlo después de los errores de configuración de la interconexión: Si tu solicitud falla con un error
ACCELERATOR_INTERCONNECT_CONFIG_FAILED, espera unos minutos y vuelve a intentarlo. Si el problema persiste, comunícate con tu equipo de cuentas o con el equipo de asistencia.
Resuelve errores cuando creas una reserva
Si tu solicitud para reservar recursos falla debido a restricciones de capacidad, prueba una o más de las siguientes acciones:
Consulta la disponibilidad futura en el modo Calendario: Si creas una solicitud de reserva futura en el modo Calendario, consulta la disponibilidad futura de los recursos antes de enviar la solicitud. Cuando especificas recursos que están disponibles durante un intervalo de tiempo específico, aumentas la probabilidad de que Google Cloud apruebe tu solicitud. Para obtener instrucciones, consulta Consulta la disponibilidad futura de los recursos.
Reduce la cantidad de instancias de procesamiento reservadas: Intenta reservar una cantidad menor de instancias de procesamiento. Si necesitas una gran cantidad de instancias de procesamiento reservadas, considera crear varias reservas más pequeñas para esas instancias de procesamiento en diferentes regiones o zonas.
Flexibiliza las restricciones de posición compacta: Si especificas una política de posición compacta cuando creas una reserva según demanda, considera aumentar el valor de distancia máxima o quitar la política para flexibilizar las restricciones de posición. Las políticas de posición compacta te ayudan a reservar instancias de procesamiento cerca unas de otras para reducir la latencia de red, pero aumentan el riesgo de encontrar errores de disponibilidad de recursos. Para obtener más información, consulta Acerca de las políticas de posición compacta.
Resuelve errores cuando actualizas tipos de máquinas
Para actualizar el tipo de máquina de una instancia de procesamiento existente, debes detener la instancia de procesamiento antes de aplicar el cambio. Si intentas iniciar la instancia de procesamiento con el tipo de máquina nuevo y la solicitud falla debido a restricciones de hardware, la instancia de procesamiento permanecerá detenida hasta que la inicies otra vez.
Para actualizar y reiniciar tu instancia de procesamiento, prueba una o ambas de las siguientes acciones:
Vuelve al tipo de máquina original o usa un tipo de máquina alternativo: Si la configuración de hardware de destino no está disponible, vuelve a cambiar el tipo de máquina a la configuración anterior o usa un tipo de máquina intermedio que admita tu carga de trabajo. Después de realizar una de estas acciones, reinicia la instancia de procesamiento. Debido a que la instancia de procesamiento se ejecutó en esa configuración antes de que la detuvieras, esta reversión te permite reiniciar tu carga de trabajo mientras evalúas opciones alternativas o solicitas capacidad en otra zona.
Mueve tu carga de trabajo a otra zona: Si el tipo de máquina de destino no está disponible en tu zona actual, mueve la carga de trabajo a una zona que tenga capacidad. Debido a que las instancias de procesamiento son recursos zonales, toma una instantánea del disco de arranque y de cualquier disco conectado. Luego, crea una instancia de procesamiento de reemplazo en la zona de destino con el tipo de máquina nuevo. Para obtener instrucciones, consulta Mueve una instancia de VM entre zonas o regiones.
Resumen de recomendaciones según los requisitos de la carga de trabajo
Para evaluar enfoques alternativos según los aspectos de tu carga de trabajo que puedes ajustar, consulta la siguiente tabla:
| Qué debes conservar | Qué puedes ajustar | Recomendación | Funciones aplicables |
|---|---|---|---|
| Ubicación (una zona o región específica) | Serie o tipo de máquina | Configura tipos de máquinas de resguardo con flexibilidad de instancias o divide los requisitos de procesamiento en tipos de máquinas más pequeños que admitan tu carga de trabajo. | |
| Tipo de máquina (una configuración específica) | Ubicación | Solicita recursos en una región o zona diferente, usa una forma de distribución objetivo flexible (BALANCED, ANY o ANY_SINGLE_ZONE) o habilita la reparación de zona alternativa para los MIG regionales que usan la forma BALANCED o ANY. |
|
| Hardware específico (como un modelo de GPU específico) | La hora de inicio o el modelo de aprovisionamiento | Usa VMs de inicio flexible, solicitudes de cambio de tamaño de MIG, VMs Spot (incluido cuando creas instancias de procesamiento de forma masiva), reservas futuras en modo de calendario o recursos en cola para TPU. | |
| Inicio inmediato para las instancias de procesamiento disponibles | Recuento inicial de instancias de procesamiento | Establece un valor de minCount más bajo cuando crees instancias de procesamiento de forma masiva para aceptar la capacidad parcial o usa un MIG para iniciar las instancias de procesamiento disponibles de inmediato mientras el grupo vuelve a intentar obtener las instancias de procesamiento restantes. |
¿Qué sigue?
- Obtén información para optimizar el aprovisionamiento de procesamiento.