Kapittel 6 Administrere ressurskvoter.

Dette kapittelet forklarer hvordan du bruker ressurskvotasegenskapen til N1 Grid Engine 6.1-programvaren for a begrense ressurser etter bruker, prosjekt, vert, klyngeko eller parallelt miljo. For enkelhets skyld kan du uttrykke disse grensene ved a bruke brukeradgangslister, avdelinger eller vertsgrupper.

Dette kapittelet inneholder folgende informasjon:

Resource Quota Oversikt.

For a hindre at brukerne bruker alle tilgjengelige ressurser, stotter N1 Grid Engine 6.1-programvaren komplekse attributter som du kan konfigurere pa et globalt, ko eller vertlag. Mens denne lagrede ressurshandteringsmetoden er kraftig, gar tiln rmingen ut av hull som blir spesielt viktige i store installasjoner som bestar av mange forskjellige tilpassede ressurser, brukergrupper og prosjekter. Resirkuleringskvoten inneholder dette gapet ved at du kan administrere disse bedriftsmiljoene i den utstrekning at du kan kontrollere hvilket prosjekt eller avdeling som skal abdikere nar enkeltflaskehalsressurser gar tom.

Med ressurskvotefunksjonen kan du legge til grenser for flere typer ressurser, flere typer ressursforbrukere, til alle jobber i klyngen, og til kombinasjoner av forbrukere. I denne sammenheng er ressurser en hvilken som helst definert kompleks egenskap som er kjent av N1 Grid Engine-konfigurasjonen. For mer informasjon om komplekse attributter, se den komplekse (5) man siden. Ressurser kan v re slots, arch, mem_total, num_proc, swap_total, innebygde ressurser eller en hvilken som helst egendefinert ressurs som compiler_license. Ressursforbrukere er (per) brukere, (per) koer, (per) verter, (per) prosjekter og (per) parallelle miljoer.

Resurskvotefunksjonen gir deg mulighet til a begrense ressursene som en forbruker kan bruke nar som helst. Denne begrensningen gir en indirekte metode for a prioritere brukere, avdelinger og prosjekter. For a definere de prioriteter som en bruker skal oppna en ressurs for, ma du bruke ressurshastighets- og delingsbaserte retningslinjer som er beskrevet under Konfigurere Hastighetspolitikken og Konfigurere delbasert policy.

For a begrense ressurser gjennom N1 Grid Engine 6.1-programvaren, bruk qquota- og qconf-kommandoene, eller QMON-grafisk grensesnitt. For mer informasjon, se qquota (1) og qconf (1) man-sidene.

Om ressurskvotasett.

Med ressurskvotasett kan du angi maksimal ressursforbruk for eventuelle jobbforesporsler. Nar du har definert ressurskvotasettene, bruker planleggeren dem til a velge de neste mulige jobbene som skal drives ved a se at kvotene ikke overskrides. Det endelige resultatet av a sette ressurskvoter er at bare de jobbene som ikke overstiger deres ressurskvoter, vil bli planlagt og kjort.

Et ressurskvotsett definerer maksimal ressurskvote for en bestemt jobbforesporsel. Alle de konfigurerte regelsettene gjelder hele tiden. Hvis flere ressurs kvote sett er definert, gjelder det mest restriktive settet. Hvert ressurskvote sett bestar av en eller flere ressurskvote regler. Disse reglene evalueres i rekkefolge, og den forste regelen som samsvarer med en bestemt foresporsel, blir brukt. Et ressurskvotsett gir alltid maksimalt en effektiv ressurskvoteregel for en bestemt foresporsel.

Et ressurskvotsett bestar av folgende informasjon:

navn & ndash; Navnet pa ressurs kvoten sett.

aktivert & ndash; En boolsk verdi som angir om ressurset skal vurderes i planleggingsbeslutninger. Hvis aktivert er sant, er ressurs kvoten sett aktiv og vil bli vurdert for planlegging avgjorelser. Standardverdien er feil.

beskrivelse & ndash; Et valgfritt felt som inneholder en vilkarlig streng som beskriver settet. Standardverdien er NONE.

grense regel & ndash; Hvert ressurskvotsett ma ha minst en grenseregel, som finnes i grensefeltet. For eksempel begrenser folgende grenseregel alle brukere sammen til 10 spor: begrense brukere * til slots = 10. Grenseregelen inneholder folgende informasjon:

navn & ndash; Et valgfritt navn for regelen. Hvis det er brukt, ma navnet v re unikt innen ressurs kvoten settet.

filter omfang & ndash; Filteromradet identifiserer listen over ressursforbrukere som kvoten gjelder for. En ressursforbruker inneholder et nokkelord etterfulgt av en kommaseparert liste over forbrukere. Bruk folgende nokkelord: brukere, prosjekter, koer (klyngekoer), verter eller pes (parallelle miljoer). Et eksempel pa en ressursforbruker ville v re brukere. Et eksempel pa et filter omfang kan v re brukere verter *. Dette definerte filteromfanget begrenser bruker1 og bruker2 til det maksimale antallet av den konfigurerte grensen uavhengig av verten.

Hvis du vil inkludere en utvidbar liste i ressurskvotefinisjonen, bruker du braces rundt ressursforbrukerlisten.

For a ekskludere en av en bestemt ressurstype fra en liste, bruk utropstegnet,! (noen ganger referert til som & quot; ikke & rdquo; -symbolet).

grense & ndash; Et attributt-verdi-par som definerer den faktiske grensen for ressursen. For eksempel, virtual_free = 2G. Du kan ogsa kombinere par i en kommaseparert liste over attribut-verdipar. For eksempel, virtual_free = 2G, swap_free = 1.5G.

Eksempel 6: 1 Eksempel pa ressurskvotasett.

Folgende eksempel ressurs kvote sett begrenser user1 og user2 til to gigabyte gratis virtuelt plass pa hver vert i vertsgruppen lx_hosts.

Statiske og dynamiske ressurskvoter.

Ressurskvote-regler definerer alltid en maksimumsverdi av en ressurs som kan brukes. I de fleste tilfeller er disse verdiene statiske og lik for alle matchende filteromrader. Selv om du kunne definere flere forskjellige regler for a gjelde for forskjellige omfang, ville du da ha flere regler som er nesten like. I stedet for a duplisere regler, kan du i stedet definere en dynamisk grense.

En dynamisk grense bruker et algebraisk uttrykk for a utlede regelgrenseverdien. Den algebraiske formelen kan referere til et komplekst attributt hvis verdi brukes til a beregne den resulterende grensen.

Eksempel 6 Dynamisk grenseeksempel.

Folgende eksempel illustrerer bruken av dynamiske grenser. Brukere har lov til a bruke 5 spor per CPU pa alle Linux-verter.

Verdien av num_proc er antall prosessorer pa verten. Grensen beregnes med formelen $ num_proc * 5, og kan v re forskjellig pa hver vert. Ved a utvide eksemplet ovenfor kan du ha folgende begrensninger:

Pa en vert som har to CPUer, kan brukerne bruke ti spor for a kjore jobber.

Pa en vert som har en CPU, kan brukerne bare bruke fem spor for a kjore jobber.

I stedet for num_proc, kan du bruke noe annet komplekst attributt kjent for en vert som enten en belastningsverdi eller en ressursforbruk.

Administrere ressurskvoter med QMON.

Folgende oppgave forklarer hvordan du angir ressurskvoter ved hjelp av QMON-grafisk grensesnitt.

Slik setter du ressurskvoter ved hjelp av QMON.

I QMON Main Control-vinduet klikker du pa ressurskvotekonfigurasjonsknappen.

Skriv inn ressurskvoteinformasjonen i tekstfeltet.

Bruk samme syntaks som du ville for qconf-kommandoen, som illustrert i folgende skjermeksempel.

Overvaking av ressurskvotutnyttelse fra kommandolinjen.

Bruk qquota-kommandoen for a vise informasjon om gjeldende N1 Grid Engine ressurskvoter. Qquota-kommandoen viser hver ressurskvote som blir brukt minst en gang eller definerer en statisk grense. For hver relevant ressurskvote viser qquota folgende informasjon:

Ressurskvotregel & ndash; Navnet pa regelsettets navn og navnet eller nummeret til regelen.

Limit & ndash; Ressursnavnet, antall tilgjengelige elementer for ressursen og antall brukte elementer for den ressursen.

Filter & ndash; Det effektive ressurskvoteringsfilteret, som resulterer fra a bruke filteromradet som er forklart i Om ressurskvotasett.

Qquota-kommandoen inneholder flere alternativer som du kan bruke til a begrense informasjonen til en bestemt vert, klusterko, prosjekt, parallelle miljoer, ressurs eller bruker. Hvis du ikke bruker noen alternativer, viser qquota informasjon om ressursettene som gjelder for brukernavnet der du pakaller kommandoen. For mer informasjon, se qquota (1) man siden.

Eksempel 6 og 3 Eksempel qquota Command.

Folgende eksempel viser informasjon om ressurskvotasettene som gjelder brukerbruker1.

Konfigurere ressurskvoter fra kommandolinjen.

Bruk qconf-kommandoen til a legge til, endre eller slette ressurskvoterett og regler.

Hvis du vil legge til et ressurskvotsett ved a invitere et tekstredigeringsprogram, bruker du folgende kommando:

For a legge til et sett som allerede er definert i en fil, bruk qconf -Arqs filnavn.

Hvis du vil endre informasjon om et ressurskvotsett ved a pakalle en redigeringsprogram, bruker du folgende kommando:

For a endre et sett fra informasjonen i en fil, bruk qconf -Mrqs filnavn [navn].

Hvis du bruker alternativet -mrq eller -mrqs uten et navn, erstatter det nye regelsettet alle de nav rende konfigurerte regelsettene.

For a slette et ressurskvotsett, bruk folgende kommando:

For a se en liste over definerte ressurs kvote sett, bruk folgende kommando:

For a se detaljert informasjon om et definert ressurskvotsett, bruk folgende kommando:

For mer informasjon om qconf, se qconf (1) man siden.

Folgende eksempel viser hvordan du kan bruke de forskjellige kommandoene for ressurskvoter. Regelsettet som er vist i eksempel 6 og 4, definerer folgende grense:

Alle brukere sammen bor aldri ta mer enn 20 spor.

Alle brukere skal ta maksimalt 5 spor pa alle Linux-verter.

Hver bruker er begrenset til ett spor per Linux-vert bortsett fra brukeren MyUser som er begrenset til to spor, og alle andre spor pa verter er begrenset til 0.

Vertsgruppen @linux inkluderer verts1 og vert2.

For a konfigurere regelsettet, bruk en av folgende former for qconf-kommandoen:

qconf -arqs & lt; regel-sett-navn & gt; for hvert regelsett.

qconf -arqs for a kjore alle regelsettene samtidig.

Etter at jobber er sendt til forskjellige brukere, viser qstat-kommandoen utgang som ligner eksempelet som er vist i eksempel 6, og 5.

Eksempel 6 og 4-regelsett.

Eksempel 6 og 5 qstat Output.

Eksempel 6 6 qquota Output.

Prestasjonshensyn.

Effektive regelsett.

For a gi den mest effektive behandlingen av jobber og ressurser i koer, sett den mest restriktive regelen i den forste posisjonen til et regelsett. Etter denne konvensjonen hjelper N1 Grid Engine scheduler a begrense mengden av egnede koinstanser pa en spesielt effektiv mate, fordi den forste regelen aldri blir skygget av en etterfolgende regel i samme regel sett og dermed alltid star for seg selv.

For a illustrere denne regelen, vurder et miljo som ligner pa folgende:

Fire koer kalt Q001-Q004.

Fire administrerte ressurser kalt F001-F004.

Jobber som krever en bestemt administrert ressurs, for eksempel F001, er begrenset til a kjore i den tilhorende koen, for eksempel Q001.

Stillinger legges inn i ett av fem prosjekter P001-P005.

I et slikt miljo kan du definere en enkelt regel sett som folger:

Den enkle regelen sett begrenser bruken av hver administrert ressurs til 30 for hvert prosjekt og begrenser jobbene i kvalifiserte koer samtidig. Dette vil fungere bra, men i en storre klynge med mange verter, vil den enkle regelen sett bli arsaken til langsom jobbsending.

For a hjelpe N1 Grid Engine scheduler a avskrekke sa mange koer som mulig under matchmaking, er det bedre a bruke fire separate regelsett.

Disse fire regelsettene begrenser det samme etter prosjektressurskvoter som den enkle regelen sett. Imidlertid kan de fire regelsettene behandles mye mer effektivt pa grunn av at uonskede koinstanser blir skjermet forst. Konsolidering av disse skjoldene til et enkelt ressurskvotsett ville ikke v re mulig i dette tilfellet.

Formalet med proven ovenfor er ikke a anbefale en klusterko per ressurs. Faktisk er det! motsatt er sant, fordi f rre koer endelig alltid aktiverer f rre, kraftigere skjold som vist her:

I dette eksemplet blir koene konsolidert fra Q001-Q004 ned til Q001-Q002. Dette oker imidlertid faktisk samlet bruk av klynger og gjennomstromning.