Symulacje kinetyczne Par2cle In Cell w astrofizyce wysokich energii Wykład 7 dr Jacek Niemiec Instytut Fizyki Jądrowej PAN, Kraków Jacek.Niemiec@ifj.edu.pl www.oa.uj.edu.pl/j.niemiec/symulacjenumeryczne 1
Wielkoskalowe symulacje PIC model obliczeń równoległych Dla wielu zjawisk astrofizycznych efekty mikroskopowe mają wpływ na zjawiska makroskopowe konieczne jest użycie wielkich siatek numerycznych: obliczenia zbyt długotrwałe i wymagające ogromnej pamięci operacyjnej dla sekwencyjnych, jednoprocesorowych kodów PIC. modele PIC rozwiązujące równania różniczkowe w przestrzeni konfiguracyjnej są lokalne całkowanie ruchu danej cząstki lub składowej pola EM w danym punkcie siatki wymaga informacji tylko z najbliższego sąsiedztwa (modele posiadają wewnętrzny paralelizm, dane nieskorelowane) naturalny model obliczeń równoległych (parallel compu0ng) dla symulacji PIC: zbiór procesorów, z których każdy prowadzi obliczenia na ustalonym fragmencie siatki numerycznej (domenie) i cząstkach znajdujących się wewnątrz tej domeny; warunki brzegowe zapewnione poprzez komunikację pomiędzy procesorami (kilkakrotnie w każdym kroku czasowym) Np. dla siatki 45x12 N p =15, domeny 9x4 2
Model obliczeń równoległych dla metody PIC Wydajność i wymagania sprzętowe: szybkość obliczeń uwarunkowana szybkością procesora szybkim dostępem do pamięci operacyjnej szybkością dostępu do pamięci globalnej (operacje odczytu/zapisu danych; I/O) wydajność obliczeń współbieżnych zależna od skalowalności zadania (stopnia sekwencyjności) szybkości komunikacji międzyprocesorowej topologii, architektury i protokołu połączeń balansu rozproszenia zadań obliczeniowych na poszczególne procesory Wielkoskalowe symulacje PIC wysokiej rozdzielczości muszą być prowadzone z użyciem systemów obliczeniowych wysokiej wydajności (high performance compu0ng systems). Użyteczne systemy: komputery współbieżne (masowo równoległe; MPP massively parallel processor) plaxormy obliczeń rozproszonych (klastry) Systemy takie jak klastry PC (typu Beowulf) lub gridy mniej użyteczne ze względu na małą przepustowość połączeń pomiędzy węzłami sieci systemy idealne do symulacji Monte Carlo. 3
Systemy obliczeniowe dla symulacji PIC Systemy obliczeniowe dla symulacji PIC: komputery współbieżne komputery z wieloma procesorami połączonymi ciasno szybką szyną systemową lub siecią; pamięć dzielona (shared) albo rozproszona (distributed) każda związana z jakimś procesorem (zbiorem rdzeni, CPU) plaxormy obliczeń rozproszonych (klastry) zespół stacji roboczych lub procesorów połączonych siecią lub szybkim przełącznikiem; pamięć rozproszona Charakterystyki obu systemów bardzo podobne; komputery współbieżne mają zazwyczaj specjalnie zaprojektowaną architekturę połączeń miedzyprocesorowych, natomiast klastry bazują na ogólno dostępnym sprzęcie do zastosowań sieciowych. Niektóre wspólne charakterystyki sprzętowe systemów wysokiej wydajności: procesory (CPU) 64 bitowe wielordzeniowe (cores) o wysokiej częstości taktowania (~3GHz) możliwość wykonywania wielu instrukcji na jeden cykl o dużej ilości wyspecjalizowanych jednostek instrukcyjnych (np. osobne jednostki do operacji na liczbach całkowitych, I/O, itp.) z szybką, wielopoziomową pamięcią podręczną (cache; L1, L2, L3) lokalność odwołań, pobieranie danych w pakietach 4
Systemy obliczeniowe dla symulacji PIC c.d. Niektóre wspólne charakterystyki sprzętowe systemów wysokiej wydajności: połączenia pomiędzy procesorami (węzłami) oraz z urządzeniami I/O wielokanałowe interfejsy o wysokiej przepustowości (kilkadziesiąt Gbit/s) i niskiej latencji: InfiniBand, 10 Gbit Ethernet, Myrinet wydzielona pamięć operacyjna dla poszczególnych procesorów: 2 4 GB/rdzeń dające łącznie dziesiątki TB pamięci operacyjnej; spójna przestrzeń adresowa oparta na architekturach rodzaju ccnuma (cache coherent Non Uniform Memory Access) systemy plików równoległych umożliwiające jednoczesny dostęp do danych przez kilka oddzielnych procesorów: Lustre, GPFS, CXFS (obecnie PB przestrzeni dyskowej; HOME, SCRATCH) Sieć oparta na architekturze InfiniBand System plików Lustre 5
Przykładowe systemy do obliczeń równoległych Columbia NASA Advanced Supercompu2ng, Ames Research Center, CA (instalacja 2008) klaster 23 systemów SGI Al2x (3700 i 4700; 512 2048 rdzeni; Intel Itanium2 Montecito Dual Core 1.6 GHz, 6 9 MB L2 cache): razem 14336 rdzeni pamięć (DDR SDRAM) 2GB/rdzeń: razem 28.7 TB połączenia InfiniBand i 10Gb Ethernet, system plików CXFS: 1PT przestrzeni dyskowej 88.88 Tflop/s nr 75 na liście Top500 (11/2009) 6
Przykładowe systemy do obliczeń równoległych c.d. Pleiades NASA Advanced Supercompu2ng, Ames Research Center, CA (instalacja 2009) klaster 110 systemów SGI Al2x ICE 8200EX(64 węzły; każdy z 2 4 rdzeniowe procesorami Intel MM64T Xeon Harpertown 3.0 GHz/ Nehalem EP 2.93 GHz, 4 6 MB L2 cache na parę rdzeni): razem 56320 rdzeni pamięć (DDR2/3 FB DIMM) 1 3GB/rdzeń: razem 74.7 TB połączenia InfiniBand, system plików Lustre: 2.8PT przestrzeni dyskowej 673.4 Tflop/s nr 6 na liście Top500 (11/2009) 7
Przykładowe systemy do obliczeń równoległych c.d. Ranger Texas Advanced Compu2ng Center, University of Texas, Aus2n, TX (instalacja 2008, TeraGrid) SUN Blade system MPP (3936 czteroprocesorowe węzły; procesory czterordzeniowe AMD Opteron 2.3 GHz, 2 MB L3 cache dzielona): razem 62976 rdzeni pamięć rozproszona (DDR2) 2GB/rdzeń: razem 126 TB połączenia InfiniBand, system plików Lustre: 1.7PT przestrzeni dyskowej 579.4 Tflop/s nr 9 na liście Top500 (11/2009) 8
Programowanie równoległe MPI Obliczenia wysokiej wydajności na superkomputerach wymagają użycia kodów numerycznych do przetwarzania równoległego wraz ze środowiskiem do przesyłania komunikatów pomiędzy procesami. kody zbudowane w standardowych językach programowania (Fortran77, C) lub językach wyższego rzędu (Fortran90, C++) komunikacja oparta o język programowania (np. HPF High Performance Fortran) lub o protokoły przesyłania komunikatów: MPI, PVM (Parallel Virtual Machine), MPI (Message Passing Interface) obecnie standardowy protokół komunikacyjny zainstalowany we wszystkich ośrodkach superkomputerowych: implementowany w postaci bibliotek standardowych języków programowania (rodziny Fortran, C, Java) przenośny (portable) wysoce skalowalny komunikacja bardzo szybka wykorzystywany w systemach obliczeniowych z pamięcią rozproszoną (MPI 1) lub z rozproszonym systemem pamięci dzielonej (distributed shared memory, MPI 2); projektowanie ma cechy architektur NUMA umożliwia komunikację punkt punkt i komunikację grupową posiada status public domain 9
Program PIC z MPI Program w MPI składa się z niezależnych procesów operujących na różnych danych (domenach; MIMD Mul0ple Instruc0on Mul0ple Data). Każdy proces wykonuje się we własnej przestrzeni adresowej (własna pamięć operacyjna). Podobnie jak w programie jednoprocesorowym każda domena posiada komórki cienie. Wartości składowych pól EM w tych komórkach są komunikowane pomiędzy odpowiednimi domenami (warunki zszycia i brzegowe). Cząstki wychodzące poza rdzeń obliczeniowy (3 i < mx 3) danej domeny są także przesyłane do odpowiedniej domeny. 2 3 0 1 i=1 2 3 4 mx 3 mx 2 mx 1 mx Pojedyncza domena z komórkami buforowymi Każda domena jest identyfikowana przez swój numer w grupie: 0, 1,, N p 1 10
Program PIC z MPI komunikacja cząstek Konieczność komunikowania się danej domeny ze wszystkimi sąsiadami: 2D 8 sąsiadów, 3D 26. Rdzeń obliczeniowy dla cząstek: 3 x < mx 2, 3 y < my 2. i=1 2 3 4 mx 3 mx 2 mx 1 mx A macierz zawierająca położenia i prędkości cząstek przesyłanych od procesu nadawcy A dane w przestrzeni adresowej odbiorcy Komunikacja dwupunktowa w MPI: proces nadawca wysyła komunikat: call MPI_Send(A,,id_proc_odbiorca, ) proces odbiorca odbiera komunikat: call MPI_Recv(A,,id_proc_nadawca, ) Podobny schemat komunikacji pól EM. 11
Program PIC z MPI warunki zszycia dla pól EM Warunki zszycia: wartości składowych pól EM w komórkach cieniach zadane przez wartości wewnątrz rdzeni obliczeniowych nakładających się domen (każda domena wylicza wartości 3 i mx 3, 3 j my 3 i potrzebuje wartości w warstwach i,j=2 i mx,y 2). E, B i=1 2 3 4 mx 3 mx 2 mx 1 mx i=1 2 3 4 mx 3 mx 2 mx 1 mx 12
Program PIC z MPI warunki zszycia dla pól EM Warunki zszycia: wartości składowych pól EM w komórkach cieniach zadane przez wartości wewnątrz rdzeni obliczeniowych nakładających się domen (każda domena wylicza wartości 3 i mx 3, 3 j my 3 i potrzebuje wartości w warstwach i,j=2 i mx,y 2). E, B i=1 2 3 4 mx 3 mx 2 mx 1 mx 13
Program PIC z MPI warunki zszycia dla pól EM Warunki zszycia: wartości składowych pól EM w komórkach cieniach zadane przez wartości wewnątrz rdzeni obliczeniowych nakładających się domen (każda domena wylicza wartości 3 i mx 3, 3 j my 3 i potrzebuje wartości w warstwach i,j=2 i mx,y 2). E, B i=1 2 3 4 mx 3 mx 2 mx 1 mx 14
Program PIC z MPI topologia komunikacji cząstki i pola EM są komunikowane ze wszystkimi sąsiadami: 2D 8 sąsiadów, 3D 26. topologia fizycznych połączeń pomiędzy procesorami może nie umożliwiać bezpośredniej komunikacji, co wprowadza opóźnienia w programie programowanie bezpośredniej komunikacji ze wszystkimi sąsiadami mało czytelne i złożone Topologia optymalna komunikacja tylko z najbliższymi sąsiadami w sekwencji: 1. prawo lewo 2. przód tył 3. góra dół 4 sąsiadów w 2D (6 w 3D) optymalne wykorzystanie pamięci operacyjnej mniej buforów pamięci dla przenoszonych danych (2 < > 8 (26); nowe bufory nadpisywane na stare) prosta topologia komunikacji przejrzyste programowanie zaniedbywalny overhead 15
Topologia komunikacji w MPI przykład dla cząstek w 2D a. Konfiguracja początkowa: b. Krok 1 komunikacja prawo lewo: 16 c. Krok 2 komunikacja góra dół: d. Konfiguracja końcowa: 16 16
Topologia komunikacji w MPI przykład dla pól w 2D Przesyłane wartości 2 i mx 2, 2 j my 2. a. Konfiguracja początkowa: b. Krok 1 komunikacja prawo lewo: c. Krok 2 komunikacja góra dół: d. Konfiguracja końcowa:
Kod numeryczny Par2cle In Cell z MPI cykl obliczeniowy Warunki początkowe Komunikacja pola E; warunki brzegowe Filtrowanie Diagnostyki Całkowanie pola B o ½ Δt Komunikacja pola B; warunki brzegowe Całkowanie równań ruchu cząstek Warunki brzegowe dla przyczynków do pola E od prądów Składowanie prądów; warunki brzegowe dla cząstek Całkowanie pola B o ½ Δt Otwarte warunki brzegowe dla pola B Komunikacja cząstek Otwarte warunki brzegowe dla pola E Całkowanie pola E o Δt Komunikacja pola B; warunki brzegowe 18
Zastosowanie symulacji PIC do modelowania szoków problem numerycznego promieniowania Czerenkowa Całkowanie równań Maxwella metodą skoczka na siatce Yee prowadzi do modyfikacji relacji dyspersji dla fali EM, która na siatce ma postać (2D; Wykład 3): ω 2 = c 2 k 2 [ sin(ω t/2) ] 2 = [ ] 2 [ sin(kx x/2) sin(ky y/2) + ] 2 c t x y numeryczna prędkość fazowa fali EM na siatce mniejsza od c dla zaburzeń krótkofalowych (dużych wektorów falowych) prędkość fazowa na siatce zależy od kierunku propagacji fali EM dla praktycznej wielkości kroku czasowego (Δt < Δt max = Δx/c 3) prędkości cząstek relatywistycznych są większe od prędkości fazowej krótkich fal: generacja niefizycznego promieniowania Czerenkowa na siatce! chociaż prom. Czerenkowa pojawia się przy krótkich falach, sprzęga się ono silnie nieliniowo ze skalami długofalowymi 19
Promieniowanie Czerenkowa w symulacjach szoków Problem promieniowania Czerenkowa pojawia się w symulacjach relatywistycznych fal uderzeniowych. warunki początkowe zadają populacje cząstek dryfujące z prędkością relatywistyczną względem siatki numerycznej (anizotropia) skala narastania niefizycznych pól może być wolna lecz symulacje PIC fal uderzeniowych w plazmie niezderzeniowej wymagają użycia dużych siatek numerycznych i wielokrotnego całkowania równań (kilkaset tysięcy milion Δt): niefizyczne pola zaburzają długoczasową ewolucję układu Metody eliminacji: schematy całkowania równań Maxwella wyższego rzędu filtrowanie zaburzeń krótkofalowych połączenie obu powyższych metod 20
Promieniowanie Czerenkowa dla dżetu na siatce numerycznej 2D, 8 ppc, m i /m e =1 (elektron pozytron), γ=10, ω pe =0.05, Dt=0.7, λ se =c/ω pe =10 Standardowy TRISTAN: metoda skoczka 2 go rzędu + filtr dwumianowy 21
TRISTAN MOD eliminacja promieniowania Czerenkowa Zastępując oryginalną metodę Yee schematem 4 go rzędu otrzymujemy lepszą zgodność z teoretyczną prędkością fali EM: efekty niefizyczne największe dla skośnych fal (w stosunku do krawędzi komórki) pola krótkofalowe dodatkowo filtrowane (Wykład 5) schemat 2 go rzędu schemat 4 go rzędu 22
Promieniowanie Czerenkowa dla dżetu na siatce numerycznej 2D, 8 ppc, m i /m e =1 (elektron pozytron), γ=10, ω pe =0.05, Dt=0.7, λ se =c/ω pe =10 TRISTAN MOD: metoda skoczka 4 go rzędu + filtrowanie 23