Uruchamianie i optymalizacja kodów na architekturze Blue Gene/P

Wielkość: px
Rozpocząć pokaz od strony:

Download "Uruchamianie i optymalizacja kodów na architekturze Blue Gene/P"

Transkrypt

1 Uruchamianie i optymalizacja kodów na architekturze Blue Gene/P Szkolenie 15 czerwca 2011, ICM Arkadiusz Niegowski, Maciej Cytowski

2 Agenda O projekcie POWIEW Architektura systemu Notos Środowisko użytkownika systemu Notos Sesja hands-on: uruchamianie aplikacji Kompilatory, biblioteki i optymalizacja oprogramowania Sesja hands-on: kompilacja i optymalizacja Badanie wydajności i debugowanie Sesja hands-on: badanie wydajności i debugowanie Podsumowanie 2

3 Środowisko szkoleniowe Konta: kdmszk01,, kdmszk10 (lub własny login) Hasła: przekazane osobiście Komputer obliczeniowy: notos Sposób logowania: Logowanie na komputerach w laboratorium. ssh delta ssh notos Materiały szkoleniowe: Slajdy Programy: /opt/examples/bgp_user_training/hands-on 3

4 Program Obliczeń Wielkich Wyzwań Nauki i Techniki Tworzymy i udostępniamy naukowcom nowoczesne środowisko obliczeniowe, które pozwoli na podejmowanie wielkich wyzwań nauki i techniki, o skali dotychczas dostępnej w nielicznych ośrodkach światowych. Projekt realizowany jest przez konsorcjum stworzone przez Interdyscyplinarne Centrum Modelowania Matematycznego i Komputerowego UW, Akademickie Centrum Komputerowe CYFRONET AGH oraz Poznańskie Centrum Superkomputerowo-Sieciowe IChB PAN. 4

5 Program Obliczeń Wielkich Wyzwań Nauki i Techniki Wielkoskalowe projekty obliczeniowe Numeryczne prognozowanie pogody Modelowanie materiałowe Modelowanie i wizualizacja struktur RNA Symulacje neuroinformatyczne Modelowanie struktury Wszechświata Modelowanie układów molekularnych Symulacje złóż naturalnych Astrofizyka i radioastronomia Analiza wizualna Superkomputery Systemy obliczeń masywnie równoległych (MPP) IBM Blue Gene/P Systemy zrównoleglonych obliczeń gruboziarnistych (Fat-Node) IBM POWER7, bullx Systemy przetwarzania symetrycznego (SMP) HP Blade Center Versatile SMP Systemy hybrydowych obliczeń akcelerowanych (GPGPU) HP SL390s nvidia Fermi 5

6 Program Obliczeń Wielkich Wyzwań Nauki i Techniki Nowe modele obliczeniowe Nowe algorytmy oraz metody obliczeniowe dla architektur komputerowych przyszłych generacji. Kompetencje Grupy badawcze złożone z programistów wielkoskalowych systemów obliczeniowych oraz naukowców realizujących nowatorskie programy badań. Szkolenia Techniki programowania, obsługa aplikacji oraz narzędzi niezbędnych przy wysokowydajnych obliczeniach na systemach wyposażonych w tysiące jednostek obliczeniowych. 6

7 Inwestycje projektu POWIEW w ICM Faza 1 1 rack systemu IBM BG/P ~14 Tflop/s, ~4 TB RAM Storage 178 TB (netto) Maszyny wspomagające Instalacja: grudzień 2010 Faza 2 1 rack systemu POWER7 IH ~78 Tflop/s, ~10.2 TB RAM Storage 153 TB (netto) Instalacja: jesień

8 Agenda O projekcie POWIEW Architektura systemu Notos Środowisko użytkownika systemu Notos Sesja hands-on: uruchamianie aplikacji Kompilatory, biblioteki i optymalizacja oprogramowania Sesja hands-on: kompilacja i optymalizacja Badanie wydajności i debugowanie Sesja hands-on: badanie wydajności i debugowanie Podsumowanie 8

9 Big picture - Notos Elementy instalacji: rack obliczeniowy Blue Gene/P Serwer dostępowy BG FEN Serwer serwisowy BG SN Zasoby dyskowe: macierz: DS EXP5060 serwery dostępowe: NSD Switch 9

10 Część obliczeniowa Blue Gene/P 10

11 Rodzaje węzłów Front-end node przeznaczony dla użytkowników systemu; kompilacji kodu, degugowania, umieszczania/usuwania/sprawdzania stanu zadań w kolejce, Service node - mózg systemu ; monitoruje stan racka obliczeniowego i steruje nim; przydziela partycje, kontroluje wysyłanie zadań do obliczeń; dostarcza obraz systemu operacyjnego dla węzłów obliczeniowych 2 x IBM Power x 4,7 GHz POWER6 32 GB RAM 11

12 Rodzaje węzłów I/O node pośredniczy w komunikacji węzłów obliczenioych z resztą systemu; obsługuje operacje na plikach i gniazdach, kontroluje sygnały oraz tworzenie procesów. Działa na pełnoprawnym jądrze Linuksa, ale z mocno okrojoną ilością usług. Compute Node wykonywany jest tylko kod użytkownika; wszelkie zapotrzebowania na usługi przekierowywane są do węzła I/O. Działa na lekkim jądrze CNK (Compute Node Kernel) - mocno okrojone, nie jest to Linux I/O & Compute Node 1 x 850 MHz PowerPC GB RAM 1024 x Compute Node 32 x I/O node 12

13 Organizacja węzłów Front-end node Service node I/O node Compute node IO / CN ratio 1:32 FN SN IO IO CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN CN 13

14 PowerPC 450 Processor i BG/P ASIC BG/P ASIC (Application Specific Integrated Circuit) Zintegrowany układ scalony, łączący jednostki funkcjonalne węzła: 4 rdzenie PowerPC 450 (PPC450) 2 jednostki zmiennoprzecinkowe (FPU) na rdzeń Pamięć cache L2, 2KB na rdzeń Pamięć chace L3, 8MB współdzielone przez rdzenie Kontroler pamięci DDR2 Sieci komunikacji: Torus + jednostka DMA (Direct Memory Access) Collective Global Barrier Ethernet JTAG (Joint Test Action Group) 14

15 PowerPC 450 Processor i BG/P ASIC PowerPC 450 CPU Architektura 32bit ppc Taktowanie 850 MHz Pojedyncza jednostka do obliczeń na liczbach całkowitych IPU Pamięć cache L1: 32KB na instrukcje 32KB na dane 15

16 PowerPC 450 Processor i BG/P ASIC Jednostka zmiennoprzecinkowa (FPU) - "Double Hummer" Dwie grupy rejestrów: 32 rejestry 64 bitowe w FPU0 (primary registers) 32 rejestry 64 bitowe w FPU1 (secondary registers) Standardowe instrukcje PowerPC wykonywane sa tylko na FPU0 Równoległe instrukcje SIMD dla liczb w podwójnej precyzji (64 bit) wykorzystuja obie grupy rejestrów Dwupotokowa (dual-pipeline); pozwala na jendoczesne wykonanie dwóch instrukcji fused multiply-add w jednym cyklu zegara (2 x 2 FLOPs). Zestaw instrukcji dla operacji na liczbach zespolonych (4 FLOPs w 1 cyklu / rdzeń) * 4 rdzenie) * 850MHz) = 13.6 Gflops 16

17 Compute & I/O node - podsumowanie Cores per node 4 Core Clock Speed Cache Coherency Private L1 cache Private L2 cache Shared L3 cache Memory per node Memory bandwidth Peak Performance 850 Mhz SMP hardware 32 KB data; 32 KB instruction 2 KB; 14 stream prefetching 8 MB 4 GB 13.6 GB/s (2x16 bytes wide) 13.6 GFlops per node 17

18 Sieć komunikacji BG/P 3D Torus Collective Barrier/Interrupt 10Gb Ethernet 1Gb Ethernet (JTAG) 18

19 Sieć komunikacji BG/P 3D Torus Łączy wszystkie węzły obliczeniowy; każdy z nich ma 6 połączeń z najbliższymi sąsiadami Szkielet dla komunikacji MPI point-to-point Korzysta z mechanizmu DMA (Direct Memory Access), co zmniejsza zaangażowanie rdzeni w proces wysyłania I odbierania pakietów z danymi Opóźnienie sprzętowe: ~64-100ns (najbliższy wezeł), 3us (przy 64 przeskokach) Opóznienie (MPI): 3 us (najbliższy sąsiad), 10 us (przy 64 przeskokach) Przepustowość: 5.1 GB/s na węzeł (3.4 Gb/s bidirectional * 6 links/node) 19

20 Sieć komunikacji BG/P Collective Łączy wszystkie węzły obliczeniowe i węzły Wejścia/Wyjścia Każdy węzeł ma 3 połączenia z innymi węzłami Dedykowana operacjom One-to-all and all-to-all MPI broadcasts oraz MPI Reduction Przekazywanie żądań I/O z wezłów obliczeniowych do wezłów Wejścia/Wyjścia Opóznienie sprzętowe: 2,5 us (do najdalszego i spowrotem) Opóźnienie (MPI): 3-4 us pokonanie drzewa w jednym kierunku (przy 512 wezłach) Przepustowość: 5.1 GB/s na węzeł (6.8 Gb/s bidirectional * 3 links/node) 20

21 Sieć komunikacji BG/P Barrier/Interrupt Łączy wszystkie węzły obliczeniowe Wraz ze wzrostem liczby węzłów obliczeniowych znacząco rośnie koszt barier I przerwań programowych (MPI), stąd dedykowana sieć dla tych operacji Opóźnienie (MPI) 1.25us (przy 512 węzłach) 1.6us (przy 72K węzłów), poza siecia ok. 10x wolniej (juz przy 512 wezłach) Każdy węzeł ma 4 połączenia do innych węzłów Przepustowość 3.4 GB/s na węzeł (3.4 Gb/s bidirectional * 4 links/node) 21

22 Sieć komunikacji BG/P 10Gb Ethernet Łączy węzły Wejścia/Wyjścia z zewnętrznym switchem Dostarcza systemy plików Węzły obliczeniowe nie są z nią bezpośrednio połączone 22

23 Sieć komunikacji BG/P 1Gb Ethernet (JTAG = Joint Test Action Group) JTAG (IEEE ) to protokół do kontroli, monitorowania I diagnozowania problemów ze sprzętem Bezośredenie połączenie węzła serwisowego ze wszystkimi węzłami w racku BG/P Startowanie I zatrzymywanie węzłów 23

24 Systemy operacyjne Węzeł Front-end: SUSE Linux Enterprise Server 10.2 ppc64 Węzły I/O: Linux Węzły: CNK (Compute Node Kernel) 24

25 Systemy operacyjne w środowisku Notos System operacyjny na węźle I/O: Pełne jądro Linuksa Architektura ppc 32 bit Standardowe narzędzia powłoki dla użytkownika dostarczane przez pakiet BusyBox Najważnijeszy demon CIOD (Compute I/O Daemon) Obsługa sterowników urządzeń 25

26 Systemy operacyjne w środowisku Notos System operacyjny na węźle obliczeniowym: lekkie jądro oparte na Linuksie Architektura ppc 32 bit Open-source Obsługa MPI, OpenMP, Pthreads Operacje I/O przekazywane do demona CIOD na węźle I/O Ograniczona liczba wywołań systemowych (brakuje np. fork(), execve(), system()) 26

27 Tryby wykonywania zadań Blue Gene/P zaprojektowany do uruchamiania kodów MPI. Tryb SMP Tryb Virtual Node (VN) Tryb Dual 27

28 Tryby wykonywania zadań Tryb SMP (domyślny) 1 zadanie MPI na węzeł Do 4 wątków Pthreads/OpenMP na węzeł Dostępna cała pamięć Uruchmiony jeden obraz jadra; wszystkie zasoby pod jego kontrolą. 28

29 Tryby wykonywania zadań Tryb Virtual Node (VN) 4 zadania MPI na węzeł Nie ma wątków Każdy proces pracuje pod kontrolą osobnego obrazu jądra Każdy proces dostaje ¼ pamięci operacyjnej, oraz ¼ przepustowości sieci Pamięć L3 podzielona na dwie częsci; każda przypada na dwa rdzenie Przepustowość do pamięci operacyjnej podzielona na dwie części Dostęp do wspólnej pamięci 29

30 Tryby wykonywania zadań Tryb Dual Tryb mieszany; połączenie trybu SMP I VN 2 zadania MPI na węzeł Do 2 wątków na proces Każdy proces pracuje pod kontrolą osobnego obrazu jądra Każdy proces dostaje ½ pamięci operacyjnej, oraz ½ przepustowości sieci Dostęp do wspólnej pamięci 30

31 Bloki/partycje Notos I/O : CN ratio = 1:32 Możliwe rozmiary partycji: 32, 64, 128, 256, 512, 1024 węzły. Możliwe rozmiary partycji dla sieci 3D Torus: 512, 1024 węzły. Tworzenie partycji: 1. Na podstawie informacji od użytkownika, tuż przed rozpoczęciem wykonywania zadania, system kolejkowy poprzez węzeł serwisowy rezerwuje wymaganą ilość węzłów. 2. Reset wybranych węzłów poprzez protokoł JTAG. 3. Ładowanie obrazów systemu zgodnie z wybranym trybem, montowanie zdalnych zasobów na węźlach I/O. 4. Uruchomienie zadania Czas trwania kroków od 1 do 3 to ~ sekund 31

32 Nazwy części obliczeniowych maszyny R00 rack nr 00 R00-M0 midplane nr 0 racka nr 00 R00-M1 midplane nr 1 racka nr 00 R00-M0-N00 node card nr 00 midplane-u 0 racka 00 R00-M0-N01-J00 I/O node z node card nr 01 midplane-u 0 racka 00 R00-M0-N01-J04 pierwszy compute node z node card nr 01 midplane-u 0 racka 00 32

33 Zasoby dyskowe Kontroler IBM System Storage DS5300 do 700,000 IOPs do 6,4 GB/s 4 x półka z dyskami IBM System Storage EXP dysków 1 TB SATA / półkę 4 x Serwer NSD IBM Power x 3,0 GHz POWER7 16 GB RAM System plików GPFS Pojemność brutto/netto: 240 TB / 178 TB 33

34 Agenda O projekcie POWIEW Architektura systemu Notos Środowisko użytkownika systemu Notos Sesja hands-on: uruchamianie aplikacji Kompilatory, biblioteki i optymalizacja oprogramowania Sesja hands-on: kompilacja i optymalizacja Badanie wydajności i debugowanie Sesja hands-on: badanie wydajności i debugowanie Podsumowanie 34

35 Dostęp, logowanie wszystkie osoby posiadające konto w ICM mają dostęp do węzła dostępowego (FEN) komputera notos (ssh notos) kompilacja kodów i uruchamianie możliwe tylko i wyłącznie po wysłaniu wiadomości obliczenia na dużych partycjach komputera notos możliwe dopiero po przetestowaniu i wykazaniu odpowiedniej skalowalności oprogramowania 35

36 Środowisko obliczeniowe NEURON v7.1 (/opt/neuron) NEST (/opt/nest) NAMD v2.7b1 (/opt/namd) PALABOS v0.7 (/opt/palabos) CPMD v (/opt/cpmd) GADGET v3 (/opt/gadget) AMBER11 (/opt/amber) CP2K (/opt/cp2k) LAMMPS (/opt/lammps) NWCHEM w trakcie kompilacji 36

37 Środowisko obliczeniowe Komputer Notos przeznaczony jest dla aplikacji o wysokiej skalowalności Porównanie wydajności pojedynczego węzła czy procesora do innych popularnych architektur na niekorzyść IBM Blue Gene/P (~4-5x wolniej w porównaniu core per core) Przykład: pakiet NAMD Test: benchmark NAMD używany w projekcie PRACE Wyniki: średni czas kroku obliczeniowego Notos nodes Time 0,680 0,338 0,171 0,090 0,050 0,027 Halo2 nodes Time 0,867 0,431 0,

38 Inne aplikacje Dostęp do pełnych zasobów Notos-a można uzyskać po wykazaniu odpowiedniej skalowalności używanej aplikacji. Jak dowiedzieć się czy aplikacja się skaluje? 38

39 Uruchamianie zadań IBM LoadLeveler Zasoby obliczeniowe komputera Notos zarządzane są przez system kolejkowy IBM LoadLeveler Zadania wstawiamy do kolejki z katalogu domowego, tam trzymamy również input i output obliczeń LoadLeveler Uruchom zadanie Blue Gene mpirun Wstaw zadanie do kolejki Znajdź zasoby dla zadań i zdefiniuj partycje obliczeniowe Pobierz informację o zasobach i zadaniach Zadania Blue Gene Bridge API 39

40 Uruchamianie zadań IBM LoadLeveler Podstawowe komendy: Komenda llsubmit llq llq s <job_id> llcancel <job_id> llclass Krótki opis Wstawia do kolejki zadanie LoadLeveler. Pokazuje zadania w kolejce (te uruchomione i te czekające na zasoby) wraz z dodatkową informacją. Pokazuje więcej informacji o zadaniu, np. dlaczego wciąż stoi w kolejce, ile dokładnie zasobów zadeklarowaliśmy,.. Usuwa zadanie z kolejki. Pokazuje informację o aktualnie zdefiniowanych klasach. Wstawianie zadania do kolejki: llsubmit <jobfile name> 40

41 Przykładowe wywołanie: llq llq Step Id Owner Account Job Name Class Size ST notos panecka G31-4 R53A_v3_b_P kdm-large I notos panecka G31-4 R53A_3_b_nP kdm-large I notos panecka G31-4 f_3_b_p kdm-large I notos panecka G31-4 K42A_3_b_nP kdm-large I notos panecka G31-4 full_v3_b_np kdm-large I notos panecka icm-staf f_v3_99_np kdm-large I notos panecka G31-4 K42A_v3_b_P kdm-large I notos panecka G31-4 K43Q_v3_b_P kdm-large I notos panecka G31-4 K43Q_3_b_nP kdm-large I notos memar icm-staf nwchem1 workshop 32 R notos fleon G31-4 namd_ab kdm-large 512 R 11 job step(s) in queue, 9 waiting, 0 pending, 2 running, 0 held, 0 preempted 41

42 Przykładowe wywołanie: llq -s llq -s 1863 =============== Job Step notos.icm.edu.pl =============== Job Step Id: notos.icm.edu.pl Job Name: namd_ab Owner: fleon Queue Date: Fri 03 Jun :05:13 AM CEST Status: Running Dispatch Time: Tue 07 Jun :00:47 PM CEST Size Requested: 512 Size Allocated: 512 Partition Allocated: LL Base Partition List: R00-M0 IONodes Per BP: N00-J00,N01-J00,N02-J00,N03-J00,N04-J00,N05-J00,N06-J00,N07-J00,N08-J00,N09-J00,N10- J00,N11-J00,N12-J00,N13-J00,N14-J00,N15-J00 Notify User: LoadLeveler Group: G31-4 Class: kdm-large Wall Clk Hard Limit: 8+08:00:00 ( seconds) Wall Clk Soft Limit: 8+08:00:00 ( seconds) Account: G31-4 ==================== EVALUATIONS FOR JOB STEP notos.icm.edu.pl ==================== The status of job step is : Running Since job step status is not Idle, Not Queued, or Deferred, no attempt has been made to determine why this job step has not been started. 42

43 LoadLeveler budowa skryptu kolejkowego Plik tekstowy zawierający definicje parametrów LoadLeveler-a Linie definiujące parametry LL rozpoczynają się od Reszta skryptu może zawierać dowolne komendy skryptowe (Uwaga: wykonywane na FEN) Komentarze rozpoczynają się od # Komenda uruchomienia obliczeń na Blue Gene/P (np. mpirun) 43

44 LoadLeveler budowa skryptu kolejkowego Pola wymagane: Opcja Znaczenie job_type = bluegene Ustawia typ zadania. Powinno być zawsze ustawione na bluegene. bg_size = N Liczba węzłów obliczeniowych Blue Gene/P do rezerwacji, rozmiar partycji. account_no = nr grantu Numer grantu obliczeniowego użytkownika. Używane w celach sprawozdawczych. wall_clock_limit = HH:MM:SS Maksymalna długość działania zadania od momentu jego uruchomienia. class = klasa Wybranie klasy zadania. Dostępne klasy: llclass. Nie wszyscy użytkownicy mają dostęp do wszystkich klas. output = plik Nazwa pliku, do którego trafi przekierowanie standardowego strumienia wyjścia. Domyślnie /dev/null. error = plik Nazwa pliku, do którego trafi przekierowanie standardowego strumienia błędu. Domyślnie /dev/null. 44

45 LoadLeveler budowa skryptu kolejkowego Pola opcjonalne: Opcja bg_connection = MESH/TORUS/PREFER_TORUS Znaczenie Określa sposób połączenia sieciowego pomiędzy węzłami. Domyślnie: MESH. environment = env1; env2;.. Określa sposób kopiowania zmiennych środowiskowych użytkownika do środowiska obliczeniowego. Możliwe ustawienia: COPY_ALL - wszystkie zmienne ze środowiska będą kopiowane, $var - zmienna var ma być kopiowana do środowiska obliczeniowego,!var - zmienna var nie ma być kopiowana do środowiska obliczeniowego, var=value - zmienna var ma przyjąć wartość value w środowisku obliczeniowym. job_name = nazwa zadania Ustawia nazwę zadania. Pod taką nazwą będzie widziane zadanie w systemie. initialdir = dir Ścieżka roboczego katalogu obliczeń. 45

46 LoadLeveler budowa skryptu kolejkowego Pola opcjonalne: Opcja Znaczenie notification = typ Definiuje, w jakich przypadkach wysyłany jest mail do właściciela zadania. Możliwe argumenty: error - gdy zadanie zakończyło się błędem, start - gdy zadanie zaczęło się liczyć, complete - gdy zadanie się zakończyło, always - we wszystkich powyższych przypadkach, never - nigdy. notify_user = użytkownika, do którego ewenetualne maile będą wysyłane. Format argumentu: bg_shape = <X>x<Y>x<Z> Definiuje ilość podstawowych partycji (midplane) w trzech kierunkach X, Y oraz Z. bg_rotate = <true false> Określna, czy scheduler LoadLeveler-a powinien rozpatrywać wszystkie możliwe obroty zadanego kształtu. Domyślnie true. 46

47 LoadLeveler zmienne skryptów kolejkowych Wewnątrz skryptów kolejkowych używać można następujących zmiennych: Zmienna $(home) $(host) $(jobid) $(stepid) $(user) $(executable) $(class) $(comment) $(job_name) $(step_name) Znaczenie Katalog domowy użytkownika, który wstawił zadanie do kolejki. Hostname komputera, z którego zadanie zostało wstawione do kolejki. Identyfikator przyznany zadaniu przez LoadLeveler-a. Identyfikator przyznany etapowi zadania przez LoadLeveler-a. Nazwa użytkownika na komputerze obliczeniowym. W przypadku Notos-a, jest to ICM-owy user name. Zmienne, których wartości pobierane są ze zdefiniowanych w skrypcie parametrów LoadLeveler-a. 47

48 LoadLeveler zmienne środowiskowe Zmienna LOADL_JOB_NAME LOADL_STEP_ERR LOADL_STEP_IN LOADL_STEP_OUT LOADL_STEP_ID LOADL_STEP_INITDIR LOADL_STEP_NAME LOADL_STEP_OWNER Znaczenie Identyfikator zadania. Pliki standardowego strumienia wyjścia, wejścia oraz błędu. Identyfikator etapu zadania. Katalog roboczy. Nazwa etapu zadania. Właściciel danego etapu zadania. 48

49 LoadLeveler zmienne środowiskowe (BG/P) Zmienna LOADL_BG_BPS LOADL_BG_CONNECTION LOADL_BG_IONODES LOADL_BG_PARTITION LOADL_BG_SHAPE LOADL_BG_SIZE Znaczenie Lista podstawowych partycji, z których składa się zaalokowana dla zadania partycja. Topologia partycji. Lista węzłów I/O zaalokowanej partycji. Nazwa zaalokowanej partycji. Kształt zaalokowanej partycji. Rozmiar zaalokowanej partycji. 49

50 Przykładowy skrypt (Przykłady w /opt/examples/loadleveler) job_name = Ping_pong account_no = grupa class = kdm error = ping_pong.err output = ping_pong.out environment = COPY_ALL wall_clock_limit = 00:20:00 notification = error notify_user = job_type = bluegene bg_size = 32 queue mpirun -exe ping_pong -mode SMP -np 32 50

51 LoadLeveler zadanie vs etap zadania Krok zadania (Job Step) podstawowa jednostka pracy LoadLeveler-a Pojedyncze zadanie (Job) może zawierać kilka kroków Zadanie = zbiór kroków zadania Istnieje możliwość definiowania zależności pomiędzy krokami zadania Nie ma możliwości definiowania zależności pomiędzy zadaniami step_name = step1 input = step1.in output = step1.out error = step2.err queue mpirun < > dependency = (step1 == 0) step_name = step2 input = step2.in output = step2.out error = step2.err queue Zadanie Job step 1 Job step 2 Job step 3 1. Wykonaj preprocessing 2. Sprawdź exit status exit status = x 1. Wykonaj obliczenia 2. Sprawdź exit status exit status = x Wykonaj postprocessing exit status = y exit status = y Zakończ zadanie 51

52 Podstawowe opcje mpirun (mpirun h) Opcja -np ranks -exe <executable> -args program args -cwd <path> -mode <SMP,DUAL,VN> Znaczenie Ilość ranków MPI. Nazwa pliku wykonywalnego zadania. Argumenty pliku wykonywalnego zadania. Ścieżka katalogu roboczego zadania. Specyfikuje tryb pracy węzłów. SMP 1 rank, 4 threads DUAL 2 ranks, 2 threads each VN 4 ranks, 1 thread each Zależność pomiędzy trybem pracy węzłów, rozmiarem partycji oraz ilością ranków MPI Tryb VN: ilość ranków MPI = 4 x rozmiar partycji Tryb DUAL: ilość ranków MPI = 2 x rozmiar partycji Tryb SMP: ilość ranków MPI = rozmiar partycji 52

53 Zmienne środowiskowe Załóżmy, że chcemy przekazać środowisku obliczeniowemu ustawienia poprzez zmienne środowiskowe Ustawianie zmiennych środowiskowych w skrypcie LoadLeveler-a nie wystarczy Musimy wykonać to przy użyciu argumentu mpirun: -env <nazwa zmiennej>=<wartość zmiennej> (zmienne podawane pojedynczo) -exp_env <nazwa zmiennej> 53

54 Mapowanie ranków MPI Topologię partycji obliczeniowych BG/P można zobrazować jako trójwymiarowy sześcian z węzłami obliczeniowymi równomiernie w nim rozlokowanymi po współrzędnych X, Y oraz Z (mesh lub torus) Każdy węzeł (oprócz brzegowych w trybie mesh) jest bezpośrednio połączony z sześcioma sąsiednimi węzłami: +1 X, -1 X, +1 Y, -1 Y, +1 Z, -1 Z Komunikacja z węzłami sąsiednimi pojedynczy link Komunikacja z węzłami bardziej odległymi kilka linków Położenie danego węzła w sześcianie definiują współrzędne: <X,Y,Z> Dodatkowo każdy węzeł zawiera 4 rdzenie i może obsługiwać kilka procesów (4 w trybie VN, 2 w trybie DUAL oraz 1 w trybie SMP) Położenie danego procesu MPI definiują cztery współrzędne: <X,Y,Z,T> 54

55 Mapowanie ranków MPI Istnieje możliwość zdefiniowania rozkładu ranków MPI pomiędzy rdzenie obliczeniowe przydzielone zadaniu Domyślne rozłożenie: XYZT (niezbyt atrakcyjne dla większości aplikacji) Rekomendacja: TXYZ Dwa sposoby definiowania rozkładu: Argument MPIRUN: -mapfile <ścieżka do pliku z definicją rozkładu> Zmienna środowiskowa BG_MAPPING: TXYZ, TXZY, TYXZ, TYZX, TZXY, TZYX, TYZT, XZYT, YXZT, YZXT, ZXYT, ZYXT Ścieżka do pliku z definicją rozkładu 55

56 Mapowanie ranków MPI mpirun mapfile $(home)/map.txt mode SMP exe./program mpirun env BG_MAPPING=$(home)/map.txt mode SMP exe./program map.txt

57 Przykład: mapowanie ranków MPI Źródło: Załóżmy, że nasz program korzysta z trójwymiarowego komunikatora o rozmiarze 16x16x8 i ma zostać uruchomiony w trybie VN w ramach pojedynczego midplane (o rozmiarze XxYxZxT=8x8x8x4) Należy dobrać odpowiednie mapowanie proces rdzeń obliczeniowy 57

58 Przykład: mapowanie ranków MPI # task 0; communicator coordinates ( 0, 0, 0) # task 1; communicator coordinates ( 1, 0, 0) # task 2; communicator coordinates ( 2, 0, 0) # task 7; communicator coordinates ( 7, 0, 0) # task 8; communicator coordinates ( 8, 0, 0) # task 9; communicator coordinates ( 9, 0, 0) # task 15; communicator coordinates (15, 0, 0) # task 16; communicator coordinates ( 0, 1, 0) # task 17; communicator coordinates ( 1, 1, 0) # task 23; communicator coordinates ( 7, 1, 0) # task 24; communicator coordinates ( 8, 1, 0) # task 25; communicator coordinates ( 9, 1, 0) # task 64; communicator coordinates ( 0, 8, 0) # task 65; communicator coordinates ( 1, 8, 0) # task 66; communicator coordinates ( 2, 8, 0) # task 71; communicator coordinates ( 7, 8, 0) # task 72; communicator coordinates ( 8, 8, 0) # task 73; communicator coordinates ( 9, 8, 0)... 58

59 Mapowanie ranków MPI mpirun env BG_MAPPING=TXYZ mode SMP exe./program Rank 0 Processor <0,0,0,0> in a <4, 4, 4, 4> mesh Rank 1 Processor <0,0,0,1> in a <4, 4, 4, 4> mesh Rank 2 Processor <0,0,0,2> in a <4, 4, 4, 4> mesh Rank 3 Processor <0,0,0,3> in a <4, 4, 4, 4> mesh Rank 4 Processor <1,0,0,0> in a <4, 4, 4, 4> mesh Rank 5 Processor <1,0,0,1> in a <4, 4, 4, 4> mesh Rank 6 Processor <1,0,0,2> in a <4, 4, 4, 4> mesh Rank 7 Processor <1,0,0,3> in a <4, 4, 4, 4> mesh mpirun env BG_MAPPING=XYZT mode SMP exe./program Rank 0 Processor <0,0,0,0> in a <4, 4, 2, 1> mesh Rank 1 Processor <1,0,0,0> in a <4, 4, 2, 1> mesh Rank 2 Processor <2,0,0,0> in a <4, 4, 2, 1> mesh Rank 3 Processor <3,0,0,0> in a <4, 4, 2, 1> mesh Rank 4 Processor <0,1,0,0> in a <4, 4, 2, 1> mesh Rank 5 Processor <1,1,0,0> in a <4, 4, 2, 1> mesh Rank 6 Processor <2,1,0,0> in a <4, 4, 2, 1> mesh Rank 7 Processor <3,1,0,0> in a <4, 4, 2, 1> mesh 59

60 Aktualna konfiguracja LoadLeveler-a Klasa KDM ograniczenie do 1 midplane (R00-M0), wallclock 1h, cputime 32h, priorytet 10 Przeznaczenie: podstawowe testy oprogramowania, kompilacja, uruchomienie, testy skalowalności do 512 węzłów Klasa KDM-LARGE bez ograniczenia na ilość węzłów, wallclock 360h, priorytet 10 Przeznaczenie: rozszerzone testy skalowalności, obliczenia Klasa POWIEW bez ograniczeń na ilość węzłów, wallclock 360h, priorytet 90 Przeznaczenie: obliczenia Klasa Workshop (tymczasowa) ograniczenie do 1 midplane Przeznaczenie: szkolenia 60

61 Agenda O projekcie POWIEW Architektura systemu Notos Środowisko użytkownika systemu Notos Sesja hands-on: uruchamianie aplikacji Kompilatory, biblioteki i optymalizacja oprogramowania Sesja hands-on: kompilacja i optymalizacja Badanie wydajności i debugowanie Sesja hands-on: badanie wydajności i debugowanie Podsumowanie 61

62 Sesja hands-on: uruchamianie aplikacji (1/2) 1. Wejdź do katalogu loadl/ 2. Napisz skrypt kolejkowy LoadLeveler (np. o nazwie submit.ll), deklarując odpowiednio: Nazwę zadania (job_name): Cannon Własną grupę (account_no): icm-szkolenia Klasę (class): workshop Plik wyjścia (output): cannon.out Plik błędu (error): cannon.err Czas zegarowy (wall_clock_limit): 00:02:00 Typ powiadomienia (notification): always Adresata powiadomienia (notify_user): Typ zadania (job_type): bluegene Rozmiar zadania (bg_size): 1 3. Pamiętaj, że po deklaracjach LoadLeveler-a powinna pojawić się linia queue 4. W ramach zadania uruchom program cannon następującą komendą: mpirun -exe cannon -mode VN -np 4 5. Uruchom zadanie komendą: llsubmit submit.ll 62

63 Sesja hands-on: uruchamianie aplikacji (2/2) 1. Wejdź do katalogu loadl/ 2. Zapoznaj się z konstrukcją zadania wielokrokowego: cannon_steps.ll 3. Skrypt ten wykonuje testy skalowalności programu cannon na 1,4 i 16 węzłach Blue Gene/P 4. Uruchom zadanie wielokrokowe komendą: llsubmit cannon_steps.ll 5. Spróbuj wprowadzić następujące zależności (dependency): Krok drugi może zostać uruchomiony po poprawnym zakończeniu kroku pierwszego Krok trzeci może zostać uruchomiony po poprawnym zakończeniu kroku drugiego 6. Uruchom zadanie i sprawdzaj jego status komendą: llq 63

64 Agenda O projekcie POWIEW Architektura systemu Notos Środowisko użytkownika systemu Notos Sesja hands-on: uruchamianie aplikacji Kompilatory, biblioteki i optymalizacja oprogramowania Sesja hands-on: kompilacja i optymalizacja Badanie wydajności i debugowanie Sesja hands-on: badanie wydajności i debugowanie Podsumowanie 64

65 Katalog z narzędziami Blue Gene/P W katalogu /bgsys/driver/ppcfloor znajdują się m.in. narzędzia pracy na architekturze Blue Gene/P, takie jak: Narzędzia GNU /bgsys/drivers/ppcfloor/gnu-linux Nakładki MPI (wrappers) /bgsys/driver/ppcfloor/comm Pliki nagłówkowe i biblioteki /bgsys/drivers/ppcfloor/arch/include W większości przypadków wiedza o dokładnej nazwie tego katalogu nie jest potrzebna, gdyż środowisko programisty ustawiane jest automatycznie poprzez użycie komendy module module avail listowanie dostępnych modułów module load <moduł> - włączanie modułów module list listowanie aktualnie włączonych modułów module unload <moduł> - wyłączanie modułu 65

66 Kompilatory Kompilacje na systemach Blue Gene/P odbywają się przy użyciu tzw. crosskompilatorów na węźle dostępowym Dostępne są kompilatory C, C++ oraz Fortran-a Rodzina kompilatorów XL: XL C/C++ oraz XL Fortran Wbudowane optymalizacje kodu specyficzne dla architektury Blue Gene/P, związane m.in. z obsługą podwójnej jednostki zmiennoprzecinkowej (FPU), kolejnością wykonywania instrukcji oraz wykorzystaniem wielopoziomowej pamięci Rodzina kompilatorów GNU: C, C++ oraz Fortran Nie tworzy wysoce zoptymalizowanego kodu na architekturę Blue Gene/P Nie generuje kodu dla podwójnej jednostki zmiennoprzecinkowej (FPU) Nie wspiera OpenMP 66

67 Cross-kompilatiory Kompilacja odbywa się na węźle dostępowym: Architektura POWER6, 64-bity Wykonanie kodu odbywa się na węzłach obliczeniowych Blue Gene/P: Architektura PowerPC 450, 32-bity Niektóre pakiety wymagają wywołania niewielkich fragmentów kodu na architekturze docelowej (poprzez Configure/Make): Uruchomienie kodu na węźle dostępowym może zakończyć się błędem Istnieje rozwiązanie wymagające wcześniejszych ustawień administratora (dedykowana partycja) Kompilacja większości pakietów zainstalowanych obecnie na systemie Notos wymagała wykonania Configure/Make. Wszystkie pakiety udało się zainstalować bez użycia dedykowanej partycji. 67

68 Kompilatory i narzędzia GNU GCC Lokalizacja: /bgsys/drivers/ppcfloor/gnu-linux/ Nazewnictwo: C: powerpc-bgp-linux-gcc C++: powerpc-bgp-linux-g++ Fortran: powerpc-bgp-linux-gfortran Brak wsparcia dla OpenMP GLIBC 2.4 Wsparcie dla wielowątkowości: -lpthread GNU Tools GDB, addr2line, Python 2.5 Ustawienie środowiska: module load gnu_comp 68

69 Kompilatory z rodziny XL XL C/C++ 9.0, XL Fortran 11.1 Lokalizacja: /opt/ibmcmp/xlf/bg/11.1/, /opt/ibmcmp/vacpp/bg/9.0/ Ustawienie środowiska: dostępne domyślnie Język Wywołanie Wywołanie (thread safe) C C++ Fortran bgxlc bgc{89 99} bgcc bgxlc++ bgxlc bgxlf bgxlf{ } bgf{ } bgxlc_r bgc_r{89 99} bgcc_r bgxlc++_r bgxlc_r bgxlf_r bgxlf{ }_r 69

70 Podstawowe opcje kompilacji (kompilatory XL) Flaga Opis działania -O0 Brak optymalizacji -O2 Podstawowa optymalizacja (domyślny poziom) -O3 -qstrict Optymalizacje wyższego poziomu, jednak bez wpływu na wyniki obliczeń numerycznych. -O3 -qhot Optymalizacje bardzo wysokiego poziomu. Mogą mieć wpływ na różnice w wynikach obliczeń numerycznych (!). -qarch=[ d] Przygotowanie zoptymalizowanego kodu maszynowego dla wykonania na pojedynczej i podwójnej jednostce obliczeń zmiennoprzecinkowych (FPU). -qtune=450 Optymalizuje kod dla architektury qsmp[=omp] -qreport qlist -qsource Umożliwia automatyczne bądź oparte o standard OpenMP zrównoleglenie w modelu pamięci współdzielonej. Tworzenie listingów podczas kompilacji. Kod pseudo-assembler na różnych poziomach szczegółowości. 70

71 Rekomendacje (kompilatory XL) 1. Rozpocznij od kompilacji z podstawową optymalizacją dla Blue Gene/P: -O2 qarch=450 qtune= Sprawdź poprawność wyników oraz wydajność obliczeniową kodu skompilowanego z opcją: qarch=450d qhot=simd 3. Sprawdź poprawność wyników oraz wydajność obliczeniową kodu skompilowanego z opcjami: O3 qstrict oraz O3 qhot 4. Ewentualnie sprawdź wydajność kodu zrównoleglonego w modelu pamięci współdzielonej (automatycznie lub poprzez dyrektywy OpenMP): -qsmp=auto / -qsmp=omp 71

72 Rekomendacje (kompilatory XL) Warto kompilować programy z opcją g. Nie powoduje ona, jak w przypadku innych kompilatorów, zmniejszenia wydajności generowanego kodu. 72

73 Kompilatory na węźle dostępowym Ważna uwaga: Na węźle dostępowym widoczne są również kompilatory GNU bez przedrostków powerpc-bgp, które kompilują kod dla architektury węzła dostępowego. (gcc, g++, gfortran,..) 73

74 Środowisko MPI MPI default domyślny tryb MPI po wywołaniu module load mpi_default mpixlc, mpixlcxx, mpixlf{ }, mpixlc_r, mpixlcxx_r, mpixlf{ }_r MPI fast MPI bez obsługi błędów po wywołaniu module load mpi_fast mpixlc, mpixlcxx, mpixlf{ }, mpixlc_r, mpixlcxx_r, mpixlf{ }_r Uwaga: mpicc, mpicxx, mpif77 w trybie default oparty jest na kompilatorach GNU Rekomendacja: wszędzie gdzie możliwe należy używać mpixl* 74

75 Rekomendacje - środowisko MPI 1. Skompiluj kod z MPI default. 2. Sprawdź poprawność i powtarzalność wyników. 3. Spróbuj skompilować kod z MPI fast. 4. Sprawdź poprawność wyników. Wszystkie pakiety udostępnione użytkownikom skompilowane zostały w wersji MPI default. Używanie MPI fast przyśpiesza niemal każde wywołanie MPI o około jedną mikrosekundę. W przypadku dużych kodów może to oznaczać w najlepszych przypadkach ok. 25% wzrost wydajności. 75

76 Podsumowanie - kompilatory Przykładowe opcje kompilacji i optymalizacji (IBM XL): -O2 qarch=450 qtune=450 - podstawowa optymalizacja -O3 qstrict qarch=450 qtune=450 - bardziej agresywna optymalizacja, jednak bez wpływu na precyzję obliczeń -O3 qhot qarch=450 qtune=450 - agresywna optymalizacja, może mieć wpływ na precyzję obliczeń -O3 qhot=simd qarch=450d qtune=450 - mniej agresywna, instrukcje SIMD Wykorzystanie operacji SIMD daje dobrą wydajność tylko w przypadku gdy dane w pamięci cache pierwszego poziomu (32KB) są intensywnie ponownie wykorzystywane. Zaleca się aby wpierw kompilować kody z opcją qarch=450, a dopiero po poprawnym uruchomieniu porównać wydajność z programem kompilowanym z opcją qarch=450d (Double-Hummer). Wydajność niektórych kodów może być niższa przy użyciu 450d. Jeśli nie chcemy testować wydajności i poprawności wyników (bezpieczna i wydajna optymalizacja): mpixlc_r -g -O3 qstrict qarch=450 qtune=450 76

77 Podsumowanie - kompilatory Domyślnym wyborem powinny być kompilatory XL Zawsze wybierajmy wersję thread safe kompilatorów: Niezbędna przy zrównolegleniu w modelu pamięci współdzielonej (SMP), Identyczna wydajność kodów bez zrównoleglenia SMP. Zawsze wybierajmy kompilatory MPI Można sprawdzić, czy utworzony plik binarny jest dedykowany na Blue Gene/P: file <plik binarny> ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), for GNU/Linux 2.0.0, statically linked, not stripped 77

78 Środowisko programisty biblioteki Biblioteka Sposób wykorzystania Miejsce instalacji Message Passing Interface (MPI) Podstawowa biblioteka do zrównoleglania. Mathematical Acceleration Subsystem (MASS) zoptymalizowane wersje standardowych funkcji matematycznych (np. cos,sin,powf, ) Engineering and Scientific Subroutine Library (ESSL) zoptymalizowane funkcje matematyczne i naukowe (np. algebra liniowa, FFT, generator liczb losowych, ) FFTW (v2.1.5,v3.2.2) single + double znana biblioteka do wielowymiarowych obliczeń FFT module load mpi_fast module load mpi_default -lmass -lmassv C/C++: -lesslbg lesslsmpbg -lxlf90_r -lxlopt -lxl lxlfmath Fortran: -lesslbg -lesslsmpbg module load fftw_2.1.5 module load fftw_3.2.2 /bgsys/drivers/ppcfloor/comm/fast /bgsys/drivers/ppcfloor/comm/default /opt/ibmcmp/xlmass /opt/ibmmath /opt/fftw/2.1.5 /opt/fftw/3.2.2 LAPACK v3.1 -L/opt/lapack/lapack_bgp.a /opt/lapack CBLAS /opt/cblas/cblas_bgp.a /opt/cblas BLACS /opt/blacs/blacscinit_mpi-bgp-0.a /opt/blacs/blacsf77init_mpi-bgp-0.a /opt/blacs/blacs_mpi-bgp-0.a /opt/blacs SCALAPACK /opt/scalapack/libscalapack.a /opt/scalapack HYPRE v2.7.0b -L/opt/hypre/lib lhypre I/opt/hypre/include /opt/hypre 78

79 Środowisko programisty biblioteki Biblioteka Sposób wykorzystania Miejsce instalacji HDF5 (1.8.3) Biblioteka Hierarchical Data Format (HDF) służy do obsługi zapisu, odczytu oraz organizacji bardzo dużych danych numerycznych pochodzących z obliczeń. Linkowanie z bibliotekami z katalogu: /opt/hdf5/xl/lib /opt/hdf5/xl NetCDF (4.0.1) i Parallel-NetCDF (1.1.1) Biblioteka NetCDF służy do obsługi zapisu, odczytu oraz organizacji bardzo dużych danych numerycznych pochodzących z obliczeń. Linkowanie z bibliotekami z katalogów: /opt/netcdf/xl/lib /opt/parallel-netcdf/lib /opt/netcdf /opt/parallel-netcdf GNU Scientific Library (GSL) Biblioteka funkcji i algorytmów numerycznych GNU. Linkowanie z bibliotekami z katalogu: /opt/gsl/lib /opt/gsl PETSc (3.0.0-p7) Zrównoleglona biblioteka służąca m.in. do rozwiązywania układów równań różniczkowych cząstkowych (PDEs). Linkowanie z bibliotekami z katalogu: /opt/petsc/bgp-ibm-opt/lib/ /opt/petsc /opt/petsc/bgp-ibm-opt Zoltan Biblioteka implementująca wiele algorytmów służących zarządzaniu i dystrybucji danych w aplikacjach równoległych. Linkowanie z bibliotekami z katalogu: /opt/zoltan/xl/lib /opt/zoltan P3DFFT (2.3.2) Zrównoleglona i wysoce skalowalna implementacja FFT 3D. -L/opt/p3dfft/lib lp3dfft /opt/p3dfft 79

80 Agenda O projekcie POWIEW Architektura systemu Notos Środowisko użytkownika systemu Notos Sesja hands-on: uruchamianie aplikacji Kompilatory, biblioteki i optymalizacja oprogramowania Sesja hands-on: kompilacja i optymalizacja Badanie wydajności i debugowanie Sesja hands-on: badanie wydajności i debugowanie Podsumowanie 80

81 Sesja hands-on: kompilacja i optymalizacja (1/6) Kompilacja single-core 1. Wejdź do katalogu mxm/ 2. Wykonaj kompilację programu mxm.c stosując kompilator bgxlc oraz następujące flagi: a) -O2 qtune=450 qarch=450 o mxm1 b) -O3 qstrict qtune=450 qarch=450 o mxm2 c) -O3 qhot qtune=450 qarch=450 o mxm3 d) -O3 qhot=simd qtune=450 qarch=450d o mxm4 e) -O5 qtune=450 qarch=450 o mxm5 3. Uruchom wielokrokowe zadanie mxm.ll i porównaj wyniki czasowe. 4. Która wersja programu jest najszybsza? 81

82 Sesja hands-on: kompilacja i optymalizacja (2/6) Raporty kompilatora 1. Wejdź do katalogu mxm/ 2. Wykonaj kompilację programu mxm.c stosując kompilator bgxlc oraz następujące flagi: a) -O3 -qstrict qtune=450 qarch=450 qreport qlist o mxm1 b) -O5 qtune=450 qarch=450 qreport qlist o mxm5 3. Porównaj pliki mxm.lst wygenerowane podczas obydwu kompilacji (Uwaga: pliki się nadpiszą) 4. Czy potrafisz stwierdzić jakiego rodzaju optymalizacji dokonał kompilator przy kompilacji z poziomem O3? 5. Czy potrafisz stwierdzić jakiego rodzaju optymalizacji dokonał kompilator przy kompilacji z poziomem O5? 82

83 Sesja hands-on: kompilacja i optymalizacja (3/6) Automatyczne zrównoleglanie w trybie SMP 1. Wejdź do katalogu mxm/ 2. Wykonaj kompilację programu mxm.c stosując kompilator bgxlc_r oraz następujące flagi: -O5 qtune=450 qarch=450 qsmp=auto o mxm 3. Uruchom zadanie mxm_smp.ll i sprawdź wynik czasowy 4. Wykonaj również kompilację z opcjami qreport qlist. 5. Jakie informacje o automatycznym zrównolegleniu znajdują się w pliku mxm.lst? 6. Dlaczego nie udało się zrównoleglić pętli, w której wywoływana jest funkcja rand()? 83

84 Sesja hands-on: kompilacja i optymalizacja (4/6) Zrównoleglanie OpenMP w trybie SMP 1. Wejdź do katalogu mxm/ 2. Dokonaj edycji programu mxm.c. W linii 37 poprzedzającej główną pętlę obliczeniową wstaw dyrektywę OpenMP: #pragma omp parallel for private(i,j,k) 3. Wykonaj kompilację programu mxm.c stosując kompilator bgxlc_r oraz następujące flagi: -O5 qtune=450 qarch=450 qsmp=omp o mxm 4. Dodaj dodatkową opcję uruchomienia mpirun w skrypcie mxm_smp.ll: -env OMP_NUM_THREADS=4 5. Uruchom zadanie mxm_smp.ll i sprawdź wynik czasowy 84

85 Sesja hands-on: kompilacja i optymalizacja (5/6) Kompilacja programów MPI 1. Wejdź do katalogu cannon/ 2. Wykonaj kompilację programu cannon.c stosując kompilator mpixlc_r oraz następujące flagi: -O5 qtune=450 qarch=450 o cannon 3. Wstaw zadanie cannon.ll do kolejki. Sprawdź czas wykonania w pliku wynikowym. 85

86 Sesja hands-on: kompilacja i optymalizacja (6/6) Kompilacja programów hybrydowych MPI & OpenMP 1. Wejdź do katalogu cannon_hybrid/ 2. Wykonaj kompilację programu cannon_hybrid.c stosując kompilator mpixlc_r oraz następujące flagi: -O5 qtune=450 qarch=450 qsmp=omp o cannon 3. Dodaj dodatkową opcję uruchomienia mpirun w skrypcie cannon_hybrid.ll: -env OMP_NUM_THREADS=4 4. Wstaw zadanie cannon_hybrid.ll do kolejki. Sprawdź czas wykonania w pliku wynikowym. 86

87 Agenda O projekcie POWIEW Architektura systemu Notos Środowisko użytkownika systemu Notos Sesja hands-on: uruchamianie aplikacji Kompilatory, biblioteki i optymalizacja oprogramowania Sesja hands-on: kompilacja i optymalizacja Badanie wydajności i debugowanie Sesja hands-on: badanie wydajności i debugowanie Podsumowanie 87

88 Badanie wydajności aplikacji Badanie wydajności aplikacji ma na celu znalezienie sposobów i możliwości optymalizacji. Może się to odbywać na różnych poziomach: Optymalizacje bardzo niskiego poziomu: badanie liczników maszynowych (Universal Performance Counters, Hardware Performance Counters Library) nie będą opisane podczas szkolenia Optymalizacje kosztownych obliczeniowo fragmentów: znajdowanie i badanie najbardziej kosztownych fragmentów aplikacji (Gprof, Vprof) Optymalizacje wydajności równoległej: śledzenie komunikacji MPI (MPI Trace Library) 88

89 Profiling za pomocą GNU Profiler (Gprof) Krok po kroku: Kompilacja z opcjami: -g pg qfullpath Uruchomienie aplikacji Po zakończeniu działania programu w katalogu roboczym znajdować będą się pliki: gmon.out.<mpi Rank> - pliki binarne Ilość plików zależy od zmiennej środowiskowej (albo jeden plik per proces, albo 3 pliki dla najwolniejszego, najszybszego i średniego procesu) Interpretacja wyników za pomocą GNU Profiler-a lub Xprofiler-a Użycie: gprof <Binary> gmon.out.<mpi Rank> > gprof.out.<mpi Rank> Wyniki profilingu nieco ograniczone w porównaniu do ich odpowiedników z innych systemów: nazwy funkcji i ich ciężar, ilość odwołań 89

90 Profiling za pomocą Visual Profiler (VProf) Konkurencyjne narzędzie, które różni się od Gprof-a sposobem użycia oraz prezentacji wyników. Krok po kroku: Rekompilacja nie jest wymagana Wymagane jest wykonanie kroku linkowania z IBM MPI Trace Library Należy ustawić zmienną środowiskową: VPROF_PROFILE=yes Po zakończeniu działania programu w katalogu roboczym znajdować będą się pliki: vmon.out.<mpi Rank> - pliki binarne, jeden plik per proces Interpretacja wyników profilingu za pomocą cprof Użycie: cprof -e <Binary> vmon.out.<mpi Rank> Lokalizacja: /opt/prof 90

91 Profiling za pomocą Visual Profiler (VProf) cprof [options] executable [vmon_file...] -d, --directory dir Search dir for source files -D, --recursive-directory dir Search dir recursively for source files -e, --everything Show all information -a, --annotate file Annotate file -n, --number Show number of samples (not %) -s, --show thres Set threshold for showing aggregate data -H, --html dir Output HTML into directory dir 91

92 Śledzenie komunikacji MPI biblioteka IBM MPI Trace Realizowane zadania: Zbieranie informacji o wszystkich wywołaniach MPI Wykonywanie pomiarów czasu spędzonego w funkcjach MPI Gromadzenie informacji o drzewie wywołań funkcji komunikacji Sposób wykorzystania: Linkowanie aplikacji z biblioteką: /opt/mpitrace/libmpitrace.a Uruchomienie programu (ustawienia poprzez zmienne środowiskowe następny slajd) Analizowanie wyników pliki tekstowe: mpi.profile.<process ID>.<MPI Task #> events.trc hpmdata.x_y_z.<process ID> 92

93 Śledzenie komunikacji MPI biblioteka IBM MPI Trace Nazwa zmiennej Wartość Przeznaczenie PROFILE_BY_CALL_SITE {no yes} Wygeneruj drzewo wywołań funkcji komunikacji. SAVE_ALL_TASKS {no yes} Zapamiętaj pliki śladu dla wszystkich procesów MPI. Domyślnie zapamiętywane są tylko 3: minimalny/średni/maksymalny TRACE_ALL_EVENTS {no yes} Śledź wszystkie funkcje MPI. W przeciwnym wypadku śledzone są tylko funkcje wskazane przez użytkownika poprzez odpowiednie API. TRACE_DIR <Katalog> Katalog, w którym znaleźć mają się wszystkie pliki wynikowe. TRACE_MAX_RANK <RankID> Śledź procesy MPI o numerach od 0 do <RankID> TRACE_SEND_PATTERN {no yes} Zbuduj macierz komunikacji. 93

94 Śledzenie komunikacji MPI biblioteka IBM MPI Trace 94

95 Debugowanie aplikacji Konstrukcja środowiska obliczeniowego i uruchomieniowego utrudnia prowadzenie interaktywnych sesji debugowania Rozwiązanie 1: kompilacja, uruchomienie i debugowanie na węźle dostępowym Rozwiązanie 2: użycie serwera i klienta GNU GDB brak wsparcia na Notosie Rozwiązanie 3: użyć komercyjnego rozwiązania (np. Totalview) niedostępne na Notosie Rozwiązanie 4: analizowanie plików core 95

96 Pliki core Generowanie plików core (core file, core dump) zapis aktualnego stanu programu z pamięci do pliku Domyślne standardowe pliki core na Blue Gene/P są bardzo lekkimi plikami tekstowymi ze względu na wydajność Istnieje możliwość generowania binarnych plików core, poprzez ustawienie zmiennej: BG_COREDUMP_BINARY = <MPI Rank> Binarne pliki core mogą być używane w GDB 96

97 Pliki core - obsługa Sterowanie mechanizmem za pomocą zmiennych środowiskowych: BG_COREDUMPONEXIT Tworzy pliki core, gdy program kończy pracę Przydatne gdy program zakończył działanie (np. wywołując exit()), ale trudno ustalić w jakim dokładnie miejscu BG_COREDUMPONERROR Tworzy pliki core, gdy aplikacja zakończy się zwracając niezerowy kod wyjścia Przydatne gdy program zakończył działanie Kompilacja z opcją -g znacznie pomaga w późniejszym interpretowaniu adresów. 97

98 addr2line - opis addr2line wyznacza linię w źródłach programu, która odpowiada danemu adresowi Jest to standardowa komenda Linux-a: Dostępność: /bgsys/drivers/ppcfloor/gnu-linux/bin/powerpc-bgp-linux-addr2line Użycie: addr2line e <plik binarny> <adres heksadecymalny> 98

99 Sposoby pracy z plikami core addr2line 1. Czytamy plik core i sprawdzamy kolejne adresy na stosie 2. Sprawdzamy za pomocą polecenia addr2line kolejno aktualne miejsca w kodzie 3. Niezbędna opcja -g 99

100 Sposoby pracy z plikami core Core Processor Core Processor to bardzo prosty równoległy debugger, który pozwala na: Przetwarzanie plików core Podłączenie do działającego zadania Tylko wersja graficzna (logowanie poprzez ssh Y) 100

101 Sposoby pracy z plikami core Core Processor Wywołanie: /bgsys/drivers/ppcfloor/tools/coreprocessor/coreprocessor.pl Opcje startowe: 2 opcje: -a <Block ID> - podłączenie do istniejącego bloku -c <Core Files Directory> - wczytaj pliki core z podanej ścieżki -b <Binary> - określa plik binarny, którego ma dotyczyć praca Wczytanie plików core File >> Load Core Monitorowanie uruchomionych zadań File >> Attach to Block 101

102 Agenda O projekcie POWIEW Architektura systemu Notos Środowisko użytkownika systemu Notos Sesja hands-on: uruchamianie aplikacji Kompilatory, biblioteki i optymalizacja oprogramowania Sesja hands-on: kompilacja i optymalizacja Badanie wydajności i debugowanie Sesja hands-on: badanie wydajności i debugowanie Podsumowanie 102

103 Hands-on: badanie wydajności i debugowanie (1/4) Profiling za pomocą Gprof 1. Wejdź do katalogu prof/ 2. Skompiluj program cannon.c za pomocą kompilatora mpixlc_r oraz następujących opcji: -O2 qtune=450 qarch=450 g pg qfullpath o cannon 3. Uruchom zadanie: llsubmit cannon.ll 4. Wykonaj np.: gprof gmon.out.100 > gprof.out Obejrzyj wynik analizy Gprof-a 103

104 Hands-on: badanie wydajności i debugowanie (2/4) Profiling za pomocą VProf 1. Wejdź do katalogu prof/ 2. Usuń wygenerowane wcześniej pliki profilingu Gprof 3. Skompiluj program cannon.c za pomocą kompilatora mpicc oraz następujących opcji: -O2 g o cannon cannon.c L/opt/mpitrace lmpitrace lgfortranbegin lgfortran lm (Uwaga: ważna kolejność) 3. Dodaj zmienną środowiskową VPROF_PROFILE=yes do środowiska obliczeń 4. Uruchom zadanie: llsubmit cannon.ll 5. Wykonaj cprof e cannon vmon.out.115 > cprof.out Uwaga: kompilacja kodów w C oraz C++ tylko za pomocą kompilatorów w wersji GNU (mpicc lub mpicxx) 104

105 Hands-on: badanie wydajności i debugowanie (3/4) Śledzenie wywołań MPI - MPItrace 1. Wejdź do katalogu prof/ 2. Skompiluj program cannon.c za pomocą kompilatora mpicc oraz następujących opcji: -O2 g o cannon cannon.c L/opt/mpitrace lmpitrace lgfortranbegin lgfortran lm (Uwaga: ważna kolejność) 3. Dodaj do wykonania mpirun w skrypcie cannon.ll różne zmienne środowiskowe z tabeli (m.in. env SAVE_ALL_TASKS=yes oraz env TRACE_ALL_EVENTS=yes ) 4. Uruchom zadanie: llsubmit cannon.ll 5. Obejrzyj zawartość plików mpi_profile.* 6. Możesz obejrzeć plik śladu events.trc za pomocą programu Traceview: /opt/traceview/traceview.x events.trc 105

106 Hands-on: badanie wydajności i debugowanie (4/4) Debugowanie programów 1. Wejdź do katalogu debug/ 2. Skompiluj program deadlock.c za pomocą kompilatora mpixlc_r oraz następujących opcji: -O2 qtune=450 qarch=450 g o deadlock 3. Dodaj do wykonania mpirun w skrypcie deadlock.ll opcję: -env "BG_COREDUMPONEXIT=1" 4. Uruchom zadanie: llsubmit deadlock.ll 5. Zadanie po uruchomieniu wejdzie w stan impasu (z ang. deadlock) 6. Usuń zadanie za pomocą komendy: llcancel JOBID 7. Otwórz dowolny plik core.n i przejdź na jego koniec 8. Wykonuj polecenia: addr2line e deadlock 0x

107 Agenda O projekcie POWIEW Architektura systemu Notos Środowisko użytkownika systemu Notos Sesja hands-on: uruchamianie aplikacji Kompilatory, biblioteki i optymalizacja oprogramowania Sesja hands-on: kompilacja i optymalizacja Badanie wydajności i debugowanie Sesja hands-on: badanie wydajności i debugowanie Podsumowanie 107

108 Obliczenia w wielkiej skali projekt Partnership for Advanced Computing in Europe Strona projektu: Największy komputer Europy: Jugene 72 szafy Blue Gene/P Otwarte konkursy na granty obliczeniowe oraz tzw. preparatory access 3 rodzaje preparatory access (A,B,C) Wspólne grupy robocze złożone z programistów PRACE oraz naukowców w projektach typu C 108

109 Więcej informacji Pytania i problemy: Biuletyn HPC: 109

110 Dziękujemy za uwagę Pytania? 110

Wprowadzenie do obliczeń na komputerach ICM

Wprowadzenie do obliczeń na komputerach ICM 2013-02-20 Dobre praktyki obliczeń wielkoskalowych 1 Wprowadzenie do obliczeń na komputerach ICM Interdyscyplinarne Centrum Modelowania Matematycznego i Komputerowego Uniwersytet Warszawski http://www.icm.edu.pl

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Wprowadzenie do obliczeń na komputerach ICM

Wprowadzenie do obliczeń na komputerach ICM 2012-10-3 Dobre praktyki obliczeń wielkoskalowych 1 Wprowadzenie do obliczeń na komputerach ICM Interdyscyplinarne Centrum Modelowania Matematycznego i Komputerowego Uniwersytet Warszawski http://www.icm.edu.pl

Bardziej szczegółowo

Program Obliczeń Wielkich Wyzwań Nauki i Techniki (POWIEW)

Program Obliczeń Wielkich Wyzwań Nauki i Techniki (POWIEW) Program Obliczeń Wielkich Wyzwań Nauki i Techniki (POWIEW) Maciej Cytowski, Maciej Filocha, Maciej E. Marchwiany, Maciej Szpindler Interdyscyplinarne Centrum Modelowania Matematycznego i Komputerowego

Bardziej szczegółowo

Efektywne wykorzystanie klastra Zeus w obliczeniach naukowych

Efektywne wykorzystanie klastra Zeus w obliczeniach naukowych Efektywne wykorzystanie klastra Zeus w obliczeniach naukowych Maciej Czuchry, Klemens Noga ACK Cyfronet AGH ACK Cyfronet AGH, 23 marca 2015 Plan szkolenia Rejestracja Dostęp do klastra Przeprowadzanie

Bardziej szczegółowo

Nowoczesne technologie przetwarzania informacji

Nowoczesne technologie przetwarzania informacji Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Działanie 2.3: Inwestycje związane z rozwojem infrastruktury informatycznej nauki

Działanie 2.3: Inwestycje związane z rozwojem infrastruktury informatycznej nauki Program Obliczeń Wielkich Wyzwań Nauki i Techniki POWIEW Marek Niezgódka, Maciej Filocha ICM, Uniwersytet Warszawski Konferencja Nauka idzie w biznes, Warszawa, 7.11.2012 1 Informacje ogólne Działanie

Bardziej szczegółowo

WST P DO PROGRAMOWANIA RÓWNOLEGŠEGO 1. KLASTER

WST P DO PROGRAMOWANIA RÓWNOLEGŠEGO 1. KLASTER WST P DO PROGRAMOWANIA RÓWNOLEGŠEGO 1. KLASTER Klaster jest zespoªem pewnej liczby samodzielnych komputerów (procesorów). Ka»dy z nich posiada swoj pami wewn trzn do jego prywatnego u»ytku. Procesory pogrupowane

Bardziej szczegółowo

Podstawy systemu kolejkowego SLURM

Podstawy systemu kolejkowego SLURM Podstawy systemu kolejkowego SLURM Uniwersytet Warszawski Matematycznego i Komputerowego http:// Marcin Stolarek m.stolarek@icm.edu.pl Maciej Szpindler m.szpindler@icm.edu.pl Plan szkolenia Organizacja

Bardziej szczegółowo

Skrócony Poradnik Użytkownika

Skrócony Poradnik Użytkownika Skrócony Poradnik Użytkownika Opracowano na podstawie zawartości bazy wiedzy Grida GRAFEN, dostępnej pod adresem http://info.grafen.ippt.gov.pl oraz materiałów dostarczonych przez firmę WASKO, wykonawcę

Bardziej szczegółowo

Wykorzystanie klastra Wydziału Informatyki PB do prowadzenia własnych obliczeń. Wojciech Kwedlo Wydział Informatyki PB wkwedlo@ii.pb.bialystok.

Wykorzystanie klastra Wydziału Informatyki PB do prowadzenia własnych obliczeń. Wojciech Kwedlo Wydział Informatyki PB wkwedlo@ii.pb.bialystok. Wykorzystanie klastra Wydziału Informatyki PB do prowadzenia własnych obliczeń Wojciech Kwedlo Wydział Informatyki PB wkwedlo@ii.pb.bialystok.pl Cele prezentacji Zapoznanie potencjalnych użytkowników z

Bardziej szczegółowo

Wprowadzenie do obsługi systemów obliczeniowych PCSS

Wprowadzenie do obsługi systemów obliczeniowych PCSS Wprowadzenie do obsługi systemów obliczeniowych PCSS Marcin Pospieszny Poznańskie Centrum Superkomputerowo-Sieciowe 17 listopada 2011 Plan prezentacji 1 Architektura maszyn 2 Linux: podstawy 3 PBS 4 Aplikacje

Bardziej szczegółowo

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja 7 Windows Serwer 2003 Instalacja Łódź, styczeń 2012r. SPIS TREŚCI Strona Wstęp... 3 INSTALOWANIE SYSTEMU WINDOWS SERWER 2003 Przygotowanie instalacji serwera..4 1.1. Minimalne wymagania sprzętowe......4

Bardziej szczegółowo

Klaster obliczeniowy

Klaster obliczeniowy Warsztaty promocyjne Usług kampusowych PLATON U3 Klaster obliczeniowy czerwiec 2012 Przemysław Trzeciak Centrum Komputerowe Politechniki Łódzkiej Agenda (czas: 20min) 1) Infrastruktura sprzętowa wykorzystana

Bardziej szczegółowo

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego Cel ćwiczenia: Celem zajęć jest zdobycie doświadczenia i umiejętności instalacji systemu operacyjnego z rodziny Unix bez wykorzystania

Bardziej szczegółowo

Usługi i narzędzia QCG

Usługi i narzędzia QCG Usługi i narzędzia QCG wygodny dostęp dla użytkowników do infrastruktury komputerów dużej mocy Tomasz Piontek, Bartosz Bosak, Piotr Kopta, Maciej Tronowski, Krzysztof Kurowski Poznańskie Centrum Superkomputerowo

Bardziej szczegółowo

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu

CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu CUDA Median Filter filtr medianowy wykorzystujący bibliotekę CUDA sprawozdanie z projektu inż. Daniel Solarz Wydział Fizyki i Informatyki Stosowanej AGH 1. Cel projektu. Celem projektu było napisanie wtyczki

Bardziej szczegółowo

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak Systemy operacyjne System operacyjny Linux - wstęp Anna Wojak 1 1 Wstęp Linux jest systemem z rodziny Unix. Pierwsza wersja systemu została opracowana w 1969 roku przez K.Thompsona i D.Ritchie Jest to

Bardziej szczegółowo

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII Spis treści Od autora..................................................... Obliczenia inżynierskie i naukowe.................................. X XII Ostrzeżenia...................................................XVII

Bardziej szczegółowo

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Motywacja - memory wall Krzysztof Banaś, Obliczenia wysokiej wydajności. 2 Organizacja pamięci Organizacja pamięci:

Bardziej szczegółowo

Programowanie procesorów graficznych GPGPU

Programowanie procesorów graficznych GPGPU Programowanie procesorów graficznych GPGPU 1 GPGPU Historia: lata 80 te popularyzacja systemów i programów z graficznym interfejsem specjalistyczne układy do przetwarzania grafiki 2D lata 90 te standaryzacja

Bardziej szczegółowo

Serwer SAMBA UDOSTĘPNIANIE UDZIAŁÓW SIECIOWYCH PIOTR KANIA

Serwer SAMBA UDOSTĘPNIANIE UDZIAŁÓW SIECIOWYCH PIOTR KANIA 2015 Serwer SAMBA UDOSTĘPNIANIE UDZIAŁÓW SIECIOWYCH PIOTR KANIA Spis treści. Spis treści. 1 Wprowadzenie. 2 Instalacja / deinstalacja serwera Samby w OpenSuse. 2 Usługi Samby / porty nasłuchu. 2 Zarządzanie

Bardziej szczegółowo

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS

Bardziej szczegółowo

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem

Bardziej szczegółowo

Bartosz Bosak Piotr Kopta Tomasz Piontek

Bartosz Bosak Piotr Kopta Tomasz Piontek Dostęp do infrastruktury PL-Grid z wykorzystaniem usług i narzędzi QosCosGrid oraz gridu dziedzinowego Chamia Kwantowa Bartosz Bosak Piotr Kopta Tomasz Piontek Agenda Wstęp Specyfikacja zasobów Zadania

Bardziej szczegółowo

Sterowany jakością dostęp do usług składowania danych dla e-nauki

Sterowany jakością dostęp do usług składowania danych dla e-nauki Sterowany jakością dostęp do usług składowania danych dla e-nauki Renata Słota 1,2, Darin Nikolow 1,2, Marek Pogoda 1, Stanisław Polak 2 and Jacek Kitowski 1,2 1 Akademickie Centrum Komputerowe Cyfronet

Bardziej szczegółowo

https://portal.clusterix.pl:8443 trainxx tramxx

https://portal.clusterix.pl:8443 trainxx tramxx Logowanie 1. Otworzyć w oknie przeglądarki adres: https://portal.clusterix.pl:8443 2. Zalogować się używając konta, użytkownik: trainxx, hasło: tramxx Delegacja certyfikatu proxy 1. Zalogować poprzez ssh

Bardziej szczegółowo

Uruchamianie zadań w środowisku CLUSTERIX z wykorzystaniem klienta tekstowego systemu GRMS

Uruchamianie zadań w środowisku CLUSTERIX z wykorzystaniem klienta tekstowego systemu GRMS Uruchamianie zadań w środowisku CLUSTERIX z wykorzystaniem klienta tekstowego systemu GRMS Logowanie 1. Logujemy się poprzez ssh na serwer dostępowy na konto studentxx, które zostało przydzielone w użytkownikowi

Bardziej szczegółowo

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra.

Wprowadzenie. Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra. N Wprowadzenie Co to jest klaster? Podział ze względu na przeznaczenie. Architektury klastrów. Cechy dobrego klastra. Wprowadzenie (podział ze względu na przeznaczenie) Wysokiej dostępności 1)backup głównego

Bardziej szczegółowo

Q E M U. http://www.qemu.com/

Q E M U. http://www.qemu.com/ http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama

Bardziej szczegółowo

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo

Zasoby i usługi Wrocławskiego Centrum Sieciowo-Superkomputerowego

Zasoby i usługi Wrocławskiego Centrum Sieciowo-Superkomputerowego Zasoby i usługi Wrocławskiego Centrum Sieciowo-Superkomputerowego Mateusz Tykierko WCSS 20 stycznia 2012 Mateusz Tykierko (WCSS) 20 stycznia 2012 1 / 16 Supernova moc obliczeniowa: 67,54 TFLOPS liczba

Bardziej szczegółowo

(Pluggable Authentication Modules). Wyjaśnienie technologii.

(Pluggable Authentication Modules). Wyjaśnienie technologii. Bezpieczeństwo systemów komputerowych. Temat seminarium: Moduły PAM (Pluggable Authentication Modules). Wyjaśnienie technologii Autor: Bartosz Hetmański Moduły PAM (Pluggable Authentication Modules). Wyjaśnienie

Bardziej szczegółowo

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci

Bardziej szczegółowo

Wprowadzenie do użytkowania infrastruktury PL Grid. Bartosz Bosak Piotr Kopta Tomasz Piontek

Wprowadzenie do użytkowania infrastruktury PL Grid. Bartosz Bosak Piotr Kopta Tomasz Piontek Wprowadzenie do użytkowania infrastruktury PL Grid Bartosz Bosak Piotr Kopta Tomasz Piontek Agenda WSTĘP (PL-GRID) Konsorcjum PL-Grid Centrum Informatyczne Trójmiejskiej Akademickiej Sieci Komputerowej

Bardziej szczegółowo

GRMS System Zarządzania Zadaniami Interfejs użytkownika systemu GRMS wprowadzenie. Bogdan Ludwiczak bogdanl@man.poznan.pl

GRMS System Zarządzania Zadaniami Interfejs użytkownika systemu GRMS wprowadzenie. Bogdan Ludwiczak bogdanl@man.poznan.pl GRMS System Zarządzania Zadaniami Interfejs użytkownika systemu GRMS wprowadzenie Bogdan Ludwiczak bogdanl@man.poznan.pl GRMS co to jest / do czego to służy? GRMS jest systemem szeregowania zadań dla dużych,

Bardziej szczegółowo

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci UNIX: architektura i implementacja mechanizmów bezpieczeństwa Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci Plan prezentacji: Wprowadzenie do struktury systemów rodziny UNIX

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Nowy model subskrypcji, dobór produktów Red Hat i JBoss. Grzegorz Niezgoda

Nowy model subskrypcji, dobór produktów Red Hat i JBoss. Grzegorz Niezgoda Nowy model subskrypcji, dobór produktów Red Hat i JBoss Grzegorz Niezgoda AGENDA: RHEL Nowy RHEL Server Wersje i edycje Zasady wykorzystania w środowisku wirtualnym Moduły dodatkowe Wersje specjalne JBoss

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Zarządzanie farmami serwerów Linux

Zarządzanie farmami serwerów Linux Zarządzanie farmami serwerów Linux PLNOG Conference 2010 Piotr Siwczak Administrator Systemów Allegro.pl Grupa Allegro ---Farmy serwerów Strategia zarządzania farmami Farmy serwerów w Allegro ---Pytania

Bardziej szczegółowo

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32 INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32 Spis Treści 1. Wymagania... 2 1.1. Wymagania przy korzystaniu z klucza sieciowego... 2 1.2. Wymagania przy uruchamianiu programu przez internet... 2 2.

Bardziej szczegółowo

Pracownia internetowa w szkole ZASTOSOWANIA

Pracownia internetowa w szkole ZASTOSOWANIA NR ART/SBS/07/01 Pracownia internetowa w szkole ZASTOSOWANIA Artykuły - serwery SBS i ich wykorzystanie Instalacja i Konfiguracja oprogramowania MOL Optiva na szkolnym serwerze (SBS2000) Artykuł opisuje

Bardziej szczegółowo

Warsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5.

Warsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5. Warsztaty szkoleniowe Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5 Plan prezentacji 1. 2. 3. Przegląd narzędzi programistycznych wykorzystywanych

Bardziej szczegółowo

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci WYMAGANIA EDUKACYJNE PRZEDMIOT: Administracja sieciowymi systemami operacyjnymi NUMER PROGRAMU NAUCZANIA (ZAKRES): 351203 1. Lp Dział programu Sieci komputerowe Poziomy wymagań Konieczny K Podstawowy-

Bardziej szczegółowo

Serwer główny bazodanowy. Maksymalnie 1U RACK 19 cali (wraz ze wszystkimi elementami niezbędnymi do zamontowania serwera w oferowanej szafie)

Serwer główny bazodanowy. Maksymalnie 1U RACK 19 cali (wraz ze wszystkimi elementami niezbędnymi do zamontowania serwera w oferowanej szafie) 1. SPECYFIKACJA TECHNICZNA SERWERÓW Serwer główny bazodanowy Element konfiguracji Obudowa Procesor Wymagania minimalne Maksymalnie 1U RACK 19 cali (wraz ze wszystkimi elementami niezbędnymi do zamontowania

Bardziej szczegółowo

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego 2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego produktu. 23 czerwca 2014 Spis treści 3 Spis treści...5

Bardziej szczegółowo

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics wersji 20 przy użyciu licencja sieciowa. Ten dokument

Bardziej szczegółowo

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer; 14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi

Bardziej szczegółowo

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4 ICD 2 Czym jest In-Circuit Debugger? 2 O poradniku 3 Gdzie szukać dodatkowych informacji? 4 ICD 1 ICD 25.08.2009 Czym jest In-Circuit Debugger? Większość procesorów dostarcza systemów debugowania (ang.

Bardziej szczegółowo

1.Wstęp. 2.Generowanie systemu w EDK

1.Wstęp. 2.Generowanie systemu w EDK 1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).

Bardziej szczegółowo

Praca w sieci równorzędnej

Praca w sieci równorzędnej Praca w sieci równorzędnej 1. Architektura sieci równorzędnej i klient-serwer Serwer - komputer, który udostępnia zasoby lub usługi. Klient komputer lub urządzenie korzystające z udostępnionych przez serwer

Bardziej szczegółowo

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po

Bardziej szczegółowo

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1

1 Implementowanie i konfigurowanie infrastruktury wdraŝania systemu Windows... 1 Spis treści Wstęp... xi Wymagania sprzętowe (Virtual PC)... xi Wymagania sprzętowe (fizyczne)... xii Wymagania programowe... xiii Instrukcje instalowania ćwiczeń... xiii Faza 1: Tworzenie maszyn wirtualnych...

Bardziej szczegółowo

Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania

Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania Archiwizacja baz MSSQL /BKP_SQL/ opis oprogramowania Kraków 2010 Przeznaczenie programu. Program BKP_SQL powstał z myślą ułatwienia procesy archiwizacji baz danych MSSQL. Program umożliwia seryjne wykonanie

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR

Programowanie mikrokontrolerów AVR Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 13 Jan Kazimirski 1 KOMPUTERY RÓWNOLEGŁE 2 Klasyfikacja systemów komputerowych SISD Single Instruction, Single Data stream SIMD Single Instruction, Multiple Data stream MISD

Bardziej szczegółowo

Usługi sieciowe systemu Linux

Usługi sieciowe systemu Linux Usługi sieciowe systemu Linux 1. Serwer WWW Najpopularniejszym serwerem WWW jest Apache, dostępny dla wielu platform i rozprowadzany w pakietach httpd. Serwer Apache bardzo często jest wykorzystywany do

Bardziej szczegółowo

Wsparcie dla OpenMP w kompilatorze GNU GCC Krzysztof Lamorski Katedra Informatyki, PWSZ Chełm

Wsparcie dla OpenMP w kompilatorze GNU GCC Krzysztof Lamorski Katedra Informatyki, PWSZ Chełm Wsparcie dla OpenMP w kompilatorze GNU GCC Krzysztof Lamorski Katedra Informatyki, PWSZ Chełm Streszczenie Tematem pracy jest standard OpenMP pozwalający na programowanie współbieŝne w systemach komputerowych

Bardziej szczegółowo

High Performance Computers in Cyfronet. Andrzej Oziębło Zakopane, marzec 2009

High Performance Computers in Cyfronet. Andrzej Oziębło Zakopane, marzec 2009 High Performance Computers in Cyfronet Andrzej Oziębło Zakopane, marzec 2009 Plan Podział komputerów dużej mocy Podstawowe informacje użytkowe Opis poszczególnych komputerów Systemy składowania danych

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Instalacja sterownika portu USB

Instalacja sterownika portu USB Instrukcja instalacji modemu TechLab ED77 w systemie Mac OS X. Instalacja modemu podzielona jest na cztery etapy: instalacja sterownika portu USB, instalacja skryptu modemu, konfiguracja modemu, konfiguracja

Bardziej szczegółowo

Tworzenie i obsługa wirtualnego laboratorium komputerowego

Tworzenie i obsługa wirtualnego laboratorium komputerowego Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ochociński nr albumu: 236401 Praca magisterska na kierunku informatyka stosowana Tworzenie i obsługa wirtualnego

Bardziej szczegółowo

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych Krzysztof Banaś Obliczenia równoległe 1 Tworzenie programów równoległych W procesie tworzenia programów równoległych istnieją dwa kroki o zasadniczym znaczeniu: wykrycie

Bardziej szczegółowo

Konsolidacja wysokowydajnych systemów IT. Macierze IBM DS8870 Serwery IBM Power Przykładowe wdrożenia

Konsolidacja wysokowydajnych systemów IT. Macierze IBM DS8870 Serwery IBM Power Przykładowe wdrożenia Konsolidacja wysokowydajnych systemów IT Macierze IBM DS8870 Serwery IBM Power Przykładowe wdrożenia Mirosław Pura Sławomir Rysak Senior IT Specialist Client Technical Architect Agenda Współczesne wyzwania:

Bardziej szczegółowo

dziennik Instrukcja obsługi

dziennik Instrukcja obsługi Ham Radio Deluxe dziennik Instrukcja obsługi Wg. Simon Brown, HB9DRV Tłumaczenie SP4JEU grudzień 22, 2008 Zawartość 3 Wprowadzenie 5 Po co... 5 Główne cechy... 5 baza danych 7 ODBC... 7 Który produkt

Bardziej szczegółowo

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz

Bardziej szczegółowo

Architektura i mechanizmy systemu

Architektura i mechanizmy systemu Architektura i mechanizmy systemu Warsztaty Usługa powszechnej archiwizacji Michał Jankowski, PCSS Maciej Brzeźniak, PCSS Plan prezentacji Podstawowe wymagania użytkowników - cel => Funkcjonalnośd i cechy

Bardziej szczegółowo

Migracja obliczeń na system Hydra

Migracja obliczeń na system Hydra Migracja obliczeń na system Hydra Uniwersytet Warszawski Matematycznego i Komputerowego http:// Maciej E. Marchwiany m.marchwiany@icm.edu.pl Maciej Szpindler m.szpindler@icm.edu.pl Plan szkolenia Organizacja

Bardziej szczegółowo

Kurs Podstawowy S7. Spis treści. Dzień 1

Kurs Podstawowy S7. Spis treści. Dzień 1 Spis treści Dzień 1 I System SIMATIC S7 - wprowadzenie (wersja 1401) I-3 Rodzina sterowników programowalnych SIMATIC S7 firmy SIEMENS I-4 Dostępne moduły i ich funkcje I-5 Jednostki centralne I-6 Podstawowe

Bardziej szczegółowo

Sposoby wykrywania i usuwania błędów. Tomasz Borzyszkowski

Sposoby wykrywania i usuwania błędów. Tomasz Borzyszkowski Sposoby wykrywania i usuwania błędów Tomasz Borzyszkowski Mylić się jest rzeczą ludzką Typy błędów: błędy specyfikacji: źle określone wymagania błędy projektowe: nieodpowiednie struktury danych i algorytmy

Bardziej szczegółowo

SQL Server Analysis Services Procedury składowane. Grzegorz Stolecki

SQL Server Analysis Services Procedury składowane. Grzegorz Stolecki Media Partners SQL Server Analysis Services Procedury składowane Grzegorz Stolecki O mnie Konsultant w JCommerce S.A. Trener w Centrum Szkoleniowym COMARCH S.A. Freelancer Gun for Hire ;-) Microsoft MVP

Bardziej szczegółowo

Instalacja aplikacji

Instalacja aplikacji 1 Instalacja aplikacji SERTUM... 2 1.1 Pobranie programu z Internetu... 2 1.2 Instalacja programu... 2 1.3 Logowanie... 3 2 Instalacja aplikacji RaportNet... 4 2.1 Pobranie programu z Internetu... 4 2.2

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo

NETBEANS PROFILER TOMASZ ŁUKASZUK

NETBEANS PROFILER TOMASZ ŁUKASZUK NETBEANS PROFILER TOMASZ ŁUKASZUK STRESZCZENIE: Dokument zawiera podstawowe informacje dotyczące programu NetBeans Profiler. Stanowi uproszczoną instrukcję jego używania. Dotyczy NetBeans Profiler w wersji

Bardziej szczegółowo

Petabajtowe systemy przechowywania danych dla dostawców treści

Petabajtowe systemy przechowywania danych dla dostawców treści Petabajtowe systemy przechowywania danych dla dostawców treści Krzysztof Góźdź, HP 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Rafał

Bardziej szczegółowo

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS System Operacyjny DOS DOS (ang. Disc Operating System) jest to 16-bitowy jednozadaniowy system operacyjny. Głównym zadaniem systemu jest obsługa plików w systemie FAT (ang. File Allocation Table) i wsparcie

Bardziej szczegółowo

William R. Stanek. Vademecum Administratora 2012 R2. Windows Server. Podstawy i konfiguracja. Przekład: Leszek Biolik

William R. Stanek. Vademecum Administratora 2012 R2. Windows Server. Podstawy i konfiguracja. Przekład: Leszek Biolik William R. Stanek Vademecum Administratora Windows Server 2012 R2 Podstawy i konfiguracja Przekład: Leszek Biolik APN Promise, Warszawa 2014 Spis treści Wprowadzenie....................................

Bardziej szczegółowo

Monitorowanie wydajność w bazie Oracle11g

Monitorowanie wydajność w bazie Oracle11g Monitorowanie wydajność w bazie Oracle11g Wstęp Monitorowanie wydajności bazy danych, a także aplikowanie aktualizacji to jedne z ważniejszych zadań administratora bazy danych. Wpływ na wydajność może

Bardziej szczegółowo

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0. Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2 Instrukcja tworzenia bazy danych dla programu AUTOSAT 3 wersja 0.0.4 2z12 1. Wymagania systemowe. Przed rozpoczęciem instalacji

Bardziej szczegółowo

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA

OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA OPIS TECHNICZNY PRZEDMIOTU ZAMÓWIENIA Załącznik nr 4 do SIWZ/ załącznik do umowy Przedmiotem zamówienia jest dostawa 2 serwerów, licencji oprogramowania wirtualizacyjnego wraz z konsolą zarządzającą oraz

Bardziej szczegółowo

Tango-RedPitaya. Tango device server for RedPitaya multi-instrument board. Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015

Tango-RedPitaya. Tango device server for RedPitaya multi-instrument board. Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015 Tango-RedPitaya Tango device server for RedPitaya multi-instrument board Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015 Streszczenie Tango-RedPitaya jest serwerem urządzeń Tango sterującym płytką

Bardziej szczegółowo

Wykład 6. Mikrokontrolery z rdzeniem ARM

Wykład 6. Mikrokontrolery z rdzeniem ARM Wykład 6 Mikrokontrolery z rdzeniem ARM Plan wykładu Cortex-A9 c.d. Mikrokontrolery firmy ST Mikrokontrolery firmy NXP Mikrokontrolery firmy AnalogDevices Mikrokontrolery firmy Freescale Mikrokontrolery

Bardziej szczegółowo

Przegląd dostępnych hypervisorów. Jakub Wojtasz IT Solutions Architect jwojtasz@atom-tech.pl

Przegląd dostępnych hypervisorów. Jakub Wojtasz IT Solutions Architect jwojtasz@atom-tech.pl Przegląd dostępnych hypervisorów Jakub Wojtasz IT Solutions Architect jwojtasz@atom-tech.pl Agenda Podział hypervisorów Architektura wybranych rozwiązań Najwięksi gracze na rynku Podział hypervisorów Hypervisor

Bardziej szczegółowo

Dziękujemy Państwu za okazane zainteresowanie produktem DB.IntraSTAT.

Dziękujemy Państwu za okazane zainteresowanie produktem DB.IntraSTAT. DB.net soft ul. Południowa 25, 71-001 Szczecin NIP: 852-114-91-86 REGON: 811102448 Tytuł DB.IntraSTAT instalacja wersji 1.0 Autor Maciej Kujawa Wersja 1.00.0xxx Nazwa pliku DB.IntraSTAT - instrukcja instalacji

Bardziej szczegółowo

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Wrocław 2006 INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl INTERNETOWE BAZY DANYCH PLAN NA DZIŚ : Cookies Sesje Inne możliwości

Bardziej szczegółowo

Sieciowa instalacja Sekafi 3 SQL

Sieciowa instalacja Sekafi 3 SQL Sieciowa instalacja Sekafi 3 SQL Niniejsza instrukcja opisuje instalację Sekafi 3 SQL w wersji sieciowej, z zewnętrznym serwerem bazy danych. Jeśli wymagana jest praca jednostanowiskowa, należy postępować

Bardziej szczegółowo

Wprowadzenie do obsługi systemu IOS na przykładzie Routera Tryby poleceń Użytkownika (user mode) Router> Przejście do trybu: Dostępny bezpośrednio po podłączeniu konsoli. Opuszczenie trybu: Polecenia:

Bardziej szczegółowo

Mazowiecki Elektroniczny Wniosek Aplikacyjny

Mazowiecki Elektroniczny Wniosek Aplikacyjny Mazowiecki Elektroniczny Wniosek Aplikacyjny Generator Offline Instrukcja użytkownika Problemy z aplikacją można zgłaszad pod adresem: zgloszenie@mazowia.eu SPIS TREŚCI Zawartość 1 Instalacja Generatora

Bardziej szczegółowo

Uslugi chmurowe dla nauki na podstawie BonFIRE

Uslugi chmurowe dla nauki na podstawie BonFIRE Building service testbeds on FIRE Uslugi chmurowe dla nauki na podstawie BonFIRE Michał Giertych, Bartosz Belter PCSS Agenda Platforma chmurowa BonFIRE Konkursy na nowe pomysły Open Calls Dostęp dla każdego

Bardziej szczegółowo

IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania

IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania Spis treści Rozdział 1. Wprowadzenie do programu IBM SPSS Modeler Social Network Analysis.............. 1 IBM SPSS

Bardziej szczegółowo

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Etapy uruchamiania systemu 010 2 Systemy operacyjne i sieci komputerowe. Część 010. I. Etapy uruchamiania systemu Windows

Bardziej szczegółowo

CVS system kontroli wersji

CVS system kontroli wersji CVS system kontroli wersji Agenda Podstawowe pojęcia Podstawowe polecenia Metody dostępu do repozytorium Konfiguracja i używanie aplikacji klienckich Konflikty i ich rozwiązywanie Dodatkowe możliwości

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe Programowanie niskopoziomowe w systemie operacyjnym oraz poza nim Tworzenie programu zawierającego procedury asemblerowe 1 Programowanie niskopoziomowe w systemie operacyjnym

Bardziej szczegółowo

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux

Uniwersytet Mikołaja Kopernika w Toruniu. Profilowanie ruchu sieciowego w systemie GNU/Linux Uniwersytet Mikołaja Kopernika w Toruniu Wydział Matematyki i Informatyki Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ferliński Nr albumu: 187386 Praca magisterska na kierunku Informatyka

Bardziej szczegółowo