Test konvergence na anizotropii 2

Obsah

V minulem testu jsme poprve vyzkouseli konvergenci metody na kruhu a zjistili aspon orientacne vlastnosti narrow bandu na kruznici. Doladily se nejake finticky, a tak jsme pomalu presli k dalsimu testu - anizotropie. Proti predchozi anizotropii na petiuhelnicku jsme tentokrat jeste zvetsili oblast a dali jen 3-uhelnicek, "trifold." Pro vsechny nasledujici pokusy jsme uvazovali nasledujici podminky:

Stred = [ 3.0, 3.0 ]
Polomer = 2.00

Velikost oblasti pri mrizce procesu  = [ 0.0 - 6.0, 0.0 - 6.0 ]
Pocatecni cas = 0.0
Koncovy cas = 1.6

Anizotropie:
Zeta = 0.1
N_Fold = 3
Force = 0.0
Alpha = 1.0

Protoze v tomto pripade jiz neznam analyticke exaktni reseni, tak jako chybu zde oznacujeme hausdorfovu vzdalenost od nejjemnejsiho reseni. LPnormu uz nepocitame, protoze se to nehodi z duvodu mista (quota). :-((

Sada 1
<3aniz1>
Prostorovy krok
0.030
0.025
0.020
0.015
0.010
0.0075
0.006
Casovy krok
7.0e-5
4.9e-5
3.1e-5
1.8e-5
7.8e-6
4.4e-6
2.8e-6
Velikost mrizky (bodu/strana)
200
240
300
400
600
800
1000
Chyba
1.05e-3
6.05e-4
4.45e-4
2.38e-4
9.05e-5
4.57e-5
X
Doba vypoctu (s)
235
482
1154
3572
17974
56183
134758

Vypocty byly vsechny provedeny na novem clusteru IBM. Pro odhady rychlosti se hodi vykon cca. 247e-9 vterin na iteraci a bod (rozptyl je velice maly). Odhad radu konvergence byl opet napocitan jako EoC = (log(E1)-log(E2)) / (log(F1)-log(F2)), E chyby, F stupne volnosi jako iteraci*pocetbodu.

EoC
Krok
0.030
0.025
0.020
0.015
0.010
0.0075
0.006
Stupnu volnosti (log)
8.961
9.274
9.667
10.153
10.868
11.367
11.757
EoC
0.765
0.559
0.594

EoC

0.339
0.587


Tyto vysledky se mi uz tak nejak od pohledu libi mnohem vic. :-) Dalsi sledovanou vlastnosti je vliv narrowbandu, resp. jeho zrychleni a neco jako "optimalni nastaveni sirky." Za timto ucelem jsme provedli 2 sady pokusu na ruznych prostorovych krocich a porovnali jsme vypocetni cas. Nasledujici graf ukazuje zavislost casu na sirce pasu (cas je normovan na nejmensi cas).


Cervena - sit s krokem 0.025, Zelena 0.015. Vidime docela ocekavanou zavislost - prilis uzky pas zpusobuje caste reinicializace a vypocet je relativne pomaly. S rozsirovanim pasu cas velice rychle klesa a pote uz relativne pomalu roste. Nelze jednoznacne rici, jak siroky pas vzit, protoze je to velice zavisle na konkretnim vypoctu, ale zhruba muzeme doporucit udelat pas radeji sirsi. V paramatrech pasu je ale prilis promennych...

Opetovne se take muzeme podivati, jak se meni chyba v zavislosti na sirce kroku. Z predchozich mereni vime, ze chyba je mnohem vice zavisla na "vzdalenosti od kraje" nez na vlastni sirce. Takze overme... Jsme liny delat graf, takze opet tabulka. :-)

Krok \ Sirka pasu v bodech (!!)
15
20
25
30
35
40
0.025
7.3e-2
6.5e-2
3.4e-2
1.4e-2
1.2e-3
2.2e-3
0.015
1.13e-1
9.3e-2
6.1e-2
3.8e-2
1.9e-2
5.8e-3

Asi by bylo nejlepsi tyto vysledky zaprit, ale... Nutno podotknout, ze jsme to moc neoverili - naopak ted mam pocit, ze lze docela podstatne vylepsit rozsirenim pasu. Hlavne skok 25->30 u hrubsiho kroku je velice citelny...

Konecne mam dostatek casu udelat komplexnejsi test nastaveni uzkeho pasu - zvolil jsem zavislost na dvou vybranych parametrech, ktere jsou podle me nejdulezitejsi a nejvice ovlivnuji vysledek. Jsou to sirka a prisnost reinicializce (presneji, kam postavit detekcni miny pro reinicializaci). A protoze stale nejde poznat, co to tedy je, tak vysvetlim jak je to implementovane - prisnost znaci procentualni vzdalenost min od kraje. Tzn. ze 50% znamena, ze uz bude jen velice malo min na krajich. Nejdrive se podivame na chybu. Pro presnost podotykam, ze krok je 0.01, kde plna domena dosahuje chyby 9.05e-5 za XXX vterin (simulace probehly na starem clusteru).

Chyba
<3aniz7>
Prisnost \ Sirka pasu v bodech
20
30
40
50
60
70
10%






20%
1.24e-1
2.67e-2
2.85e-3
4.14e-3


30%
1.06e-1
5.81e-2
2.23e-2
1.96e-3


40%
6.49e-2
6.18e-2
4.36e-2
2.53e-2


50%
4.88e-2
5.89e-2
4.61e-2
2.96e-2



Doba vypoctu/ / pocet reinicializaci
<3aniz7>
Prisnost \ Sirka pasu v bodech
20
30
40
50
60
70
10%






20%
5345 / 126
7179 / 40
9676 / 24
12946 / 17


30%
4890 / 70
6737 / 20
9418 / 13
12702 / 10


40%
4517 / 43
6602 / 17
9325 / 10
12635 / 7


50%
4436 / 38
6595 / 14
9319 / 9
12632 / 6



A nakonec jen napocitani ucinnosti paralelizace na plne domene na SP. Na kroku 0.01 a casovem 7.8e-6.
<3aniz8>
Pocet procesu
1
4
8
12
16
Doba vypoctu
<NA>
69423
35484
24038
18289
LZV 1
-
-
102%
104%
105%
LZV predchozimu
-
-
102%
102%
101%

Bohuzel na jednom uzlu uz to nebylo mozne spocitat z duvodu omezeni doby vypoctu na 2dny. :-(

Ponekud zarazejici vysledek si vysvetluji tim, ze jsou to vsechno dualni masiny, kazde dva procesy tedy maji jen jeden komunikacni kanal. Dusledkem je, ze komunikace s ostatnimi procesy trva zhruba 2x tak dlouho, nez by melo - coz jsme presne pozorovali.