Specifica una piattaforma CPU minima per le istanze di computing

Per i tipi di macchina che possono essere eseguiti su piattaforme CPU diverse, questa pagina spiega come creare o aggiornare un'istanza Compute Engine per utilizzare un livello di compatibilità CPU specificato anziché quello predefinito.

I data center di Google offrono diverse generazioni di processori CPU. Questi processori supportano funzionalità incrementali come Advanced Vector Extensions, ad esempio AVX2 e AVX-512. Inoltre, alcune funzionalità di base come la velocità di clock, le suddivisioni NUMA e il tempo di ricerca per l'accesso alla memoria possono variare in base ai processori della CPU. Il termine piattaforma CPU si riferisce a questa configurazione basata sulla CPU.

Ogni serie di macchine funziona con uno o più processori CPU. Ad esempio, le istanze C4 possono essere eseguite su CPU Intel Emerald Rapids o Granite Rapids. Se una serie di macchine supporta più CPU, puoi scegliere una piattaforma CPU minima quando crei un'istanza. Il valore che puoi impostare per la CPU minima dipende dal tipo di macchina e dalla regione e dalla zona che scegli per le tue istanze di calcolo.

La scelta di una CPU specifica è utile se il tuo workload è sensibile a funzionalità specifiche della CPU, come set di istruzioni (AVX2 anziché AVX-512), dimensioni della cache o velocità di clock, che possono variare tra le piattaforme CPU.

  • Puoi impostare la CPU minima su un processore più recente per sfruttare una frequenza di clock più elevata.
  • Potresti impostare la CPU minima su un processore precedente per garantire la compatibilità per le tue applicazioni.

Tuttavia, l'utilizzo dell'impostazione della CPU minima può limitare le zone in cui possono essere eseguite le istanze di calcolo.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso ad API e servizi Cloud de Confiance by S3NS . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:

    Console

    Quando utilizzi la console Cloud de Confiance per accedere ai servizi Cloud de Confiance by S3NS e alle API, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init
  • Imposta una regione e una zona predefinite.
  • REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Cloud de Confiance .

Ruoli e autorizzazioni richiesti

Per ottenere le autorizzazioni necessarie per modificare la piattaforma CPU minima, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:

  • Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1)
  • Per connetterti a un'istanza di Compute che può essere eseguita come account di servizio: Service Account User (v1) (ruolo roles/iam.serviceAccountUser)

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Quando selezionare una piattaforma CPU minima

Ogni zona Compute Engine ha una CPU predefinita per ogni serie di macchine. Se non specifichi un valore per la CPU minima per la tua istanza, l'istanza di calcolo utilizza la CPU predefinita assegnata al tipo di macchina e alla zona.

Google consiglia di scegliere un livello di compatibilità della piattaforma CPU solo in questi casi:

  • Prestazioni: se un processore specifico offre un aumento significativo della velocità del tuo workload o dispone di funzionalità come AVX-512 necessarie al tuo codice
  • Compatibilità: se la tua istanza di computing richiede un determinato sistema operativo, set di istruzioni o librerie non supportati su una piattaforma CPU più recente
  • Prenotazioni: se utilizzi prenotazioni, la tua istanza di computing deve utilizzare la stessa piattaforma CPU della prenotazione.

Utilizzo della piattaforma CPU predefinita

Se non specifichi una CPU minima per l'istanza, la CPU minima viene impostata su AUTOMATIC. Ciò significa che l'istanza utilizza la piattaforma CPU predefinita per il tipo di macchina.

In rare occasioni, Google aggiorna una piattaforma CPU per un tipo di macchina e una zona.

Come funziona la selezione di una piattaforma CPU minima

Quando specifichi un valore per la CPU minima, Compute Engine fornisce la piattaforma CPU da utilizzare per l'istanza. La tua istanza di computing continua a utilizzare quella piattaforma CPU, a meno che tu non la modifichi.

L'istanza di computing utilizza la piattaforma CPU specificata anche dopo la migrazione live durante un'operazione di manutenzione.

Limitazioni

  • Ogni regione e zona supporta più piattaforme CPU, ma una regione o una zona potrebbe non offrire tutte le piattaforme CPU.
  • Non puoi specificare una piattaforma CPU minima per le istanze di computing eseguite su nodi single-tenant.
  • Non puoi selezionare una piattaforma CPU minima per nessuna istanza di macchina virtuale (VM) E2.
  • Non puoi specificare una piattaforma CPU minima per le istanze VM create con tipi di macchine per uso generico con core condiviso.

Disponibilità delle piattaforme CPU

La disponibilità delle piattaforme CPU varia a seconda delle zone e si basa sull'hardware e sulle serie di macchine disponibili in ogni zona. Il seguente elenco mostra le piattaforme CPU minime supportate e la sintassi valida per ciascuna piattaforma:

  • 6ª generazione: processori Intel Xeon (Granite Rapids): "Intel Granite Rapids"
  • 5ª generazione: processori Intel Xeon (Emerald Rapids): "Intel Emerald Rapids"
  • 4ª generazione: processori Intel Xeon (Sapphire Rapids): "Intel Sapphire Rapids"
  • 3ª generazione: processori Intel Xeon (Ice Lake): "Intel Ice Lake"
  • 2ª generazione: processori Intel Xeon (Cascade Lake): "Intel Cascade Lake"
  • 1ª generazione: processori Intel Xeon (Skylake): "Intel Skylake"
  • Processori Intel Xeon E5 v4 (Broadwell): "Intel Broadwell"
  • Processori Intel Xeon E5 v3 (Haswell): "Intel Haswell"
  • Processori Intel Xeon E5 v2 (Ivy Bridge): "Intel Ivy Bridge"
  • Processori Intel Xeon E5 (Sandy Bridge): "Intel Sandy Bridge"
  • 5ª generazione: processori AMD EPYC Turin: "AMD Turin"
  • 4ª generazione: processori AMD EPYC Genoa: "AMD Genoa"
  • 3ª generazione: processori AMD EPYC Milan: "AMD Milan"

Visualizza le CPU disponibili per zona

Alcune regioni e zone supportano più piattaforme CPU per la stessa serie di macchine. Puoi controllare quali CPU sono disponibili in una zona utilizzando gcloud CLI o REST.

Se utilizzi nodi single-tenant, ogni nodo utilizza la piattaforma CPU corrispondente al tipo di nodo che hai definito nel template di nodo.

gcloud

  • Per visualizzare le piattaforme CPU disponibili nella tua zona, utilizza il comando gcloud compute zones describe:

    gcloud compute zones describe ZONE
    

    Sostituisci ZONE con il nome della zona per verificare le piattaforme CPU disponibili, ad esempio europe-west10-a.

    L'output seguente di questo comando elenca le piattaforme CPU per la zona europe-west10-a:

    gcloud compute zones describe europe-west10-a
    availableCpuPlatforms:
    - Intel Broadwell
    - Intel Cascade Lake
    - Intel Ice Lake
    - AMD Milan
    - Intel Skylake
    
    ...
    

REST

  • Invia una richiesta GET per la zona che stai prendendo in considerazione:

    GET https://compute.s3nsapis.fr/compute/v1/projects/myproject/zones/ZONE
    

    Sostituisci ZONE con il nome della zona per controllare le piattaforme CPU disponibili.

    L'output seguente di questo comando elenca le piattaforme CPU supportate per una zona:

    {
      "kind": "compute#zone",
      "id": "2210",
      "creationTimestamp": "1969-12-31T09:30:55.189-07:00",
      "name": "europe-west10-a",
      "description": "europe-west10-a",
      "status": "UP",
      "region": "https://www.s3nsapis.fr/compute/v1/projects/myproject/regions/europe-west10-a",
      "selfLink": "https://www.s3nsapis.fr/compute/v1/projects/myproject/zones/europe-west10-a",
      "availableCpuPlatforms": [
       "Intel Broadwell",
       "Intel Cascade Lake",
       "Intel Ice Lake",
       "AMD Milan",
       "Intel Skylake"
      ],
      "supportsPzs": true
     }

Modifiche alle piattaforme CPU predefinite

In rare occasioni, Google aggiorna la piattaforma CPU predefinita per una serie di macchine in una zona. In questo caso, Google ti invia una notifica con una tempistica e istruzioni per il passaggio alla nuova piattaforma.

Se hai specificato una piattaforma CPU minima per la tua istanza di computing, la modifica alla piattaforma CPU predefinita non ha alcun impatto sulla tua istanza. Compute Engine non fornisce mai una piattaforma CPU precedente a quella specificata dalla proprietà CPU minima per un'istanza. Tuttavia, se non specifichi un valore per la CPU minima, l'istanza può essere eseguita su una piattaforma CPU più recente se la piattaforma CPU predefinita non è disponibile nella zona in cui si trova l'istanza.

Se Compute Engine sposta la tua istanza di computing su una piattaforma CPU più recente, il costo dell'istanza di computing non cambia.

Se la piattaforma CPU predefinita cambia per una serie di macchine, puoi:

  • Imposta la proprietà CPU minima per la tua istanza se vuoi mantenere il livello di compatibilità della piattaforma CPU predefinita precedente.
  • Lascia la proprietà della CPU minima impostata su AUTOMATIC e consenti all'istanza di calcolo di utilizzare la piattaforma CPU più recente arrestando e riavviando l'istanza.

Scegli una piattaforma CPU per una nuova istanza

Quando crei un'istanza di computing, se la serie di macchine supporta più di una piattaforma CPU, puoi utilizzare la proprietà CPU minima per specificare la piattaforma CPU che vuoi che l'istanza utilizzi.

Console

  1. Nella console Cloud de Confiance , vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Nella sezione Configurazione macchina, espandi la sezione Configurazioni avanzate.

  3. Nell'elenco Piattaforma CPU, seleziona una piattaforma per la CPU delle istanze.

  4. Continua con il resto della procedura di creazione dell'istanza.

gcloud

  • Per creare una nuova istanza di Compute che utilizza una piattaforma CPU minima, utilizza il comando gcloud compute instances create e specifica il flag --min-cpu-platform:

    gcloud compute instances create INSTANCE_NAME \
        --zone=ZONE \
        --min-cpu-platform="PLATFORM"

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza che vuoi creare
    • ZONE: il nome della zona in cui vuoi creare l'istanza, ad esempio europe-west1-b
    • PLATFORM: il nome descrittivo della piattaforma CPU minima che vuoi utilizzare per l'istanza, ad esempio Intel Sandy Bridge

      Se vuoi cancellare la specifica della piattaforma CPU minima, sostituisci PLATFORM con AUTOMATIC.

      Per verificare quali piattaforme CPU sono disponibili in una zona, consulta Visualizzare le piattaforme CPU disponibili per zona.

REST

  • Utilizza il metodo instances.insert e includi la proprietà minCpuPlatform nel corpo della richiesta.

    Ad esempio, un corpo della richiesta potrebbe avere il seguente aspetto:

    "name": "INSTANCE_NAME",
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "minCpuPlatform": "PLATFORM",
    "networkInterfaces": [{
      "accessConfigs": [{
        "type": "ONE_TO_ONE_NAT",
        "name": "External NAT"
       }],
      "network": "global/networks/default"
    }],
    "disks": [{
       "autoDelete": "true",
       "boot": "true",
       "type": "PERSISTENT",
       "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
       }
     }]

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome della nuova istanza di computing
    • ZONE: il nome della zona in cui vuoi creare l'istanza di computing, ad esempio europe-west1-b
    • MACHINE_TYPE: il tipo di macchina della nuova istanza di computing
    • PLATFORM: il nome descrittivo della piattaforma CPU minima che vuoi utilizzare per l'istanza, ad esempio Intel Ivy Bridge

      Per cancellare la specifica della piattaforma CPU minima, sostituisci PLATFORM con AUTOMATIC.

      Per verificare quali piattaforme CPU sono disponibili in una zona, consulta Visualizzare le piattaforme CPU disponibili per zona.

    • IMAGE_PROJECT: il progetto di immagini della famiglia di immagini

    • IMAGE_FAMILY: la famiglia di immagini dell'immagine da utilizzare per creare l'istanza di computing

Modificare la CPU per un'istanza esistente

Per modificare la CPU di un'istanza di computing esistente, devi prima arrestare l'istanza.

Console

  1. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Se richiesto, seleziona il progetto e fai clic su Continua.

  3. Seleziona l'istanza di computing che vuoi modificare.

  4. Fai clic su Arresta per arrestare l'istanza di Compute. Se non è presente l'opzione Arresta, fai clic su Altre azioni > Arresta.

  5. Fai clic su Modifica.

  6. Nella sezione Configurazione macchina, fai clic su Configurazioni avanzate.

  7. Seleziona un'opzione dal menu a discesa Piattaforma CPU.

  8. Salva le modifiche.

  9. Seleziona l'istanza di Compute che hai modificato.

  10. Fai clic su Avvia/Riprendi.

gcloud

  1. Per arrestare un'istanza di computing, utilizza il comando gcloud compute instances stop:

    gcloud compute instances stop INSTANCE_NAME
        --zone=ZONE
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza di computing per la quale vuoi specificare una piattaforma CPU minima
    • ZONE: il nome della zona in cui hai creato l'istanza di computing, ad esempio europe-west1-b
  2. Per specificare una piattaforma CPU minima, utilizza il comando gcloud compute instances update e specifica il flag --min-cpu-platform:

    gcloud compute instances update INSTANCE_NAME \
        --zone=ZONE \
        --min-cpu-platform="PLATFORM"

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza di computing da aggiornare
    • ZONE: il nome della zona in cui hai creato l'istanza di computing
    • PLATFORM: il nome descrittivo della piattaforma CPU che vuoi utilizzare per l'istanza di computing, ad esempio Intel Granite Rapids.
  3. Per avviare l'istanza di computing aggiornata, utilizza il comando gcloud compute instances start:

    gcloud compute instances start INSTANCE_NAME
        --zone=ZONE
    

REST

  1. Per arrestare un'istanza di computing, crea una richiesta POST utilizzando il metodo instances.stop:

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto
    • ZONE: la zona in cui si trova l'istanza di computing
    • INSTANCE_NAME: il nome dell'istanza di computing per la quale vuoi specificare una piattaforma CPU minima
  2. Per impostare la piattaforma CPU minima, crea una richiesta POST al metodo setMinCpuPlatform e imposta la proprietà minCpuPlatform nel corpo della richiesta:

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setMinCpuPlatform
    {
      "minCpuPlatform": "PLATFORM"
    }
    

    Sostituisci PLATFORM con il nome descrittivo della piattaforma CPU minima che vuoi utilizzare per l'istanza di computing, ad esempio Intel Skylake.

  3. Per riavviare l'istanza di computing, crea una richiesta POST utilizzando il metodo instances.start:

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/start
    

Ripristina la CPU predefinita

Per tornare a utilizzare la CPU predefinita, devi arrestare l'istanza di computing se è in esecuzione.

Console

  1. Vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Se richiesto, seleziona il progetto e fai clic su Continua.

  3. Seleziona l'istanza che vuoi modificare.

  4. Fai clic su Arresta.

  5. Per modificare l'istanza, fai clic su Modifica.

  6. Nella sezione Configurazione macchina, fai clic su Configurazioni avanzate.

  7. Imposta l'opzione Piattaforma CPU su Automatica.

  8. Seleziona l'istanza che hai modificato.

  9. Fai clic su Avvia/Riprendi.

gcloud

  1. Per arrestare un'istanza di computing, utilizza il comando gcloud compute instances stop:

    gcloud compute instances stop INSTANCE_NAME
    

    Sostituisci INSTANCE_NAME con il nome dell'istanza di Compute che vuoi modificare.

  2. Per reimpostare la piattaforma CPU minima, utilizza il comando gcloud compute instances update e imposta il flag --min-cpu-platform su AUTOMATIC:

    gcloud compute instances update INSTANCE_NAME \
        --min-cpu-platform="AUTOMATIC"
    
  3. Per avviare l'istanza di computing aggiornata, utilizza il comando gcloud compute instances start:

    gcloud compute instances start INSTANCE_NAME
    

REST

  1. Per arrestare un'istanza di computing, crea una richiesta POST utilizzando il metodo instances.stop:

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/stop
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto
    • ZONE: la zona in cui si trova l'istanza di computing
    • INSTANCE_NAME: il nome dell'istanza di computing che vuoi modificare
  2. Per reimpostare la piattaforma CPU minima, crea una richiesta POST al metodo setMinCpuPlatform. Nel corpo della richiesta, imposta il valore della proprietà minCpuPlatform su AUTOMATIC.

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setMinCpuPlatform
    {
      "minCpuPlatform": "AUTOMATIC"
    }
    
  3. Per riavviare l'istanza aggiornata, crea una richiesta POST utilizzando il metodo instances.start:

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/start
    

Utilizza un livello di compatibilità della piattaforma CPU nei modelli di istanza

Se utilizzi gruppi di istanze gestite, puoi impostare un livello di compatibilità della piattaforma CPU per tutte le istanze di Compute nel gruppo.

Per farlo, crea un template di istanza e imposta la proprietà minCpuPlatform.

Console

  1. Vai alla pagina Template di istanza.

    Vai a Template di istanza

  2. Se richiesto, seleziona il progetto e fai clic su Continua.

  3. Fai clic su Crea template di istanza.

  4. Nella sezione Configurazione macchina, fai clic su Configurazioni avanzate.

  5. Seleziona un'opzione dal menu a discesa Piattaforma CPU.

  6. Continua il processo di creazione del template di istanza.

gcloud

  • Quando crei un template di istanza utilizzando il comando gcloud compute instance-templates create, specifica il flag --min-cpu-platform:

    gcloud compute instance-templates create TEMPLATE_NAME \
        --min-cpu-platform="PLATFORM"

    Sostituisci quanto segue:

    • TEMPLATE_NAME: il nome del template di istanza
    • PLATFORM: il nome descrittivo della piattaforma CPU minima che vuoi utilizzare per l'istanza, ad esempio Intel Skylake

REST

  • Aggiungi minCpuPlatform nella richiesta per creare un nuovo template di istanza utilizzando il metodo instanceTemplates.insert.

    Ad esempio, il seguente template di istanza contiene i campi obbligatori minimi per la creazione di un nuovo template con l'aggiunta della proprietà minCpuPlatform:

    {
    "name": "example-template",
    "properties": {
      "machineType": "zones/us-central1-a/machineTypes/n2d-standard-2",
      "minCpuPlatform": "AMD Milan",
      "networkInterfaces": [
        {
          "network": "global/networks/default"
        }
      ],
      "disks":
      [
        {
          "type": "PERSISTENT",
          "boot": true,
          "mode": "READ_WRITE",
          "initializeParams":
          {
            "sourceImage": "projects/debian-cloud/global/images/family/debian-11"
          }
        }
      ]
      }
    }

Passaggi successivi