Views

Biuletyn nr 31

From KDMwiki

Jump to: navigation, search
Biuletyn KDM
1 | 2 | 3 | 4 | 5
6 | 7 | 8 | 9 | 10
11 | 12 | 13 | 14
15 | 16 | 17 | 18
19 | 20 | 21 | 22
23 | 24 | 25 | 26
27 | 28 | 29 | 30
31 | 32
Lista biuletynów

Biuletyn nr 31 (20 sierpnia 2009)

Spis treści

Testy skalowalności oprogramowania ANSYS na komputerze Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^{2}

Autor: Maciej Cytowski

Do przeprowadzenia testów skalowalności oprogramowania ANSYS wykorzystany został zestaw problemów dostępnych w ramach ANSYS Benchmark Suite, do pobrania ze strony http://www.ansys.com/services/ss-sp1-bench110.htm. Zestaw ten przygotowany został dla wersji 11-tej oprogramowania, ale bez większych zmian może również służyć do pomiarów wydajności nowej 12-tki. Wyniki wydajności dla niektórych architektur (głównie dla procesorów z rodziny Intel) dostępne są na wspomnianej stronie, jak i w artykule "The Need for Speed" w ostatniej edycji czasopisma ANSYS Advantage ([PDF ]). Prezentowane przez nas wyniki testów dotyczą tylko i wyłącznie oprogramowania ANSYS Mechanical.

Postanowiliśmy uruchomić testy na węźle nowego komputera Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^2 , w ramach którego dostępne są cztery czterordzeniowe procesory AMD Opteron (w sumie 16 rdzeni) oraz 16GB pamięci, połączonych ze sobą w architekturze NUMA. Dokładna konfiguracja komputera opisana była w poprzednim numerze Biuletynu przez Maćka Szpindlera. Dzięki uprzejmości firmy MESco, z pomocą której otrzymaliśmy krótkoterminowe licencje testowe, mogliśmy przeprowadzić testy na wszystkich 16 rdzeniach. Aktualnie posiadana przez nas wersja oprogramowania (ANSYS Academic Research) pozwala bowiem na uruchamianie równoległych zadań do maksymalnie 6 rdzeni obliczeniowych. Przeprowadzone przez nas testy miały zatem na celu zorientowanie się, jaką liczbę dodatkowych procesów HPC powinniśmy udostępnić naszym użytkownikom w celu utworzenia najbardziej atrakcyjnego środowiska dla obliczeń ANSYS.

Zadania testowe

Zadanie Analiza Rozmiar Solwer
Bmd-1
Error creating thumbnail: convert: unable to open image `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/3/3d/Bmd-1.png': No such file or directory.
convert: unable to open file `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/3/3d/Bmd-1.png'.
convert: missing an image filename `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/thumb/3/3d/Bmd-1.png/128px-Bmd-1.png'.
400 tys. stopni swobody dsparse
Bmd-2
Error creating thumbnail: convert: unable to open image `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/8/86/Bmd-2.png': No such file or directory.
convert: unable to open file `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/8/86/Bmd-2.png'.
convert: missing an image filename `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/thumb/8/86/Bmd-2.png/128px-Bmd-2.png'.
1 milion stopni swobody jcg, iteracyjny
Bmd-3
Error creating thumbnail: convert: unable to open image `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/9/93/Bmd-3.png': No such file or directory.
convert: unable to open file `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/9/93/Bmd-3.png'.
convert: missing an image filename `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/thumb/9/93/Bmd-3.png/128px-Bmd-3.png'.
2 miliony stopni swobody pcg, iteracyjny
Bmd-5
Error creating thumbnail: convert: unable to open image `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/6/61/Bmd-5.png': No such file or directory.
convert: unable to open file `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/6/61/Bmd-5.png'.
convert: missing an image filename `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/thumb/6/61/Bmd-5.png/128px-Bmd-5.png'.
5.8 milionów stopni swobody pcg
Bmd-6
Error creating thumbnail: convert: unable to open image `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/3/3b/Bmd-6.png': No such file or directory.
convert: unable to open file `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/3/3b/Bmd-6.png'.
convert: missing an image filename `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/thumb/3/3b/Bmd-6.png/128px-Bmd-6.png'.
1 milion stopni swobody lanpcg
Bmd-7
Error creating thumbnail: convert: unable to open image `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/6/68/Bmd-7.png': No such file or directory.
convert: unable to open file `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/6/68/Bmd-7.png'.
convert: missing an image filename `/media/wwwold.icm.edu.pl/kdmwiki-dir2/images/thumb/6/68/Bmd-7.png/128px-Bmd-7.png'.
5 milionów stopni swobody pcg

Wyniki

Postanowiliśmy przeprowadzić następujące testy oprogramowania:

  • testy Distributed ANSYS na komputerze halo, przy użyciu biblioteki HPMPI
  • testy Distributed ANSYS na komputerze Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^2

, przy użyciu biblioteki HPMPI

  • testy Distributed ANSYS na komputerze Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^2

, przy użyciu biblioteki INTELMPI

Warto tutaj zaznaczyć, że korzystamy z gotowych binarek oprogramowania ANSYS. Nie mieliśmy oczywiście możliwości kompilowania kodu ANSYS-a czy też doboru/kompilacji bibliotek równoległych MPI i bibliotek matematycznych.

Prezentujemy wykresy wydajności dla różnych zadań testowych przy wykorzystaniu różnej liczby rdzeni. Każdy z zaprezentowanych wyników staramy się skomentować.


Testy skalowalności Distributed ANSYS przeprowadzone na komputerze Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^2  z wykorzystaniem bibliotek HPMPI. Ilość rdzeni: 1-16. Skalowanie oparte na pomiarach czasu walltime.
Testy skalowalności Distributed ANSYS przeprowadzone na komputerze Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^2 z wykorzystaniem bibliotek HPMPI. Ilość rdzeni: 1-16. Skalowanie oparte na pomiarach czasu walltime.


Testy skalowalności Distributed ANSYS przeprowadzone na komputerze Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^2  z wykorzystaniem bibliotek INTELMPI. Ilość rdzeni: 1-16. Skalowanie oparte na pomiarach czasu walltime.
Testy skalowalności Distributed ANSYS przeprowadzone na komputerze Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^2 z wykorzystaniem bibliotek INTELMPI. Ilość rdzeni: 1-16. Skalowanie oparte na pomiarach czasu walltime.


Z powyższych dwóch wykresów widać, że Distributed ANSYS skaluje się lepiej przy wykorzystaniu bibliotek INTELMPI. Należy tutaj zaznaczyć, że wersja single-core w przypadku użycia binarek Asys INTELMPI oraz Ansys HPMPI prezentowały podobny Walltime. Wygląda na to, że użycie 8-12 rdzeni powinno być wystarczające w przypadku prezentowanych zadań testowych. W szczególności użycie całego węzła - 4 procesorów, 16 rdzeni - nie jest tutaj uzasadnione.


Testy skalowalności Distributed ANSYS przeprowadzone na komputerze Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo  z wykorzystaniem bibliotek HPMPI. Ilość rdzeni: 1-6. Skalowanie oparte na pomiarach czasu walltime.
Testy skalowalności Distributed ANSYS przeprowadzone na komputerze Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo z wykorzystaniem bibliotek HPMPI. Ilość rdzeni: 1-6. Skalowanie oparte na pomiarach czasu walltime.


ANSYS na "starym" klastrze halo prezentuje ogólnie podobne skalowanie, pomimo drobnych różnic w przypadku niektórych zadań testowych. W przypadku klastra halo testowana była wydajność do max. 6 rdzeni dostępnych w ramach licencji ANSYS Academic Research. Należy jednak zauważyć, że jest bardzo istotna różnica w wydajności single-core pomiędzy maszynami halo oraz Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^2 . Różnice te zawarte są w poniższej tabeli, w której prezentujemy Walltime uruchomień ANSYS-a na tych maszynach:


CPUs Bmd-1 halo2 Bmd-1 halo Bmd-2 halo2 Bmd-2 halo Bmd-3 halo2 Bmd-3 halo Bmd-5 halo2 Bmd-5 halo Bmd-6 halo2 Bmd-6 halo Bmd-7 halo2 Bmd-7 halo
1 159 229 829 1087 517 566 2711 3495 3373 2890 1795 1729
2 111 147 497 548 292 332 1450 1992 1642 1764 1107 1238
4 85 103 302 381 188 214 844 1091 1074 1214 686 757
6 67 70 253 329 147 168 643 861 702 1104 479 703


Na koniec prezentujemy Państwu wykres skalowania czasu wykonania solwera (a nie całego procesu - Walltime). Przygotowaliśmy ten wykres, aby można było porównać osiągnięte przez nas wyniki do tych prezentowanych przez firmę ANSYS we wspomnianym artykule (patrz Rys.2 tegoż artykułu). Porównanie wyników na 8 rdzeniach jest bardzo dla nas korzystne. Wyniki są lepsze niż te prezentowane na systemie Cray CX1 (2 x QuadCore Intel Xeon, Microsoft Windows HPC).


Testy skalowalności Distributed ANSYS przeprowadzone na komputerze Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^2  z wykorzystaniem bibliotek INTELMPI. Ilość rdzeni: 1-16. Skalowanie oparte na pomiarach czasu solwera.
Testy skalowalności Distributed ANSYS przeprowadzone na komputerze Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^2 z wykorzystaniem bibliotek INTELMPI. Ilość rdzeni: 1-16. Skalowanie oparte na pomiarach czasu solwera.

Podsumowanie

Oczywiście należy w tym miejscu zauważyć, że skalowalność danego zadania ANSYS zależy od rodzaju samej analizy, modelu, jego wielkości itp. Dlatego gorąco zachęcamy Państwa do przeprowadzania własnych testów skalowalności dla swoich własnych zadań. Jak ich dokonać na klastrze Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^2 , na którym musimy korzystać z systemu kolejkowego? Polecamy kontakt z autorami tego artykułu!

Htop, czyli monitoring procesów na systemach wielordzeniowych

Autor: Zespół KDM

Prezentujemy Państwu działanie narzędzia htop, które dostępne jest m.in. na komputerze Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^2 . Służy ono do monitoringu i zarządzania procesami, podobnie jak stare i sprawdzone narzędzie top. Postaramy się zaprezentować kilka różnic, które przemawiają za nowym rozwiązaniem jakim jest htop. Zdajemy sobie oczywiście sprawę z tego, że ciężko będzie zmienić przyzwyczajenia linuks-owców tradycjonalistów, ale kto wie?

Funkcjonalność

Htop udostępnia bardzo podobną funkcjonalność co klasyczny top, ale z kilkoma praktycznymi usprawnieniami i kilkoma "fajerwerkami". Po pierwsze więc jest to program działający integralnie w konsoli linuksowej, wyświetlający odświeżaną listę procesów aktualnie działających w systemie. Wyświetlane procesy mogą być oczywiście sotrowane pod różnymi kryteriami: procent wykorzystania CPU, procent wykorzystania pamieci itp. Oprócz tego dostępne są dodatkowe informacje dotyczące procesów, np. właściciel procesu, numer procesu. Możliwe jest również wyświetlanie ograniczonej listy procesów (np. dla danego użytkownika), jak również wykonywanie komend, typu zabij proces.

htop a top

Główne różnice pomiędzy htop a top to:

  • w programie htop możliwe jest przewijanie listy procesów zarówno w pionie (PGUP,PGDN) - w celu zobaczenia wszystkich procesów, jak i w poziomie (RIGHT_ARROW, LEFT_ARROW), w celu zobaczenia całych poleceń
  • htop uruchamia się szybciej, jak i szybciej reaguje na niektóre wydawane mu komendy
  • htop-a można obsługiwać myszą
  • w htop nie potrzeba specyfikować dokładnego numeru procesu do zabicia, wystarczy dany proces zaznaczyć myszą
  • top jest starszy, popularniejszy i bardziej doświadczony..

To co nam najbardziej spodobało się w narzędziu htop to sposób prezentacji procesów na architekturach wielordzeniowych. Poniżej prezentujemy unikalny screen z jednego z (16 rdzeniowych) węzłów Parser nie umiał rozpoznać (Missing texvc executable; please see math/README to configure.): halo^2 . Na samej górze konsoli widoczna jest graficzna prezentacja obciążenia każdego z rdzeni serwera.


Grafika:Htop_screen.png

Linki

Htop Home Page

Lista Top500 - czerwiec 2009

Autor: Maciek Cytowski

Prezentujemy krótki opis czerwcowej listy Top500. Wymieniamy czołówkę listy, trochę statystyk oraz komentujemy najciekawsze pozycje listy.


Pozycja Lokalizacja Komputer Liczba rdzeni Max wydajność [TFlops/s]
1 DOE/NNSA/LLNL, USA Roadrunner - BladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2 Ghz / Opteron DC 1.8 GHz, Voltaire Infiniband

IBM

129 600 1105.00
2 Oak Ridge National Laboratory, USA Jaguar - Cray XT5 QC 2.3 GHz 150 152 1059.00
3 Forschungszentrum Juelich (FZJ), Germany JUGENE - IBM Blue Gene/P Solution 294 912 825.50
4 NASA/Ames Research Center/NAS, USA Pleiades - SGI Altix ICE 8200EX, Xeon QC 3.0/2.66 GHz 51 200 487.01
5 DOE/NNSA/LLNL, USA IBM BlueGene/L - eServer Blue Gene Solution 212 992 478.20
6 National Institute for Computational Sciences/University of Tennessee, USA Kraken XT5 - Cray XT5 QC 2.3 GHz 66 000 463.30
7 Argonne National Laboratory, USA IBM Blue Gene/P Solution 163 840 458.61
8 Texas Advanced Computing Center/Univ. of Texas, USA Ranger - SunBlade x6420, Opteron QC 2.3 Ghz, Infiniband 62 976 433.20
9 DOE/NNSA/LLNL, USA Dawn - IBM Blue Gene/P Solution 147456 415.70
10 Forschungszentrum Juelich (FZJ), Germany JUROPA - Sun Constellation, NovaScale R422-E2, Intel Xeon X5570, 2.93 GHz, Sun M9/Mellanox QDR Infiniband/Partec Parastation 26 304 274.80


Statystyki

Ponad połowa listy (58,2%) to maszyny z USA. W Europie najmocniejszymi Państwami na Top500 są Wielka Brytania (8,8%), Niemcy (6%), Francja (4,6%) oraz Szwecja (2%). Do czołówki dołączają Chiny: z 15 instalacji w listopadzie 2008 do aż 21 w czerwcu 2009 (4,2%).

Już od dwóch edycji listy Top500 firma HP ma najwięcej instalacji (42,4%). Druga pod tym względem jest firma IBM (37,6%). Firmy te zamieniają się miejscami gdyby spojrzeć na sumaryczną liczbę FLOPSów: IBM - ok.8,9 PetaFLOPs, HP - ok.5,6 PetaFLOPs.

Ciekawe pozycje

Wymienię tutaj kilka pozycji z listy TOP 500, które moim zdaniem są interesujące:

  • 1,2 miejsce - dwie maszyny o wydajności liczonej w PetaFlops: RoadRunner oraz Jaguar
  • 1,2,4,5,6,7,8 i 9 miejsce to komputery z USA
  • 3 i 10 miejsce zajmowane przez komputery JUgene oraz JUropa z niemieckiego centrum JUelich. Chcialoby sie krzyknąć: JUhu!!
  • 14 miejsce - komputer Shaheen przygotowany przez IBM (siedziba - Nowy Jork) dla uniwersytetu króla Abdullaha z Arabii Saudyjskiej
  • 15 miejsce - komputer Magic Cube działający pod Windows HPC, miejsce instalacji: Shanghai Supercomputer Center, Chiny.
  • 41 miejsce - komputer Tsubame wciąż w pierwszej 50. Do procesorów Opteron, procesorów Xeon oraz kart ClearSpeed dodano karty nVidia (pierwszy superkomputer oparty o ta architekturę na Top500)
  • 73 i 74 miejsce - dwa komputery UKMO (twórcy i właściciela modelu UM) oparte o architekture Power6
  • 107, 281, 300 oraz 422 miejsce - polskie superkomputery, odpowiednio: Galera z Gdanska, dwa komputery firmy telekomunikacyjnej oraz Nautilus z Warszawy
  • 422 miejsce - Nautilus'a nie będzie już na liście w następnej edycji, na otarcie łez pozostaje ustanowiony przez niego i wciąż nie pobity rekord energooszczędności (I miejsce na liście Green500, dwa razy pod rząd)