Migliorare l'ottenimento delle risorse per i job

Questo documento spiega la possibilità di ottenere risorse e consiglia come migliorarla quando crei ed esegui job Batch.

Che cos'è la possibilità di ottenere risorse?

La possibilità di ottenere risorse è la probabilità che le risorse siano disponibili per eseguire il tuo workload. Quando le risorse non sono disponibili, il workload non riesce a essere eseguito a causa di errori di disponibilità delle risorse. La possibilità di ottenere risorse è correlata all'affidabilità , la probabilità che il tuo workload sia disponibile per i suoi utenti, ma è distinta da quest'ultima. (La disponibilità potrebbe significare una o entrambe le cose.)

La relazione tra possibilità di ottenere risorse e affidabilità è complessa. Il tuo workload deve ottenere risorse per essere affidabile. Tuttavia, mentre qualsiasi flessibilità in termini di località, tempo e hardware aumenta la possibilità di ottenere risorse, l'affidabilità aumenta solo con la flessibilità che soddisfa i requisiti del tuo workload. Ad esempio, tieni presente le seguenti complessità:

  • I tipi di macchine ad alte prestazioni potrebbero essere meno ottenibili a causa della maggiore domanda, ma l'affidabilità diminuisce quando il workload non ha prestazioni sufficienti.
  • La flessibilità della località aumenta la possibilità di ottenere risorse, ma le macchine con allocazione densa migliorano le prestazioni di rete.
  • La flessibilità temporale aumenta la possibilità di ottenere risorse, ma un'attesa eccessiva può causare ritardi non necessari.

Di conseguenza, una maggiore possibilità di ottenere risorse non è sempre migliore. Il livello ottimale di possibilità di ottenere risorse varia in base alle tue priorità e ai tuoi requisiti. Ad esempio, potresti volere una possibilità di ottenere risorse inferiore per dare la priorità alla riduzione dei costi. Anche se vuoi dare la priorità all'affidabilità, potresti dover bilanciare i vantaggi di una maggiore possibilità di ottenere risorse con i rischi di prestazioni inferiori o di maggiori ritardi.

Consigli per migliorare la possibilità di ottenere risorse per i job

Esamina le seguenti sezioni per migliorare la possibilità di ottenere risorse per i job Batch:

Consigli per tutte le opzioni di consumo

  • Riduci al minimo le esigenze di tipi di macchine di grandi dimensioni e ad alte prestazioni separando il workload. Ad esempio, separa prima le operazioni a elevato utilizzo di risorse di computing dalle operazioni a bassa domanda utilizzando i job dipendenti. Quindi, riduci il più possibile le risorse di computing minime richieste da ogni job massimizzando l'elaborazione parallela e riducendo al minimo le attività strettamente accoppiate.

    Scopri di più sui job dipendenti e sulle risorse di computing e sul parallelismo.

  • Massimizza il numero di località consentite per le risorse di Compute Engine del tuo job. Questo è vero per impostazione predefinita; a meno che tu non specifichi il campo allowedLocations[] per un job, le risorse di Compute Engine del job possono essere eseguite in ogni zona nella località del job.

    Scopri di più sulle località.

  • Valuta la possibilità di utilizzare strategie di fail-fast prima di attendere una migliore possibilità di ottenere risorse. Per provare a evitare ritardi, valuta le strategie di fail-fast come le seguenti:

    • Sebbene tu possa risolvere i problemi relativi agli errori di disponibilità delle risorse riprovando a inviare la richiesta in un altro momento, spesso è più veloce provare prima località o hardware diversi.
    • Se sei disposto a utilizzare più opzioni di consumo, spesso è più veloce provare prima le opzioni di consumo senza ritardi: prenotazioni on demand, on demand e VM spot.
    • Per i nuovi workload che prevedi di ripetere, potresti preferire accelerare i test iniziali e la risoluzione dei problemi utilizzando temporaneamente opzioni più veloci da ottenere.

Consigli in base all'opzione di consumo

L'opzione di consumo selezionata è un fattore primario per la possibilità di ottenere risorse di un job. Questa sezione riassume brevemente ogni opzione di consumo e consiglia come ottimizzare la possibilità di ottenere risorse per ogni opzione di consumo.

Le seguenti opzioni di consumo sono elencate dalla possibilità di ottenere risorse più alta a quella più bassa:

  • Per i workload con requisiti di possibilità di ottenere risorse elevati, utilizza le prenotazioni. Le prenotazioni offrono un livello di garanzia più elevato per l'ottenimento della capacità rispetto a tutte le altre opzioni di consumo. Per utilizzare la capacità riservata, crea o identifica prima le prenotazioni esistenti che puoi utilizzare. Quindi, configura le istanze in modo che utilizzino la capacità riservata. A differenza di altre opzioni di consumo, le istanze riservate comportano costi anche quando non vengono utilizzate fino a quando non le elimini, a causa della garanzia di capacità. Quando valuti la possibilità di ottenere risorse, scegli tra i seguenti tipi di prenotazioni:

    • Per richiedere la capacità riservata, utilizza una prenotazione con target specifico. Queste prenotazioni semplificano la verifica della disponibilità e della possibilità di utilizzo della capacità riservata da parte del tuo workload. Ogni volta che la capacità riservata non è disponibile e compatibile, il workload non riesce a essere eseguito e restituisce un errore. Una prenotazione con target specifico include tutte le prenotazioni per il modello di provisioning RESERVATION_BOUND e alcune prenotazioni per il modello di provisioning STANDARD.

      Scopri come creare un job che utilizza le prenotazioni.

    • Per la capacità riservata facoltativa, utilizza una prenotazione consumata automaticamente e la flessibilità delle istanze (anteprima). Queste opzioni di prenotazione offrono elevati livelli di garanzia per l'ottenimento della capacità, ma solo quando è disponibile la capacità riservata che il tuo workload può utilizzare. Per le prenotazioni consumate automaticamente, devi specificare il modello di provisioning STANDARD e verificare manualmente che la capacità riservata sia disponibile e corrisponda alla configurazione dell'istanza del tuo workload. Ogni volta che la capacità riservata non è disponibile o non corrisponde, il workload tenta di utilizzare la capacità on demand. Tuttavia, a differenza delle prenotazioni con target specifico, puoi utilizzare la flessibilità delle istanze con le prenotazioni consumate automaticamente per consentire al tuo workload di tentare di utilizzare più prenotazioni consumate automaticamente.

      Scopri come creare un job che utilizza le prenotazioni e la flessibilità delle istanze (anteprima).

  • Per i workload con requisiti di possibilità di ottenere risorse medi, utilizza la capacità on demand con la flessibilità delle istanze (anteprima) o le VM con inizio flessibile. Scegli tra queste opzioni come segue:

    • A meno che il tipo di macchina non appartenga alla serie di macchine A3 o non sia supportato, valuta la possibilità di utilizzare la capacità on demand con la flessibilità delle istanze (anteprima). L'opzione di consumo on demand richiede il modello di provisioning STANDARD (predefinito). A meno che tu non blocchi esplicitamente il consumo delle prenotazioni, il workload tenta di utilizzare le prenotazioni consumate automaticamente per impostazione predefinita. In particolare, non consigliamo l'opzione on demand per la serie di macchine A3.

      Scopri come creare un job che utilizza il modello di provisioning standard e la flessibilità delle istanze (anteprima).

    • In caso contrario o se la capacità on demand non è disponibile ripetutamente, valuta la possibilità di utilizzare le VM con inizio flessibile. Per utilizzare l'opzione di consumo delle VM con inizio flessibile, specifica il modello di provisioning FLEX_START. Le VM con inizio flessibile richiedono che il workload possa sopportare un tempo di attesa e una durata di esecuzione limitata, ma forniscono anche sconti tramite i prezzi di Dynamic Workload Scheduler.

      Scopri come creare un job che utilizza le VM con inizio flessibile.

  • Per i workload con requisiti di possibilità di ottenere risorse bassi, utilizza le VM spot con più funzionalità di possibilità di ottenere risorse. Per utilizzare l'opzione di consumo delle VM spot, specifica il modello di provisioning SPOT. Le VM spot potrebbero non essere sempre disponibili e possono essere prerilasciate in qualsiasi momento, quindi sono consigliate solo per i workload a tolleranza di errore, ma potrebbero fornire gli sconti maggiori tramite i prezzi delle VM spot.

    In genere, ti consigliamo di visualizzare la disponibilità delle VM spot prima della creazione e di verificare che il workload possa gestire il prerilascio. Quindi, per migliorare la possibilità di ottenere risorse delle VM spot nei job Batch, ti consigliamo di utilizzare la flessibilità delle istanze con più tipi di macchine nello stesso ranking (anteprima) e di utilizzare i tentativi automatici per tentare automaticamente di ricreare le VM spot dopo il prerilascio.

    Scopri come visualizzare la disponibilità delle VM spot e gestire il prerilascio delle VM spot nella documentazione di Compute Engine. Quindi, scopri come creare un job che utilizza il modello di provisioning delle VM spot, la flessibilità delle istanze (anteprima) e i tentativi automatici per il prerilascio.

Passaggi successivi

  • Scopri di più sulle opzioni di creazione dei job .