konto usunięte

Temat: Superkomputer w zastosowaniach GIS - warto?

Witam wszystkich.

W pracy padła propozycja zakupu superkomputera, konkretnie jednej z trzech wersji Cray CX1:
* Cray CX1 System
* Cray CX1-LC System
* Cray CX1-iWS System

Najlepiej zajrzeć do Brochure (na dole każdej z ww. stron) w celu zapoznania się z rozszerzonymi opisami jednostek.

Jak widać, nie jest to typowa stacja robocza, a raczej... wszystko w jednym. Znajdzie się tam miejsce na max. 24 procesory Intel Xeon, gigabitowy switch ethernetowy, dwa systemy zasilania, kontroler RAID i SCSI. Wedle opisu jest to zamknięty w jednej obudowie klaster, może być wykorzystywany przez wielu użytkowników do pracy poprzez, jak to ładnie producent ujął, "accessing shared clustered resources". Jednocześnie można w tym czasie używać go jak zwykłej stacji roboczej single-user.

Teraz moje pytania.

Przede wszystkim, czy jest w ogóle sens kupienia tego (nie znam ceny, choć to na razie nieistotne), jeżeli będzie tam uruchomiany w zasadzie tylko ArcGIS 9 Desktop i ERDAS Imagine 8 (ewentualnie ERDAS 9)?

Śmiem twierdzić, że w ogóle nie warto w to wchodzić. Mam jednak pewne wątpliwości.

Jest to w całości platforma 64-bitowa, a więc biedny ArcGIS, jako aplikacja natywnie 32-bitowa, zgodnie z wiedzą Dominika Mikiewicza i informacjami na esri.com, nie będzie w stanie zaadresować >2 GB pamięci wirtualnej (RAM + swap) na jeden wątek procesora. Nie wiem, jak ERDAS sobie radzi.

Ponadto ArcGIS, mimo że wspiera procesowy wierordzeniowe i stacje wieloprocesorowe, to nie wykorzystuje ich potencjału, gdyż jedna instancja programu korzysta tylko z jednego wątku procesora.

Dlatego chciałbym się od Was dowiedzieć, czy dałoby się na takiej maszynie wykorzystać zaimplementowany w niej klaster do obliczeń w taki sposób, aby sam zaprzęgnął dostępne zasoby sprzętowe do pracy? Mam na myśli coś w rodzaju emulacji - ArcGIS widzi jeden procesor, natomiast oprogramowanie dzieli zadanie na "wirtualne podprocesy" i każdy z nich przydziela innemy fizycznemu rdzeniowi. Pytam, bo nie znam się zupełnie na klastrach. Jestem tylko geografem ;)

Ponadto piszemy własne aplikacje w ModelBuilderze z ArcGIS oraz ArcGIS Engine. Znalazłem przykładowe narzędzie Parallel Geoprocessing in ArcGIS Desktop with Python, które przy użyciu skryptów Pythona potrafi natywnie działać wielowątkowo, czyli bezpośrednio odwołać się do rdzeni procesora.

Biorąc pod uwagę możliwość zmuszenia ArcGIS do pracy wielowątkowej, zakup superkomputera nie wydaje się już tak szalonym pomysłem, jak na początku sądziłem. Mimo to dalej jestem sceptycznie nastawiony do tej "inwestycji". Co o tym myślicie?

Jak jest z wielowątkowością w innym oprogramowaniu GIS? Pytam zarówno o to komercyjne, jak i darmowe. Interesuje mnie zwłaszcza GDAL.

Co wiecie nt. Windows 2008 HPC Server (HPC = High Perpormance Computing)? W ESRI Support na jego temat nie ma słowa. Zwykły Server 2008 (bez HPC) jest obsługiwany.

A może dałoby się wykorzystać ten komputer do wspomagania operacji wykonywanych na stacjach roboczych użytkowników, którzy łączyliby się z nim przez sieć? Tak, żeby były tylko maszynami zlecającymi prace obliczeniowe klastrowi.

Myślimy także nad postawieniem ArcGIS Servera, czy na wspomnianym wyżej superkomputerze ma to sens?

Od razu chcę zaznaczyć, że ewentualny potencjał obliczeniowy maszyny jesteśmy w stanie wykorzystać (oczywiście nie mamy zamiaru kupować najbogatszej wersji, na początek wystarczyłoby mniej niż 10 rdzeni, można w razie potrzeby dokupić gotowe moduły, które od razy można włożyć do obudowy). Wykonujemy dużo obliczeń związanych z modelowaniem i symulowaniem zjawisk w przestrzeni, ciągle tworzymy nowe aplikacje, które będą potrafiły spożytkować chyba każdą moc obliczeniową.

Poza tym nie napalamy się na te akurat modele, to są przykładowe komputery. Jeżeli upewnimy się, że tej klasy sprzęt naprawdę nam się przyda, to będziemy szukać maszyny o odpowiednim stosunku ceny do jakości.

Z góry dziękuję za wasze odpowiedzi i pozdrawiam,
Łukasz
Dominik Mikiewicz

Dominik Mikiewicz maps made easy,
www.cartomatic.pl ||
cartoninjas.net

Temat: Superkomputer w zastosowaniach GIS - warto?

Co do oprogramowania, które to obsłuży, to najlepiej zwrócić się do dystrybutora ;-)

A co do sensowności, to musicie sobie wyważyć zyski i koszty. Na ile inwestycja w coś takiego jest opłacalna vs stacje robocze z 2xi7 na przykład. Ile czasu wykonuje się wam dany program / model na stacji roboczej, a ile czasu napierałby na tym piekarniku? Ile czasu takei cudo stałoby bezczynnie / pracowało na kilka % zasobów?

Nigdy nie miałem okazji napisać nic wielowątkowego, ale z tego co się orientuję nie jest to wcale takie łatwe. Samo zainicjowanie kilku instancji danej biblioteki nie czyni programu prawdzieiwe wielowątkowym i nie gwarantuje przyspieszenia.

Co do samych technologii, to warto rozejrzeć się za softem wspierającym nvidia CUDA. Ćwierkały jaskółki, że nowe superkomputery będą budowane właśnie na tym ;-) W klimatach nieco zbliżonych do ERDASA, Geomatica ma już jakieś sukcesy na polu wykorzystania GPU. Obecna wersja manifolda również całkiem zgrabnie sobie radzi, kolejna ma radzić sobie zgrabniej podobno.
Piotr T.

Piotr T. programista GIS,
analityk GIS,
(www.cgis.pl)

Temat: Superkomputer w zastosowaniach GIS - warto?

Podczepię się jeszcze pod to co napisał Dominik. Przyszłość należy do wielordzeniowego przetwarzania i na zwykłych procesorach i na GPU (przede wszystkim). Problem w tym, że takie programy się pisze dość trudno i do tego jeszcze nie wszystkie algorytmy daje się rozbić na wersje współbieżne. Jeśli chodzi o GIS biurkowe to jak do tej pory rekord należy do Manifolda (coś około 8 zwykłych procesorów i 4 karty graficzne) ale jedynie ze 30 funkcji wspiera tego typu przetwarzanie. TNT MIPS do niektórych operacji używa wiele rdzeni (głównie import danych i niektóre operacje) i przynajmniej jest 64bitowy. WarpKernel GDAL'a umie używać wielu rdzeni ale to ciągle też mało. Niektóre moduły francuskiego Orfeo Toolbox też używają wielu wątków. Moim zdaniem jeśli maszyna nie będzie używana do celów serwerowych lub po prostu do obsługi wirtualnych maszyn (np. VMWare) to jest to strata pieniędzy. Zanim zostaną wypuszczone programy wykorzystujące wiele rdzeni (i GPU) to się okaże, że ten Cray ma mniejszą wydajność i kosztował więcej pieniędzy niż nowy model lepszego "peceta" z kilkoma najnowszymi kartami graficznymi - rozwój na rynku procesorów i kart graficznych jest bardzo szybki...
ERDAS dość niejasno mówi o multicore:
http://www.erdas.com/Resources/Webinars/UpcomingWebina...

konto usunięte

Temat: Superkomputer w zastosowaniach GIS - warto?

ach te państwowe instytucje marnują pieniądze podatników...:-) a tak na serio, to też mi się wydaje że taki sprzęt nie jest wam potrzebny, ale to tylko zdanie laika :-)
widzę, że się rozwijasz w tym iungu, nie to co ja tyklo te tbd i tbd...
Pozdro Łukasz

Temat: Superkomputer w zastosowaniach GIS - warto?

Emulacja, o którą pyta autor wątku (jedna instancja rozbijana na wiele wątków) nie jest możliwa. To tak tytułem wstępu ;)

Wg mnie sensowność tej inwestycji zależy od szansy zagospodarowania tych zasobów, tak jak napisali przedmówcy.

Jeśli chodzi o ArcGIS, do którego mogę się nieco mocniej odnieść, dużo zależy od tego co, oraz na jakim poziomie tworzycie w Enginie. ArcObjects jako API wystawione przez COM może być spożytkowane na różne sposoby. Już .Net pozwala na niezłe zrównoleglenie (jest implementacja MPI na .Net, szybka w komunikacji), ale jeśli ktoś woli, można pisać w natywnym C++ i MPI. Jednak należy zdawać sobie sprawę, że nie wszystko da się zrównoleglić, nie każdy algorytm będzie wydajniejszy w wersji równoległej, choć przetwarzanie sekwencyjne niezależnych od siebie danych wypada w tym względzie bardzo dobrze AFAIK.

Co do Cudy (ów?;) ), która jest ostatnio bardzo popularnym tematem, trzeba zdawać sobie sprawę, że nie do wszystkiego będzie odpowiednia, a ogromne moce takich zestawów (liczone w GFlops) to theoretical peak performance, zwykle niemożliwa do osiągnięcia. Klasyczne klastry od GPU z ogromną ilością rdzeni różni również sposób współdzielenia pamięci, co wpływa na wydajność w różnych zadaniach. Dlatego też powstaje coraz więcej superkomputerów heterogenicznych, a zadania przydzielane są w zależności od ich specyfiki różnego typu układom.

Podsumowując, tak jak napisał Piotr, przyszłość to przetwarzanie równoległe, gdyż osiągnęliśmy aktualnie (technologiczny) kres zwiększania częstotliwości pracy jednego procesora, dlatego warto interesować się tym tematem, a producenci oprogramowania z pewnością idą w tym samym kierunku. Nie jest to łatwa droga, ale im szybciej na nią wejdziemy, tym wcześniej osiągniemy pełną prędkość poruszania się nią ;)

konto usunięte

Temat: Superkomputer w zastosowaniach GIS - warto?

Witam.

Dziękuję za wszystkie odpowiedzi.

Zdaję sobie sprawę z potencjału nVidia CUDA, ale na tą chwilę jeden czy dwa programy, które tą technologię wspierają, to trochę za mało. A poza tym - musielibyśmy zakupić to oprogramowanie i, co jeszcze ważniejsze, nauczyć, a to zajmie trochę czasu, który moglibyśmy przeznaczyć na rozwijanie naszych aplikacji.

Dlatego pytałem o ten komputer w kontekście oprogramowania, którego używamy.

Mam zbyt mało danych na temat tego, jakie będzie obciążenie sprzętu, przez jaki czas będzie nieużywany.

Żadne kroki w kierunku zakupu tego sprzętu nie zostały poczynione, sam jestem do tego pomysłu nastawiony sceptycznie, więc nie martwie się o swoje pieniądze, Drodzy Podatnicy ;)

Pozdrawiam,
Łukasz
Piotr T.

Piotr T. programista GIS,
analityk GIS,
(www.cgis.pl)

Temat: Superkomputer w zastosowaniach GIS - warto?

Pozostaje więc jedynie (tak jak od razu Dominik sugerował) zgłosić się z pytaniem do dystrybutorów, producentów oprogramowania jakie macie "czy i kiedy będzie wsparcie dla 64bit, multicore, GPU..."

Przy okazji, ATI też ma swoją technologię do przetwarzania na swoich GPU więc należy się spodziewać wojny na tym polu i kolejnego pytania "kupujemy ATI czy nVidia?" :) Istnieją próby zunifikowania tego ale...

ps. oczywiście GPU to nie CPU i jego super wydajność to często marketingowe bla bla bla ale jak pokazuje "mały" Manifold to działa :) Karty graficzne są tańsze niż procesory i każdy je ma a skoro można dzięki nim przyspieszyć wiele operacji to dlaczego nie?Piotr Tracz edytował(a) ten post dnia 20.11.09 o godzinie 12:27
Dominik Mikiewicz

Dominik Mikiewicz maps made easy,
www.cartomatic.pl ||
cartoninjas.net

Temat: Superkomputer w zastosowaniach GIS - warto?

Podobno specyfikacja OpemCL (niezależne sprzętowo m.in. CPU + GPU) ma się pojawić pod koniec roku. Więc kto wie, może jakaś mała rewolucja się szykuje

Temat: Superkomputer w zastosowaniach GIS - warto?

Piotr Tracz:
Karty graficzne są tańsze niż procesory i każdy je ma a skoro można dzięki nim przyspieszyć wiele operacji to dlaczego nie?

Otóż to! Nauczmy się wykorzystywać to, co mamy pod ręką. W praktycznie każdym dzisiejszym komputerze mamy kilka rdzeni, które mogą pracować równolegle plus wydajną kartę graficzną. Optymalnie byłoby, gdyby oprogramowanie potrafiło z tego korzystać. Niestety, do tego jeszcze długa droga...

Pozdrawiam :)
Rafał N.

Rafał N. leśnictwo,

Temat: Superkomputer w zastosowaniach GIS - warto?

Ech mało który soft działa na 64 bitach a co tu dopiero mowic o wielu rdzeniach

Następna dyskusja:

GIS w internecie.




Wyślij zaproszenie do