Robert Matysko

Robert Matysko Dr hab inz, IMP-PAN

Temat: Claster Linux

Do obliczeń CFD (FLUENT, CFX), ktory wg was jest lepszy? Oparty na Mosix, LAM-MPI - czy moze jakis inny? Jest ich duzo, a nie wiem na ktory sie zdecydowac.
(o błąd zrobiłem - powinno być Klaster Linuxa albo Linux Cluster;))Robert Matysko edytował(a) ten post dnia 24.10.07 o godzinie 18:11

konto usunięte

Temat: Claster Linux

Zależy, co wolisz.

Jeżeli chcesz mieć "jedną maszynę" rozpiętą na wiele komputerów, to wybierasz MOSIX. Jeżeli chcesz mieć "sieć programów" (gdzie sposób komunikacji musisz własnoręcznie zaprojektować) - wybierasz MPI.

Wydaje mi się, że MPI posiada bogate biblioteki implementujące np. równoległe operacje na macierzach (choćby rozkład LU). W przypadku MOSIKSa pewnie będzie trzeba napisać więcej kodu.
Marcin Wojciechowski

Marcin Wojciechowski Kierownik Działu
Teleinformatyki,
Akademickie Centrum
Kli...

Temat: Claster Linux

Ile masz kompów, ile procesorowe i jakim są spięte switchem? Będziesz dopiero tworzyć klaster czy masz dostęp do jakiejś większej maszyny (gdzieś w centrum obliczeniowym np.). Generalnie sugerowałbym skupić się na wyborze pomiędzy lam-mpi, mpich lub (jeśli masz kompy spięte w sieć infiniband) mvapich.

Mam dobre doświadczenia w kompilacji programów obliczeniowych pod lamem i mpichem, podobne wydajności i skalowalność (na tcp switchu skalowalność 80% na 32 procesorach)

Fluenta będziesz kompilować z wybraną biblioteką równoległą czy masz już zainstalowany?

konto usunięte

Temat: Claster Linux

Jak wszelkie MPI radzą sobie z maszynami wieloprocesorowymi? Trzeba uruchamiać tyle procesów na danej maszynie ile jest w niej CPU?
Tomasz R.

Tomasz R. Team Management

Temat: Claster Linux

W przypadku MPI mamy dużą dowolność w sposobie uruchamiania programów - wszystko precyzyjnie można określić. Np. w dystrybucji mpich zrównoleglone programy uruchamiany za pomocą programu mpirun, przy którym można określić:
- na ilu procesorach mają być uruchomione zadania
- na ilu hostach mają być uruchomione zadania
- czy zadania mają być uruchomione tylko na hoscie lokalnym, czy może tez na hostach zdalnych, itp
i co najwazniejsze ile kopii naszego programu uruchamiany na danym hoscie. Czyli na przykład uruchamiając 2 kopie na wszystkich procesorach (zakładając ze posiadamy dwa procesory) będziemy mieli po jednym procesie na jeden procesor. W przypadku kiedy mamy klaster złożony z bardzo zróżnicowanych hostów można tym troche pomanipulować aby uzyskać pewnego rodzaju load balancing. Owa manipulacja może polegać na większym dociążaniu szybszych maszyn w klasterze (czyli wrzucanie na nie większej ilości procesów) - nie ukrywam że to dość prymitywna sztuczka - niespecjalnie wyszukana, ale działa.
W zasadzie można tez próbować łączyć openMosixa z MPICH ale tu nie jest powiedziane ze zawsze uzyskamy lepszy efekt niz MPICH bez openMosixa. Wszystko w dużym stopniu zależy zarówno od algorytmu zagadniania jak i architektury wykonania.Tomasz R. edytował(a) ten post dnia 26.10.07 o godzinie 23:46

Następna dyskusja:

PROGRAMISTA C/LINUX




Wyślij zaproszenie do