Biuletyn nr 30

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 30 (10 czerwca 2009)

Spis treści

Cztery lata Biuletynu

Autor:Redakcja

Zaduma nad ogromem pracy, którą jakiś czas temu włożyliśmy w tworzenie Biuletynu dla polskich użytkowników KDM i którą w tak nieodpowiedzialny sposób udało nam się ostatnio zaniedbać, zmobilizowała nas do reanimacji naszej idei. Oto 30 numer Biuletynu na 4 lecie jego istnienia. Teraz musi być już tylko lepiej..

Zabili mnie!

Autor: Rafał Maszkowski

Po kolejnym nagłym reboocie delty, pomstując na nieostrożnych kolegów, odtwarzałem swoje środowisko pracy. Wśród licznych uruchomionych programów były przeglądarki WWW. Firefoksa (albo firefoxa - zob. uchwała Rady Języka Polskiego z 8 XII 2008 r.) miałem uruchomionego lokalnie, ale poniżej opisuję co zrobić, kiedy i ten program dotknie nagła awaria maszyny. Dużo więcej używam elinksa i przy okazji tej katastrofy nauczyłem się o nim czegoś nowego - o tym dalej.

Zabity Firefox

Miałem uruchomionego firefoksa z mnóstwem zakładek, kiedy padła moja maszyna. Po ponownym jej uruchomieniu firefox, jak zwykle, narzekał, że działała inna jego kopia, ale się nie odzywa. Oczywiście, że się nie odzywa, bo był reboot, a z jakichś powodów firefox nie robi z tym porządku sam, tylko trzeba mu skasować dwa pliki:

rm ~/.mozilla/firefox/*.default/lock ~/.mozilla/firefox/*.default/.parentlock

Część zastąpiona gwiazdką to wylosowany w czasie pierwszej sesji firefoksa ciąg znaków, który u każdego jest inny. Zakładam przy tym, że konfiguracja jest prosta, nie dla wielu użytkowników - kiedy pewnie jest tych katalogów więcej.

Zwykle tyle wystarcza, ale czasem firefoks startuje, tylko że nie pamięta moich ulubionych zakładek, co więcej, może nawet zapomnieć znaczne fragmenty swojej konfiguracji. Pozostaje tylko skasować konfigurację albo błagać administratora o odtworzenie backupu. Ale w ICM-ie można w takiej sytuacji uniknąć rozmowy z administratorem, a skorzystać w bardzo prosty sposób z podręcznego backupu. Wystarczy przejść do katalogu konfiguracji firefoksa i przejrzeć dostępne kopie:

cd ~/.mozilla/firefox/*.default/
rzm@delta:~/.mozilla/firefox/3a5vhb0r.default,0> lt .snapshot
razem 176
----------  1 root root         0 kwi 23  2007 monthly.7
----------  1 root root         0 kwi 23  2007 monthly.6
----------  1 root root         0 kwi 23  2007 monthly.5
drwx------  6 rzm  icm-staff 4096 sie 31 23:42 monthly.4
drwx------  7 rzm  icm-staff 4096 wrz 28 23:43 monthly.3
drwx------  7 rzm  icm-staff 4096 paź 26 23:44 monthly.2
drwx------  7 rzm  icm-staff 4096 lis  9 23:55 weekly.7
drwx------  7 rzm  icm-staff 4096 lis 16 23:55 weekly.6
drwx------  7 rzm  icm-staff 4096 lis 23 23:59 weekly.5
drwx------  7 rzm  icm-staff 4096 lis 30 23:57 monthly.1
drwx------  7 rzm  icm-staff 4096 gru  7 23:43 weekly.4
drwx------  7 rzm  icm-staff 4096 gru 14 23:59 weekly.3
drwx------  7 rzm  icm-staff 4096 gru 21 23:39 weekly.2
drwx------  7 rzm  icm-staff 4096 gru 28 23:57 monthly.0
drwx------  7 rzm  icm-staff 4096 sty  3 23:57 nightly.6
drwx------  7 rzm  icm-staff 4096 sty  4 23:57 weekly.1
drwx------  7 rzm  icm-staff 4096 sty  5 23:59 nightly.5
drwx------  7 rzm  icm-staff 4096 sty  6 23:58 nightly.4
drwx------  7 rzm  icm-staff 4096 sty  7 23:57 nightly.3
drwx------  7 rzm  icm-staff 4096 sty  9 00:00 nightly.2
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 weekly.0
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 nightly.1
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 nightly.0
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.9
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.8
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.7
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.6
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.5
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.4
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.3
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.23
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.22
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.21
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.20
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.2
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.19
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.18
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.17
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.16
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.15
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.14
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.13
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.12
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.11
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.10
drwx------  7 rzm  icm-staff 4096 sty  9 18:32 hourly.1
drwx------  7 rzm  icm-staff 4096 sty 12 11:58 hourly.0 


Powyżej widać jak wyglądają one u mnie. Wystarczy teraz wybrać ostatnią kopię sprzed katastrofy i skopiować do katalogu bieżącego:

rzm@delta:~/.mozilla/firefox/3a5vhb0r.default,0> rsync -var .snapshot/nightly.2/* .

Użyłem rsynca żeby skopiować tylko te pliki, które się zmieniły.

Następnie można się upewnić, że są skasowane blokady:

rm lock .parentlock

i mamy duże szansę na powrót do sesji firefoksa sprzed rebootu. Jeżeli się to nie uda albo od awarii minęło więcej czasu, można spróbować zrobić to samo ze starszym snapshotem.

Przy okazji wspomnę o opcji, która czasem bardzo ułatwia życie użytkownikowi firefoksa. Firefox, w swej niezmierzonej mądrości uważa, że jeżeli uruchamiam go lokalnie w pracy, a potem loguję się do domu:

slogin -CY laptop.w.domu.pl

i uruchamiam firefoksa tam, to robię to tylko po to, żeby zdalny firefoks skomunikował się z lokalnym i przekazał mu URL do użycia. Logiczne? Wcale. Uruchamiam drugiego firefoksa w domu, uprzednio go zabiwszy (bo jego okienko jest widoczne tylko tam), bo mam w nim np. zapamiętaną zakładkę i zapisane hasło, którego nie pamiętam albo chcę połączyć się serwerem WWW na moim routerze, który dostępny jest tylko z wnętrza mojej domowej sieci. Rozwiązanie to uruchomienie drugiego firefoksa tak:

firefox -no-remote &

Można sobie to ułatwienie zapisać na stałe przez

alias firefox "firefox -no-remote"

(w bashu: alias firefox="firefox -no-remote"), a jeżeli w którymś momencie będziemy potrzebowali firefoksa działającego w domyślnym trybie, możemy go wywołać z pominięciem aliasu:

\firefox &

Zabity Elinks

Jakkolwiek doceniam zalety firefoksa, na co dzień używam elinksa. Firefoks ma duże możliwości, ale w niektórych przypadkach jest to niezwykle dzielna walka z problemami, które w elinksie w ogóle nie występują. Firefox

  • może używać Javy, Java Scriptu i Flasha (elinks tylko Java Scriptu)
  • walczy przez AdBlock, NoScript i FlashBlock z reklamami, których użytkownik elinksa w większości w ogóle nie ma okazji oglądać
  • pokazuje obrazki - elinks też to umie, zwłaszcza w trybie graficznym (w osobnyh oknach)
  • zupełnie sobie nie radzi z wyświetlaniem w trybie tekstowym...

W elinksie, tak samo jak w firefoksie, można używać kart (zakładek) - otwarcie: 't', zamknięcie: 'c', przełączanie: '<' i '>'. Po nagłym reboocie wystarczy uruchomić elinksa, włączyć przeglądanie zapisanych zakładek 's' i wybrać ostatnią z nich oznaczoną snapshot albo jej podkatalog. Podkatalogi i ich zawartość ogląda rozwija się i zwija przez naciśnięcie spracji. Snapshotów może być wiele, z różnych momentów. Każdy zawiera jeden lub więcej numerowanych podkatalogów - po jednym na każdą kopię elinksa działającego w momencie zapisu snapshotu. Jeżeli chcemy przywrócić np. stan kart (zakładek) elinksa oznaczonego numerem 5, a w nim pierwszą zakładkę, to trzeba na nią najechać i nacisnąć Enter. Jeżeli chcemy otworzyć wszystkie zakładki 5 instancji elinksa, trzeba wcisnąć Enter na piątce. Jeżeli chcemy w bieżącej instancji elinksa otworzyć wszystkie zakładki wszystkich instancji elinksów zapisanych w tym snapshocie, trzeba wcisnąć Enter na tym "Session snapshot" albo "Auto saved session" (taki snapshot jest tworzony przy normalnym wychodzeniu z elinksa). Potem ewentualne niepotrzebne już zakładki można pozamykać przez 'c'. Zarówno poszczególne zakładki w snapshotach, jak i całe snapshoty można kasować zmieniając strzałką w prawo tryb pracy z "Przejdź do" na "Usuń" i wciskając Enter. Są dostępne też inne operacje, takie jakich by się można spodziewać po edytorze zakładek.

Mechanizm snapshotów nie zawsze dobrze działa i nie zawsze po awarii zapisana jest najnowsza wersja. Ale i tak jest bardzo przydatny i chroni przed przykrym uczuciem ucięcia głowy, kiedy zdarzy się awaria.

Klaster obliczeniowy halo^{2}

Autor: Maciej Szpindler

Nowy komputer obliczeniowy

Szafa z serwerami kasetowymi typu Sun Blade

Oferta Centrum Komputerów Dużej mocy zostaje rozszerzona o nowy klaster obliczeniowy. Nowa instalacja to tzw. Sun Constellation System - klaster serwerów kasetowych o dużym upakowaniu procesorów oraz wydajnym połączeniu sieciowym pomiędzy węzłami.

Sukcesywnie udostępniane komponenty systemu docelowo będą pełnić rolę głównego zasobu obliczeniowego KDM. Zastąpią wysłużony superkomputer wektorowy tornado (Cray X1E), a w najbliższej przyszłości także nieco przestarzały klaster halo.

Nowy komputer działa aktualnie w trybie testowym i jest dostępny pod roboczą nazwą halo2.

Architektura klastra

System składa się z węzłów - fizycznie oddzielonych serwerów kasetowych upakowanych w specjalnych szafach. Każdy węzeł wyposażony jest w 4 procesory 4-rdzeniowe typu AMD Opteron (architektura x86_64, nazwa kodowa Barcelona), razem 16 fizycznych jednostek obliczeniowych. Procesory rodziny Opteron są architekturą typu little-endian. Jeden węzeł posiada 16 lub 32 Gb pamięci operacyjnej, maksymalnie dostępnej dla jednego procesu użytkownika. Jest to architektura typu ccNUMA (cache coherent Non-Uniform Memory Access), w której poszczególne rdzenie w procesorze współdzielą pamięć podręczną (trzeciego poziomu - L3), natomiast procesory w obrębie węzła mają spójną pamięć podręczną oraz niejednorodny czas dostępu do pamięci głównej.

Serwery (węzły) nie posiadają lokalnego dysku. Jest to zasadnicza różnica w stosunku do starego klastra halo.

Węzły klastra połączone są siecią typu Infiniband o wysokiej wydajności. Rozwiązanie to charakteryzuję się między innymi niskimi opóźnieniami oraz mechanizmem tzw. rDMA (remote Direct Memory Access) pozwalającym na bezpośredni dostęp do pamięci innego wezła.

Połączenia Infiniband wykorzystywane będą zarówno do operacji wejscia/wyjścia, ze względu na brak dysków lokalnych, jak i do wymiany danych pomiędzy procesorami klastra.

Przeznaczenie maszyny

Komputer będzie dostępny dla zadań użytkowników, zadań meteo (numerycznych modeli prognostycznych) oraz dla innych projektów specjalnych. Wszystkie aplikacje i pakiety naukowe, które są do tego dostosowane, zostaną przeniesione i udostępnione użytkownikom.

Informacje o środowisku użytkownika

Klaster obsługuje system operacyjny Gentoo Linux. Do zarządzania zadaniami użytkowników służyć będzie system kolejkowy Torque (OpenPBS) znany z komputera halo.

Mechanizm aliasów ustawiających środowisko pracy use_XXX znany z klastra halo zastępuje narzędzie modules znane użytkownikom komputera tornado.

Do przygotowywania i uruchamiania zadań służy węzeł dostępowy (tzw. front-end) halo2, na którym znajdujemy się automatycznie po zalogowaniu. Węzły są widoczne pod nazwami nXXX.

Pamięć dyskowa

Do dyspozycji użytkowników są pojemne katalogi domowe w drzewie /home oraz miejsce na macierzy dyskowej /workspace (tylko z wezła dostępowego). Komputer nie jest wyposażony w dysk tymczasowy (roboczy).

Tworzenie i uruchamianie programów równoległych

Klaster obsługuje model programowania równoległego OpenMP opartego o pamięć współdzieloną. Ten model jest ograniczony do pamięci w obrębie jednego węzła.

Do obliczeń opartych o pamięć rozproszoną i wymianę komunikatów stosuję się bibliotekę MPI w implementacji OpenMPI.

Na komputerze dostępne są następujące kompilatory:

  • GCC 4.3: C/C++, Fortran (gfortran), wspiera OpenMP
  • Portland Group (PGI) 8.0: C/C++, Fortran, High Performance Fortran, wspiera OpenMP
  • Sun Studio 12: C/C++, Fortran, wspiera OpenMP

Dostępność

W celu uzyskania dostępu w trybie testowym prosimy o kontakt na adres: hpc-admins@icm.edu.pl. Wszystkie inne pytania można kierować na adres pomoc@icm.edu.pl lub optymalizacja@icm.edu.pl. Personel KDM służy pomocą w przenoszeniu własnych programów na nową architekturę.


Rozwijanie aplikacji w ramach środowiska Blader

Autor: Maciej Cytowski

Architektura oraz przeznaczenie środowiska deweloperskiego Blader, zostało już opisane na stronie http://www.icm.edu.pl/kdm/Blader. Chcielibyśmy Państwa raz jeszcze zachęcić do współpracy przy tworzeniu i optymalizowaniu aplikacji dla platformy IBM Cell. Centrum kompetencji Cell (http://cell.icm.edu.pl) utworzone już prawie rok temu zajmuje się m.in. programowaniem rozwiązań informatycznych dla środowiska naukowego. Powstało kilka bardzo ciekawych projektów obliczeniowych, część z nich to samodzielne projekty użytkowników ICM. Postanowiliśmy utworzyć stronę, na której zebraliśmy listę realizowanych projektów wraz z krótkimi opisami. Serdecznie zachęcam do zapoznania się z nimi: http://cell.icm.edu.pl/index.php/Projects

Równocześnie realizujemy misję edukacyjno/szkoleniową w kraju i nie tylko. Udało nam się zorganizować już dwa szkolenia dotyczące programowania procesorów Cell. Szczegóły na stronie http://cell.icm.edu.pl/index.php/Trainings_&_Events. Niedługo planujemy zorganizowanie kolejnego szkolenia w ICM, które programem będzie zbliżone do tego zaprezentowanego w EPFL w Lozannie.

Na koniec chciałem jeszcze raz podkreślić, że Centrum Kompetencji Cell zostało stworzone specjalnie dla Państwa z myślą o rozwoju i optymalizacji oprogramowania naukowego, które zmiejszy czas oczekiwania na wyniki. Zachęcamy do kontaktu na adres email: cell@icm.edu.pl.