Preskoči na sadržaj

Podjela domene

Kada se mreža velikih razmjera analizira paralelno pomoću više procesa, mreža jedne domene najprije se mora podijeliti na poddomene, a unaprijed se moraju generirati podaci potrebni za dodjelu svakom procesu i komunikaciju među domenama. Ovaj korak predobrade naziva se podjela domene.

U paralelnom računanju FrontISTR-a hecmw_part1 dijeli mrežu jedne domene na poddomene i stvara distribuirane podatke mreže. Generirane distribuirane podatke mreže čita paralelni fistr1, a paralelni ih rješavač upotrebljava zajedno s informacijama potrebnima za komunikaciju među domenama.

Ova stranica opisuje vrstu podjele, metodu podjele, dubinu preklapanja i obradu kontaktnih točaka odabranih za podjelu domene. Za postupak izvođenja hecmw_part1, konkretnu sintaksu upravljačke datoteke i poruke o pogreškama pogledajte povezane teme.

Pregled

Podjela domene postupak je dijeljenja mreže jedne domene na više poddomena. FrontISTR stvara distribuirane podatke mreže kombiniranjem vrste podjele, metode podjele, broja domena i dubine preklapanja.

Os odabira Glavne mogućnosti Uloga
Vrsta podjele Podjela po čvorovima, podjela po elementima Određuje dodjeljuje li se vlasništvo po čvoru ili po elementu.
Metoda podjele RCB, METIS (pMETIS / kMETIS) Određuje način stvaranja granica domena.
Broj domena Bilo koji pozitivni cijeli broj (\(2^n\) za RCB) Određuje broj poddomena u distribuiranim podacima mreže. Uobičajeno se usklađuje s brojem MPI procesa.
Dubina preklapanja Cijeli broj 1 ili veći Određuje područje koje susjedne domene redundantno zadržavaju. Zadaje se za podjelu po čvorovima.
Komunikacijske tablice Podaci o uvozu/izvozu, zajednički podaci Definiraju razmjenu podataka potrebnu između susjednih poddomena. Generiraju se automatski tijekom podjele domene.

Budući da su komunikacijske tablice uključene u distribuirane podatke mreže, korisnici ih u pravilu ne trebaju izravno uređivati. Paralelni fistr1 čita distribuirane podatke mreže i rješava linearne jednadžbe paralelnom izravnom metodom kao što je MUMPS ili iterativnom metodom.

Odabir konfiguracije podjele domene

Za uobičajene strukturne analize i analize provođenja topline općenito najprije treba razmotriti podjelu po čvorovima. Podjela po čvorovima pojednostavljuje komunikaciju čvornih vrijednosti potrebnih u paralelnoj analizi konačnih elemenata, a omogućuje i zadavanje dubine preklapanja. Podjela po elementima moguća je za primjene poput spregnute analize u kojima se podijeljeni podaci prvenstveno obrađuju po elementu.

Metodu podjele odaberite prema geometriji i broju domena. Za jednostavne geometrije kod kojih broj domena može biti \(2^n\), RCB je jednostavan i stabilan izbor. Za složene geometrije ili kada je potreban proizvoljan broj domena, kandidat je METIS koji se temelji na podjeli grafa.

Značajke problema Preporučeni izbor
Standardna paralelna strukturna analiza ili analiza provođenja topline Podjela po čvorovima
Primjene koje koriste distribuirane podatke usmjerene na elemente, poput spregnute analize Podjela po elementima
Jednostavna geometrija približna pravokutnom paralelopipedu, s \(2^n\) domena RCB
Složena geometrija ili proizvoljan broj domena METIS
Kontaktni problemi ili problemi s MPC ograničenjima koji koriste predoblikovatelj SAINV Upotrijebite podjelu po čvorovima s dubinom preklapanja 2 ili većom

Broj domena uobičajeno se usklađuje s brojem MPI procesa. Za postupak paralelnog izvođenja i zadavanje broja procesa pogledajte Paralelna analiza. Za odnos između predoblikovatelja SAINV i dubine preklapanja pogledajte i Rješavač i predoblikovatelji.

Vrste podjele

Vrsta podjele određuje kojem se entitetu mreže dodjeljuje jedinstveno vlasništvo poddomene. Podjela po čvorovima dodjeljuje vlasništvo čvorovima, dok ga podjela po elementima dodjeljuje elementima. U oba se slučaja podaci potrebni za računanje sa susjednim poddomenama zadržavaju kao podaci preklapanja.

Podjela po čvorovima

Kod podjele po čvorovima svaki se čvor dodjeljuje točno jednoj vlasničkoj poddomeni. Elementi se s preklapanjem zadržavaju u susjednim poddomenama. U ulazu se to zadaje s !PARTITION, TYPE=NODE-BASED.

Koncept podjele po čvorovima

Slika 10.1 Koncept podjele po čvorovima

Svaka poddomena zadržava svoje unutarnje čvorove, elemente koji sadrže te unutarnje čvorove i čvorove koji čine te elemente.

Čvorovi i elementi koje svaka poddomena zadržava pri podjeli po čvorovima

Slika 10.2 Čvorovi i elementi koje svaka poddomena zadržava pri podjeli po čvorovima

Komunikacijske tablice za podjelu po čvorovima sadrže sljedeće podatke.

  • Uvozni čvorovi: čvorovi koji se upotrebljavaju u poddomeni, ali su u vlasništvu druge poddomene.
  • Izvozni čvorovi: unutarnji čvorovi koji su uvozni čvorovi druge poddomene.
  • Zajednički elementi: elementi koji se dijele s drugim poddomenama.

Uvozni čvorovi pri podjeli po čvorovima

Slika 10.3 Uvozni čvorovi pri podjeli po čvorovima

Izvozni čvorovi pri podjeli po čvorovima

Slika 10.4 Izvozni čvorovi pri podjeli po čvorovima

Zajednički elementi pri podjeli po čvorovima

Slika 10.5 Zajednički elementi pri podjeli po čvorovima

Podjela po elementima

Kod podjele po elementima svaki se element dodjeljuje točno jednoj vlasničkoj poddomeni. Čvorovi se s preklapanjem zadržavaju u susjednim poddomenama. U ulazu se to zadaje s !PARTITION, TYPE=ELEMENT-BASED.

Koncept podjele po elementima

Slika 10.6 Koncept podjele po elementima

Svaka poddomena zadržava svoje unutarnje elemente, čvorove koji čine te unutarnje elemente i elemente koji sadrže te čvorove.

Čvorovi i elementi koje svaka poddomena zadržava pri podjeli po elementima

Slika 10.7 Čvorovi i elementi koje svaka poddomena zadržava pri podjeli po elementima

Komunikacijske tablice za podjelu po elementima sadrže sljedeće podatke.

  • Uvozni elementi: elementi koji se upotrebljavaju u poddomeni, ali su u vlasništvu druge poddomene.
  • Izvozni elementi: unutarnji elementi koji su uvozni elementi druge poddomene.
  • Zajednički čvorovi: čvorovi koji se dijele s drugim poddomenama.

Uvozni elementi pri podjeli po elementima

Slika 10.8 Uvozni elementi pri podjeli po elementima

Izvozni elementi pri podjeli po elementima

Slika 10.9 Izvozni elementi pri podjeli po elementima

Zajednički čvorovi pri podjeli po elementima

Slika 10.10 Zajednički čvorovi pri podjeli po elementima

Za obje vrste podjele hecmw_part1 automatski generira komunikacijske tablice i zapisuje ih u distribuirane podatke mreže. Stoga korisnici u pravilu ne trebaju izravno stvarati podatke o uvozu/izvozu.

Metode podjele

Metoda podjele određuje način stvaranja granica poddomena. FrontISTR podržava RCB temeljen na koordinatama i METIS temeljen na podjeli grafa.

Metoda podjele Značajke Glavna ograničenja i napomene
RCB Rekurzivno dijeli mrežu na temelju koordinatnih vrijednosti. Omogućuje brzu podjelu za jednostavne geometrije. Broj domena ograničen je na \(2^n\). Moraju se zadati osi podjele.
pMETIS Upotrebljava podjelu grafa uzimajući u obzir povezanost među domenama. Dostupno u izgradnjama s omogućenim METIS-om.
kMETIS Upotrebljava višesmjernu podjelu grafa, što je prikladno za stvaranje granica domena u složenim geometrijama. Dostupno u izgradnjama s omogućenim METIS-om.

RCB znači rekurzivno prepolavljanje koordinata (Recursive Coordinate Bisection) i višekratno prepolavlja mrežu duž koordinatnih osi. Prikladan je kada broj domena može biti \(2^n\) i jednostavan za uporabu kod jednostavnih geometrija nalik kutiji.

METIS tretira povezanost mreže kao graf i stvara poddomene podjelom grafa. Prikladan je za složene geometrije ili kada broj domena ne smije biti ograničen na \(2^n\). Za uporabu METIS-a biblioteka METIS mora biti omogućena pri izgradnji. Za upravljanje ovisnostima pogledajte Obvezne i neobvezne ovisnosti.

Dubina preklapanja

Dubina preklapanja broj je slojeva u području koje susjedne poddomene redundantno zadržavaju. Za podjelu po čvorovima !PARTITION omogućuje zadavanje cijelog broja 1 ili većeg parametrom DEPTH. Zadana dubina preklapanja je 1.

Za uobičajenu paralelnu analizu dovoljan je DEPTH=1. Međutim, kada se predoblikovatelj iz obitelji SAI, poput SAINV-a, upotrebljava za kontaktni problem ili problem s MPC ograničenjima, povećanje dubine preklapanja na 2 ili više može poboljšati kvalitetu predoblikovatelja.

Dubina preklapanja 2 ili veća potrebna je i kada se selektivna formulacija zaglađivanja po bridovima/čvorovima (FORM341=SELECTIVE_ESNS) upotrebljava s tetraedarskim elementom prvog reda 341 u MPI paralelnom računanju. Zaglađivanje po bridovima i po čvorovima prosječuje veličine preko elemenata susjednih ciljnom elementu, pa sastavljanje krutosti unutar poddomene zahtijeva podatke iz elemenata udaljenih dva sloja susjedstva; sa zadanim DEPTH=1 zaglađivanje u blizini granica domena nije dovoljno. Za pojedinosti formulacije elementa pogledajte Biblioteka elemenata.

Povećanje dubine preklapanja povećava broj čvorova i elemenata koje susjedne poddomene zadržavaju, čime rastu i uporaba memorije i količina komunikacije. Odredite je balansiranjem poboljšane konvergencije i povećanog računskog troška. Za odabir predoblikovatelja pogledajte Rješavač i predoblikovatelji.

Obrada kontaktnih točaka

Pri podjeli mreže koja sadrži kontaktne parove, !PARTITION omogućuje da se parametrom CONTACT zada politika raspoređivanja kontaktnih točaka po domenama. Raspored kontaktnih točaka utječe na stabilnost i količinu komunikacije paralelnih analiza koje uključuju pretraživanje kontakta i kontaktna ograničenja.

Vrijednost Uloga
DEFAULT Upotrebljava standardnu politiku raspoređivanja.
SIMPLE Upotrebljava raspoređivanje blisko običnoj podjeli bez dodjeljivanja posebnih težina kontaktnim točkama.
AGGREGATE Dijeli na način koji teži grupiranju čvorova povezanih s kontaktnim parovima.
DISTRIBUTE Dijeli tako da se kontaktni čvorovi glavne strane manje koncentriraju u pojedinim poddomenama.

Za mreže bez kontakta parametar CONTACT u pravilu ne zahtijeva pozornost. Ako su konvergencija ili uravnoteženje opterećenja problematični u paralelnoj analizi s kontaktom, preispitajte politiku raspoređivanja kontaktnih točaka. Za pojedinosti ulazne sintakse pogledajte !PARTITION.

Neovisno o tome, parametrom CONTACT_OWNER može se odabrati shema vlasništva za paralelni kontakt. Dok CONTACT određuje „kako podijeliti”, CONTACT_OWNER određuje „koja je strana odgovorna nakon podjele”.

Vrijednost Uloga
MASTER Shema vlasništva glavne strane (zadano). Glavna ploha dijeli se po domenama vlasnicima elemenata, a podređeni čvorovi repliciraju se u svaku domenu vlasnika glavne strane.
SLAVE Shema vlasništva podređene strane. Svaki podređeni čvor zadržava samo njegova vlasnička domena, a cijela glavna ploha postavlja se u tu domenu.

Kod konačnog klizanja (INTERACTION=FSLID u !CONTACT), kada podređeni čvor prijeđe granicu podjele domene na glavnoj plohi, shema MASTER može prekinuti pretraživanje susjedstva na granici, zbog čega se gube stanje kontakta i povijest trenja, a rješenje postaje ovisno o broju domena. Shema SLAVE izbjegava taj problem. Može se zadati samo kada je TYPE=NODE-BASED; uporaba memorije povećava se u domenama koje posjeduju podređene čvorove.

Izlaz slike podjele domene

Kod !PARTITION, zadavanje parametra UCD daje UCD datoteku za provjeru rezultata podjele. UCD datoteka može se upotrijebiti s alatima za vizualizaciju poput MicroAVS-a za pregled brojeva domena i granica podjele.

Nakon promjene broja domena, metode podjele ili dubine preklapanja važno je provjeriti postoji li neravnoteža među podijeljenim domenama ili neprirodna fragmentacija. UCD izlaz pomoćna je funkcija za provjeru valjanosti podjele prije pokretanja paralelne analize.

Povezane teme

AI-assisted translation May contain errors Official docs Status