CloudWatch soluzione: carico di lavoro della GPU NVIDIA su Amazon EC2 - Amazon CloudWatch

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à.

CloudWatch soluzione: carico di lavoro della GPU NVIDIA su Amazon EC2

Questa soluzione consente di configurare la raccolta delle out-of-the-box metriche utilizzando CloudWatch agenti per i carichi di lavoro delle GPU NVIDIA in esecuzione su istanze. EC2 Inoltre, ti aiuta a configurare una dashboard preconfigurata. CloudWatch Per informazioni generali su tutte le soluzioni CloudWatch di osservabilità, vedere. CloudWatch soluzioni di osservabilità

Requisiti

Questa soluzione è rilevante per le seguenti condizioni:

  • Elaborazione: Amazon EC2

  • Supporta fino a 500 istanze GPUs in tutte le EC2 istanze in una determinata Regione AWS

  • Versione più recente dell'agente CloudWatch

  • Agente SSM installato sull'istanza EC2

  • L' EC2 istanza deve avere un driver NVIDIA installato. I driver NVIDIA sono preinstallati su alcune Amazon Machine Images ()AMIs. In caso contrario, il driver può essere installato manualmente. Per ulteriori informazioni, consulta Installazione dei driver NVIDIA sulle istanze Linux.

Nota

AWS Systems Manager (agente SSM) è preinstallato su alcune Amazon Machine Images (AMIs) fornite da terze parti AWS affidabili. Se l'agente non è installato, puoi installarlo manualmente utilizzando la procedura adatta al tuo tipo di sistema operativo.

Vantaggi

La soluzione offre il monitoraggio NVIDIA, fornendo informazioni preziose per i seguenti casi d'uso:

  • Analizza l'utilizzo di GPU e memoria per individuare eventuali problemi di prestazioni o la necessità di risorse aggiuntive.

  • Monitora la temperatura e l'assorbimento di potenza per garantire il GPUs funzionamento entro limiti di sicurezza.

  • Valuta le prestazioni dell'encoder per i carichi di lavoro video basati su GPU.

  • Verifica la PCIe connettività per la generazione e la larghezza previste.

  • Monitora la velocità di clock della GPU per rilevare problemi di scalabilità e limitazione.

Di seguito sono riportati i principali vantaggi della soluzione:

  • Automatizza la raccolta delle metriche per NVIDIA utilizzando la configurazione degli CloudWatch agenti, eliminando la strumentazione manuale.

  • Fornisce una dashboard preconfigurata e consolidata per le metriche NVIDIA. CloudWatch La dashboard gestirà automaticamente le metriche delle nuove EC2 istanze NVIDIA configurate utilizzando la soluzione, anche se tali metriche non esistono quando si crea la dashboard per la prima volta.

L'immagine seguente è un esempio del pannello di controllo di questa soluzione.

Dashboard di esempio per la soluzione GPU NVIDIA.

Costi

Questa soluzione crea e utilizza le risorse del tuo account. Ti vengono addebitati i costi per l'utilizzo standard, incluso quanto segue:

  • Tutte le metriche raccolte dall' CloudWatch agente vengono addebitate come metriche personalizzate. Il numero di metriche utilizzate da questa soluzione dipende dal numero di host. EC2

    • Ogni EC2 host configurato per la soluzione pubblica un totale di 17 metriche per GPU.

  • Una dashboard personalizzata.

  • Operazioni API richieste dall' CloudWatch agente per pubblicare le metriche. Con la configurazione predefinita per questa soluzione, l' CloudWatch agente le chiama PutMetricDatauna volta al minuto per ogni EC2 host. Ciò significa che l'PutMetricDataAPI verrà chiamata 30*24*60=43,200 tra 30 giorni al mese per ogni EC2 host.

Per ulteriori informazioni sui CloudWatch prezzi, consulta la pagina CloudWatch dei prezzi di Amazon.

Il calcolatore dei prezzi può aiutarti a stimare i costi mensili approssimativi per l'utilizzo di questa soluzione.

Per utilizzare il calcolatore dei prezzi per stimare i costi mensili della soluzione
  1. Apri il calcolatore CloudWatch dei prezzi di Amazon.

  2. Per Scegli una regione, seleziona la regione in cui desideri implementare la soluzione.

  3. Nella sezione Metriche, per Numero di metriche, inserisci. 17 * average number of GPUs per EC2 host * number of EC2 instances configured for this solution

  4. Nella APIssezione, per Numero di richieste API, inserisci. 43200 * number of EC2 instances configured for this solution

  5. Per impostazione predefinita, l' CloudWatch agente esegue un'PutMetricDataoperazione al minuto per ogni EC2 host.

  6. Nella sezione Dashboard e allarmi, per Numero di dashboard, inserisci. 1

  7. Puoi vedere i costi mensili stimati nella parte inferiore del calcolatore dei prezzi.

CloudWatch configurazione dell'agente per questa soluzione

L' CloudWatch agente è un software che viene eseguito in modo continuo e autonomo sui server e in ambienti containerizzati. Raccoglie metriche, log e tracce dall'infrastruttura e dalle applicazioni e li invia a e X-Ray. CloudWatch

Per ulteriori informazioni sull'agente, vedere. CloudWatch Raccogli metriche, log e tracce con l'agente CloudWatch

La configurazione dell'agente in questa soluzione raccoglie una serie di metriche per aiutarti a iniziare a monitorare e osservare la tua GPU NVIDIA. Per impostazione predefinita, l' CloudWatch agente può essere configurato per raccogliere più metriche della GPU NVIDIA rispetto a quelle visualizzate nella dashboard. Per un elenco di tutte le metriche delle GPU NVIDIA che puoi raccogliere, consulta. Raccolta dei parametri della GPU NVIDIA

Configurazione dell'agente per questa soluzione

Le metriche raccolte dall'agente sono definite nella configurazione dell'agente. La soluzione fornisce configurazioni degli agenti per raccogliere le metriche consigliate con dimensioni adeguate per il dashboard della soluzione.

Utilizza la seguente configurazione dell' CloudWatch agente sulle EC2 istanze con NVIDIA. GPUs La configurazione verrà memorizzata come parametro nel Parameter Store di SSM, come descritto più avanti. Fase 2: Archiviare il file di configurazione CloudWatch dell'agente consigliato in Systems Manager Parameter Store

{ "metrics": { "namespace": "CWAgent", "append_dimensions": { "InstanceId": "${aws:InstanceId}" }, "metrics_collected": { "nvidia_gpu": { "measurement": [ "utilization_gpu", "temperature_gpu", "power_draw", "utilization_memory", "fan_speed", "memory_total", "memory_used", "memory_free", "pcie_link_gen_current", "pcie_link_width_current", "encoder_stats_session_count", "encoder_stats_average_fps", "encoder_stats_average_latency", "clocks_current_graphics", "clocks_current_sm", "clocks_current_memory", "clocks_current_video" ], "metrics_collection_interval": 60 } } }, "force_flush_interval": 60 }

Implementa l'agente per la tua soluzione

Esistono diversi approcci per l'installazione dell' CloudWatch agente, a seconda del caso d'uso. Si consiglia di utilizzare Systems Manager per questa soluzione. Fornisce un'esperienza da console e semplifica la gestione di una flotta di server gestiti all'interno di un unico AWS account. Le istruzioni in questa sezione utilizzano Systems Manager e sono destinate a quando l' CloudWatch agente non è in esecuzione con configurazioni esistenti. È possibile verificare se l' CloudWatch agente è in esecuzione seguendo la procedura riportata di seguito. Verifica che l' CloudWatch agente sia in esecuzione

Se stai già eseguendo l' CloudWatch agente sugli EC2 host in cui viene distribuito il carico di lavoro e gestisci le configurazioni degli agenti, puoi saltare le istruzioni in questa sezione e seguire il meccanismo di distribuzione esistente per aggiornare la configurazione. Assicurati di unire la configurazione dell'agente della GPU NVIDIA con la configurazione dell'agente esistente, quindi distribuisci la configurazione unita. Se si utilizza Systems Manager per archiviare e gestire la configurazione per l' CloudWatch agente, è possibile unire la configurazione al valore del parametro esistente. Per ulteriori informazioni, vedere Gestione dei file di configurazione CloudWatch dell'agente.

Nota

L'utilizzo di Systems Manager per distribuire le seguenti configurazioni di CloudWatch agenti sostituirà o sovrascriverà qualsiasi configurazione CloudWatch dell'agente esistente sulle istanze. EC2 È possibile modificare questa configurazione per adattarla all'ambiente o al caso d'uso specifici. Le metriche definite nella configurazione sono le minime richieste per la dashboard fornita dalla soluzione.

Il processo di distribuzione include i seguenti passaggi:

  • Passaggio 1: assicurati che le EC2 istanze di destinazione dispongano delle autorizzazioni IAM richieste.

  • Passaggio 2: archiviare il file di configurazione dell'agente consigliato nell'archivio dei parametri di Systems Manager.

  • Passaggio 3: Installare l' CloudWatch agente su una o più EC2 istanze utilizzando uno AWS CloudFormation stack.

  • Fase 4: Verificare che la configurazione dell'agente sia configurata correttamente.

Passaggio 1: assicurati che le EC2 istanze di destinazione dispongano delle autorizzazioni IAM richieste

È necessario concedere l'autorizzazione a Systems Manager per installare e configurare l' CloudWatch agente. È inoltre necessario concedere all' CloudWatch agente l'autorizzazione a pubblicare dati di telemetria dall'istanza a EC2 . CloudWatch Assicurati che il ruolo IAM associato all'istanza abbia CloudWatchAgentServerPolicyle policy di Amazon SSMManaged InstanceCore IAM allegate.

Fase 2: Archiviare il file di configurazione CloudWatch dell'agente consigliato in Systems Manager Parameter Store

Parameter Store semplifica l'installazione dell' CloudWatch agente su un' EC2 istanza archiviando e gestendo in modo sicuro i parametri di configurazione, eliminando la necessità di valori codificati. Ciò garantisce un processo di implementazione più sicuro e flessibile, che consente una gestione centralizzata e aggiornamenti più semplici delle configurazioni su più istanze.

Utilizzare i passaggi seguenti per archiviare il file di configurazione dell' CloudWatch agente consigliato come parametro in Parameter Store.

Per creare il file di configurazione CloudWatch dell'agente come parametro
  1. Apri la AWS Systems Manager console all'indirizzo https://console.aws.amazon.com/systems-manager/.

  2. Verifica che la regione selezionata sulla console sia la regione in cui è in esecuzione il carico di lavoro della GPU NVIDIA.

  3. Dal pannello di navigazione, scegli Gestione applicazioni, Parameter Store.

  4. Segui questi passaggi per creare un nuovo parametro per la configurazione.

    1. Scegli Create parameter (Crea parametro).

    2. Nella casella Nome, inserisci un nome che utilizzerai per fare riferimento al file di configurazione dell' CloudWatch agente nei passaggi successivi. Ad esempio, AmazonCloudWatch-NVIDIA-GPU-Configuration.

    3. (Facoltativo) Nella casella Descrizione, digitate una descrizione per il parametro.

    4. Per il livello Parametri, scegliete Standard.

    5. Per Type (Tipo), scegliere String.

    6. Per Tipo di dati, scegli testo.

    7. Nella casella Valore, incolla il blocco JSON corrispondente elencato inConfigurazione dell'agente per questa soluzione.

    8. Scegli Create parameter (Crea parametro).

Passaggio 3: Installare l' CloudWatch agente e applicare la configurazione utilizzando un modello AWS CloudFormation

È possibile utilizzare AWS CloudFormation per installare l'agente e configurarlo in modo da utilizzare la configurazione dell' CloudWatch agente creata nei passaggi precedenti.

Per installare e configurare l' CloudWatch agente per questa soluzione
  1. Apri la procedura guidata AWS CloudFormationQuick create stack utilizzando questo link: https://console.aws.amazon.com/cloudformation/ home? #/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw - -1.0.0.json. agent-installation-template

  2. Verifica che la regione selezionata sulla console sia la regione in cui è in esecuzione il carico di lavoro della GPU NVIDIA.

  3. Per il nome dello stack, inserisci un nome per identificare questo stack, ad esempio. CWAgentInstallationStack

  4. Nella sezione Parametri, specificate quanto segue:

    1. Per CloudWatchAgentConfigSSM, immettere il nome del parametro Systems Manager per la configurazione dell'agente creata in precedenza, ad esempioAmazonCloudWatch-NVIDIA-GPU-Configuration.

    2. Per selezionare le istanze di destinazione, sono disponibili due opzioni.

      1. Per InstanceIds, specificate un elenco delimitato da virgole di un elenco di IDs istanze IDs in cui desiderate installare l' CloudWatch agente con questa configurazione. È possibile elencare una singola istanza o più istanze.

      2. Se si esegue una distribuzione su larga scala, è possibile specificare l'istanza corrispondente TagValueper indirizzare tutte le EC2 istanze con questo tag TagKeye questo valore. Se si specifica a TagKey, è necessario specificare un corrispondente. TagValue (Per un gruppo Auto Scaling, specificare TagKeye specificare aws:autoscaling:groupName il nome del gruppo Auto Scaling da distribuire su tutte le TagValueistanze all'interno del gruppo Auto Scaling.)

  5. Controlla le impostazioni, quindi scegli Create stack.

Se desideri prima modificare il file modello per personalizzarlo, scegli l'opzione Carica un file modello in Create Stack Wizard per caricare il modello modificato. Per ulteriori informazioni, consulta Creazione di uno stack sulla console. AWS CloudFormation

Nota

Una volta completato questo passaggio, questo parametro Systems Manager verrà associato agli CloudWatch agenti in esecuzione nelle istanze di destinazione. Ciò significa che:

  1. Se il parametro Systems Manager viene eliminato, l'agente si interromperà.

  2. Se il parametro Systems Manager viene modificato, le modifiche alla configurazione verranno applicate automaticamente all'agente alla frequenza pianificata, che per impostazione predefinita è di 30 giorni.

  3. Se si desidera applicare immediatamente le modifiche a questo parametro Systems Manager, è necessario eseguire nuovamente questo passaggio. Per ulteriori informazioni sulle associazioni, vedere Utilizzo delle associazioni in Systems Manager.

Fase 4: Verificare che la configurazione dell'agente sia configurata correttamente

È possibile verificare se l' CloudWatch agente è installato seguendo la procedura riportata di seguitoVerifica che l' CloudWatch agente sia in esecuzione. Se l' CloudWatch agente non è installato e non è in esecuzione, assicurati di aver configurato tutto correttamente.

Se tutto è configurato correttamente, dovresti vedere le metriche della GPU NVIDIA pubblicate su. CloudWatch Puoi controllare la CloudWatch console per verificare che vengano pubblicate.

Per verificare che le metriche della GPU NVIDIA vengano pubblicate su CloudWatch
  1. Apri la console all' CloudWatch indirizzo. https://console.aws.amazon.com/cloudwatch/

  2. Scegli Metriche, Tutte le metriche.

  3. Assicurati di aver selezionato la regione in cui hai distribuito la soluzione e scegli Namespace personalizzati,. CWAgent

  4. Cerca le metriche menzionate in, ad esempio. Configurazione dell'agente per questa soluzione nvidia_smi_utilization_gpu Se vedi risultati per queste metriche, significa che le metriche vengono pubblicate su. CloudWatch

Crea la dashboard della soluzione GPU NVIDIA

La dashboard fornita da questa soluzione presenta le metriche NVIDIA aggregando e presentando GPUs le metriche relative a tutte le istanze. La dashboard mostra una ripartizione dei principali contributori (i primi 10 per widget metrico) per ogni metrica. Questo ti aiuta a identificare rapidamente i valori anomali o le istanze che contribuiscono in modo significativo alle metriche osservate.

Per creare la dashboard, puoi utilizzare le seguenti opzioni:

  • Usa CloudWatch la console per creare la dashboard.

  • Usa AWS CloudFormation la console per distribuire la dashboard.

  • Scarica l' AWS CloudFormation infrastruttura come codice e integrala come parte della tua automazione di integrazione continua (CI).

Utilizzando la CloudWatch console per creare una dashboard, puoi visualizzarne l'anteprima prima di crearla effettivamente e ricevere l'addebito.

Nota

La dashboard creata con AWS CloudFormation questa soluzione mostra le metriche della regione in cui viene distribuita la soluzione. Assicurati di creare lo AWS CloudFormation stack nella regione in cui sono pubblicate le metriche della GPU NVIDIA.

Se hai specificato uno spazio dei nomi personalizzato diverso CWAgent dalla configurazione dell' CloudWatch agente, dovrai modificare il AWS CloudFormation modello per la dashboard per sostituirlo CWAgent con lo spazio dei nomi personalizzato che stai utilizzando.

Per creare la dashboard tramite Console CloudWatch
  1. Apri la CloudWatch console Create Dashboard utilizzando questo link: https://console.aws.amazon.com/cloudwatch/home? #dashboards? Modello di dashboard = NvidiaGpuOnEc 2&referrer=os-catalog.

  2. Verifica che la regione selezionata sulla console sia la regione in cui è in esecuzione il carico di lavoro della GPU NVIDIA.

  3. Inserisci il nome della dashboard, quindi scegli Crea dashboard.

    Per distinguere facilmente questa dashboard da dashboard simili in altre regioni, ti consigliamo di includere il nome della regione nel nome della dashboard, ad esempio. NVIDIA-GPU-Dashboard-us-east-1

  4. Visualizza l'anteprima della dashboard e scegli Salva per creare la dashboard.

Per creare la dashboard tramite AWS CloudFormation
  1. Apri la procedura guidata di creazione AWS CloudFormation rapida dello stack utilizzando questo link: https://console.aws.amazon.com/cloudformation/ home? #/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NVIDIA_GPU_EC2/CloudWatch/CFN/v1.0.0/dashboard -template-1.0.0.json.

  2. Verifica che la regione selezionata sulla console sia la regione in cui è in esecuzione il carico di lavoro della GPU NVIDIA.

  3. Per il nome dello stack, inserisci un nome per identificare questo stack, ad esempio. NVIDIA-GPU-DashboardStack

  4. Nella sezione Parametri, specifica il nome della dashboard sotto il DashboardNameparametro.

  5. Per distinguere facilmente questa dashboard da dashboard simili in altre regioni, ti consigliamo di includere il nome della regione nel nome della dashboard, ad esempio. NVIDIA-GPU-Dashboard-us-east-1

  6. Riconosci le funzionalità di accesso per le trasformazioni in Capacità e trasformazioni. Tieni presente che AWS CloudFormation non aggiunge alcuna risorsa IAM.

  7. Controlla le impostazioni, quindi scegli Crea stack.

  8. Dopo che lo stato dello stack è CREATE_COMPLETE, scegli la scheda Risorse sotto lo stack creato, quindi scegli il link in Physical ID per accedere alla dashboard. Puoi anche accedere alla dashboard nella CloudWatch console scegliendo Dashboard nel riquadro di navigazione a sinistra della console e trovando il nome della dashboard in Dashboard personalizzate.

Se desideri modificare il file modello per personalizzarlo per qualsiasi scopo, puoi utilizzare l'opzione Carica un file modello in Create Stack Wizard per caricare il modello modificato. Per ulteriori informazioni, consulta Creazione di uno stack sulla console. AWS CloudFormation Puoi usare questo link per scaricare il modello: https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/NVIDIA_GPU_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json.

Inizia con la dashboard delle GPU NVIDIA

Ecco alcune attività che puoi provare con la nuova dashboard GPU NVIDIA. Queste attività ti consentono di verificare che la dashboard funzioni correttamente e di fornirti un'esperienza pratica nell'utilizzarla per monitorare la tua NVIDIA. GPUs Man mano che li provi, acquisirai familiarità con la navigazione nella dashboard e l'interpretazione delle metriche visualizzate.

Verifica l'utilizzo della GPU

Nella sezione Utilizzo, trova i widget Utilizzo della GPU e Utilizzo della memoria. Questi mostrano rispettivamente la percentuale di tempo in cui la GPU viene utilizzata attivamente per i calcoli e la percentuale di memoria globale in lettura o scrittura. Un utilizzo elevato potrebbe indicare potenziali rallentamenti nelle prestazioni o la necessità di risorse GPU aggiuntive.

Analizza l'utilizzo della memoria della GPU

Nella sezione Memoria, trova i widget Memoria totale, Memoria usata e Memoria libera. Questi forniscono informazioni sulla capacità di memoria complessiva GPUs e sulla quantità di memoria attualmente consumata o disponibile. La pressione della memoria potrebbe portare a problemi o out-of-memory errori di prestazioni, quindi è importante monitorare questi parametri e assicurarsi che sia disponibile memoria sufficiente per i carichi di lavoro.

Monitora la temperatura e l'assorbimento di potenza

Nella sezione Temperatura/Potenza, trova i widget GPU Temperature e Power Draw. Queste metriche sono essenziali per garantire il GPUs funzionamento entro limiti termici e di potenza sicuri.

Identifica le prestazioni dell'encoder

Nella sezione Encoder, trova i widget Encoder Session Count, Average FPS e Average Latency. Queste metriche sono pertinenti se esegui carichi di lavoro di codifica video sul tuo. GPUs Monitora queste metriche per assicurarti che i tuoi encoder funzionino in modo ottimale e identifica eventuali rallentamenti o problemi di prestazioni.

PCIe Controlla lo stato del link

Nella PCIesezione, trova i widget PCIe Link Generation e PCIe Link Width. Queste metriche forniscono informazioni sul PCIe collegamento che collega la GPU al sistema host. Assicurati che il collegamento funzioni alla generazione e alla larghezza previste per evitare potenziali limitazioni delle prestazioni dovute a PCIe colli di bottiglia.

Controlla gli orologi della GPU

Nella sezione Orologio, trova i widget Graphics Clock, SM Clock, Memory Clock e Video Clock. Queste metriche mostrano le frequenze operative correnti dei vari componenti della GPU. Il monitoraggio di questi clock può aiutare a identificare potenziali problemi relativi al ridimensionamento del clock della GPU o alla limitazione della frequenza, che potrebbero influire sulle prestazioni.