View a markdown version of this page

Esecuzione di processi ad architettura mista (X86_64 e ARM64) - AWS Batch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esecuzione di processi ad architettura mista (X86_64 e ARM64)

Un singolo ambiente di calcolo e coda di lavoro di Amazon ECS Managed Instances può eseguire entrambi i processi (basati sul processore Graviton). X86_64 ARM64AWS Ogni processo viene eseguito con una capacità che corrisponde all'architettura della CPU dichiarata nella definizione del processo. Imposta l'architettura con runtimePlatform.cpuArchitecture nella definizione del lavoro. Non si configura l'architettura nell'ambiente di elaborazione.

Per eseguire processi ad architettura mista, fornisci un'immagine del contenitore che supporti entrambe le architetture (un manifesto di immagini a più architetture) e registra una definizione di lavoro per architettura che è impostata su o. runtimePlatform.cpuArchitecture X86_64 ARM64 È possibile inviare i lavori per entrambe le definizioni di lavoro alla stessa coda di lavoro.

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

Quindi configura l'ambiente di elaborazione in uno dei seguenti modi:

  • Ometti instanceRequirements per rendere idonei tutti i tipi di istanza.

  • Specifica allowedInstanceTypes che copra tutte le architetture utilizzate dai tuoi lavori.

Non specificate i tipi di istanza

Ometti il instanceRequirements campo da managedInstancesProvider.instanceLaunchTemplate (l'impostazione che limita i tipi di istanza che l'ambiente di calcolo può utilizzare). Tutti i tipi di istanze sono idonei e Amazon ECS seleziona la capacità che corrisponde a quella di ogni processo. runtimePlatform.cpuArchitecture Un X86_64 job viene avviato su un'istanza x86 e un ARM64 job viene avviato su un'istanza AWS Graviton dallo stesso ambiente di calcolo.

Specifica i tipi di istanza che coprono le architetture richieste

Se lo impostiinstanceRequirements.allowedInstanceTypes, includi i tipi di istanza per ogni architettura dichiarata dai tuoi lavori. Amazon ECS deduce l'architettura dai tipi di istanza consentiti. I tipi di istanza consentiti devono soddisfare quelli di ogni job. runtimePlatform.cpuArchitecture Ad esempio, per eseguire entrambe le architetture, includi:

  • famiglie x86, come e m5 c5

  • AWS Famiglie Graviton, come e m7g c7g

Il processo fallisce se non è disponibile alcun tipo di istanza corrispondente

Se i tipi di istanza consentiti non includono alcun tipo che corrisponda all'architettura dichiarata di un processo, il processo ha esito negativo per il seguente motivo:

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

Ad esempio, se allowedInstanceTypes elenca solo le famiglie x86 e si invia un ARM64 lavoro, il processo ha esito negativo e viene visualizzato questo errore. Per risolvere questo problema, aggiungi una famiglia di istanze AWS Graviton a. allowedInstanceTypes Oppure, rimuovi instanceRequirements per consentire tutti i tipi di istanze.