25_322CC_ScoicaAdrian

Download Report

Transcript 25_322CC_ScoicaAdrian

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare 01.05.2020

N-body simulation

Scoic ă Adrian 332CC [email protected]

Algoritmi paraleli şi distribuiţi – Prezentări Laborator 1

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Introducere şi terminologie

• •

Problema clasică a celor a N corpuri

este o

problemă de simulare

care redă evoluţia unui sistem de N corpuri cu proprietăţile:

Există forţe de interacţiune între oricare două corpuri (“gravitaţia”).

Simularea are loc în paşi .

• • • Aplicaţii teoretice:

Astrofizică , pentru simularea formării filamentelor de materie din univers Dinamica moleculară , pentru analiza comportării fluidelor (molecule) Studiul plasmei , pentru a putea simula experimente costisitoare şi periculoase

Primele calcule

[ greşite]

: Sir Isaac Newton – Sistemul Solar

01.05.2020

Algoritmi paraleli şi distribuiţi – Prezentări Laborator 2

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

1. Natura corpurilor. Complexitate

• • Corpurile simulate pot s ă corespundă sau nu la obiecte reale din natură: O stea – dacă realizăm simularea unui cluster. În acest caz, particulele au semnificaţie fizică O cantitate arbitrară de gaz – dacă simulăm un nor de gaz. În acest caz, am avea mult prea multe molecule de analizat.

• • Complexitatea teoretică a simulării: Practic, fiecare corp manifestă atracţie faţă de fiecare alt corp, de unde

O

(

n

2 ) Aspecte care afectează complexitatea: – – viteza finită a gravitaţiei abordarea clasică sau relativistă

Algoritmi paraleli şi distribuiţi – Prezentări Laborator 01.05.2020

3

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

2. Cazuri particulare

• • •

N = 2 :

are soluţie analitică, dacă considerăm centrul de masă staţionar.

N = 3

: cea mai studiată; soluţie haotică, instabilă numeric.

N >= 3

: 6N ecuaţii; nu se cunoaşte o rezolvare.

În imagine: Millenium Run, Care simulează universul până În prezent. Se observă Aglomerarea în structuri: Planete, sisteme, galaxii, nori Filamente.

Algoritmi paraleli şi distribuiţi – Prezentări Laborator

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

3. Soluţii aproximative

Există mai multe metode de a aproxima simularea, dacă facem o serie de prezumţii:

1.

Metode arborescente

: • • • Simularea Barnes - Hut Metoda lui Callahan şi Kosaraju Se pot paraleliza foarte natural

2.

Metode bazate pe reţele de particule

: • • Funcţionează foarte bine pe distribuţii omogene Se paralelizează mai greu • Permit calcule mai rapide (transformata Fourrier)

Algoritmi paraleli şi distribuiţi – Prezentări Laborator

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

4. Simularea Barnes - Hut

• • • • •

Informaţii generale

: Propusă de Josh Barnes şi Piet Hut (demo aici )

Complexitate O

(

n

log Se împarte spaţiul în

n

)

celule cubice

(structură de date numită celule îndepărtate se foloseşte centrul de masă

octree

Particulele din celule învecinate sunt tratate individual, pentru cele din Se poate ajusta astfel încât zonele dense să aibă celule mai mici .

)

Algoritmi paraleli şi distribuiţi – Prezentări Laborator

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

5. Fast multipole method

Informaţii generale

: • • • • • • Tehnică matematică

generală

, se bazează pe calculele folosind serii de dezvoltare .

Nu este nevoie de memorarea explicită a elementelor din matrice (economie de memorie)

Aplicată ierarhic, reduce produsul dintre o matrice şi un vector la

O

(

n

) După dezvoltarea ei, a dobândit aplicaţii şi în alte domenii (mai ales chimie) Greu de programat în 3 dimensiuni Are constante mari de complexitate

Algoritmi paraleli şi distribuiţi – Prezentări Laborator

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

6. Particle mesh

Informaţii generale

: • • • • Tehnică matematică

generală

, se bazează pe segmentarea spaţiului în cuburi (sau paralelipipede) de dimensiune fixă

Aproximarea materiei prin intermediul centrelor de greutate ale cuburilor şi simularea reţelei rezultate

Tehnică utilă

atunci când trebuie să simulăm noduri de dimensiuni pozitive (mari) Este o metodă rar folosită acum, deoarece nu modelează bine interacţiunile pe distanţe mici între particule

Algoritmi paraleli şi distribuiţi – Prezentări Laborator

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Exemple de aplicaţii

Clusterizare:

Dacă o problemă se poate modela printr-un graf planar, atunci am putea aplica această metodă pentru a urmări trend-uri de asociere.

Comportarea fluidelor ( www.nbodylab.com

):

Se pot verifica legi ale termodinamicii. Se foloseşte la proiectarea motoarelor de cu reacţie la avioane, astfel încât gazele să nu atingă fuselajul.

Simulări în astronomie ( starlab ):

Putem calcula efectele ciocnirii a două galaxii.

Algoritmi paraleli şi distribuiţi – Prezentări Laborator

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Exemple de aplicaţii

Clusterizare:

Dacă o problemă se poate modela printr-un graf planar, atunci am putea aplica această metodă pentru a urmări trend-uri de asociere.

Comportarea fluidelor ( www.nbodylab.com

):

Se pot verifica legi ale termodinamicii. Se foloseşte la proiectarea motoarelor de cu reacţie la avioane, astfel încât gazele să nu atingă fuselajul.

Simulări în astronomie ( starlab ):

Putem calcula efectele ciocnirii a două galaxii.

Why?

Algoritmi paraleli şi distribuiţi – Prezentări Laborator

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Exemple de aplicaţii

Clusterizare :

Dacă o problemă se poate modela printr-un graf planar, atunci am putea aplica această metodă pentru a urmări trend-uri de asociere.

Comportarea fluidelor ( www.nbodylab.com

):

Se pot verifica legi ale termodinamicii. Se foloseşte la proiectarea motoarelor de cu reacţie la avioane, astfel încât gazele să nu atingă fuselajul.

Simulări în astronomie ( starlab ):

Putem calcula efectele ciocnirii a două galaxii.

Why?

Because it looks epic and cool !!

Algoritmi paraleli şi distribuiţi – Prezentări Laborator

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Concluzii

• Simularea mişcării a N corpuri este o problemă

computaţional grea

(chiar şi fără a considera coliziuni) • Dacă vrem să considerăm coliziuni , nu are nici măcar soluţie analitică .

• Metodele numerice sunt extrem de instabile , dar în mod statistic, pot da informaţii relevante (think BIG) • Majoritatea algoritmilor accelerăm simularea

pot fi paralelizaţi

, astfel încât să

Algoritmi paraleli şi distribuiţi – Prezentări Laborator 01.05.2020

12

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Bibliogafie

Parallel N-body simulations: http://www.cs.cmu.edu/~scandal/alg/nbody.html

Starlab: http://www.sns.ias.edu/~starlab/ Wikipedia: http://en.wikipedia.org

Algoritmi paraleli şi distribuiţi – Prezentări Laborator

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare

Va mulţumesc!

Întrebări?

01.05.2020

Algoritmi paraleli şi distribuiţi – Prezentări Laborator 14