OBLICZENIA RÓWNOLEGŁE I ROZPROSZONE
|
|
- Grażyna Zych
- 6 lat temu
- Przeglądów:
Transkrypt
1 OBLICZENIA RÓWNOLEGŁE I ROZPROSZONE emat 2: Projektowanie algorytmów równoległych - wprowadzenie Prowadzący: dr hab. inż. Zbigniew ARAPAA, prof. WA pok.225, tel.: Zbigniew.arapata@wat.edu.pl tarapata.strefa.pl/p_obliczenia_rownolegle_i_rozproszone/
2 Plan wykładu Algorytmy i systemy równoległe wprowadzenie; Algorytmy i systemy równoległe własności; Algorytmy i systemy równoległe równoległość a współbieżność, równoległość a rozproszoność; Podstawowe pojęcia z teorii obliczeń równoległych graf AGS jako reprezentacja algorytmu równoległego; Podstawowe pojęcia z teorii obliczeń równoległych miary efektywności algorytmu równoległego; Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 2
3 Metody zwiększania efektywności algorytmów - przypomnienie Wyróżniamy dwie zasadnicze metody zwiększania efektywności algorytmów: umiejętne zaprojektowanie algorytmu poprzez stosowanie odpowiednich : - struktur danych (listy, drzewa, kolejki, itp.), - technik projektowania algorytmów (np. dziel i zwyciężaj, zrównoleglanie, derekursywacja, itp.); optymalizacja kodu programu realizującego algorytm (zmniejszanie liczby pętli, zastępowanie operacji arytmetycznych, eliminowanie zmiennych indeksowanych, umieszczanie wartownika na końcu tablicy, przekazywanie parametrów funkcji przez wskaźniki, itp.); Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 3
4 Umiejętne projektowanie algorytmów, przykład 1 - wykorzystanie odpowiednich struktur danych Przykład (sortowanie, n rozmiar tablicy) Nazwa algorytmu Złożoność Uwagi - przez proste wstawianie - bąbelkowe W (n) = (n 2 ) -- działa w miejscu (tzn. tylko stała liczba elementów tablicy jest przechowywana poza tablicą podczas działania algorytmu) -- dla małych tablic przez scalanie W (n) = (n log n) -- nie działa w miejscu -- oparty o technikę dziel i zwyciężaj przez kopcowanie (heapsort) szybkie (quicksort) W (n) = O(n log n) W (n) = (n 2 ) A (n) = (n log n) -- wykorzystywane są kopce binarne -- działa w miejscu -- dla dużych tablic -- oparty o technikę dziel i zwyciężaj Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 4
5 Umiejętne projektowanie algorytmów, przykład 2 - wykorzystanie wielu procesorów = zrównoleglanie Sortowanie bąbelkowe wykorzystując N/2 (=4) procesorów przyspieszamy porównywanie parami elementów tablicy Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 5
6 Umiejętne projektowanie algorytmów, przykład 2, c.d. - wykorzystanie wielu procesorów = zrównoleglanie Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 6
7 Umiejętne projektowanie algorytmów, przykład 2, c.d. - wykorzystanie wielu procesorów = zrównoleglanie WNIOSKI Sekwencyjny algorytm sortowania bąbelkowego tablicy N-elementowej potrzebuje w najgorszym przypadku N 2 czasu. Równoległy algorytm sortowania bąbelkowego tablicy N-elementowej potrzebuje w najgorszym przypadku N czasu (pomijamy aspekty komunikacyjne między procesorami). O(N) Alg. równoległ y Sortowanie bąbelkowe alg. sekwencyjny O(N 2 ) Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 7
8 Algorytmy i systemy równoległe - wprowadzenie CZAS NA BLIŻSZE PRZYJRZENIE SIĘ ALGORYMOM RÓWNOLEGŁYM Używamy wielu procesorów do rozwiązania pojedynczego zadania (ang. task). ISOA: Dzielimy zadanie na mniejsze kawałki ; Wykonujemy obliczenia na wielu procesorach (np. każdy kawałek obliczany jest na oddzielnym procesorze); Koordynujemy zadania cząstkowe i ich wyniki przekazujemy do zadania nadrzędnego (koordynującego). Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 8
9 Zadania Algorytmy i systemy równoległe - wprowadzenie, c.d Procesory Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 9
10 Algorytmy i systemy równoległe wprowadzenie, c.d. - struktura systemu obliczeń równoległych Interfejs sieciowy Pamięć CPU Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 10
11 Algorytmy i systemy równoległe - własności Korzystanie z systemów obliczeń równoległych nie wyprowadza nas poza klasyfikację opartą na złożoności obliczeniowej dla obliczeń sekwencyjnych. Używanie wielu procesorów przyspiesza (czasami ) rozwiązywanie problemów lecz nie zmienia ich przynależności do klasy złożoności obliczeniowej. Jakich korzyści dostarcza zrównoleglenie obliczeń? Mając algorytm działający w czasie O(N logn) i log N procesorów, algorytm równoległy będzie potrzebował co najmniej O(N) czasu. Mając algorytm działający w czasie O(N 3 ) i N procesorów, algorytm równoległy będzie potrzebował co najmniej O(N 2 ) czasu. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 11
12 Algorytmy i systemy równoległe własności Liczba procesorów Liczba procesorów jest ograniczona sprzętowo; Zazwyczaj liczba procesorów jest potęgą 2; Wpływ dodawania nowych procesorów: Program na jednym procesorze Uruchamia się w czasie X; Dodając dodatkowy procesor Uruchamia się w czasie nie mniejszym niż X/2; W praktyce: w czasie X/2 + z powodu kosztów zrównoleglenia W skrajnych przypadkach, dodanie procesorów może nie pomóc, a wręcz spowolnić działanie programu!!! Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 12
13 Algorytmy i systemy równoległe własności Koszty zrównoleglenia obliczeń Zrównoleglenie niesie za sobą pewne koszty. Procesory muszą być sterowane i koordynowane. Musimy wskazać każdemu procesorowi, co w każdej chwili ma robić; to wymaga dodatkowego wysiłku (czasu, kosztu, itp.). Często program musi być napisany w specjalnym języku programowania dla systemów równoległych (np. w języku Modest). Często program równoległy (np. z 2 K procesorami) nie będzie pracował na innym komputerze (np. z 2 L procesorami). Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 13
14 Algorytmy i systemy równoległe Równoległość, a współbieżność Współbieżność polega na wykonywaniu wielu zadań w tym samym czasie, niezależnie od liczby użytych procesorów. Zrównoleglenie polega na wykonywaniu tego samego zadania na wielu procesorach. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 14
15 Algorytmy i systemy równoległe Równoległość, a rozproszoność Cechy charakteryst. Rodzaj systemu Odległości między procesorami Struktura połączeń Niezawodność polączeń Opóźnienia komunikacyjne Ingerencja sterowania centralnego Syst. oblicz. równoległych małe Nie ulega zmianom w czasie duża Pomijalnie małe duża Syst. oblicz. rozproszonych Zazwyczaj duże Może ulegać zmianom w czasie mała Zazwyczaj nie do pominięcia mała Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 15
16 Algorytmy i systemy równoległe Podstawowe kryteria podziału systemów równoległych Liczba i rodzaj procesorów: - tysiące procesorów; - do 10-ciu procesorów; Obecność sterowania centralnego: - duża ingerencja systemu w pracę procesorów (system decyduje co każdy procesor ma wykonywać w każdej chwili); - mała ingerencja systemu w pracę procesorów; Obecność synchronizacji obliczeń: - systemy synchroniczne; - systemy asynchroniczne. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 16
17 Algorytmy i systemy równoległe Podstawowe kryteria podziału systemów równoległych, c.d. Wymiana informacji między procesorami (komunikacja poprzez sieć połączeń wybór struktury połączeń jest zadaniem projektowym): - podział wspólnej pamięci między procesory oraz obecność systemu przełączającego; - każdy procesor ma własną pamięć. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 17
18 Algorytmy i systemy równoległe Podstawowe kryteria podziału systemów równoległych, c.d. Rodzaj strumienia danych *) pojedynczy grupowy Rodzaj strumienia instrukcji pojedynczy SISD SIMD grupowy MISD MIMD *) S Single, M Multiple, I Instruction, D Data. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 18
19 Algorytmy i systemy równoległe Podział komputerów typu MIMD Sposób komunikacji poprzez Wspólne Przesyłanie zmienne komunikatów Sposób organizacji pamięci globalna rozproszona GMSV Shared Memory DMSV Hybrid GMMP DMMP Message passing Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 19
20 Algorytmy i systemy równoległe Przykłady zastosowań Intel ASCI Red (Accelerated Strategic Computing Initiative) r., do modelowania zjawisk związanych z zastosowaniem broni jądrowej (9632 procesory P II Xeon 333 MHz, moc: 2,3 FLOPS*); rozwiązanie układu równań liniowych zajęło 100 min., ale użyto procesorów 200 MHz 7 000); *) dla porównania: - procesor PENIUM-IV 1 GHz ma moc 1,4 G FLOPS (1,410 9 FLOPS) - moc Deep Blue z 1997 r.: 10 G FLOPS. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 20
21 Algorytmy i systemy równoległe Przykłady zastosowań IBM SP ASCI Blue Pacific (Lawrence Livermore National Laboratory) system RS/6 000, Power PC 332 MHz, moc: 2,1 FLOPS RAM: 2,6 B, koszt: 94 mln $, powierzchnia: 740 m 2, Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 21
22 Algorytmy i systemy równoległe Przykłady zastosowań IBM ASCI White: 8192 procesory IBM Power3-III 375 MHz, moc: 10 FLOPS, RAM: 6B (pamięć zewnętrzna: 160 B), koszt: 100 mln $, powierzchnia: ok. 1000m 2, waga: 106 ton, pobierany prąd: 1.2 MW Ciekawostka nr 1: wierne zasymulowanie wybuchu jądrowego zajmuje ASCI White miesiąc!!! Dla porównania Cray z 1995 roku liczyłby to samo przez 60 tys. lat!! Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 22
23 Algorytmy i systemy równoległe Przykłady zastosowań Najszybszy do niedawna system na świecie (od 2002r.- do2007r.): japoński Earth Simulator (do symulacji złożonych zjawisk geologicznych i pogodowych), moc: 40 FLOPS, koszt: 350 mln $. W ramach programu Blue Gene firmy IBM: powstał w 2007 r. (na bazie x PowerPC MHz); GB pamięci; maszyna o wydajności 0,5 PFLOPS (0,5*10 15 FLOPS) do analizy genomu ludzkiego*). *) Źródło: Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 23
24 Algorytmy i systemy równoległe Przykłady zastosowań Najszybszy system na świecie w : Roadrunner BladeCenter QS22 Cluster, Miejsce: DOE/NNSA/LANL (Los Alamos, USA); x PowerXCell 8i 3.2 Ghz, OS Linux; moc: 1,1 PFLOPS (10 15 FLOPS)!!!!!!! Najszybszy w Polsce system w (łącznie z Polski 6 na liście top500, wówczas): Galera ACION Cluster Xeon E5345 Infiniband (67 miejsce ); Politechnika Gdańska; Pamięć: 5376 GB; Procesory: 5336 x Intel EM64 Xeon 53xx (Clovertown) 2333 MHz (9.332 GFlops); OS: Linux; Moc: 38 FLOPs;????*) *) Źródło: Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 24
25 Algorytmy i systemy równoległe Przykłady zastosowań Najszybszy system na świecie w : K computer, SPARC64 VIIIfx 2.0GHz, ofu interconnect, Miejsce: RIKEN Advanced Institute for Computational Science (AICS) (Kobe, Japan); Cores: x SPARC64 VIIIfx 2.0GHz, OS: Linux; Power: 12.7 MW; Memory: GB (1,4 PB); Speed: GFLOPS (10,5 PFLOPS)!!!!!!! Najszybszy w Polsce system (łącznie z Polski 6 na liście top500, ; np. system grupy Allegro na 348 miejscu): Zeus - Cluster Platform 3000 BL 2x220, Xeon X5650 6C 2.66 GHz, Infiniband (88 miejsce ); Cyfronet Kraków, AGH; Cores: x Xeon X5650 6C 2.66 GHz, OS: Linux; Speed: GFLOPS (128,7 FLOPS); *) *) Źródło: Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 25
26 Algorytmy i systemy równoległe Przykłady zastosowań Najszybszy system na świecie w : ianhe-2, China s National University of Defense echnology, Miejsce: National Super Computer Center in Guangzhou, China; Cores: , węzłów obliczeniowych, INEL XEON E C 2.2 GHZ; OS: Kylin Linux; Power: 17,8 MW; Memory: x 88 GB (1,4 PB); Speed: PFLOPS!!!!!!! Najszybszy w Polsce system (łącznie z Polski 2 na liście top500, ): Zeus - Cluster Platform 3000 BL 2x220, Xeon X5650 6C 2.66 GHz, Infiniband (211 miejsce ); Miejsce: Cyfronet, Kraków, AGH; Cores: x Xeon X5650 6C 2.66 GHz, OS: Linux; Speed: FLOPS; *) *) Źródło: Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 26
27 Algorytmy i systemy równoległe Przykłady zastosowań, r. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 27
28 Podstawowe pojęcia z teorii obliczeń równoległych Przykład (problem doboru topologii sieci komunikacyjnej) opologie połączeń MIMD: a) pierścień b) siatka c) drzewo d) hipersześcian Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 28
29 Podstawowe pojęcia z teorii obliczeń równoległych Przykład (problem doboru topologii sieci komunikacyjnej), c.d. Liczba węzłów Siatka Hipersześcian 16 6 skoków 4 skoki skoków 8 skoków skoki 10 skoków skoków 11 skoków skoki 16 skoków Łączność (długość najkrótszej z dróg między dowolną parą wierzchołków) w warunkach najgorszego przypadku Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 29
30 Podstawowe pojęcia z teorii obliczeń równoległych Przykład (problem doboru topologii sieci komunikacyjnej), c.d. Chcemy dodać do siebie 8 liczb x 1, x 2,...,x 8. (a) x 1 +x 2 x 3 +x 4 x 5 +x 6 x 7 +x 8 (b) Dwie możliwe topologie sieci komunikacyjnej: (a) i (b) Porównanie topologii (a) i (b): Dla topologii (a) uszkodzenie tylko jednego wierzchołka (procesora) może spowodować, że cała sieć rozpadnie się na dwie części nie mogące komunikować się między sobą. Graf z rysunku (b) może działać dalej nawet jeśli dwa procesory są uszkodzone; Największa odległość między parą wierzchołków (mierzona za pomocą liczby krawędzi w drodze je łączącej) w grafie (a) wynosi 4 (dla dwóch wierzchołków) podczas, gdy w grafie (b) ta odległość wynosi 3. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 30
31 Podstawowe pojęcia z teorii obliczeń równoległych Przykład (problem doboru topologii sieci komunikacyjnej), c.d. Zanurzenie sieci (a) w sieć (b). Wierzchołki g, s, d są obrazami, odpowiednio, wierzchołków górnego, środkowych i dolnych grafu. s g d d d x 1 +x 2 x 3 +x 4 x 5 +x 6 x 7 +x 8 s d Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 31
32 Podstawowe pojęcia z teorii obliczeń równoległych AGS - acykliczny graf skierowany G, G W, A ( i, A W - zbiór wierzchołków oznaczających operacje wykonywane na danych, A - zbiór łuków oznaczających zależności między danymi, j) W 2 : operacja w wierzchol ku wykorzystuj e wynik operacji Głębokością D grafu AGS nazywamy długość najdłuższej drogi w G. j w wierzcholku i Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 32
33 Podstawowe pojęcia z teorii obliczeń równoległych Przykład 1 Weźmy zadanie obliczeniowe: Przykładowy graf AGS: f 2 3 x x1 x1 x2 x2 x p potęgowanie * mnożenie + dodawanie Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 33
34 Podstawowe pojęcia z teorii obliczeń równoległych Przyjmijmy oznaczenia: x i - wynik operacji wykonywanej w wierzchołku i grafu AGS; f i - operacja związana z wierzchołkiem i; P i - numer procesora przyporządkowanego do wykonywania operacji w i-tym wierzchołku, i W \ (W 0 - zbiór wierzchołków wejściowych); W o t i - chwila zakończenia operacji w i-tym wierzchołku. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 34
35 Podstawowe pojęcia z teorii obliczeń równoległych Założenia: wierzchołkom wejściowym nie są przyporządkowane żadne procesory; chwila t i zakończenia operacji w każdym wierzchołku wejściowym jest równa 0; każdy procesor wykonuje co najwyżej jedną operację w danej chwili, tzn. jeżeli i, j W \ W o, oraz t t, to P P ; i j i j A i j i t i, t 1 jeżeli, to j co oznacza, że operacja związana z wierzchołkiem j może być wykonana dopiero po wykonaniu operacji związanej z i-tym wierzchołkiem. j Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 35
36 Podstawowe pojęcia z teorii obliczeń równoległych Algorytm obliczeń równoległych jest zadany, gdy: 1 o zadany jest graf AGS; G 2 o zadany jest harmonogram, H H G i, P, t : i W i i o Dysponując np. dwoma procesorami jeden z możliwych harmonogramów może wyglądać następująco: H(G) 4,1,1, 5,2,1, 6,1,2, 7,2,2, 8,1,3, 9,2,3, 10,1,4 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 36
37 Podstawowe pojęcia z teorii obliczeń równoległych Złożonością obliczeniową algorytmu Alg reprezentowanego przez AGS i wykorzystującego p procesorów nazywamy wielkość: p min HH max iw t i H gdzie: max iw t i H - czas realizacji harmonogramu H. H zbiór wszystkich harmonogramów realizujących rozpatrywany algorytm równoległy Alg; Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 37
38 Podstawowe pojęcia z teorii obliczeń równoległych Zdefiniujmy wielkość: min p1 p jest nierosnącą funkcją i ograniczoną od dołu przez 0. Istnieje taka liczba procesorów p *, że dla każdego *, zachodzi: p p p - złożoność obliczeniowa algorytmu reprezentowanego przez G, gdy dostatecznie duża liczba procesorów jest dostępna; 1 - złożoność obliczeniowa (czas) odpowiadająca algorytmowi sekwencyjnemu na jednym procesorze, przy czym. W \ 1 W o Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 38 p
39 Podstawowe pojęcia z teorii obliczeń równoległych wierdzenie Wielkość jest równa głębokości D grafu AGS. 1 p, p 1 wierdzenie Niech dla pewnego wierzchołka wyjściowego j istnieje droga z każdego wierzchołka wejściowego. Niech i W \ W0 zachodzi: ( i) 2 S w gdzie S w ( i) { j W : ( j, i) A} - stopień wewnętrzny wierzchołka i. Wówczas zachodzi: log 2 W 0 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 39
40 Podstawowe pojęcia z teorii obliczeń równoległych Wnioski: Dla operacji arytmetycznych założenie, że S w ( i) 2 jest naturalne i dotyczy fizycznej realizowalności operacji. Głębokość AGS jest nie mniejsza niż logarytm przy podstawie 2 z liczby wierzchołków wejściowych w AGS. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 40
41 Podstawowe pojęcia z teorii obliczeń równoległych wierdzenie Dla każdego p 1 zachodzi: 1 p p Dowód: Rozpatrzmy harmonogram H, którego realizacja trwa, tzn. optymalny harmonogram realizacji obliczeń dla zadanego grafu G, gdy dostatecznie duża liczba procesorów jest dostępna. Dla dodatniej liczby całkowitej k wykorzystując harmonogram H wprowadźmy zbiór: A k { i W : t k} i Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 41
42 Dowód, c.d. Zbudujemy etapowo dla tego samego grafu G harmonogram p, który wykorzystuje tylko p procesorów. W k-tym etapie tego nowego harmonogramu wykonamy operacje, które w harmonogramie H zakończyły się dokładnie w chwili k-tej. Ponieważ tylko p procesorów jest dostępnych, k-ty etap będzie zrealizowany w czasie A k p jednostek czasu. Czas p nie może być większy niż czas wymagany do zrealizowania harmonogramu H p. Stąd: gdzie Podstawowe pojęcia z teorii obliczeń równoległych p k 1 A k p 1 W k 1 k 1 Ak W \ 0 Ak p c.n.d. 1 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, p H
43 AGS 1 Podstawowe pojęcia z teorii obliczeń równoległych Przykład (dwie alternatywne reprezentacje AGS dla zadania) x 1 x x1 x2 x3 * x p * x 2 x 3 x 1 x 3 * 1 7 D 3 p * 4 Rozpatrzmy zadanie: x x x x x3 x AGS x2 x2 + x + x x x x3 x1 x2 x3 x x 2 x 2 x + x 1 x3 x2 x3 1 p 3 D 2 2 WNIOSEK: Dla tego samego problemu może istnieć wiele reprezentacji w postaci AGS różniących się wartościami p*. oraz * x x x x x3 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 43
44 Podstawowe pojęcia z teorii obliczeń równoległych Niech G oznacza zbiór wszystkich możliwych AGS-ów dla ustalonego problemu i ustalonej liczby procesorów. Wielkość p p G min G GG nazywamy złożonością problemu, p nazywamy złożonością algorytmu równoległego przy p procesorach, a G* nazywamy optymalnym grafem reprezentującym algorytm rozwiązania danego problemu przy ustalonej liczbie p procesorów. p p G Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 44
45 Podstawowe pojęcia z teorii obliczeń równoległych Przyspieszeniem algorytmu równoległego nazywamy liczbę S p n n n a efektywnością algorytmu równoległego liczbę E p n S p gdzie: * (n) złożoność najlepszego sekwencyjnego algorytmu na jednym procesorze (jeśli mamy AGS, to * (n) = 1 (n)); p (n) złożoność algorytmu rozwiązywania problemu o rozmiarze n na p procesorach. Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 45 p n p p p n n p 1
46 Podstawowe pojęcia z teorii obliczeń równoległych Przykład Zadanie obliczeniowe ma postać: Przy użyciu n procesorów zadanie to można rozwiązać w czasie n logn dwuetapowo. n W pierwszym etapie każdy i-ty procesor oblicza wartość xi y i, a następnie w drugim etapie dodaje n uzyskanych liczb w czasie. Najlepszy algorytm dla jednego procesora wymaga czasu n 2n 1. Stąd przyspieszenie i efektywność dla n procesorów: S n n 2n 1 log n 1 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 46 a n i1 1 E n logn n n x i y i, x 2n 1 log n 1 i, y i
47 Podstawowe pojęcia z teorii obliczeń równoległych Przykład Zadanie obliczeniowe ma postać: Przy użyciu n procesorów zadanie to można rozwiązać w czasie n logn dwuetapowo. n W pierwszym etapie każdy i-ty procesor oblicza wartość xi y i, a następnie w drugim etapie dodaje n uzyskanych liczb w czasie. Najlepszy algorytm dla jednego procesora wymaga czasu n 2n 1. Stąd przyspieszenie i efektywność dla n procesorów: S n n 2n 1 log n 1 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 47 a n i1 1 E n logn n n x i y i, x 2n 1 log n 1 i, y i
48 Podstawowe pojęcia z teorii obliczeń równoległych Przykład, c.d. np. dla n=3, mamy następujący AGS x1 y 1 x2 y2 x3 y x 1 y 1 2 y 2 x x x 3 y 3 * * * 7 1y1 x2 y2 x y1 x2 y2 x3 y3 8 9 H*(G)={(7,1,1),(8,2,1),(9,3,1),(10,1,2),(11,1,3)} + 11 Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 48 S 3 E 3 3 D n 3 log3 3 W 5 3 \ W o 1 1, ,55 HG 3 3 min maxti H G H iw
49 Dziękuję za uwagę Z.arapata, Obliczenia równoległe i rozproszone, wykład nr 2, 49
Wprowadzenie. Klastry komputerowe. Superkomputery. informatyka +
Wprowadzenie Klastry komputerowe Superkomputery Wprowadzenie Klastry komputerowe Superkomputery Wprowadzenie Filozofia przetwarzania równoległego polega na podziale programu na fragmenty, z których każdy
Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami
Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami dr inż. Mariusz Uchroński Wrocławskie Centrum Sieciowo-Superkomputerowe Agenda Cykliczny problem przepływowy
Algorytmy i Struktury Danych
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 12: Wstęp
Podstawy Informatyki Systemy sterowane przepływem argumentów
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Komputer i jego architektura Taksonomia Flynna 2 Komputer i jego architektura Taksonomia Flynna Komputer Komputer
Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych
Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2018/19 Problem: znajdowanie
Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego
Porównanie wydajności CUDA i OpenCL na przykładzie równoległego algorytmu wyznaczania wartości funkcji celu dla problemu gniazdowego Mariusz Uchroński 3 grudnia 2010 Plan prezentacji 1. Wprowadzenie 2.
Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012
Projektowanie algorytmów równoległych Zbigniew Koza Wrocław 2012 Spis reści Zadniowo-kanałowy (task-channel) model algorytmów równoległych Projektowanie algorytmów równoległych metodą PACM Task-channel
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2013/14 Znajdowanie maksimum w zbiorze
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze
Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.
Wstęp Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system. Przedstawienie architektur sprzętu wykorzystywanych do
Architektura mikroprocesorów TEO 2009/2010
Architektura mikroprocesorów TEO 2009/2010 Plan wykładów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit: 8051, ST7 Wykład
Architektura komputerów
Architektura komputerów Tydzień 14 Procesory równoległe Klasyfikacja systemów wieloprocesorowych Luźno powiązane systemy wieloprocesorowe Każdy procesor ma własną pamięć główną i kanały wejścia-wyjścia.
Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1
Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1 Metodologia programowania równoległego Przykłady podziałów zadania na podzadania: Podział ze względu na funkcje (functional
Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010
Algorytmy równoległe Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka Znajdowanie maksimum w zbiorze n liczb węzły - maksimum liczb głębokość = 3 praca = 4++ = 7 (operacji) n - liczność
Analiza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015
Analiza efektywności przetwarzania współbieżnego Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015 Źródła kosztów przetwarzania współbieżnego interakcje między procesami
Programowanie równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Programowanie równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 23 października 2009 Spis treści Przedmowa...................................................
Algorytmy Równoległe i Rozproszone Część V - Model PRAM II
Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/ kuszner/arir/ 2005/06
Algorytmy Równoległe i Rozproszone Część IV - Model PRAM
Algorytmy Równoległe i Rozproszone Część IV - Model PRAM Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/ kuszner/arir/ 2005/06
Analiza ilościowa w przetwarzaniu równoległym
Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2
Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie
Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej
16. Taksonomia Flynn'a.
16. Taksonomia Flynn'a. Taksonomia systemów komputerowych według Flynna jest klasyfikacją architektur komputerowych, zaproponowaną w latach sześćdziesiątych XX wieku przez Michaela Flynna, opierająca się
Numeryczna algebra liniowa
Numeryczna algebra liniowa Numeryczna algebra liniowa obejmuje szereg algorytmów dotyczących wektorów i macierzy, takich jak podstawowe operacje na wektorach i macierzach, a także rozwiązywanie układów
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
Część I. Uwaga: Akceptowane są wszystkie odpowiedzi merytorycznie poprawne i spełniające warunki zadania. Zadanie 1.1. (0 3)
Uwaga: Akceptowane są wszystkie odpowiedzi merytorycznie poprawne i spełniające warunki zadania. Część I Zadanie 1.1. (0 3) 3 p. za prawidłową odpowiedź w trzech wierszach. 2 p. za prawidłową odpowiedź
Algorytmy dla maszyny PRAM
Instytut Informatyki 21 listopada 2015 PRAM Podstawowym modelem służącym do badań algorytmów równoległych jest maszyna typu PRAM. Jej głównymi składnikami są globalna pamięć oraz zbiór procesorów. Do rozważań
Sortowanie - wybrane algorytmy
Sortowanie - wybrane algorytmy Aleksandra Wilkowska Wydział Matematyki - Katedra Matematyki Stosowanej Politechika Wrocławska 2 maja 2018 1 / 39 Plan prezentacji Złożoność obliczeniowa Sortowanie bąbelkowe
Zaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)
Obliczenia równoległe i rozproszone. Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz
Obliczenia równoległe i rozproszone Praca zbiorowa pod redakcją Andrzeja Karbowskiego i Ewy Niewiadomskiej-Szynkiewicz 15 czerwca 2001 Spis treści Przedmowa............................................
TEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa
Podstawy Informatyki. Sprawność algorytmów
Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych
Egzamin, AISDI, I termin, 18 czerwca 2015 r.
Egzamin, AISDI, I termin, 18 czerwca 2015 r. 1 W czasie niezależnym do danych wejściowych działają algorytmy A. sortowanie bąbelkowego i Shella B. sortowanie szybkiego i przez prosty wybór C. przez podział
Efektywna metoda sortowania sortowanie przez scalanie
Efektywna metoda sortowania sortowanie przez scalanie Rekurencja Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Metoda dziel i zwycięŝaj Dzielimy
Analiza efektywności przetwarzania współbieżnego
Analiza efektywności przetwarzania współbieżnego Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak 1/4/2013 Analiza efektywności 1 Źródła kosztów przetwarzania współbieżnego interakcje
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
Sortowanie przez scalanie
Sortowanie przez scalanie Wykład 2 12 marca 2019 (Wykład 2) Sortowanie przez scalanie 12 marca 2019 1 / 17 Outline 1 Metoda dziel i zwyciężaj 2 Scalanie Niezmiennik pętli - poprawność algorytmu 3 Sortowanie
EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA
EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA POZIOM ROZSZERZONY FORMUŁA OD 2015 ( NOWA MATURA ) ZASADY OCENIANIA ROZWIĄZAŃ ZADAŃ ARKUSZ MIN-R1,R2 MAJ 2018 Uwaga: Akceptowane są wszystkie odpowiedzi
TEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie
Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych
Wykład 5 Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych Spis treści: 1. Klasyfikacja Flynna 2. Klasyfikacja Skillicorna 3. Klasyfikacja architektury systemów pod względem
Podstawy Techniki Mikroprocesorowej wykład 13: MIMD. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej
Podstawy Techniki Mikroprocesorowej wykład 13: MIMD Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej e-mail: Jacek.Mazurkiewicz@pwr.edu.pl Kompjuter eta jest i klasyfikacja jednostka centralna
Zadanie projektowe 1: Struktury danych i złożoność obliczeniowa
Łukasz Przywarty 171018 Data utworzenia: 24.03.2010r. Mariusz Kacała 171058 Prowadzący: prof. dr hab. inż. Adam Janiak oraz dr inż. Tomiasz Krysiak Zadanie projektowe 1: Struktury danych i złożoność obliczeniowa
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
Wydajność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Wydajność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność obliczeń równoległych Podobnie jak w obliczeniach sekwencyjnych, gdzie celem optymalizacji wydajności było maksymalne
Obliczenia Wysokiej Wydajności
Obliczenia wysokiej wydajności 1 Wydajność obliczeń Wydajność jest (obok poprawności, niezawodności, bezpieczeństwa, ergonomiczności i łatwości stosowania i pielęgnacji) jedną z najważniejszych charakterystyk
Komputery, obliczenia, algorytmy Tianhe-2 (MilkyWay-2), system Kylin Linux, 33862.7 Tflops, 17808.00 kw
Komputery, obliczenia, algorytmy Tianhe-2 (MilkyWay-2), system Kylin Linux, 33862.7 Tflops, 17808.00 kw Michał Rad 08.10.2015 Co i po co będziemy robić Cele zajęć informatycznych: Alfabetyzacja komputerowa
Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy
Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element
Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,
Oznaczenia: Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze, to interesuje nas złożoność obliczeniowa
Matematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Algorytm 1. Termin algorytm jest używany w informatyce
Skalowalność obliczeń równoległych. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Skalowalność obliczeń równoległych Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Skalowalność Przy rozważaniu wydajności przetwarzania (obliczeń, komunikacji itp.) często pojawia się pojęcie skalowalności
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH Temat : Drzewa zrównoważone, sortowanie drzewiaste Wykładowca: dr inż. Zbigniew TARAPATA e-mail: Zbigniew.Tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/
Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda
Segmentacja obrazów cyfrowych Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp autor: Łukasz Chlebda 1 Segmentacja obrazów cyfrowych - temat pracy Temat pracy: Aplikacja do segmentacji
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
PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI
ZESZYTY NAUKOWE 105-114 Dariusz CHAŁADYNIAK 1 PODSTAWY PRZETWARZANIA RÓWNOLEGŁEGO INFORMACJI Streszczenie W artykule poruszono wybrane podstawowe zagadnienia związane z przetwarzaniem równoległym. Przedstawiono
Złożoność algorytmów. Wstęp do Informatyki
Złożoność algorytmów Złożoność pamięciowa - liczba i rozmiar struktur danych wykorzystywanych w algorytmie Złożoność czasowa - liczba operacji elementarnych wykonywanych w trakcie przebiegu algorytmu Złożoność
Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to
Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to wprowadzili J. Hartmanis i R. Stearns. Najczęściej przez zasób rozumie się czas oraz pamięć dlatego
Lista 0. Kamil Matuszewski 1 marca 2016
Lista 0 Kamil Matuszewski marca 206 2 3 4 5 6 7 8 0 0 Zadanie 4 Udowodnić poprawność mnożenia po rosyjsku Zastanówmy się co robi nasz algorytm Mamy podane liczby n i m W każdym kroku liczbę n dzielimy
Zasady analizy algorytmów
Zasady analizy algorytmów A więc dziś w programie: - Kilka ważnych definicji i opisów formalnych - Złożoność: czasowa i pamięciowa - Kategorie problemów - Jakieś przykłady Problem: Zadanie możliwe do rozwiązania
Sortowanie. Bartman Jacek Algorytmy i struktury
Sortowanie Bartman Jacek jbartman@univ.rzeszow.pl Algorytmy i struktury danych Sortowanie przez proste wstawianie przykład 41 56 17 39 88 24 03 72 41 56 17 39 88 24 03 72 17 41 56 39 88 24 03 72 17 39
Przetwarzanie równoległesprzęt. Rafał Walkowiak Wybór
Przetwarzanie równoległesprzęt 2 Rafał Walkowiak Wybór 17.01.2015 1 1 Sieci połączeń komputerów równoległych (1) Zadanie: przesyłanie danych pomiędzy węzłami przetwarzającymi, pomiędzy pamięcią a węzłami
Informatyka 1. Złożoność obliczeniowa
Informatyka 1 Wykład XI Złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: efektywność programów/algorytmów, sposoby zwiększania efektywności algorytmów, zasada 80 20, ocena efektywności
Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott
Struktury danych i złozoność obliczeniowa Prof. dr hab. inż. Jan Magott Formy zajęć: Wykład 1 godz., Ćwiczenia 1 godz., Projekt 2 godz.. Adres strony z materiałami do wykładu: http://www.zio.iiar.pwr.wroc.pl/sdizo.html
Programowanie Współbieżne. Algorytmy
Programowanie Współbieżne Algorytmy Sortowanie przez scalanie (mergesort) Algorytm :. JEŚLI jesteś rootem TO: pobierz/wczytaj tablice do posortowania JEŚLI_NIE to pobierz tablicę do posortowania od rodzica
Systemy wbudowane. Uproszczone metody kosyntezy. Wykład 11: Metody kosyntezy systemów wbudowanych
Systemy wbudowane Wykład 11: Metody kosyntezy systemów wbudowanych Uproszczone metody kosyntezy Założenia: Jeden procesor o znanych parametrach Znane parametry akceleratora sprzętowego Vulcan Początkowo
operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.
Problem porządkowania zwanego również sortowaniem jest jednym z najważniejszych i najpopularniejszych zagadnień informatycznych. Dane: Liczba naturalna n i ciąg n liczb x 1, x 2,, x n. Wynik: Uporządkowanie
Programowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM. Juliusz Pukacki,PCSS
USŁUGI HIGH PERFORMANCE COMPUTING (HPC) DLA FIRM Juliusz Pukacki,PCSS Co to jest HPC (High Preformance Computing)? Agregowanie dużych zasobów obliczeniowych w sposób umożliwiający wykonywanie obliczeń
EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew
1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;
Rekurencja. Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)!
Rekurencja Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)! Pseudokod: silnia(n): jeżeli n == 0 silnia = 1 w przeciwnym
Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne
Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na
Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.
Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/
Wstęp do programowania
Wstęp do programowania Złożoność obliczeniowa, poprawność programów Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XII Jesień 2013 1 / 20 Złożoność obliczeniowa Problem Ile czasu
Programowanie współbieżne Wstęp do obliczeń równoległych. Rafał Skinderowicz
Programowanie współbieżne Wstęp do obliczeń równoległych Rafał Skinderowicz Plan wykładu Modele obliczeń równoległych Miary oceny wydajności algorytmów równoległych Prawo Amdahla Prawo Gustavsona Modele
Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1
Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem
Programowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 1 dr inż. Literatura ogólna Ben-Ari, M.: Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa, 2009. Czech, Z.J:
Teoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 4a: Rozwiązywanie rekurencji http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Czas działania programu Dla konkretnych
Architektura Systemów Komputerowych. Architektura potokowa Klasyfikacja architektur równoległych
Archiekura Sysemów Kompuerowych Archiekura pookowa Klasyfikacja archiekur równoległych 1 Archiekura pookowa Sekwencyjne wykonanie programu w mikroprocesorze o archiekurze von Neumanna Insr.1 Φ1 Insr.1
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015
Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015 1 Metody numeryczne Dział matematyki Metody rozwiązywania problemów matematycznych za pomocą operacji na liczbach. Otrzymywane
21 Model z pamięcią współdzieloną (model PRAM) - Parallel Random Access Machine
21 Model z pamięcią współdzieloną (model PRAM) - Parallel Random Access Machine Model PRAM zapewnia możliwość jednoczesnego dostępu każdego spośród n procesorów o architekturze RAM do wspólnej pamięci
KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Algorytmy i struktury danych, C3
KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:
Kompletna dokumentacja kontenera C++ vector w - http://www.cplusplus.com/reference/stl/vector/
STL, czyli o co tyle hałasu W świecie programowania C++, hasło STL pojawia się nieustannie i zawsze jest o nim głośno... często początkujące osoby, które nie znają STL-a pytają się co to jest i czemu go
Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek
Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących
Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych
Automatyzacja procesu tworzenia sprzętowego narzędzia służącego do rozwiązywania zagadnienia logarytmu dyskretnego na krzywych eliptycznych Autor: Piotr Majkowski Pod opieką: prof. Zbigniew Kotulski Politechnika
Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów
Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69
10/14/2013 Przetwarzanie równoległe - wstęp 1. Zakres przedmiotu
Literatura 1. Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; Addison Wesley 2003 2. Wprowadzenie do obliczeń równoległych, Zbigniew Czech, Wydawnictwo Naukowe PWN, 2010. 3. Designing
Programowanie w VB Proste algorytmy sortowania
Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich
Strategia "dziel i zwyciężaj"
Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania
Jeszcze o algorytmach
Jeszcze o algorytmach Przykłady różnych, podstawowych algorytmów 11.01.2018 M. Rad Plan Powtórka Znajdowanie najmniejszego elementu Segregowanie Poszukiwanie przez połowienie Wstawianie Inne algorytmy
Architektury komputerów Architektury i wydajność. Tomasz Dziubich
Architektury komputerów Architektury i wydajność Tomasz Dziubich Przetwarzanie potokowe Przetwarzanie sekwencyjne Przetwarzanie potokowe Architektura superpotokowa W przetwarzaniu potokowym podczas niektórych
Dr inż. hab. Siergiej Fialko, IF-PK,
Dr inż. hab. Siergiej Fialko, IF-PK, http://torus.uck.pk.edu.pl/~fialko sfialko@riad.pk.edu.pl 1 Osobliwości przedmiotu W podanym kursie główna uwaga będzie przydzielona osobliwościom symulacji komputerowych
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 13 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Złożoność algorytmów czy to istotne, skoro
KARTA PRZEDMIOTU. Algorytmy i struktury danych, C4
KARTA PRZEDMIOTU 1. Informacje ogólne Nazwa przedmiotu i kod (wg planu studiów): Nazwa przedmiotu (j. ang.): Kierunek studiów: Specjalność/specjalizacja: Poziom kształcenia: Profil kształcenia: Forma studiów:
Przykładowe sprawozdanie. Jan Pustelnik
Przykładowe sprawozdanie Jan Pustelnik 30 marca 2007 Rozdział 1 Sformułowanie problemu Tematem pracy jest porównanie wydajności trzech tradycyjnych metod sortowania: InsertionSort, SelectionSort i BubbleSort.
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 13 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Złożoność algorytmów czy to istotne, skoro
Podstawowe algorytmy i ich implementacje w C. Wykład 9
Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny
Technologie Informacyjne
POLITECHNIKA KRAKOWSKA - WIEiK - KATEDRA AUTOMATYKI Technologie Informacyjne www.pk.edu.pl/~zk/ti_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 3: Wprowadzenie do algorytmów i ich
Teoria obliczeń i złożoność obliczeniowa
Teoria obliczeń i złożoność obliczeniowa Kontakt: dr hab. inż. Adam Kasperski, prof. PWr. pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + informacje na stronie www. Zaliczenie: Egzamin Literatura Problemy
WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA
WYŻSZA SZKOŁA IFORMATYKI STOSOWAEJ I ZARZĄDZAIA Złożoność algorytmów Złożoność pamięciowa algorytmu wynika z liczby i rozmiaru struktur danych wykorzystywanych w algorytmie. Złożoność czasowa algorytmu
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: