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