View a markdown version of this page

Ejecución de trabajos de arquitectura mixta (X86_64 y ARM64) - AWS Batch

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejecución de trabajos de arquitectura mixta (X86_64 y ARM64)

Un único entorno informático y una sola cola de trabajos de las instancias administradas de Amazon ECS pueden ejecutar tanto X86_64 trabajos como trabajos (basados en el procesador Graviton). ARM64AWS Cada trabajo se ejecuta con una capacidad que coincide con la arquitectura de CPU declarada en su definición de trabajo. Configure la arquitectura según runtimePlatform.cpuArchitecture la definición del trabajo. La arquitectura no se configura en el entorno informático.

Para ejecutar trabajos de arquitectura mixta, proporcione una imagen de contenedor que sea compatible con ambas arquitecturas (un manifiesto de imágenes de varias arquitecturas) y registre una definición de trabajo por arquitectura que se establezca en o. runtimePlatform.cpuArchitecture X86_64 ARM64 Puede enviar trabajos para cualquiera de las definiciones de trabajo a la misma cola de trabajos.

"runtimePlatform": { "operatingSystemFamily": "LINUX", "cpuArchitecture": "ARM64" }

A continuación, configure el entorno informático de una de las siguientes maneras:

  • Omite esta opción instanceRequirements para que todos los tipos de instancias sean aptos.

  • Especifica allowedInstanceTypes que cubran todas las arquitecturas que utilizan tus trabajos.

No especifiques los tipos de instancia

Omite el instanceRequirements campo de managedInstancesProvider.instanceLaunchTemplate (la configuración que restringe los tipos de instancia que puede usar el entorno informático). Todos los tipos de instancias son aptos y Amazon ECS selecciona la capacidad que se ajusta a cada trabajo. runtimePlatform.cpuArchitecture Un X86_64 trabajo se lanza en una instancia x86 y otro en una ARM64 instancia de AWS Graviton desde el mismo entorno informático.

Especifique los tipos de instancia que cubran las arquitecturas requeridas

Si los configurasinstanceRequirements.allowedInstanceTypes, incluye tipos de instancias para cada arquitectura que declaren tus trabajos. Amazon ECS deduce la arquitectura a partir de los tipos de instancias que usted permite. Los tipos de instancia permitidos deben cumplir con los requisitos de runtimePlatform.cpuArchitecture cada trabajo. Por ejemplo, para ejecutar ambas arquitecturas, incluye:

  • familias x86, como y m5 c5

  • AWS Familias de gravitones, como y m7g c7g

El trabajo falla si no hay ningún tipo de instancia coincidente disponible

Si los tipos de instancia permitidos no incluyen ningún tipo que coincida con la arquitectura declarada de un trabajo, el trabajo falla por el siguiente motivo:

ResourceInitializationError: No available instance types were able to satisfy the task and placement constraints.

Por ejemplo, si solo allowedInstanceTypes se muestran las familias x86 y envías un ARM64 trabajo, el trabajo fallará y aparecerá este error. Para resolver este problema, añada una familia de instancias de AWS Graviton a. allowedInstanceTypes O bien, elimínala instanceRequirements para permitir todos los tipos de instancias.