Jobb validering med Grid Engine.

Jobb validering med Grid Engine.

Dataklient jobb planlegging programvare er fantastisk a administrere ressurser og tillater mange jobber a kjore effektivt og samtidig.

Planleggere er imidlertid ikke alltid gode til a gi sluttbrukernes tilbakemelding nar ting gar galt.

For eksempel, pa var ShARC-klynge, som kjorer (SGE of) Grid Engine (SGE) -planleggeren, hvis du ber om en lengre sluttid enn det er tillatt av noen av klyngens jobbkokekonfigurasjoner, vil jobben din sitte der i ko for ubestemt til du eller noen andre sletter den.

For eksempel, la oss bruke qsub til a sende inn en jobb der vi ber om 1000 timer kjoretid og 4 GiB RAM:

Jobb 217834 vil na sitte i ko for alltid.

Ikke bare vil du ikke bli fortalt hvorfor, du vil ikke bli gitt beskjed om at jobben ikke vil kjore.

I slike situasjoner kan det v re nyttig a sporre planleggeren om a validere en jobb.

En mate a gjore dette pa er a kjore ‘qalter -w v & lt; myjobid & gt; ‘etter jobbsending hvis du sier at en jobb har statt i ko lenger enn tidligere innsendte arbeidsplasser av samme type:

Hva dette «qalter -w v & lt; myjobid & gt; ‘kommandoen er sjekket for a se om jobben kan kjore i noen av jobbkoene pa klyngen hvis klyngen var fri for andre jobber.

Den siste produksjonslinjen er nokkel: Var jobb vil aldri bli kjort gitt den nav rende klyngekonfigurasjonen.

Nar vi ser over det, kan vi se at det ikke kan kjore i noen av de generelle jobbkoene (for eksempel all.q), og det er spesifikk omtale av var 1000 timers (3600000s) kjoretidsforesporsel.

Vi kan derfor utlede at var rekvisita for rekvisita ikke var tilfredsstillende.

Endre en ressursforesporsel etter innsendelse.

Nar vi vet at var jobb ikke kan lope, kan vi da slette var jobb.

. sa konsulter klyngens dokumentasjon for a oppdage maksimal mulig driftstid og send pa nytt ved hjelp av mer fornuftige ressursforesporsler.

Alternativt kan vi bruke qalter til a endre ressursforesporsler knyttet til en koeringsjobb:

Viktig: a bruke qalter pa denne maten vil endre alle ressursforesporsler for jobben, sa her ma vi angi rmem-foresporselen pa nytt.

Jobb validering ved innsendingstid.

Du kan ogsa utfore samme type jobbvalidering ved jobbinnleveringstid ved a bruke -w v f.eks.

Dette vil ikke faktisk sende inn jobben din; det utforer bare validering.

Hvorfor blir ikke validering utfort som standard?

Du kan sporre hvorfor slik validering ikke er aktivert som standard for alle jobber. En arsak til dette er at det antas at det vil legge urettmessig byrde pa planleggeren.

En annen er at noen ganger et valideringsforsok resulterer i et falskt negativt som kan v re vanskelig a automatisk identifisere (rediger: se dette nyere innlegget for detaljer).

Andre typer ressurser.

Hvis du gjentar eksperimentet som er beskrevet ovenfor, men i stedet for a be om 1000 timers kjoretid, ber du om 100 GPUer, 9999 GB RAM eller 10000 kjerner, vil du observere samme oppforsel: jobber som gjor foresporsler usatisfiable under den nav rende klyngekonfigurasjonen, kan sendes, men vil aldri lope.

Igjen kan jobb validering hjelpe her, men avhengig av typen ressurs kan valideringsfeilmeldingene v re mer eller mindre kryptiske.

For eksempel, hvis du prover a validere en 100000-sokkel (kjerne) MPI-jobb ved hjelp av -w v far du folgende:

Dette er ganske misvisende, men omtalen av «slots» burde be deg om a sjekke antall kjerner du har bedt om, er fornuftig.

‘Poke’ validering: vurder gjeldende klusterbelastning.

En annen type validering er pokvalidering, som kontrollerer om en jobb kan kjores under den nav rende klyngebelastningen, dvs. med mange av klyngens ressurser som allerede er i bruk.

Se mann qsub og sok etter -w for mer informasjon om de ulike typene av validering.