Zasoby do przetwarzania w klastrze potrzebne do DEM 50 Gb?

9

Do celów „wynajmu” muszę określić zasoby komputerowe, których potrzebuję z centrum komputerowego na moim uniwersytecie. Nie mam pojęcia, o co prosić.

Biorąc pod uwagę poniższe informacje, możesz coś zasugerować?

Oto klaster obliczeniowy: „Serwer z dziesięcioma serwerami kasetowymi na każdy serwer kasetowy składający się z 2 czterordzeniowych procesorów Intel Xeon 2,33 GHz z 16 GB pamięci dla łącznie 80 procesorów i 160 GB pamięci. Konta w systemie dyskowym 2 TB. 64-bitowy system Linux ”

Dzięki kompresji bezstratnej oryginalne dane to jeden plik tiff 50 GB. W pewnym momencie będę pracować z kilkoma (do dziesięciu) plikami o rozmiarze 50 GB.

Korzystałbym ze skryptów GDAL, Python i może C ++. Jeśli pozwolę, korzystam z oprogramowania takiego jak Grass GIS i Saga GIS. Ponadto język R z bibliotekami przestrzennymi. Będę wyprowadzać zwykłe parametry terenu, próbując zastosować algorytmy obiektowe do wydobywania określonych cech (form terenu) i wykorzystywać analizę statystyczną do celów opisowych i modelowania.

Marco
źródło
3
Czego dokładnie oczekujesz od odpowiedzi - o jaką ilość lub ilości można poprosić? Liczba ostrzy, liczba rdzeni na 1 ostrzu itp.? Czy jest jakiś formularz, który musisz wypełnić, który może dać jakieś wskazówki?
blah238,
1
Cześć bla. Nie ma formy. Mój przełożony zadaje mi te pytania wcześniej (mając na uwadze coś, czego nie jestem świadomy). Ale później, podczas uzyskiwania dostępu do platformy, należy dokładnie określić liczbę procesorów, a także przewidywane zapotrzebowanie na pamięć i czas przetwarzania. Dobrze byłoby mieć pomysł na nie. procesorów i ilość pamięci, która pozwoliłaby na wykonanie prostej algebry macierzowej (A * 0,1 + B + C / 50), każda z matryc o wielkości 50 Gb, na przykład w mniej niż godzinę (biorąc pod uwagę, że oprogramowanie umożliwia obliczenia równoległe ). Dziękuję Ci.
Marco,
2
Może to pomóc, jeśli najpierw ustalisz strategię ataku na problem. Nie wierzę, że „po wyjęciu z pudełka” skrypty Pythona (wykorzystujące powiązania GDAL) będą mogły korzystać z wielu procesorów. Jak planujesz podzielić dane i pracować nad przetwarzaniem równoległym. Następnie możesz uruchomić kilka testów na kawałku danych i ekstrapolować całkowity czas przetwarzania na podstawie liczby rdzeni, których planujesz użyć itp.
DavidF
Dzięki David. Zastanowiłem się nad tym dokładniej. Zrobię kilka testów z Matlabem.
Marco

Odpowiedzi:

2

Dobrze byłoby mieć pomysł na nie. procesorów i ilość pamięci, która pozwoliłaby na wykonanie prostej algebry macierzowej (A * 0,1 + B + C / 50)

Jak stwierdził DavidF w komentarzach, ważniejsza jest strategia, nie wspominając o maszynie, nie można uruchomić (lub nie jest dobrym pomysłem uruchomienie) algebry macierzy 50 GB z całą macierzą naraz, ponieważ koncepcyjnie oznacza to, że cała macierz musi być zapisany w pamięci.

Dobrą strategią, szybką, bardzo łatwą i wydajną jest użycie gdal_calc , odczytuje i zapisuje raster w porcjach , dzięki czemu jest bardzo wydajny pod względem pamięci.

Na przykład: gdal_calc.py -A input.tif -B input2.tif --outfile = result.tif --calc = "(A + B) / 2"

Wypróbuj, jest bardzo prawdopodobne, że możesz uruchomić przetwarzanie na pulpicie, a wtedy możesz potrzebować lepszej maszyny, aby przyspieszyć proces lub nie.

Obs: Musisz spamować wiele procesów gdal_calc, aby skorzystać z procesorów wielordzeniowych.

Pablo
źródło