|
|||||||||||||||||||||||||||||||||||||||||||||||||
|
Akceleracja obliczeń z użyciem sieci komputerów GRID
Symulacja zjawiska NMR jest zagadnieniem o dużej złożoności obliczeniowej. Czas obliczeń zwiększa się znacząco dla obrazów trójwymiarowych o dużej rozdzielczości. Stąd jednym z zadań projektu było wykonanie wydajnej implementacji algorytmu syntezy obrazów z użyciem sieci komputerów (implementacja wieloprocesorowa). Ze względu na wymaganą wydajność i jednocześnie precyzję obliczeń projekt symulatora został wykonany w języku ANSI C i skompilowany dla platformy Mac OS X. Na potrzeby implementacji wieloprocesorowej utworzono sieć komputerów typu GRID, w skład której weszły dwa komputery z procesorami Intel Core i7 3.4 GHz (iMac 27) i Intel Core i7 2.3 GHz (MacBook Pro 15) oraz 10 jednostek z procesorem Intel Core i5 2.5 GHz (MacMini). W sumie utworzona sieć zawiera 28 rdzeni procesorowych. Do zrównoleglenia obliczeń zastosowano bibliotekę Open MPI. Każdy z węzłów roboczych sieci obliczeniowej – tzw. agentów – wykonuje symulację dla określonej liczby trajektorii. Po zakończeniu pracy agent przesyła obliczone przez siebie wartości danych k-space do węzła zarządzającego (mastera), który sumuje odebrane wyniki od wszystkich agentów w jednej wspólnej macierzy danych. Czas symulacji obrazowania MRA zależy przede wszystkim od dwóch czynników - rozmiaru przestrzeni k-space ($n_x \times n_y \times n_z$) oraz całkowitej liczby cząstek. W tabeli poniżej zaprezentowano czasy symulacji zmierzone dla różnych wartości tych czynników oraz dla różnych konfiguracji sieci obliczeniowej. Wszystkie pomiary wykonano dla doświadczenia z użyciem tego samego modelu pojedynczego naczynia o średnicy 8 mm z przewężeniem 50%. Zmierzone czasy wykonania wynoszą od pojedynczych minut do ok. jednej godziny. Wyniki te świadczą o bardzo dobrej wydajności zaimplementowanego systemu. Czas trwania syntezy pojedynczego obrazu pozwala na zebranie dużej bazy danych wzorcowowych w stosunkowo niedługim czasie. Jest to ważne, gdyż walidacja algorytmów przetwarzania obrazów wymaga statystycznie istotnej próby danych testowych. Porównanie indywidualnych wyników pomiarów pokazuje, że złożoność obliczeniowa wynosi $O(n_xn_yn_zn_p)$. Przykładowo, wyniki zaprezentowana w rzędach 1-3 uzyskano dla tego samego rozmiaru obrazu, ale dla różnej liczby cząstek $n_p$. Jak można zauważycć, czas wykonania zależy od $n_p$ liniowo. Podobnie zmiana wymiaru $n_z$ (pomiary 6 i 7) w stosunku 1:1.76 (25:44) skutkuje równoważnym wzrostem czasu symulacji (794:1419 [s]). Ponadto można zauważyć, że użycie funkcji hyper-threading (rzędy 4 i 5) prowadzi do poprawy wydajności, lecz w mniejszym stopniu niż sugerowałby to wzrost liczby procesów uruchomionych równolege. Należy podkreślić, że wysoka wydajność obliczeniowa wynika po części z samego modelu syntezy. Procedury formowania obrazu wymagające największych nakładów obliczeniowych zawierają pętle iterujące po cząstkach, czyli właściwych źródłach sygnału NMR. Tymczasem, w wielu innych symulatorach MRI obliczanie sygnału odbywa się w każdym punkcie - najczęściej sześciennej - siatki modelującej obrazowany organ, a więc także w węzłach potencjalnie zawierających powietrze.
|
||||||||||||||||||||||||||||||||||||||||||||||||
Copyright 2011-2015 (C) Artur Klepaczko | Institute of Electronics | Lodz University of Technology |