Condor bruker parallelt univers for a sende inn MPI-aktiverte jobber. Faktisk finner parallelluniverset bare N maskiner, og lanserer deretter et program pa alle N av dem samtidig. Hvis disse programmene trenger a kommunisere, er det jobben til et wrapper-skript for a sette opp alt som trengs. Condor inneholder noen verktoy for a gjore det enklere for wrapper-skriptet a gjore det, og gir slike skript for OpenMPI og MPICH2. Imidlertid har disse tendensene til a v re jobber som spenner over flere maskiner med et delt filsystem, som som vi forklarer nedenfor ikke passer for CamGrid. Merk at flocking ikke fungerer for parallelle univers (MPI) jobber, sa hvis du har tenkt a bruke MPI-fasiliteter i et annet CamGrid-basseng enn din, ma du gjore spesifikke ordninger med administratorens administrator for a planlegge jobbene dine pa den.

MPI og SMP maskiner.

Selv om vi kan konfigurere Condor til a kjore MPI-jobber over et vilkarlig antall verter, skal jeg huske lokale forhold i CamGrid og merke at enkelte maskiner i beste fall er koblet til via gigabit ethernet. Siden inter-maskinkommunikasjon vil v re sakte, og mangelen pa et delt filsystem gjor denne operasjonen enda vanskeligere, skal jeg bare vurdere MPI-jobber som kjorer pa enkelte SMP-maskiner. Dette er ikke sa ille som det hores ut, da CamGrid na har et stort antall multi-prosessorer, multi-core hosts og denne situasjonen vil ha en tendens til a seire i fremtiden. Alle som trenger a bruke et stort antall prosessorer for en enkelt jobb, bor kanskje tenke nar det gjelder en hoy ytelsesbasert databehandling, i stedet for et campusnett, men hvis du fortsatt vil bruke Condor for flere verts-MPI-jobber, sa ta kontakt med CO i forste omgang (sysadmins: Merk at wrapper-skriptene som folger med Condor for inter-host MPI-operasjon, tar et felles filsystem. Du vil kanskje snakke med meg for a diskutere operasjon uten et felles filsystem). Resten av denne artikkelen vil omhandle MPI / SMP jobber pa flere kjerner av en fysisk vert.

Vi onsker na a sorge for at enkelte jobber ikke fragmenterer pa forskjellige maskiner. Dette kan oppnas ved a bruke forskjellige ParallelSchedulingGroup s for hver vert, sa i condor_config.local av hver utforingsmaskin setter vi:

Merk at de utforende vertene ma nominere en dedikert planlegger (dvs. sende verten), som er en Condor idiosyncrasy for MPI-operasjon (se handboken).

Vi kommer na til brukerens innleveringsfil, og vi demonstrerer det med et eksempel. Hvis jeg lanserer en 4-prosess DL_POLY3 jobb som har eksekverbar DL_POLY.Y og bruker inntastingsfilene CONFIG, CONTROL og FIELD, kan et passende sende skript se ut som:

Mpi-skriptet for wrapper er ganske enkelt for var single-host SMP-operasjon, og et eksempel pa arbeid som ble utfort ved hjelp av denne metoden, er publisert i folgende Science-artikkel. Nedenfor gir vi eksempler for MPICH2 og OpenMPI.

Her er wrapper for MPICH2, som vi kaller mp2script.smp. Maskinfilen (machfile) nevnt i mp2script.smp har en spesielt enkel form for vare SMP-maskiner, og inneholder single entry-hostname: NumberOfVMs, for eksempel «Valletta – eVitenskap: 4».

A fa OpenMPI til a kjore ved hjelp av delt minne er enda enklere, og her er et eksempel wrapper, som vi kaller openmpi.smp.

Som nevnt i apnings avsnittet starter parallelt universet Condor bare N identiske jobber pa N separate spor, og vi utnytter dette til a kjore MPI-jobber ved a ga ut av N-1-spor og sette av MPI-hodetelefonen pa den gjenv rende sporet. Problemet med dette er at filoverforing oppstar for vart innpakningsskript er pakalt (selvfolgelig, siden dette ma overfores ogsa), sa hvis vi ikke bruker et delt filsystem, vil alle N-spor fa kopier av inngangsfiler og kjorbar (hvis onskelig). Dette kan utgjore et betydelig slosing med nettverksband, samt diskplass, for spor som ligger pa samme fysiske maskin. Ideelt sett burde Condor bare overfore en kopi av disse filene per maskin, men for oyeblikket eksisterer ikke slik stotte. Derfor er dine valg 1) Live med denne «funksjonen», 2) Kjor ditt eget bruker-lands delt filsystem, f.eks. via papegoye, 3) sorge for at alle filer blir forhandsinnstilt pa de utforte nodene, 4) ikke be om filer som skal overfores, men legg dem pa en ftp / http / hvilken som helst server, og nar wrapper scriptet starter opp far ett spor per vert for a trekke dem over, f.eks bruker wget eller curl, og symlink fra de andre sporene pa denne verten for MPI-kommandoen blir utfort, 5) hvis du bare kan bruke kjernene til en fysisk vert, ved hjelp av SMP / MPI, kan du unnga a bruke parallelluniverset helt. I stedet bruker vaniljeuniverset i forbindelse med dynamiske spor, og ber om sa mange kjerner for sporet som MPI-prosesser.

Oppsett av MPI under Condor kan v re litt vanskelig, men v r oppmerksom pa at det er ganske fa personer som bruker det med suksess pa CamGrid, hovedsakelig i ikke-SMP (dvs. ssh internode) -operasjon. Medlemmer av CamGrid er velkommen til a kontakte meg for teknisk support. Ikke-medlemmer av CamGrid blir bedt om a henvende seg til foresporsler om hjelp til kondorbrukerens postliste, siden jeg dessverre ikke har fritiden til a legge inn slike foresporsler.

Forskningsforbindelser.

Forskningsstotteadministrasjonsinformasjon fra Forskningsoperasjonskontoret.

Categories: posts


Hallo! Vil du spille i det mest populære kasinoet? Vi fant det for deg. Prøv her nå!