Декомпозиција домена¶
Када се велика мрежа анализира паралелно помоћу више процеса, мрежа једног домена мора се унапред поделити на поддомене и морају се генерисати подаци потребни за расподелу поддомена процесима и комуникацију између домена. Ова претходна обрада назива се декомпозиција домена.
У паралелном израчунавању FrontISTR-а, hecmw_part1 дели мрежу једног домена на поддомене и ствара дистрибуиране податке мреже. Генерисане дистрибуиране податке мреже чита паралелни fistr1 и користи их у паралелном решавачу заједно са информацијама потребним за комуникацију између домена.
Ова страница описује тип поделе, методу поделе, дубину преклапања и начин третирања контактних тачака који се бирају при декомпозицији домена. За поступак извршавања hecmw_part1, конкретну синтаксу управљачке датотеке и поруке о грешкама видети повезане теме.
Преглед¶
Декомпозиција домена је поступак поделе мреже једног домена на више поддомена. FrontISTR ствара дистрибуиране податке мреже комбинацијом типа поделе, методе поделе, броја домена и дубине преклапања.
| Оса избора | Главне опције | Улога |
|---|---|---|
| Тип поделе | Подела заснована на чворовима, подела заснована на елементима | Одређује да ли се власништво додељује по чвору или по елементу. |
| Метода поделе | RCB, METIS (pMETIS / kMETIS) | Одређује како се формирају границе домена. |
| Број домена | Произвољан позитиван цео број (\(2^n\) за RCB) | Одређује број поддомена у дистрибуираним подацима мреже. Обично се поклапа са бројем MPI процеса. |
| Дубина преклапања | Цео број 1 или већи | Одређује опсег који суседни домени редундантно задржавају. Задаје се за поделу засновану на чворовима. |
| Комуникационе табеле | Подаци о увозу/извозу, дељени подаци | Дефинишу размену података потребну између суседних поддомена. Аутоматски се генеришу при декомпозицији домена. |
Пошто су комуникационе табеле укључене у дистрибуиране податке мреже, корисник обично не мора директно да их уређује. Паралелни fistr1 чита дистрибуиране податке мреже и решава линеарне једначине паралелном директном методом као што је MUMPS или итеративном методом.
Избор конфигурације декомпозиције домена¶
За уобичајену структурну анализу и анализу провођења топлоте, најпре треба размотрити поделу засновану на чворовима. Она поједностављује комуникацију чворних вредности потребну у паралелној анализи методом коначних елемената и омогућава задавање дубине преклапања. Подела заснована на елементима је опција за примене као што су спрегнуте анализе, где се дистрибуиране информације после поделе превасходно обрађују по елементима.
Метода поделе бира се на основу геометрије и броја домена. За једноставне геометрије код којих број домена може бити \(2^n\), RCB је једноставан и стабилан избор. За сложене геометрије или када је потребан произвољан број домена, кандидат је METIS заснован на графовској подели.
| Карактеристике проблема | Препоручени избор |
|---|---|
| Стандардна паралелна структурна анализа или анализа провођења топлоте | Подела заснована на чворовима |
| Примене које користе дистрибуиране податке усмерене на елементе, као што је спрегнута анализа | Подела заснована на елементима |
| Једноставна геометрија приближно облика правоугаоног паралелепипеда, са \(2^n\) домена | RCB |
| Сложена геометрија или произвољан број домена | METIS |
| Контактни проблеми или проблеми са MPC ограничењима који користе SAINV преткондиционер | Подела заснована на чворовима са дубином преклапања 2 или већом |
Број домена се обично поклапа са бројем MPI процеса. За поступак паралелног извршавања и задавање броја процеса видети Паралелна анализа. За однос SAINV преткондиционера и дубине преклапања видети и Решавач и преткондиционери.
Типови поделе¶
Тип поделе одређује којој јединици мреже један поддомен додељује јединствено власништво. Подела заснована на чворовима додељује власништво чворовима, а подела заснована на елементима елементима. У оба случаја, подаци потребни за прорачун са суседним поддоменима задржавају се као подаци преклапања.
Подела заснована на чворовима¶
Код поделе засноване на чворовима сваки чвор се додељује тачно једном власничком поддомену. Елементи се у суседним поддоменима задржавају са преклапањем. У улазу се задаје са !PARTITION, TYPE=NODE-BASED.

Сваки поддомен задржава своје унутрашње чворове, елементе који садрже те чворове и чворове од којих су ти елементи састављени.

Комуникационе табеле за поделу засновану на чворовима садрже следеће податке.
- Увозни чворови: чворови који се користе у поддомену, али припадају другом поддомену.
- Извозни чворови: унутрашњи чворови који су увозни чворови неког другог поддомена.
- Дељени елементи: елементи који се деле са другим поддоменима.



Подела заснована на елементима¶
Код поделе засноване на елементима сваки елемент се додељује тачно једном власничком поддомену. Чворови се у суседним поддоменима задржавају са преклапањем. У улазу се задаје са !PARTITION, TYPE=ELEMENT-BASED.

Сваки поддомен задржава своје унутрашње елементе, чворове од којих су ти елементи састављени и елементе који садрже те чворове.

Комуникационе табеле за поделу засновану на елементима садрже следеће податке.
- Увозни елементи: елементи који се користе у поддомену, али припадају другом поддомену.
- Извозни елементи: унутрашњи елементи који су увозни елементи неког другог поддомена.
- Дељени чворови: чворови који се деле са другим поддоменима.



За оба типа поделе hecmw_part1 аутоматски генерише комуникационе табеле и уписује их у дистрибуиране податке мреже. Зато корисник у уобичајеној анализи не мора директно да ствара податке о увозу и извозу.
Методе поделе¶
Метода поделе одређује како се формирају границе поддомена. FrontISTR подржава RCB заснован на координатама и METIS заснован на графовској подели.
| Метода поделе | Карактеристике | Главна ограничења и напомене |
|---|---|---|
| RCB | Рекурзивно дели мрежу на два дела на основу координатних вредности. Омогућава брзу поделу једноставних геометрија. | Број домена ограничен је на \(2^n\). Потребно је задати осе поделе. |
| pMETIS | Користи графовску поделу узимајући у обзир повезаност између домена. | Доступно у верзијама изграђеним са омогућеним METIS-ом. |
| kMETIS | Користи вишеструку графовску поделу, погодну за формирање граница домена у сложеним геометријама. | Доступно у верзијама изграђеним са омогућеним METIS-ом. |
RCB је скраћеница од Recursive Coordinate Bisection и понављано дели мрежу на два дела дуж координатних оса. Погодан је када број домена може бити \(2^n\) и једноставан за употребу код једноставних геометрија приближно кутијастог облика.
METIS третира повезаност мреже као граф и ствара поддомене графовском поделом. Кандидат је за сложене геометрије или када број домена не треба ограничити на \(2^n\). За употребу METIS-а библиотека METIS мора бити омогућена при изградњи. За управљање зависностима видети Обавезне и опционе зависности.
Дубина преклапања¶
Дубина преклапања је број слојева у опсегу који суседни поддомени редундантно задржавају. Код поделе засноване на чворовима !PARTITION омогућава да се параметром DEPTH зада цео број 1 или већи. Подразумевана дубина преклапања је 1.
За уобичајену паралелну анализу DEPTH=1 је довољно. Међутим, када се преткондиционер из SAI фамилије, као што је SAINV, користи за контактни проблем или проблем са MPC ограничењима, повећање дубине преклапања на 2 или више може побољшати квалитет преткондиционирања.
Дубина преклапања 2 или већа потребна је и када се селективна формулација edge-/node-based углађивања (FORM341=SELECTIVE_ESNS) користи са тетраедарским елементом првог реда 341 у MPI паралелном прорачуну. Edge-based и node-based углађивање усредњава величине преко елемената суседних циљном елементу, па су за састављање крутости унутар поддомена потребни подаци о елементима удаљеним два слоја суседства; са подразумеваним DEPTH=1 углађивање у близини граница домена није довољно. За детаље формулације елемента видети Библиотеку елемената.
Повећавање дубине преклапања повећава број чворова и елемената које суседни поддомени задржавају, па расту и употреба меморије и обим комуникације. Подешавање треба изабрати балансирањем побољшања конвергенције и повећања рачунског трошка. За избор преткондиционера видети Решавач и преткондиционери.
Третирање контактних тачака¶
Када се дели мрежа која садржи контактне парове, параметар CONTACT у !PARTITION може се користити за задавање политике распоређивања контактних тачака по доменима. Распоред контактних тачака утиче на стабилност и обим комуникације паралелне анализе која укључује претрагу контакта и контактна ограничења.
| Вредност | Улога |
|---|---|
DEFAULT | Користи стандардну политику распоређивања. |
SIMPLE | Користи распоред близак уобичајеној подели, без додељивања посебних тежина контактним тачкама. |
AGGREGATE | Дели мрежу тако да тежи груписању чворова повезаних са контактним паровима. |
DISTRIBUTE | Дели мрежу тако да је мање вероватно да се контактни чворови master стране концентришу у појединим поддоменима. |
За мрежу без контакта параметру CONTACT углавном није потребно посвећивати пажњу. Ако у паралелној анализи са контактом постоје проблеми са конвергенцијом или расподелом оптерећења, треба преиспитати политику распоређивања контактних тачака. За детаље улазне синтаксе видети !PARTITION.
Независно од тога, параметром CONTACT_OWNER може се изабрати шема власништва за паралелни контакт. Док CONTACT задаје „како поделити“, CONTACT_OWNER задаје „која страна је надлежна након поделе“.
| Вредност | Улога |
|---|---|
MASTER | Шема власништва master стране (подразумевано). Master површина дели се према доменима који поседују елементе, а slave чворови се реплицирају у сваки домен који поседује master страну. |
SLAVE | Шема власништва slave стране. Сваки slave чвор задржава само његов власнички домен, а у тај домен се поставља цела master површина. |
Код коначног клизања (INTERACTION=FSLID у !CONTACT), ако slave чвор пређе границу декомпозиције домена на master површини, шема MASTER може прекинути претрагу суседства на граници, што доводи до губитка стања контакта и историје трења и чини решење зависним од броја домена. Шема SLAVE избегава овај проблем. Може се задати само када је TYPE=NODE-BASED; употреба меморије расте у доменима који поседују slave чворове.
Излаз слике декомпозиције домена¶
Када се у !PARTITION зада параметар UCD, излази UCD датотека за проверу резултата поделе. UCD датотека може се користити у алатима за визуализацију као што је MicroAVS ради провере бројева домена и граница поделе.
После промене броја домена, методе поделе или дубине преклапања важно је проверити да ли постоји неравнотежа између подељених домена или неприродно уситњавање. UCD излаз је помоћна функција за проверу ваљаности поделе пре покретања паралелне анализе.
Повезане теме¶
- Паралелна анализа — поступак извршавања
hecmw_part1, улазне датотеке и провера излаза дистрибуираних података мреже. - Решавач и преткондиционери — паралелни решавачи, преткондиционери и однос SAINV-а и дубине преклапања.
- Списак порука о грешкама — типичне поруке о грешкама из
hecmw_part1иfistr1. - Паралелна метода коначних елемената — теоријска основа декомпозиције домена и паралелне методе коначних елемената.
- !PARTITION — улазна синтакса управљачких података алата за декомпозицију домена.