MyQueue: interfaccia a riga di comando e Python per la gestione dei lavori HPC
MyQueue invia e monitora lavori computazionali tramite uno strumento da riga di comando e un'API Python, gestendo riavvii automatici per timeout e errori di memoria insufficiente. Creato da J. J. Mortensen e dal team di sviluppo di MyQueue per utilities-tools, lo strumento unifica l'interazione con SLURM, PBS e LSF, tiene traccia dei lavori in modo persistente con SQLite e supporta flussi di lavoro basati su cartelle e ambienti virtuali Python. Si rivolge a ricercatori e ingegneri che eseguono molti lavori su cluster o locali e necessitano di una ripresentazione automatizzata e di un tracciamento semplice.
Cosa fa MyQueue in pratica?
MyQueue funge da interfaccia per gli scheduler HPC, accettando invii tramite il comando mq submit o un'API Python, quindi sincronizzando il tracciamento locale dei task con gli scheduler remoti. Registra task completati, falliti e in esecuzione in un archivio SQLite basato su cartelle e può operare su macchine locali o cluster remoti che utilizzano SLURM, PBS o LSF. L'input è uno script di lavoro o un task Python; l'output è lo stato della coda visibile tramite mq list.
Quanto è affidabile la riesecuzione automatica per i lavori falliti?
L'app riavvia automaticamente i task che falliscono a causa di limiti di tempo o esaurimento della memoria, regolando le risorse al nuovo tentativo secondo la logica fornita. Quel comportamento riduce i tentativi manuali aumentando le risorse richieste dopo specifiche firme di fallimento. Il tracciamento persistente conserva i tentativi precedenti, quindi puoi ispezionare la cronologia dei fallimenti prima di accettare una riesecuzione. La logica di riesecuzione si concentra su errori legati alle risorse piuttosto che su fallimenti arbitrari.
È sicuro usarlo su cluster di produzione?
MyQueue non richiede un database separato o privilegi di amministratore e memorizza lo stato localmente con SQLite e cartelle, il che mantiene le operazioni trasparenti. Interagisce con gli scheduler utilizzando i loro comandi nativi, quindi dipende dal modello di permesso dello scheduler per l'invio e la cancellazione dei lavori. Il design dello strumento evita di scrivere servizi di sistema nascosti; opera da un ambiente utente e conserva i record dei lavori nella cartella di lavoro.
Ho bisogno di conoscenze tecniche per eseguirlo?
L'installazione richiede un ambiente Python (Python 3.9 o successivo) e un'installazione pip, e l'operazione utilizza comandi da riga di comando o l'API fornita. Gli utenti occasionali che non sono familiari con gli script di lavoro o gli ambienti virtuali affronteranno una curva di apprendimento perché il flusso di lavoro si aspetta descrizioni di lavoro dello scheduler e attivazione dell'ambiente. I ricercatori e gli ingegneri dei dati che già preparano script di lavoro e ambienti virtuali troveranno che si allinea con le pratiche esistenti.
Chi dovrebbe adottare MyQueue e perché
MyQueue è adatto a ricercatori e ingegneri che inviano molti lavori su cluster o locali e desiderano una riesecuzione automatizzata per i fallimenti legati alle risorse; riduce il lavoro manuale di ripetizione mantenendo la cronologia dei lavori in una cartella locale supportata da SQLite. Aspettati un flusso di lavoro da riga di comando o di scripting e una configurazione iniziale di Python e ambienti virtuali. Raccomandato.





