Superdatamaskin.

Superdatamaskin.

Bruke Univa Grid Engine (UGE)

Hva er Univa Grid Engine (UGE)?

Om miljoinnstillinger.

Om innstilling for koen og avansert bruk.

Kunngjoringer.

Vi endret metoden for a frigjore grensen for minnebruk. Hver ko har en grense for minnebruk som er satt til 2 GB, og som tidligere er en jobb drept hvis den bruker mer enn 2 GB minne for en prosess. Metoden for a slippe grensen er endret til det som er beskrevet nedenfor. [Ny metode]

Angi alternativene (som vist nedenfor) nar du kjorer ‘qsub’.

% qsub -l s_vmem = 8G.

=> Grensen er okt til 8 GB.

=> Jobben vil bli drept hvis minnebruk overstiger 8 GB.

Beskriv som nedenfor i jobben.

ulimit -v 8388608.

ulimit -d 8388608.

begrense vmemoryuse 8388608.

begrense datasize 8388608.

begrense adresseplass 8388608.

begrense datasize 8388608.

% qsub -l s_vmem = 8G -l mem_req = 8G.

=> Grensen er okt til 8 GB.

=> Jobben vil bli drept dersom minnekravet overstiger 8 GB.

=> Trekk 8 GB fra det installerte minnesettet til verten (128, 2048).

=> Dette resulterer i 32-8 = 26; jobben vil ikke bli sendt til verten hvis dette tallet er null.

% qsub -l s_vmem = 8G -l mem_req = 8.

=> Grensen er okt til 8 GB.

=> Jobben vil bli drept dersom minnekravet overstiger 8 GB.

=> Trekk 8 GB fra det installerte minnesettet til verten (32, 128).

=> Dette resulterer i 32-8 = 26; jobben vil ikke bli sendt til verten hvis dette tallet er null.

Nar du spesifiserer en grense for minnebrudd pa over 2 GB i Shirokane2 / 5.3 GB i Shirokane3, spesifiser du bare s_vmem og mem_req, og bruk ikke i kombinasjon med -pe def_slot. Hvis du bruker i kombinasjon med def_slot, blir verdien som er angitt for def_slot multiplisert med verdien angitt for s_vmem og mem_req, brukt pa jobben. Klikk her for a fa tilgang til et verksted dokument som diskuterer de ovennevnte endringene.

Hva er UGE?

UGE er et nettbasert databehandlingssystem utviklet.

Ved bruk av UGE kan programmer som tidligere er utfort pa en datamaskin, utfores pa flere datamaskiner.

Vennligst bruk UGE nar du utforer et stort antall jobber.

Det er to typer UGE: en apen kildekodeversjon og en produksjonsversjon. Bade batchjobber og interaktive jobber kan utfores. Nar en bruker sender inn en jobb fra en bestemt datamaskin, sender og utforer UGE jobben til en annen datamaskin med mindre belastning. Utforelsesresultatene sendes tilbake til brukeren.

Hva er fordelene ved a bruke UGE?

Mange programmer kan utfores samtidig ved a sende inn jobber til flere datamaskiner. UGE vil automatisk handtere planlegging for a sikre at mange jobber kan utfores jevnt. En array jobbfunksjon er tilgjengelig, som setter flere parametere til ett program og deretter sender jobben. Kunne sende inn jobber ved hjelp av en GUI.

Hvordan bruker UGE.

Alle brukere kan begynne a bruke UGE umiddelbart. En jobb blir levert ved a beskrive kommandoen som skal utfores i shell-skriptet og bruke kommandoen ‘qsub’, som vist nedenfor. % qsub [ShellScript navn] Nar kommandoen ovenfor blir utfort, sendes innholdet til standardutgangen og standardfeilen fra det utforte shell-skriptet til brukerens hjemmekatalog som en fil. I standard tilfellet blir skriptet som sendes som en jobb, drevet av / bin / csh. Hvis «#! / Bin / bash» eller «#! / Usr / local / bin / perl» brukes i begynnelsen av skriptet, blir jobben kjort av / bin / csh. For a angi onsket tolk, er det nodvendig a sende inn en jobb pa folgende mate:% qsub -S [Interpreterens vei utforer skriptet] [Skriptnavn] Jobben utfores normalt i brukerens hjemmekatalog, men alternativet nedenfor brukes nar du utforer jobben i gjeldende katalog:% qsub -cwd [Skriptnavn] Den nav rende katalogen ma v re et omrade (under hjemmekataloget, etc.) som kan henvises fra alle utforelsesverter med samme sti. Det er ogsa mulig a sende inn en bin r som en jobb direkte, ved hjelp av alternativet nedenfor:% qsub -b y [Bin rt navn] Mange bin rfiler kan sendes som en jobb, men det anbefales ikke a sende inn et bin rt direkte. Vennligst send inn en jobb som et skalskript for generell bruk. For a utfore en jobb i hjemmekatalogen og a utdatere standardutgangen [sti A] og standard feil [sti B] til den angitte banen, bruk alternativet nedenfor:% qsub -o [sti A] -e [sti B] til bekreft utforelsesstatusen for den innleverte jobben, bruk kommandoen nedenfor:% qstat Alternativet ‘-f’ kan brukes til a bekrefte tilstanden for jobbgjennomforing i storre detalj. Nar du sletter en innsendt jobb, bekreft jobben ID ved hjelp av kommandoen ‘qstat’ og kjor kommandoen nedenfor. Alternativet ‘-u’ sletter alle jobbene i den angitte bruker-IDen. % qdel [Jobb-ID]

% qdel -u [Bruker-ID] Brukerhandboken for N1GridEngine (produksjonsversjonen av UGE) finner du pa folgende nettsted (driftsmetoden er den samme som for UGE).

Om shell-skriptet.

Skallskriptet er en tekstfil som inneholder en UNIX-kommando. Det er nodvendig a endre shebang (#!) Eller legge til beskrivelser for a utfore shell-skriptet som en UGE-jobb. For perl.

#! / usr / local / bin / perl & rarr; # $ -S / usr / local / bin / perl.

# $ -S / bin / tcsh Det er ogsa mulig a spesifisere tolken nar du sender inn en jobb. I dette tilfellet er ovennevnte endring ikke nodvendig. % qsub -S / usr / local / bin / perl [Skriptnavn] I skalskriptet som brukes for UGE, kan raden inkludert ‘# $’ sendes til UGE som et alternativ. # $ -cwd Bruk av ovenstaende er det mulig a angi muligheten for ‘qsub’ i shell-skriptet.

Prioritet blant brukere nar du utforer jobber.

Prioritet blant brukere nar jobber utfores, bestemmes av antall «billetter» som hver bruker har. Her refererer prioritet til prioriteten nar du sender inn til utforelsesverten etter a ha utfort kommandoen ‘qsub’. I utgangspunktet har alle brukere 10.000.000 billetter. Antallet av billetter som holdes av hver bruker, reduseres i forhold til CPU-utnyttelse som kreves av den innsendte UGE-jobben. Antall billetter blir automatisk gjenopprettet 1 uke etter jobbgjoring. Jo mer tid som har gatt, jo mindre grad at antall billetter pavirkes av CPU-utnyttelsen.

Forholdsregler ved bruk av UGE.

UGE behandler ikke jobber automatisk ved multi-threading: den overvaker belastningen pa flere datamaskiner og utforer et stort antall jobber i rekkefolge. Vennligst finn filen som refereres til av jobben under hjemmekatalogen etc., der det kan henvises til fra alle datamaskiner. Barneprosessen opprettet av UGE-jobben er ikke under UGEs kontroll. For et skallskript som skaper et stort antall barnprosesser, er det mulig a utfore jobben jevnt ved a beskrive den slik at barnprosessen blir sendt som en UGE-jobb (beskrevet for a kjore «qsub» i shell-skriptet).

Om miljovariabelen som er nodvendig for UGE-bruk.

Miljovariabelen settes inn ved a bare logge inn.

Bruk kommandoen ‘qmon’.

‘qmon’ er et kommandoerverktoy for UGE som brukes med en GUI. Ved a bruke qmon, kan jobber sendes ved hjelp av en GUI. ‘qmon’ kan benyttes ved a logge pa ‘ngw.hgc.jp’ og bruke kommandoen ‘qmon’ pa kommandolinjen. Fordi X Window System brukes, er X Server-programvare krevd for a bruke «qmon» fra en Windows-maskin.

ASTEC-X, WiredX, etc. har blitt utviklet for X Server-programvare for Windows.

Nar du bruker ovennevnte programvare, v r oppmerksom pa dine personlige brannmurinnstillinger. Port brukes.

WiredX 8000 / TCP Innstillingene for ‘DISPLAY’ miljovariabelen pa ‘ngw’ kan v re nodvendig, avhengig av X Server-programvaren. Det kan ogsa v re nodvendig a utfore kommandoen ‘xhost’ pa en PC som er i bruk. For Mac OS X-brukere er ikke X Server-programvaren forhandsinstallert pa datamaskinen. En CD merket med ‘Xcode’ er imidlertid inkludert ved kjop; Derfor kan ‘qmon’ bli brukt ved a installere X11 fra CDen. Det er ogsa mulig a laste ned X11 gratis fra Apples hjemmeside.

Om de aktuelle koinnstillingene.

lokal konfigurasjon ngw01i ikke definert – bruker global konfigurasjon.

Din jobb 10765 («QLOGIN») har blitt sendt inn.

venter pa interaktiv jobb som skal planlegges.

Din interaktive jobb 10765 har blitt vellykket planlagt.

] $ mjobs_rerun.q er en ko tildelt til samme node som den eksklusive koen. I likhet med mjobs.q, er den ovre grensen for utforingstiden for denne koen satt til 2 dager. Hvis jobbene sendes inn til maksimal utnyttelsesgrense for mjobs.q, blir jobbene deretter sendt til mjobs_rerun.q. Hvis det ikke er angitt med alternativene som folger, vil det bli sendt til enten mjobs.q eller mjobs_rerun.q. For brukere som kan bruke den eksklusive koen, kan det v re ganger det blir sendt inn i stedet for den eksklusive koen. [Brukernavn @ vertsnavn.

] $ qsub sample.sh Hvis alternativene ikke er angitt som dette, vil det v re ganger at jobber ikke sendes til mjobs_rerun.q, det er derfor lettere for jobbene som skal utfores nar stillingen i jobbene er opptatt. Men som mjobs_rerun.q er en ko som er tilordnet til samme node som den eksklusive koen, blir jobber som utfores i mjobs_rerun.q, sendt tilbake dersom jobber sendes til den eksklusive koen til samme knutepunkt. Arbeidene som sendes tilbake, vil bli omlagt, og kjores igjen fra starten. Hvis det er foretrukket a ikke sende inn til mjobs_rerun.q, vennligst sett inn alternativene som nedenfor. Imidlertid er «-q» et alternativ for a utpeke en ko, derfor vil jobben ikke bli sendt til den eksklusive koen eller web.q. [Brukernavn @ vertsnavn.

] $ qsub -q mjobs.q sample.sh.

Slik utforer du umiddelbart en jobb med en kjoretid pa mindre enn 8 timer (bruk av ‘sjobs.q’)

‘sjobs.q’ har en ovre grense for kjoretid pa 8 timer. Dette er ikke CPU-tiden, men den faktiske tiden. ‘sjobs.q’ er angitt for folgende situasjoner.

Andre koer enn ‘sjobs.q’ er fylt med andre brukeres jobber.

For a umiddelbart utfore en jobb med en kjoretid pa mindre enn 8 timer.

Nar du sender inn en jobb til ‘sjobs.q’, angi alternativet og send jobben som beskrevet nedenfor:% qsub -l sjob [ShellScript navn] Jobber kan ikke sendes til ‘sjobs.q’ selv som ‘-q sjobs.q’ . ‘-l sjob’ er palagt a sende inn en jobb til ‘sjobs.q’.

Nar du sender inn en jobb ved a spesifisere datamaskinen som er inkludert i «sjobs.q», utfor folgende kommando:

% qsub -l sjob -q [email protected] [ShellScript navn] I ‘sjobs.q’ blir jobben drept av systemet nar arbeidstidens utforelsestid overstiger 8 timer. Drepingen av en jobb er ikke rapportert til brukeren. Etter utforelsen, vennligst utfor kommandoen nedenfor for a bekrefte innleverte ko eller kjoretid.

Slik utforer du jevnt jobber med flere trader og jobber som lager barnprosesser.

Nar du sender inn en jobb til UGE som skaper flere prosesser, er det mulig at UGE vil ha problemer med belastningsbalansering. UGE kontrollerer antall jobber i henhold til antall spor som er definert i koen. Men nar en jobb sendes til flere spor samtidig, og hvis disse jobbene oppretter flere prosesser, vil antall prosesser som overstiger det definerte antall sporene, bli utfort inne i datamaskinen. Hvis det er mulig, vennligst ikke send UGE en jobb som skaper flere prosesser. Hvis det er nodvendig a sende inn en slik jobb til UGE, bruk alternativet nedenfor nar du sender jobben:% qsub -pe def_slot 2 [ShellScript] Ved a sende inn en jobb ved hjelp av alternativet ovenfor bruker den to spor. Du kan unnga a gjore et stort antall innleveringer ved a redefinere antall spor i jobben.

Hvordan spesifisere det tilgjengelige minnet til den innleverte datamaskinen og deretter sende jobben.

Verten som UGE-jobben er sendt inn, er ikke kjent pa forhand. Men nar du sender inn en jobb som bruker mye minne, er det nodvendig med tilstrekkelig minne pa innleveringsdatamaskinen. Ved a spesifisere det nodvendige minnet, blir jobben kun sendt til en vert med tilstrekkelig minne.

% qsub -l mem_free = 20G sample.sh.

[Merk] Nar et stort antall jobber sendes samtidig, kan det tilgjengelige minnet v re mindre enn det som kreves. Denne situasjonen kan unngas ved a stille inn innleveringsordren til jobben. Ved a gjore det, vennligst sorg for ekstra tid ved a sette inn en sovnjobb, etc.

% qsub -l mem_free = 20G [Skriptnavn]

-> Jobben sendes kun til datamaskiner med mer enn 20 GB ledig minne.

% qsub -N sleep_job -b sleep 60.

-> Jobben er sendt som en ‘sleep_job’ og utforelsen er fullfort pa 60 sekunder.

% qsub -l mem_free = 20G -hold_jid sleep_job [Skriptnavn]

-> Etter utforelsen av «sleep_job» er fullfort,

Jobben er sendt til en datamaskin med mer enn 20 GB ledig minne.

«Jeg onsker a angi jobbsokingsordre og deretter sende jobben.»

Dette er mulig ved a utfore kommandoen nedenfor:% qsub -N jobb1 [Skriptnavn]

% qsub -N jobb2 -hold_jid jobb1 [Skriptnavn]

% qsub -N jobb3 -hold_jid jobb1, jobb2 [Skriptnavn] Hver jobb er satt med et nytt navn: ‘jobb1’, ‘jobb2’ og ‘jobb3’. Nar ‘job1′-utforelsen er fullfort, utfores’ job2 ‘; Nar bade ‘jobb1’ og ‘jobb2’ er fullfort, utfores ‘job3’. Samme innstilling for utforelsesordren kan oppnas ved a bruke uttrykket som vises nedenfor:% qsub -N jobb1 [Skriptnavn]

% qsub -N jobb2 -hold_jid jobb1 [Skriptnavn]

% qsub -N jobb3 -hold_jid «jobb *» [Skriptnavn]

«Jeg vil sette jobbsokingsordren og styre en jobb som skal utfores senere basert pa utfallet av en tidligere jobb.»

«Job B» skal utfores etter utforelsen av ‘Job A’. Ved feil i ‘Job A’, vil jeg avbryte utforelsen av ‘Job B’. » Dette er mulig ved a bruke innstillingen nedenfor:

Beskriv kommandoen nedenfor i feilbehandlingen av ‘Job A’.

Sett utforingsrekkefolgen til jobben og send inn.

% qsub -N jobbA [Skriptnavn]

% qsub -N jobbB -hold_jid jobbA [Skriptnavn]

«Jeg vil angi koen der jobben skal utfores og deretter sende inn jobben»

Noen brukere kan bruke en annen ko enn ‘ljobs.q’ og ‘sjobs.q’. I dette tilfellet bruker du ‘-q-alternativet’ til a angi koen der jobben skal utfores. % qsub -q ljobs.q [Skriptnavn]

Jobben er kun sendt til ‘ljobs.q’.

% qsub -N GROUP1 [Skriptnavn 2]

% qsub -N GROUP2 [Skriptnavn 3]

% qsub -N GROUP2 [Skriptnavn 4]

% qdel GROUP1 Endre jobbalternativet som en gruppe. Endre UGE-alternativet og shell script argumentet i GROUP 2.

% qalter� [UGE-alternativ] GROUP2 [Shell script argument]

«Jeg vil sette miljovariabelen og deretter sende inn jobben»

Innstillingen for miljovariabelen av jobbene avhenger av det innsendte skalskriptet. Nar du sender inn et csh-skript som en jobb, leses ‘$ HOME / .cshrc’, men det leses ikke nar du sender inn et Perl-skript som en jobb. Nar du utforer et Perl-skript, etc., bruk alternativet ‘-v’ for a angi miljovariabelen.

qsub -v LD_LIBRARY_PATH = $ HOME / lib: $ LD_LIBRARY_PATH, PATH = $ HOME / bin: $ PATH \

-S / usr / local / bin / perl [PerlScript navn]

«Jeg vil utfore R ved hjelp av UGE»

Ved a utfore R i batchmodus, kan R utfores med UGE. Forst oppretter du en tekstfil som inneholder R-kommandoene (som nedenfor). Filnavn: / home / [userID] /r_batch.R.

Opprett et skalskript som utforer R i batchmodus. Filnavn: / home / [userID] /R.sh.

/ usr / local / bin / R CMD BATCH / home/[userID]/r_batch.R.

Utfor «qsub» og send jobben. qsub /home/[userID]/R.sh.

Eksekveringsresultatet blir utfort av R i hjemmekatalogen som «[Filnavn inkludert R-kommando] ut».