View a markdown version of this page

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

Governance delle attività per Interactive Spaces su HyperPod

Questa sezione spiega come ottimizzare i cluster Amazon SageMaker HyperPod EKS condivisi per i carichi di lavoro di 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 vengano eseguiti senza interruzioni, mantenendo un'allocazione equa tra le attività di formazione, valutazione ed elaborazione in batch dei tuoi team.

Come funziona la gestione di Interactive Space

Per gestire efficacemente gli spazi interattivi nei 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 di priorità dedicate per Interactive Spaces 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 risorse di elaborazione sufficienti nel tuo team per gestire i carichi di lavoro di sviluppo previsti. ClusterQueue Nei periodi in cui le risorse di sviluppo sono inattive, le risorse di quota inutilizzate possono essere temporaneamente allocate 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 i prestiti e le quote per garantire che la capacità di calcolo riservata sia sempre disponibile per i tuoi Interactive Spaces. Questo approccio richiede il dimensionamento di quote sufficientemente grandi da gestire in modo indipendente i picchi di domanda di sviluppo e può comportare l'inattività dei nodi nei periodi di scarso utilizzo.

Condivisione flessibile delle risorse: abilita il prestito delle quote per consentire ad altri team di utilizzare le risorse di sviluppo inattive quando necessario. Tuttavia, disabilita i prestiti per garantire che Interactive Spaces non utilizzi mai risorse prese in prestito e recuperabili, il che potrebbe portare a sfratti imprevisti.

Intra-Team Prevenzione

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

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 l'allenamento e la valutazione

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

  • Provisioning statico: nessun dimensionamento automatico

  • Capacità totale: 30 CPU

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 applica le quote del team e le classi di priorità, con la prelazione abilitata e il prestito disabilitato per il team di sviluppo.

Stato iniziale: utilizzo normale del cluster

Durante il normale funzionamento:

  • Team Alpha: esegue 6 spazi interattivi utilizzando 6 CPU, 2 CPU inattive

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

  • Team Gamma: esegue carichi di lavoro di ricerca su tutte e 6 le CPU

  • Condivisione delle risorse: il Team Beta prende in prestito le 2 CPU inattive del Team Alpha per ulteriore formazione

Picco di sviluppo: il Team Alpha richiede risorse aggiuntive

Quando gli sviluppatori del Team Alpha devono aumentare il lavoro di sviluppo, i pod Interactive Space aggiuntivi richiedono 4 CPU in più. 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 non utilizzata?

    • Utilizzo attuale: 6 CPU utilizzate, 2 CPU disponibili

    • Nuovo requisito: sono necessarie 4 CPU

    • Risultato: quota insufficiente → Procedi al passaggio 2

  2. Self-preemption all'interno del Team Alpha

    Domanda: È possibile annullare i lavori in Team Alpha con priorità inferiore?

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

    • Risultato: Nessuna opzione di prelazione possibile → Procedi al passaggio 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 CPU del Team Alpha

    • Azione: Kueue rimuove i training pod presi in prestito dal Team Beta, liberando 2 CPU

    • Necessità rimanente: servono ancora 2 CPU → Interactive Spaces rimane attivo fino a quando le risorse non saranno disponibili NotAdmitted

Questo approccio dà priorità a Interactive Spaces mantenendo al contempo i limiti delle quote di team e impedendo che il lavoro di sviluppo venga eseguito su risorse prese in prestito instabili.