Programowanie Równoległe i Rozproszone
|
|
- Magda Szymańska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Programowanie Równoległe i Rozproszone Lucjan Stapp Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska (l.stapp@mini.pw.edu.pl) 1/69 PRiR Wykład 1 Ćwiczenia Zasady zaliczania Aktywność i obecność (-20; +20) pkt (część A) Test* (27 kwiecień??) 50 pkt (część B) Egzamin część pisemna 100 pkt (część C) Dopuszczenie do części ustnej A + B + C >95pkt (55,88%) * Test zamiast wykładu. 2/69 PRiR Wykład 1 Literatura 1. Lester, Bruce, P., The Art of Parallel Programming, Prentice Hall, Brinch Hansen, P., The Search for Simplicity: Essays in Parallel Programming, IEEE, Quinn, Michael J., Parallel Programming in C with MPI and OpenMP, McGraw Hill, /69 PRiR Wykład 1 Przygotował: Lucjan Stapp 1
2 3 pomysły z późnych lat 60: Sztuczna inteligencja Pamięć bąbelkowa (ang. Bubble memory) Programowanie równoległe Wstęp 4/69 PRiR Wykład 1 Wstęp Dlaczego równolegle? Przetwarzanie równoległe nie zastępujeaktualnej technologii, ale jest jej akceleratorem. Przypuśćmy, że mamy problem, który wymaga 10 gigaflops (10 miliardów = operacji zmiennoprzecinkowych na sekundę) Rozwiązanie: zaczekać 5 lat na Intel Pxx (czy jakkolwiek będzie zwany) albo użyć 20 Pentium III pracujących równolegle i mieć rozwiązanie dzisiaj 5/69 PRiR Wykład 1 Wstęp Dlaczego równolegle? Przetwarzanie równoległe nie zastępujeaktualnej technologii, ale jest jej akceleratorem. Przypuśćmy, że mamy problem, który wymaga 100 godzin obliczeń dla Pentium 4.2.0*2000 MHz, ale potrzebujemy wyniku w czasie godziny. Rozwiązanie: czekać 5 lat na Intel Pxx (czy jakkolwiek będzie zwany) albo podzielić pytanie na mniejsze pod-zadania pracujące równolegle i mieć rozwiązanie w kilka minut. 6/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 2
3 Wstęp Dlaczego równolegle? Przetwarzanie równoległe nie zastępujeaktualnej technologii, ale jest jej akceleratorem. It is a lot easier to harness 100 horses than to grow one that s 100 times bigger "O wiele łatwiej jest zaprząc 100 koni niż wyhodować jednego, który jest 100 razy większy. Ale I know how to make 4 horses pull a cart - I don't know how to make 1024 chickens do it. Enrico Clementi 7/69 PRiR Wykład 1 Wstęp Zdefiniowanie przetwarzania równoległego nie jest łatwe. Dosłownie oznacza to wykonywanie kilku instrukcji równocześnie, a nie jedna za drugą (przetwarzanie sekwencyjne): mikro-paralelizm - projektowanie jednochipowego mikroprocesora (np. RISC); procesory ogólnego zastosowania współpracujące ze sobą -cel tego wykładu. 8/69 PRiR Wykład 1 Typowy podział (systematyka Flynna -1963): Wstęp Single Instruction Single Data Multi Multi 9/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 3
4 Systematyka Flynna SISD (wymowa sees-dee) przetwarzanie sekwencyjne. Są to konwencjonalne systemy, które zawierają jeden CPU i dlatego mogą przetwarzać jeden strumień rozkazów, który jest wykonany szeregowo. Obecnie wiele dużych komputerów może mieć więcej niż jeden CPU, ale każdy z nich wykonuje niepowiązane ze sobą strumienie rozkazów. Dlatego takie systemy są maszynami SISD pracującymi na rozłącznych danych. Maszyny SISD to większość stacji roboczych takich firm jak np. DEC, Hewlett-Packard i Sun Microsystems. Definicja maszyn SISD jest podana tylko ze względów czysto formalnych, ten typ nie będzie omawiany na tym wykładzie. 10/69 PRiR Wykład 1 Systematyka Flynna MISD (wymowa mees-dee) brak zastosowań. Teoretycznie w tego typu maszynach wiele instrukcji powinno działać na jednym strumieniu danych. Trudno sobie wyobrazić taką maszynę i - jak dotąd - żadna maszyna tego typu nie została zbudowana. 11/69 PRiR Wykład 1 Systematyka Flynna SIMD (wymowa seem-dee) Można myśleć o maszynie typu SIMD jako o zbiorze procesorów zarządzanych przez inny procesor (kontrolny), który w każdym cyklu wysyła wspólną instrukcję każdemu procesorowi. Jest to połączenie grupy procesorów, które wykonują ten sam program na różnych danych (synchronizowanych przez ten sam zegar). Takie systemy często mają bardzo dużo jednostek przetwarzających, począwszy od do, wszystkie mogące wykonywać w jednym kroku tę samą instrukcję na różnych danych. Dzięki temu pojedyncza instrukcja wykonywana jest na wielu danych równolegle. 12/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 4
5 Systematyka Flynna SIMD (wymowa seem-dee) cd. Maszyny SIMD są często stosowane do obliczeń na macierzach (np. w analizie elementu skończonego, w modelowaniu zachowań sejsmicznych, prognozowaniu pogody). Pierwszą komercyjną maszyną typu SIMD był DAP (Distributed Array Processor- Rozproszona Macierz Procesorów) stworzona przez ICL, Wielka Brytania; CRAY T-90; CPP DAP Gamma II; Quadrics Apemille;. 13/69 PRiR Wykład 1 Systematyka Flynna SIMD (wymowa seem-dee) cd. Największym komercyjnym sukcesem maszyn SIMD jest Connection Machine CM-1 i CM-2 firmy Thinking Machines (przejętą przez SGI, teraz HP) zbudowana z ponad elementów obliczeniowych; była używana w zastosowaniach od badań wojskowych po animację komputerową. Connection Machine używają 1 bitowych elementów obliczeniowych, które dokonują tylko boolowskich kombinacji 1 bitu przeczytanego z pamięci z jednobitową wewnętrzną flagą. Router pakietów wbudowany w każdą 16 elementową jednostkę przetwarzającą skutecznie łączy ze sobą wszystkie procesory. Wszystkie obliczenia wykonywane są synchronicznie przez tablicę procesorów zgodnie ze wspólnym zegarem. 14/69 PRiR Wykład 1 Systematyka Flynna SIMD (wymowa seem-dee) cd. Procesory wektorowe (Vectorprocessors) Inną podklasą systemów SIMD są procesory wektorowe(ang. vectorprocessors). Procesory wektorowe działają na tablicach podobnych danych, a nie - jak standardowe procesory - na pojedynczych elementach. Kiedy dane mogą być przetwarzane przez te jednostki, wyniki mogą być dostarczane z tempem jednego, dwóch i - w specjalnych okolicznościach - trzech na cykl zegara (cykl zegara zdefiniowany jako podstawowa wewnętrzna jednostka czasu dla systemu). 15/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 5
6 SIMD (wymowa seem-dee) cd. Systematyka Flynna Procesory wektorowe (Vectorprocessors) Tak więc procesory wektorowe wykonują obliczenia na danych prawie równolegle, ale tylko jeśli obliczenia prowadzone są w trybie wektorowym. W takim przypadku są one kilka razy szybsze niż obliczenia wykonywane w konwencjonalnym trybie skalarnym. Ze względów praktycznych procesory wektorowe są klasyfikowane jako maszyny SIMD. Przykładem takiego systemu jest NEC 6i SX. 16/69 PRiR Wykład 1 SIMD z pamięcią dzieloną Ta podklasa maszyn jest niemal równoważna pojedynczemu procesorowi wektorowemu, mimo to istnieją inne interesujące maszyny w tej klasie. Procesory w systemie z pamięcią dzieloną komunikują się przez czytanie i pisanie do pamięci znajdującej się we wspólnej przestrzeni adresowej, co często implikuje wspólną (dzieloną) szynę. 17/69 PRiR Wykład 1 SIMD z pamięcią dzieloną SIMD z pamięcią dzieloną: architektura 18/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 6
7 SIMD z pamięcią dzieloną Jednoprocesorowa maszyna wektorowa będzie miała tylko jeden wyróżniony procesor wektorowy i system może nawet mieć skalarne operacje zmiennoprzecinkowe dzielone z procesorem wektorowym (jak było w niektórych systemach Cray). Należy zauważyć, że VPU nie posiada pamięci podręcznej (ang. cache). W wielu wypadkach jednostka wektorowa nie może z niej skorzystać, a prędkość wykonywania może zostać zmniejszona przez częste przepełnianie pamięci podręcznej. 19/69 PRiR Wykład 1 SIMD z pamięcią dzieloną Istniały, co prawda, jednostki takie jak CDC Cyber 205 i ETA-10, które ładowały argumenty bezpośrednio z pamięci i przechowywały wyniki także w pamięci. W dniu dzisiejszym procesory wektorowe korzystają z rejestrów wektorowych. To często nie zmniejsza prędkości przetwarzania, jednocześnie dostarczając większą elastyczność w zbieraniu argumentów i operacjach na nich z natychmiastowym rezultatem. 20/69 PRiR Wykład 1 SIMD z pamięcią dzieloną Na wcześniejszej ilustracji nie pokazane są szczegóły dotyczące połączenia między VPU a pamięcią. Jednak te detale są bardzo ważne dla wydajnej operacji wektorowej: gdy przepustowość pomiędzy pamięcią a VPU jest za mała, nie są czerpane pełne korzyści z VPU, ponieważ musi on czekać na argumenty i/albo musi czekać zanim wyniki zostaną zapisane w pamięci; kiedy stosunek wykonywanych operacji arytmetycznych do operacji czytania/zapisywania nie jest wystarczająco duży, aby zrekompensować tę sytuację, mogą pojawić się poważne straty wydajności. Problem zostanie omówiony w dalszej części wykładu. 21/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 7
8 SIMD z pamięcią dzieloną VPU są obrazowane jako pojedyncze bloki na naszej ilustracji. Istnieje znacząca różnica w strukturze jednostek tego typu. Każde VPU składa się z pewnej liczby wektorowych elementów funkcyjnych, albo "potoków". Pełnią one jedną bądź kilka funkcji w VPU. Każde VPU posiada potoki zaprojektowane tak, aby zapewnić funkcje związane z dostępem do pamięci. Potoki odpowiedzialne są za zapewnienie dostawy argumentów do potoków arytmetycznych i zachowywanie wyników ponownie w pamięci. Zazwyczaj będzie kilka arytmetycznych jednostek funkcyjnych dla operacji całkowitych/logicznych, dla dodawania zmiennopozycyjnego, mnożenia i czasem kombinacji obydwu - tak zwanych operacji złożonych. 22/69 PRiR Wykład 1 SIMD z pamięcią dzieloną Uwaga: Obecnie jednostki realizujące zadania zgodnie z metodologią SIMD obecne są także w stosowanych w domowych komputerach procesorach opartych o architekturę x86. Procesory te oferują listę rozkazów poszerzoną o zestawy rozkazów typu SIMD, takie jak: SSE od ang. "Streaming SIMD Extensions"), SSE2, SSE3, SSSE3, SSE4, SSE5, MMX, 3DNow!, AVX, AltiVec. 23/69 PRiR Wykład 1 SIMD z pamięcią rozproszoną Maszyny tego typu są czasem zwane tablicami procesorów (ang. processor-array machines). Ponieważ procesory tych maszyn pracują krokowo (ang. lock-step), czyli wszystkie procesory wykonują tę samą instrukcje w tym samym czasie (ale na innych danych), nie wymagana jest synchronizacja między procesorami. To znacznie upraszcza projektowanie takich systemów. Procesor kontrolny podaje instrukcję, która ma być wykonana przez procesory. 24/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 8
9 SIMD z pamięcią rozproszoną Wszystkie obecnie dostępne maszyny typu DM-SIMD wykorzystują kontroler komunikacji (zwany też front-end procesor, bądź FEP) oraz połączenie poprzez ścieżkę danych do procesora kontrolnego. Operacje, które nie mogą być wykonane przez tablicę procesorów, bądź przez procesor kontrolny, są przerzucane do systemu komunikacji. Dla przykładu, I/O może być wykonywane przez system komunikacji, przez maszynę z tablicą procesorów, bądź przez obie. To typowy model maszyny typu DM-SIMD, od której faktyczne modele będą odbiegać w różnym stopniu. 25/69 PRiR Wykład 1 SIMD z pamięcią rozproszoną SIMD z pamięcią rozproszoną; typowa architektura 26/69 PRiR Wykład 1 SIMD z pamięcią rozproszoną Powyższy wzorzec może sugerować, że wszystkie procesory są połączone w dwuwymiarową siatkę i faktycznie architektura połączeniowa tego typu maszyn zawsze zawiera siatkę dwuwymiarową. Przeciwległe rogi każdej siatki są także zawsze połączone w topologi torusa. Dla kilku maszyn nie jest to jedyny schemat połączeń. Mogą być także połączone w 3 wymiarach, diagonalnie, bądź w bardziej złożone struktury. 27/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 9
10 Systematyka Flynna MIMD (wymowa meem-dee) Tego typu maszyny wykonują równolegle kilka strumieni instrukcji na różnych danych. 28/69 PRiR Wykład 1 MIMD (wymowa meem-dee) Systematyka Flynna Miejscem krytycznym jest komunikacja między procesami, ponieważ jeśli dwa procesy muszą współdziałać w różnych momentach tego samego obliczenia, muszą wymieniać się danymi (wynikami) między sobą. 29/69 PRiR Wykład 1 MIMD (wymowa meem-dee) Systematyka Flynna Różnica między wieloprocesorowymi maszynami SISD, wspomnianymi wcześniej, a maszynami MIMD polega na fakcie, że instrukcje i dane są powiązane, ponieważ reprezentują różne części tego samego zadania. Systemy MIMD mogą przetwarzać równolegle wiele podzadań w celu skrócenia czasu rozwiązania dla głównego problemu. Jest duża różnorodność systemów typu MIMD, szczególnie w tej klasie systematyka Flynna okazuje się nie w pełni odpowiednia do klasyfikowania systemów. Do tej jednej klasy należą systemy, które zachowują się bardzo różnie, jak czteroprocesorowy np. NEC SX-6 i procesorowy SGI/Cray T3E. 30/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 10
11 MIMD Dlatego maszyny typu MIMD można podzielić na kilka klas: Z pamięcią dzieloną: wiele procesorów komunikuje się przez wspólną szynę dostępu do wspólnej pamięci; Z pamięcią rozproszoną: każdy procesor ma swoją własną pamięć, komunikacja odbywa się przez szybkie łącza; Klastry (od drugiej połowy lat 90-tych): dwa rozwiązania: Maszyny z pamięcią dzieloną (np. klastry firmy SUN); Maszyny z rozproszoną pamięcią (klastry internetowe bądź naukowe ); Maszyny typu ccnuma. 31/69 PRiR Wykład 1 MIMD System z pamięcią dzieloną 32/69 PRiR Wykład 1 MIMD System z pamięcią rozproszoną 33/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 11
12 2 podstawowe definicje Ziarnistość systemu opisuje stosunek czasu jaki procesor poświęca na komunikację do czasu poświęconego na obliczenia. Procesory są drobnoziarniste (ang. fine grained), jeśli spędzają więcej czasu na obliczeniach niż na komunikacji, w przeciwnym przypadku są gruboziarniste (ang. coarse grained). Skalowalność systemu opisuje, jak dodatkowe procesory wpływają na całkowitą wydajność. Skalowalność liniowa jest idealna: weź dwa razy więcej procesorów i czekaj na odpowiedź połowę czasu. 34/69 PRiR Wykład 1 MIMD z pamięcią wspólną Procesory w systemie z pamięcią dzieloną komunikują się przez czytanie i pisanie do pamięci znajdującej się we wspólnej przestrzeni adresowej, co często implikuje wspólną (dzieloną) szynę. Można także używać poprzecznych połączeń (ang. crossbar interconnections) albo wielostopniowego połączenia (ang. multistage interconnection network) 35/69 PRiR Wykład 1 MIMD z pamięcią wspólną Architektura z pamięcią dzieloną Połączenie szyną 36/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 12
13 MIMD z pamięcią wspólną Architektura z pamięcią dzieloną Poprzeczne połączenia 37/69 PRiR Wykład 1 Shared memory MIMD Architektura z pamięcią dzieloną Wielostopniowe połączenie 38/69 PRiR Wykład 1 MIMD z pamięcią wspólną Szyna dzielona jest najłatwiejszym i najczęściej stosowanym rozwiązaniem. W praktyce bardzo trudne okazało się zaprojektowanie szyny, która byłaby wystarczająco szybka, szczególnie biorąc pod uwagę, że szybkość procesorów zwiększała się szybko. Nakłada to górną granicę na liczbę procesorów, dlatego liczba takich połączeń w praktyce nie przekracza kilkudziesięciu (raczej 20 niż 90). 39/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 13
14 MIMD z pamięcią wspólną W 1992 powstał standard (IEEE P896) dla szybkich szyn łączących systemy wewnętrznie lub zewnętrznie. Szyna ta nazwana Scalable Coherent Interface SCI powinna zapewnić przepustowość między dwoma elementami rzędu 200-1,000 Mbyte/s. Jest używana przez HP/Convex SPP-2000, ale może być użyta w sieci stacji roboczych. SCI jest czymś więcej niż szybką szyną i może działać jako szkielet sieci dla rozproszonego przetwarzania. 40/69 PRiR Wykład 1 MIMD z pamięcią wspólną Problemy: Jeden proces będzie miał kontrolę nad szyną w momencie, gdy inny chce dostać się do pamięci. Ten problem jest z reguły rozwiązywany przez przydzielanie każdemu procesorowi dużego bufora na pamięć podręczną, do którego ma dostęp zamiast pamięci dzielonej. Spójność danych: z wieloma procesorami operującymi na tych samych danych może się to skończyć tak, że jedna zmienna będzie miała wiele wartości w każdej pamięci podręcznej w systemie. Jest wiele dostępnych algorytmów, zapewniających spójność danych np. bus snooping, different caching system i inne, ale to zwiększa koszt (=czas wykonania) oraz złożoność systemu. 41/69 PRiR Wykład 1 MIMD z pamięcią wspólną Systemy z pamięcią dzieloną są najłatwiejszymi komputerami równoległymi do programowania. W systemach gruboziarnistych mogą działać programy (działają) pisane dla systemów jednoprocesorowych. Systemy z pamięcią dzieloną są skalowalne dla niedużej liczby procesorów. Dla ilości większej niż 20 stosunek czas/procesorspada, ponieważ szyny stają się przepełnione. 42/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 14
15 MIMD z pamięcią wspólną Podsumowując: ZA: PRZECIW: Łatwe do programowania Dużo gotowego oprogramowania Niskie koszty Ograniczona skalowalność Problemy zgodności pamięci podręcznej Gruboziarnista równoległość 43/69 PRiR Wykład 1 MIMD z pamięcią rozproszoną Klasa DM-MIMD jest bez wątpienia najszybciej rozwijającą się częścią rodziny komputerów wysoko wydajnościowych. Procesory w systemie z rozproszoną pamięcią wykorzystują komunikaty, aby koordynować swoje działania. Każdy procesor ma swoją pamięć i elementy łącznościowe z innymi procesorami. Procesor, jego pamięć i elementy łączące są określane mianem węzła (ang. node) systemu. Ponieważ do synchronizacji wykorzystywane są komunikaty, nazywamy te systemy systemami wymiany komunikatów (ang. message passing multiprocessors). Ponieważ każdy węzeł jest kompletnym komputerem, taki system jest nazwany systemem wielokomputerowym (ang. multicomputers). 44/69 PRiR Wykład 1 MIMD z pamięcią rozproszoną Problem połączeń: Idealne rozwiązanie podłączyć każdy procesor w systemie do każdego innego - jest (dziś) niedostępne ze względu na trudności w budowie, koszty i skalowalność. 45/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 15
16 MIMD z pamięcią rozproszoną Różne strategie: pierścienie hipersześciany (ang. hypercube) drzewa binarne i grube (ang. fat) drzewa dwuwymiarowe tablice procesorów 46/69 PRiR Wykład 1 MIMD z pamięcią rozproszoną 47/69 PRiR Wykład 1 MIMD z pamięcią rozproszoną Hipersześciany Dobrą właściwością topologii opartej na hipersześcianie jest to, że przy 2 d węzłach liczba krawędzi, jakie trzeba pokonać pomiędzy każdymi dwoma wierzchołkami wynosi maksymalnie d. Tak więc wymiar sieci rośnie tylko logarytmicznie wraz ze wzrostem liczby wierzchołków. Dodatkowo, możliwe jest symulowanie każdej innej topologii na hipersześcianie: drzew, pierścieni, 2 i 3 wymiarowych siatek, i innych. 48/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 16
17 MIMD z pamięcią rozproszoną Hipersześciany W praktyce dokładna topologia hipersześcianu nie ma większego znaczenia, ponieważ wszystkie systemy na rynku implementują "wormhole routing". To oznacza, że jeśli wiadomość jest wysyłana z węzła i do węzła j, przesyłany jest nagłówek, co powoduje bezpośrednie połączenie pomiędzy tymi węzłami. Jak tylko połączenie zostanie nawiązane, właściwe dane są przesyłane bez zakłócenia operacji na pośrednich węzłach. Poza małą ilością czasu potrzebnego na nawiązanie połączenia pomiędzy wierzchołkami, czas połączenia stał się na dobrą sprawę niezależny od faktycznej odległości (->OneLab). 49/69 PRiR Wykład 1 MIMD z pamięcią rozproszoną Hipersześciany Jeśli w obciążonej sieci kilka wiadomości ma przebyć tę samą drogę, czasy oczekiwania są wyliczone jak w każdej sieci, która bezpośrednio nie łączy każdego procesora z każdym. Często stosowane są strategie wielokrotnego przełączania, aby ominąć obciążone połączenia. 50/69 PRiR Wykład 1 MIMD z pamięcią rozproszoną Grube drzewo 51/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 17
18 MIMD z pamięcią rozproszoną Grube drzewa Wydajny pod względem kosztów sposób, aby połączyć dużą liczbę procesorów, to właśnie grube drzewo (ang. fat tree). W zasadzie zwykłe drzewo wystarczy, żeby połączyć wszystkie węzły w systemie. Jednak w praktyce okazuje się, że w pobliżu korzenia drzewa występuje przeciążenie systemu z powodu dużej koncentracji wiadomości, które najpierw muszą dostać się na wysoki poziom zanim mogą ponownie zejść niżej do docelowych węzłów. Grube drzewo częściowo rekompensuje to zjawisko przez zapewnienie większej przepustowości (najczęściej w formie wielokrotnych połączeń) w wyższych partiach drzewa. N- wymiarowe grube drzewo to drzewo, gdzie poziomy w kierunku korzenia są N krotnie liczniejsze niż ich liczba na niższym poziomie. 52/69 PRiR Wykład 1 MIMD z pamięcią rozproszoną Dwuwymiarowe tablice procesorów(każdy procesor jest połączony ze swoimi sąsiadami). Sporo dużych równoległych systemów DM-MIMD zbudowano w oparciu o 2 i 3 wymiarowe siatki (ang. mesh), ewentualnie struktury walcowe. Powodem tego może być to, że większość dużych symulacji może być wydajnie mapowana na tej topologii, i że większa ilość połączeń prawie się nie opłaca. Jednak niektóre systemy utrzymują dodatkowe połączenia poza siatką w celu uniknięcia wąskich gardeł w przesyłaniu i wyszukiwaniu danych. 53/69 PRiR Wykład 1 Podsumowanie MIMD z pamięcią rozproszoną ZA: Niemal liniowa skalowalność Drobnoziarnista równoległość PRZECIW: Trudne do programowania Mało dostępnych programów Kosztowne 54/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 18
19 Klastry Rozwój klastrów, zbioru stacji roboczych/komputerów PC połączonych przez sieć lokalną, szybko wzrósł od momentu zaprezentowania pierwszego klastra Beowulf-a w 1994 r. Atrakcyjność tego rozwiązania leży w potencjalnie niskich kosztach zarówno sprzętu i oprogramowania jak i kontroli, jaką budowniczowie i użytkownicy mają nad systemem. Zainteresowanie klastrami można dostrzec nawet ze strony IEEE w postaci działania Task Force on Cluster Computing (TFCC), który regularnie wydaje White Paper. Opisywany w nim jest obecny status obliczeń prowadzonych na klastrach. Także książki jak zbudować i utrzymać klastry zwiększyły ich popularność. 55/69 PRiR Wykład 1 Klastry Wraz z tym, jak środowisko klastrów stawało się dojrzalsze i atrakcyjniejsze finansowo, zarówno duże, jak i małe firmy wkroczyły na to pole i oferują mniej lub bardziej gotowe do działania klastry dla tych, którzy nie chcą budować swojego systemu od podstaw. Liczba firm sprzedających konfiguracje oparte na klastrach stała się dość duża. 56/69 PRiR Wykład 1 Klastry Dodatkowo jest duża różnica w użytkowaniu klastrów i ich bardziej zintegrowanych odpowiedników, które będą omówione w następujących sekcjach: klastry są najczęściej używane do capability computing, podczas gdy zintegrowane maszyny są używane do capacity computing. 57/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 19
20 Klastry Pierwszy tryb użytkowania - capability computing - oznacza, że system jest używany do jednego bądź kilku programów, dla których nie ma żadnej dostępnej alternatywy pod względem możliwości obliczeniowych. Drugie podejście -capacity computing - polega na utrzymywaniu dużego obciążenia przez pracę wielu, często wymagających, programów i użytkowników. 58/69 PRiR Wykład 1 Klastry Tradycyjnie dostawcy dużych superkomputerów nauczyli się dostarczać oprogramowanie do tego ostatniego trybu pracy, ponieważ cenne zasoby ich systemów musiały być jak najwydajniejsze. Dla kontrastu klastry takie jak klaster Beowulf (Mossix i inne) są głównie zarządzane przez systemy na bazie Linuxa, które albo nie posiadają odpowiednich narzędzi, albo są one słabo rozwinięte. Jednakże wraz ze wzrostem popularności i stabilności klastrów kształtuje się trend do używania ich do capability computing. 59/69 PRiR Wykład 1 Klastry Ważnym, ale nie zadziwiającym wnioskiem jest, że prędkość łącza jest bardzo ważna we wszystkim, poza aplikacjami najbardziej złożonymi obliczeniowo. Kolejną ważną obserwacją jest, że węzły obliczeniowe z więcej niż jednym procesorem mogą być atrakcyjne z punktu widzenia oszczędności (prawdopodobnie także energii) i kwestii odprowadzania ciepła, ale wydajność może zostać poważnie obniżona przez fakt, że więcej procesorów musi pracować na pamięci poszczególnego węzła. Przepustowość węzłów w tym wypadku nie wystarcza dla wymagań aplikacji wymagających dużej ilości pamięci. 60/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 20
21 Klastry Na szczęście jest dziś duży wybór sieci komunikacyjnych dostępnych w klastrach. Oczywiście 100 Mb/s Ethernet jest zawsze wykonalny, co jest atrakcyjne ze względów ekonomicznych, ale ma minusy w postaci ograniczenia maksymalnej przepustowości (około 10 MB/s) i dużego opóźnienia (ang. latency) (około100 µs). Gigabitowy Ethernet ma maksymalną przepustowość 10 razy większą, ale ma takie samo opóźnienie. 61/69 PRiR Wykład 1 Maszyny ccnuma W dzisiejszych czasach można zaobserwować trend, aby budować systemy, które mają raczej małą (do 16) liczbę procesorów RISC ściśle zintegrowanych w klasterze w tzw. węzeł SMP - Symmetric Multi- Processing. Procesory w takim węźle są praktycznie zawsze połączone bezpośrednio szyną, podczas gdy klastry połączone są mniej kosztowną siecią. 62/69 PRiR Wykład 1 Maszyny ccnuma Diagram blokowy systemu z hybrydową siecią: klastry 4 CPU są połączone szyną. Zewnętrznie klastry połączone są mniej kosztowną siecią. 63/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 21
22 Maszyny ccnuma Jest to postępowanie podobne do tego przy dużych grupach procesorów wektorowych wspomnianych wcześniej, ale istotną różnicą jest to, że każdy procesor, jeśli zajdzie taka potrzeba, ma dostęp do całej przestrzeni adresowej. Najważniejszymi sposobami pozwalającymi węzłom SMP dzielić ich pamięć jest S-COMA (Simple Cache-Only Memory Architecture - Prosta Architektura Pamięci Podręcznej) i ccnuma (Cache Coherent Non-Uniform Memory Access Niejednorodna Dostępność do Spójnej Pamięci Podręcznej). Dlatego takie systemy mogą być uznawane za maszyny SM-MIMD. Z drugiej strony, ponieważ pamięć jest fizycznie rozproszona, nie może być zagwarantowane, że operacja dostępu do danych będzie obciążona tym samym czasem. 64/69 PRiR Wykład 1 Maszyny ccnuma W systemach S-COMA hierarchiczność pamięci podręcznej lokalnych węzłów jest rozszerzona na pamięć innych węzłów. Gdy potrzebne są dane nie znajdujące się w lokalnej pamięci węzła, są one tam dostarczane z węzła, w którym się fizycznie znajdowały. W ccnuma ten pomysł jest dalej rozszerzany i cała pamięć w systemie jest adresowana globalnie. Tak więc dane mogą nie być fizycznie lokalne, ale logicznie należą do jednej przestrzeni adresowej. Ponieważ dane mogą być fizycznie rozproszone na wiele węzłów, czas dostępu do różnych danych może być różny - co wyjaśnia termin niejednorodna dostępność do pamięci (nonuniform). 65/69 PRiR Wykład 1 Maszyny ccnuma Termin spójna pamięć podręczna (ang. Cache Coherent ) odnosi się do faktu, że dla wszystkich procesorów jedna zmienna musi mieć jedną, ustaloną wartość. Dlatego musi zostać zapewnione, że pamięć podręczna, która zapewniła te dane, jest pod tym względem zgodna. Jest wiele sposobów na zapewnienie spójności pamięci podręcznej procesorów. Jeden to snoopy bus protocol, w którym pamięci nasłuchują transportu zmiennych do innych procesorów i uaktualniają swoje kopie tych zmiennych, jeśli je posiadają. Inny sposób to pamięć słownikowa (ang. directory memory), specjalny obszar pamięci, który pozwala śledzić wszystkie kopie zmiennych i ich aktualność. 66/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 22
23 Maszyny ccnuma W chwili obecnej żadna komercyjna maszyna nie używa schematu S-COMA. Jest kilka popularnych maszyn ccnuma (HP SuperDome, SGI Origin3000 i Altix3000) dostępnych na rynku. Dla wszystkich praktycznych zastosowań możemy zaklasyfikować te systemy jako maszyny SM-MIMD także dlatego, że specjalny sprzęt/oprogramowanie (jak pamięć słownikowa) zostało dodane, aby osiągnąć spójny obraz systemu pomimo jego fizycznego rozproszenia. 67/69 PRiR Wykład 1 Podsumowanie Niektóre maszyny są oczywiście hybrydami kategorii, jednak ten klasyczny model (Flynna) przetrwał ponieważ jest prosty, łatwy do zrozumienia i daje dobry pierwszy ogląd zagadnienia. Jest również prawdopodobnie dzięki swojej zrozumiałości najbardziej powszechnym schematem * * David A. Patterson and John L. Hennessy. Computer Organization and Design (Second Edition) Morgan Kaufmann Publishers, 1998, pp /69 PRiR Wykład 1 Podsumowanie Równoległe przetwarzanie jest ciągle wyzwaniem dla naukowców. Nie możemy jeszcze oczekiwać bardzo dobrych kompilatorów do równoległego przetwarzania, ale: budowa narzędzi (takich jak kompilatory, biblioteki i systemy) pomagających w przetwarzaniu równoległym jest intensywnie rozwijającą się dziedziną 69/69 PRiR Wykład 1 Przygotował: Lucjan Stapp 23
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ę
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
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
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
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
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
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.
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
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
Klasyfikacja systemów komputerowych. Architektura von Neumanna Architektura harwardzka Zmodyfikowana architektura harwardzka. dr inż.
Rok akademicki 2011/2012, Wykład nr 6 2/46 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2011/2012
dr inż. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2011/2012 Wykład nr 6 (27.04.2012) dr inż. Jarosław Forenc Rok akademicki
3.Przeglądarchitektur
Materiały do wykładu 3.Przeglądarchitektur Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 24 stycznia 2009 Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne
Systemy wieloprocesorowe i wielokomputerowe
Systemy wieloprocesorowe i wielokomputerowe Taksonomia Flynna Uwzględnia następujące czynniki: Liczbę strumieni instrukcji Liczbę strumieni danych Klasyfikacja bierze się pod uwagę: Jednostkę przetwarzającą
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
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
Architektura komputerów
Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna
Wykład 8 Systemy komputerowe ze współdzieloną pamięcią operacyjną, struktury i cechy funkcjonalne.
Wykład 8 Systemy komputerowe ze współdzieloną pamięcią operacyjną, struktury i cechy funkcjonalne. Części wykładu: 1. Ogólny podział struktur systemów równoległych 2. Rodzaje systemów komputerowych z pamięcią
Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC
Architektura Systemów Komputerowych Rozwój architektury komputerów klasy PC 1 1978: Intel 8086 29tys. tranzystorów, 16-bitowy, współpracował z koprocesorem 8087, posiadał 16-bitową szynę danych (lub ośmiobitową
1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH
1. ARCHITEKTURY SYSTEMÓW KOMPUTEROWYCH 1 Klasyfikacje komputerów Podstawowe architektury używanych obecnie systemów komputerowych można podzielić: 1. Komputery z jednym procesorem 2. Komputery równoległe
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............................................
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
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...................................................
3.Przeglądarchitektur
Materiały do wykładu 3.Przeglądarchitektur Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 17 marca 2014 Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne
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
Architektura Komputerów
1/3 Architektura Komputerów dr inż. Robert Jacek Tomczak Uniwersytet Przyrodniczy w Poznaniu Architektura a organizacja komputera 3.1 Architektura komputera: atrybuty widzialne dla programisty, atrybuty
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ń
Architektura von Neumanna
Architektura von Neumanna Klasyfikacja systemów komputerowych (Flynna) SISD - Single Instruction Single Data SIMD - Single Instruction Multiple Data MISD - Multiple Instruction Single Data MIMD - Multiple
Komputery równoległe. Zbigniew Koza. Wrocław, 2012
Komputery równoległe Zbigniew Koza Wrocław, 2012 Po co komputery równoległe? Przyspieszanie obliczeń np. diagnostyka medyczna; aplikacje czasu rzeczywistego Przetwarzanie większej liczby danych Przykład:
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
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
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
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
Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1
i sieci komputerowe Szymon Wilk Superkomputery 1 1. Superkomputery to komputery o bardzo dużej mocy obliczeniowej. Przeznaczone są do symulacji zjawisk fizycznych prowadzonych głównie w instytucjach badawczych:
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
Wprowadzenie do architektury komputerów. Taksonomie architektur Podstawowe typy architektur komputerowych
Wprowadzenie do architektury komputerów Taksonomie architektur Podstawowe typy architektur komputerowych Taksonomie Służą do klasyfikacji architektur komputerowych podział na kategorie określenie własności
Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1
Literatura 1. Wprowadzenie do obliczeń równoległych, Zbigniew Czech, Wydawnictwo Naukowe PWN, 2010, 2013 2. Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; Addison Wesley 2003 3. Designing
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
Systemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..
PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK
1 PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK POLITECHNIKA CZĘSTOCHOWSKA 2 Część teoretyczna Informacje i wstępne wymagania Cel przedmiotu i zakres materiału Zasady wydajnego
Wykład 2 Podstawowe pojęcia systemów równoległych, modele równoległości, wydajność obliczeniowa, prawo Amdahla/Gustafsona
Wykład 2 Podstawowe pojęcia systemów równoległych, modele równoległości, wydajność obliczeniowa, prawo Amdahla/Gustafsona Spis treści: 1. Równoległe systemy komputerowe a rozproszone systemy komputerowe,
PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK
1 PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK POLITECHNIKA CZĘSTOCHOWSKA 2 Trendy rozwoju współczesnych procesorów Budowa procesora CPU na przykładzie Intel Kaby Lake
SSE (Streaming SIMD Extensions)
SSE (Streaming SIMD Extensions) Zestaw instrukcji wprowadzony w 1999 roku po raz pierwszy w procesorach Pentium III. SSE daje przede wszystkim możliwość wykonywania działań zmiennoprzecinkowych na 4-elementowych
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
dr inż. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 6 (28.03.2011) Rok akademicki 2010/2011, Wykład
Budowa komputera Komputer computer computare
11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału
Przetwarzanie równoległesprzęt
Przetwarzanie równoległesprzęt 2 Rafał Walkowiak Wybór 4.0.204 7.0.2 Sieci połączeń komputerów równoległych () Zadanie: przesyłanie danych pomiędzy węzłami przetwarzającymi Parametry: liczba wejść, wyjść,
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
Klasyfikacja systemów komputerowych. Architektura von Neumanna. dr inż. Jarosław Forenc
Rok akademicki 2010/2011, Wykład nr 6 2/56 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2010/2011
Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy
Systemy operacyjne Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. Podstawy budowy i działania komputerów, WKiŁ, Warszawa
5. Model komunikujących się procesów, komunikaty
Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć
Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.
Procesory wielordzeniowe (multiprocessor on a chip) 1 Procesory wielordzeniowe 2 Procesory wielordzeniowe 3 Konsekwencje prawa Moore'a 4 Procesory wielordzeniowe 5 Intel Nehalem 6 Architektura Intel Nehalem
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.
Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych
Standard transmisji równoległej LPT Centronics
Standard transmisji równoległej LPT Centronics Rodzaje transmisji szeregowa równoległa Opis LPT łącze LPT jest interfejsem równoległym w komputerach PC. Standard IEEE 1284 został opracowany w 1994 roku
Budowa Mikrokomputera
Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,
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ń
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
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
Akademia Techniczno-Humanistyczna w Bielsku-Białej
Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.
Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.
Plan wykładu Pojęcie magistrali i jej struktura Architektura pamięciowo-centryczna Architektura szynowa Architektury wieloszynowe Współczesne architektury z połączeniami punkt-punkt Magistrala Magistrala
Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola
Wybrane bloki i magistrale komputerów osobistych (PC) Opracował: Grzegorz Cygan 2010 r. CEZ Stalowa Wola Ogólny schemat komputera Jak widać wszystkie bloki (CPU, RAM oraz I/O) dołączone są do wspólnych
LEKCJA TEMAT: Zasada działania komputera.
LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem
dr inż. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 2018/2019 Wykład nr 10 (17.05.2019) Rok akademicki 2018/2019, Wykład
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
Procesory. Schemat budowy procesora
Procesory Procesor jednostka centralna (CPU Central Processing Unit) to sekwencyjne urządzenie cyfrowe którego zadaniem jest wykonywanie rozkazów i sterowanie pracą wszystkich pozostałych bloków systemu
Projektowanie. Projektowanie mikroprocesorów
WYKŁAD Projektowanie mikroprocesorów Projektowanie układ adów w cyfrowych - podsumowanie Algebra Boole a Bramki logiczne i przerzutniki Automat skończony System binarny i reprezentacja danych Synteza logiczna
dr inż. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 6 (06.05.2011) Rok akademicki 2010/2011, Wykład
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
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Opiekun naukowy: dr
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
Wykorzystanie architektury Intel MIC w obliczeniach typu stencil
Wykorzystanie architektury Intel MIC w obliczeniach typu stencil Kamil Halbiniak Wydział Inżynierii Mechanicznej i Informatyki Kierunek informatyka, Rok IV Instytut Informatyki Teoretycznej i Stosowanej
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
dr inż. Jarosław Forenc
Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2009/2010 Wykład nr 6 (15.05.2010) dr inż. Jarosław Forenc Rok akademicki
Budowa systemów komputerowych
Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa
Przetwarzanie Rozproszone i Równoległe
WYDZIAŁ INŻYNIERII ELEKTRYCZNEJ I KOMPUTEROWEJ KATEDRA AUTOMATYKI I TECHNIK INFORMACYJNYCH Przetwarzanie Rozproszone i Równoległe www.pk.edu.pl/~zk/prir_hp.html Wykładowca: dr inż. Zbigniew Kokosiński
Rozproszona pamiêæ dzielona - 1
Rozproszona pamiêæ dzielona - 1 Wieloprocesor - wiele ma dostêp do wspólnej pamiêci g³ównej Wielokomputer - ka dy ma w³asn¹ pamiêæ g³ówn¹; nie ma wspó³dzielenia pamiêci Aspekt sprzêtowy: Skonstruowanie
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
Metody optymalizacji soft-procesorów NIOS
POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji Kamil Krawczyk Metody optymalizacji soft-procesorów NIOS Warszawa, 27.01.2011
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
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 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:
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
System mikroprocesorowy i peryferia. Dariusz Chaberski
System mikroprocesorowy i peryferia Dariusz Chaberski System mikroprocesorowy mikroprocesor pamięć kontroler przerwań układy wejścia wyjścia kontroler DMA 2 Pamięć rodzaje (podział ze względu na sposób
Akademickie Centrum Informatyki PS. Wydział Informatyki PS
kademickie Centrum Informatyki PS Wydział Informatyki PS Wydział Informatyki Sieci komputerowe i Telekomunikacyjne Transmisja w protokole IP Krzysztof ogusławski tel. 4 333 950 kbogu@man.szczecin.pl 1.
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 oraz łatwości stosowania i pielęgnacji) jedną z najważniejszych charakterystyk
Systemy rozproszone System rozproszony
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.
współbieżność - zdolność do przetwarzania wielu zadań jednocześnie
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową.
Wydajność komunikacji grupowej w obliczeniach równoległych. Krzysztof Banaś Obliczenia wysokiej wydajności 1
Wydajność komunikacji grupowej w obliczeniach równoległych Krzysztof Banaś Obliczenia wysokiej wydajności 1 Sieci połączeń Topologie sieci statycznych: Sieć w pełni połączona Gwiazda Kraty: 1D, 2D, 3D
155,35 PLN brutto 126,30 PLN netto
Totolink A3000RU Router WiFi AC1200, Dual Band, MU-MIMO, 5x RJ45 1000Mb/s, 1x USB 155,35 PLN brutto 126,30 PLN netto Producent: TOTOLINK Router bezprzewodowy A3000RU jest zgodny z najnowszym standardem
MAGISTRALE ZEWNĘTRZNE, gniazda kart rozszerzeń, w istotnym stopniu wpływają na
, gniazda kart rozszerzeń, w istotnym stopniu wpływają na wydajność systemu komputerowego, m.in. ze względu na fakt, że układy zewnętrzne montowane na tych kartach (zwłaszcza kontrolery dysków twardych,
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ść
Równoległość i współbieżność
Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna
Równoległość i współbieżność
Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna
Bibliografia: pl.wikipedia.org www.intel.com. Historia i rodzaje procesorów w firmy Intel
Bibliografia: pl.wikipedia.org www.intel.com Historia i rodzaje procesorów w firmy Intel Specyfikacja Lista mikroprocesorów produkowanych przez firmę Intel 4-bitowe 4004 4040 8-bitowe x86 IA-64 8008 8080
UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386
Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać
Programowanie Rozproszone i Równoległe
Programowanie Rozproszone i Równoległe OpenMP (www.openmp.org) API do pisania wielowątkowych aplikacji Zestaw dyrektyw kompilatora oraz procedur bibliotecznych dla programistów Ułatwia pisanie programów
Wstęp do programowania 2
Wstęp do programowania 2 wykład 10 Zadania Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Współbieżność dotychczasowe programy wykonywały akcje sekwencyjnie Ada umożliwia
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