Gestione delle attività per Interactive Spaces su HyperPod - Amazon SageMaker AI

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

Gestione delle attività per Interactive Spaces su HyperPod

Questa sezione spiega come ottimizzare i cluster Amazon SageMaker HyperPod EKS condivisi per i carichi di lavoro Interactive Spaces. Imparerai a configurare le funzionalità di governance delle attività di Kueue, tra cui la gestione delle quote, la pianificazione delle priorità e le politiche di condivisione delle risorse, per garantire che i carichi di lavoro di sviluppo funzionino senza interruzioni, mantenendo al contempo un'equa allocazione tra le attività di formazione, valutazione ed elaborazione in batch dei tuoi team.

Come funziona la gestione interattiva dello spazio

Per gestire efficacemente gli spazi interattivi in cluster HyperPod EKS condivisi, implementa le seguenti strategie di governance delle attività utilizzando le funzionalità esistenti di Kueue.

Configurazione della classe di priorità

Definisci classi prioritarie dedicate per gli spazi interattivi con pesi elevati (ad esempio 100) per garantire che i pod di sviluppo siano ammessi e programmati prima di altri tipi di attività. Questa configurazione consente a Interactive Spaces di anticipare i lavori con priorità inferiore durante il caricamento del cluster, il che è fondamentale per mantenere flussi di lavoro di sviluppo ininterrotti.

Dimensionamento e allocazione delle quote

Riserva al tuo team risorse di elaborazione sufficienti per gestire i carichi di lavoro di sviluppo previsti. ClusterQueue Nei periodi in cui le risorse di sviluppo sono inattive, le quote di risorse inutilizzate possono essere temporaneamente assegnate alle attività di altri team. Quando la domanda di sviluppo aumenta, queste risorse prese in prestito possono essere recuperate per dare priorità ai pod Interactive Space in sospeso.

Strategie di condivisione delle risorse

Scegli tra due approcci di condivisione delle quote in base alle tue esigenze:

Controllo rigoroso delle risorse: disabilita il prestito e il prestito di quote per garantire che la capacità di elaborazione riservata sia sempre disponibile per i tuoi spazi interattivi. Questo approccio richiede il dimensionamento di quote sufficientemente ampie da gestire in modo indipendente i picchi di domanda di sviluppo e può comportare l'inattività dei nodi durante i periodi di utilizzo limitato.

Condivisione flessibile delle risorse: abilita il prestito tramite quote per consentire ad altri team di utilizzare risorse di sviluppo inattive quando necessario. Tuttavia, disabilita il prestito per garantire che gli Interactive Spaces non funzionino mai con risorse recuperabili e prese in prestito che potrebbero portare a sfratti imprevisti.

Prelazione all’interno del team

Abilita la priorità all'interno del team quando esegui carichi di lavoro misti (formazione, valutazione e spazi interattivi) nell'ambito della stessa quota. Ciò consente a Kueue di anticipare i lavori con priorità più bassa all'interno del team per ospitare i pod Interactive Space ad alta priorità, garantendo che il lavoro di sviluppo possa procedere senza dipendere da quote esterne in prestito.

Esempio di configurazione di Interactive Space

L'esempio seguente mostra come Kueue gestisce le risorse di calcolo per Interactive Spaces in un cluster Amazon condiviso. SageMaker HyperPod

Configurazione del cluster e impostazione delle politiche

Il tuo cluster ha la configurazione seguente:

  • Team Alpha (Dev Team): quota di 8 CPU per Interactive Spaces

  • Team Beta (ML Team): quota di 16 CPU per la formazione e la valutazione

  • Team Gamma (Research): quota di 6 CPU per la sperimentazione

  • Provisioning statico: nessun dimensionamento automatico

  • Capacità totale: 30 CPUs

Il pool di CPU condiviso utilizza questa politica di priorità:

  • Spazi interattivi: priorità 100

  • Addestramento: priorità 75

  • Valutazione: priorità 50

  • Elaborazione in batch: Priorità 25

Kueue impone le quote e le classi di priorità del team, con la priorità abilitata e il prestito disabilitato per il team di sviluppo.

Stato iniziale: utilizzo normale del cluster

Durante il normale funzionamento:

  • Team Alpha: gestisce 6 spazi interattivi utilizzando 6 CPUs, 2 CPUs inattivi

  • Team Beta: esegue lavori di formazione (12 CPUs) e valutazione (4 CPUs) entro la sua quota di 16 CPU

  • Team Gamma: esegue carichi di lavoro di ricerca su tutti e 6 CPUs

  • Condivisione delle risorse: il Team Beta prende in prestito l'idle CPUs 2 del Team Alpha per una formazione aggiuntiva

Picco di sviluppo: il Team Alpha richiede risorse aggiuntive

Quando gli sviluppatori di Team Alpha devono ampliare il lavoro di sviluppo, i pod Interactive Space aggiuntivi ne richiedono altre 4. CPUs Kueue rileva che i nuovi pod:

  • All'interno dello spazio dei nomi del Team Alpha

  • Priorità 100 (spazi interattivi)

  • Hanno l’ammissione in sospeso a causa di vincoli di quota

Il processo di risposta di Kueue

Kueue segue un processo in tre fasi per l’allocazione delle risorse:

  1. Controllo delle quote

    Domanda: Il Team Alpha ha una quota inutilizzata?

    • Utilizzo attuale: 6 CPUs usati, 2 disponibili CPUs

    • Nuovo requisito: 4 CPUs necessari

    • Risultato: quota insufficiente → Procedi alla Fase 2

  2. Auto-prelazione all'interno del Team Alpha

    Domanda: È possibile anticipare i lavori Team Alpha con priorità più bassa?

    • Obiettivi disponibili: nessun lavoro con priorità inferiore in Team Alpha

    • Risultato: Nessuna prelazione possibile → Procedi alla Fase 3

  3. Recupera le risorse prese in prestito

    Domanda: Le risorse del Team Alpha vengono prese in prestito da altri team?

    • Risorse prese in prestito: Team Beta utilizza 2 dal Team Alpha CPUs

    • Azione: Kueue scarta le capsule da allenamento prese in prestito dal Team Beta, liberandone 2 CPUs

    • Necessità residua: ne mancano ancora 2 CPUs → Gli spazi interattivi restano attivi fino a quando le risorse non saranno disponibili NotAdmitted

Questo approccio dà priorità agli spazi interattivi pur mantenendo i limiti delle quote del team e impedendo che il lavoro di sviluppo venga eseguito su risorse prese in prestito instabili.