Przetwarzanie równoległe- 2. Komputery równoległe
|
|
- Maja Zając
- 5 lat temu
- Przeglądów:
Transkrypt
1 Przetwarzanie równoległe- 2. Komputery równoległe Rafał Walkowiak Modyfikacja
2 WspółbieŜność wewnętrzna przetwarzania procesora Uwarunkowania: 1. Dotychczas imponujący wzrost prędkości taktowania procesora 1000 razy szybciej w ciągu 10 lat obecnie ograniczony wielkością wydzielanej mocy cieplnej i fizycznymi wymiarami elementów struktury 2. Ograniczenia we wzroście prędkości pracy pamięci (memory wall) 3. Technologiczne moŝliwy wzrost złoŝoności układów scalonych - podwojenie złozoności w ciągu 18 miesięcy prawo Gordona Moora Jak wykorzystać moŝliwości dla wzrostu efektywności komputerów? Równoczesna realizacja wielu instrukcji w czasie jednego cyklu zegarowego - potokowość, wiele potoków - superskalarność Równoległość pracy modułów procesora Wiele rdzeni przetwarzających w pojedynczych procesorach
3 Potokowość i współbieŝne wykonanie instrukcji WspółbieŜność wewnętrzna Potoki wykonywania instrukcji zapewniają ich wykonanie w wielu równoległych krokach (20 kroków w Pentium4) kroki o niewielkiej złoŝoności stąd moŝliwość szybkiego taktowania efekt skrócenie czasu realizacji instrukcji przez potokowość (równoległość) Potok realizujący wiele instrukcji równocześnie wymaga predykcji kierunku realizacji kodu w punktach rozgałęzień kodu dla właściwego zapełnienia potoku. Wiele potoków pozwala na jednoczesne zakończenie realizacji kilku instrukcji kilka instrukcji w cyklu dzięki równoległości, wielodroŝność procesorów np. two-way superscalar execution
4 Superskalarne przetwarzanie - przykład load load load Add load Add Add Add load Add Add Add R1, R2 Add Add R1, R2 Store Store Store Cykle proc IF: POBRANIE INSTRUKCJI IF ID OF ID: DEKODOWANIE IF ID OF OF: POBRANIE OPERANDU IF ID OF E E: WYKONANIE IF ID OF E WB: ZAPIS IF ID NA E IF ID NA WB NA: BRAK DZIAŁANIA WspółbieŜne przetwarzanie w 2 potokach
5 Przetwarzanie superskalarne i potokowe Problemy konflikty : ZaleŜność między danymi wynikiem jest oczekiwanie np. w takcie 5 i 6 (No operation) ZaleŜności rozgałęzień (proceduralne) przewidywanie kierunku przetwarzania po rozgałęzieniu jest krytyczne dla efektywności przetwarzania superskalarnego Konflikty zasobowe przykład: 2 potoki przetwarzania instrukcji a jedna jednostka wykonawcza zmiennoprzecinkowa lub niskie wykorzystanie dwóch jednostek wykonawczych
6 Przetwarzanie superskalarne i potokowe Rozwiązania: Zmiana kolejności realizacji instrukcji programu out-of-order (dynamic) instruction issue (przetwarzanie dynamiczne - cecha procesora) sprzętowe badanie moŝliwości równoległej realizacji instrukcji Układy przewidywania rezultatu rozgałęzienia kodu Pobieranie rozkazów i danych z wyprzedzeniem Wiele jednostek wykonawczych, lecz niski poziom wykorzystania tych zasobów (dla typowych programów) prowadzi typowo do konstrukcji procesorów posiadających do 4 potoków przetwarzania
7 1. Brak moŝliwości wzrostu efektywności przetwarzania poprzez polepszenie poziomu zrównoleglenia realizacji programów sekwencyjnych oraz 2. duŝa dostępność układów logicznych w strukturach obwodów cyfrowych prowadzi do koncepcji: wielu rdzeni w procesorze i równoległości na poziomie programów
8 Procesory z długim słowem rozkazowym VLIW (ang. very long instruction word) processor - zastosowanie kompilatora do odkrywania sekwencji niezaleŝnych instrukcji nadających się do współbieŝnej realizacji; Instrukcje, które mogą być realizowane współbieŝnie są: określane za pomocą jednej instrukcji, która jest realizowana współbieŝnie przez wiele jednostek wykonawczych. Problemem jest brak znajomości przez kompilator stanu procesu (analiza off-line) i stąd utrudnione przewidywanie np.. kierunku przetwarzania po rozgałęzieniu w kodzie. Do tej grupy procesorów naleŝą zaproponowane przez Intel i HP procesory EPIC (explicit parallel instruction computing ) np. Intel Itanium - paczka 3 instrukcji realizowanych w równoległych potokach procesora
9 Ograniczenia efektywności systemu pamięci Parametry pamięci : opóźnienie (ang. latency) - czas odpowiedzi pamięci na Ŝądanie danych przez procesor przepustowość systemu pamięci (ang. bandwidth) - ilość danych dostarczana przez pamięć w jednostce czasu wielkość linii pamięci podręcznej (ang. cache line) - liczba słów pobierana jednorazowo do pamięci podręcznej z pamięci głównej Opóźnienie pamięci powoduje często spadek efektywności przetwarzania systemu w zaleŝności od rodzaju kodu; w szczególności od wymaganej w kodzie liczby pobrań na operację (wskaźnik dostępu - memory access rate) i lokacji danych
10 Ograniczenia efektywności przetwarzania - system pamięci Pamięć podręczna (pp): Zmniejszenie wypadkowego opóźnienia dostępu do pamięci poprzez zastosowanie pp. Stosunek trafień do pp (ang. hit ratio) określa stosunek odwołań zaspokojonych z pp do liczby wszystkich odwołań do tej pamięci. Czas dostępu do słowa w pamięci t śr t pp - czas dostępu do pamięci podręcznej t m - czas dostępu do pamięci głównej h współczynnik trafień T = h t pp + (1-h) t m
11 Ograniczenia efektywności przetwarzania - system pamięci Pozytywny efekt na efektywność zastosowania pp wynika z: wielokrotnego wykorzystania danych z pp (szybki dostęp) sprowadzonych jednokrotnie - jako linia pp (wolny dostęp) zawartości tej lnii. Cechami programów, które to zapewniają są czasowa lokalność odwołań (ang. temporal locality of reference) dane raz sprowadzone zostają wkrótce uŝyte ponownie wkrótce. przestrzenna lokalnością odwołań - (ang. spatial locality of memory access) korzystanie kolejo z danych zajmujących sąsiednie lokacje w pamięci (np. jeŝeli tablica jest zapisywana wierszami w pamięci to kolejne dostępy powinny teŝ, jeśli to moŝliwe, być realizowane wierszami)
12 Ograniczenia efektywności przetwarzania system pamięci Przykład: Wpływ przepustowości pamięci na wydajność przetwarzania Dane: System superskalarny realizujący potencjalnie 4 instrukcje zmiennoprzecinkowe w cyklu, procesor pracujący z zegarem 1GHZ - szczytowa wydajność procesora to cztery miliardy operacji zmiennoprzecinkowych na sekundę - 4GFLOPS pamięć podręczna z czasem dostępu 1 cyklu zegara i liną długości 4 słowa, pamięć systemu z 100 ns opóźnieniem, transmisją blokową na magistrali: o szerokości 1 słowa taktowanej z prędkością 200 MHz, ZałoŜenie: algorytm wymaga 1 słowa dla realizacji jednej instrukcji, stosunek trafień do pamięci podręcznej wynosi 75%
13 Ograniczenia efektywności pamięci rozwiązanie przykładu Analiza teoretyczna: Z danych - stosunek trafień - wynika, Ŝe 3 na 4 słowa są pobierane bezpośrednio z pamięci podręcznej,czyli Dostęp do 4 słów jest realizowany w czasie: dane bezpośrednio z pp - 3 * 1ns (1GHz) dane pośrednio z pp (obliczenie kosztu pobrania z pamięci systemu) do pp 100 ns +3*5 ns pierwsze słowo z pamięci systemu po czasie opóźnienia pamięci, kolejne słowa (transmisja blokowa) po cyklu magistrali (200MHz) z pp 1 ns Razem 119 ns dla czterech słów Instrukcja wymagająca średnio 1 słowa będzie mogła zatem być zrealizowana średnio raz na 30 ns. Przepustowość systemu pamięci dla tego kodu wynosi zatem 33,3 M słów na sekundę. Uzyskamy maksymalną wydajność przetwarzania kodu: 33,3 MFLOPS
14 Ograniczenia efektywności pamięci rozwiązanie przykładu Szczytowa wydajność procesora to cztery miliardy operacji zmiennoprzecinkowych na sekundę - 4GFLOPS Maksymalna wydajność przetwarzania kodu (ograniczona dostępem do pamięci): 33,3 MFLOPS Zmniejszenie szczytowej wydajności procesora 100 krotnie jest efektem: niskiego stosunku trafień, zaleŝy równieŝ od: opóźnienia dostępu do pamięci, wielkości linii pamięci podręcznej i prędkości magistrali danych
15 Ograniczenia efektywności systemu pamięci metody ukrywania opóźnienia pamięci śądanie z wyprzedzeniem określanie zapotrzebowania na dane z wyprzedzeniem, aby dotarły do pamięci podręcznej wtedy gdy będą potrzebne (realizowane przez kompilatory i procesory). Wielowątkowość Zastosowanie wielu wątków pozwala na realizacje przetwarzania wątku gotowego w czasie, gdy pozostałe wątki oczekują na dane z pamięci Szczególnie procesory wielowątkowe pozwalają na zarządzanie kontekstem wielu wątków i szybkie przełączanie w momencie realizacji Ŝądań zasobowych poszczególnych procesów. Wzrost liczby wątków moŝe jednak powodować spadek stosunku trafień do pamięci podręcznej (mniejsza pamięć przypadająca na wątek), a w konsekwencji konieczność wzrostu przepustowości magistrali dla zapewnienia odpowiedniej obsługi Ŝądań pamięciowych wątków
16 Struktury sterowania systemów równoległych (1) Sterowane scentralizowane jedna jednostka sterująca nadzorująca synchronicznie pracujące jednostki wykonawcze - SIMD (ang. Single instruction stream, multiple data stream), - ta sama instrukcja realizowana we wszystkich jednostkach wykonawczych (procesory określane jako procesory macierzowe) (maszyny Illiac IV, CM-2, MasPar MP-1, obecnie układy wykonawcze procesorów). Ten typ przetwarzania obecny PE jest w rozszerzeniach procesorów Intela - jednostki MMX, Pentium - SSE (ang. streaming SIMD Extensions). Maska aktywności jednostki określa biorące udział w kolejnym kroku przetwarzania jednostki wykonawcze PE (w zaleŝności od potrzeb/kodu) Nadrzędna jednostka sterująca GCU PE PE PE Sieć połączeń
17 Struktury sterowania systemów równoległych (2) Sterowanie rozproszone element przetwarzający moŝe realizować dowolny program niezaleŝnie od pozostałych system MIMD (ang. multiple instruction stream, multiple data stream), Wersją modelu MIMD jest SPMD (ang. single program...) realizacja tego samego kodu na róŝnych danych realizowalny w MIMD jako kod zawierający if-else bloki. W MIMD program i system operacyjny jest zawarty w pamięci kaŝdego procesora, w SIMD niekoniecznie. SIMD architektury specjalizowane dla specyficznych zastosowań procesory graficzne - GPU MIMD bardziej odpowiednie dla zastosowań o nieregularnej naturze
18 Systemy ze współdzieloną przestrzenią adresową Systemy wieloprocesorowe (ang. multiprocessors) przestrzeń adresowa współdzielona SMP (ang. symmetric multiprocessing) wszystkie procesory mają dostęp do wszystkich zasobów systemu (pamięci i systemu we/wy), jedna przestrzeń adresowa, moŝliwość przetwarzania dla wszystkich procesorów w trybie jądra (ang. kernel mode system operacyjny przejmuje realizację wątku programu np. wiele procesorów realizuje operacje i/o) Przestrzeń adresowa lokalna (własna) i przestrzeń globalna (wspólna dla wszystkich procesorów). System wieloprocesorowy typu UMA (ang. uniform memory access multicomputer) jednakowy czas dostępu kaŝdego z procesorów do dowolnego słowa. System wielokomputerowy typu NUMA (ang. Non-uniform memory access multicomputer) czas dostępu uzaleŝniony od pamięci, lokalnej czy globalnej, do której dostęp jest realizowany. SCI (ang. scalable coherent interconnect) zbiór standarowych protokołów do połączenia wielu SMP w jeden komputer o pamięci współdzielonej
19 Systemy wieloprocesorowe/wielokomputerowe P P P P C P C P C Siec połączeń Siec połączeń M M M UMA M M M P CM P CM Siec Połączeń P CM NUMA C pamięć podręczna M pamięć
20 Klastry systemy równoległe zwarte z pamięcią rozproszoną Komputer składający się z węzłów (komputerów jednostek przetwarzających procesory, pamięci, magistrale) i sieci połączeń Konstelacje gdy więcej procesorów w węźle niŝ węzłów w systemie, Komputery masowo równoległe obecnie klastry z dziesiątkami tysięcy i setkami tysięcy procesorów Superkomputery obecnie klastry o mocy rzędu biliarda (10 15 ) operacji zmiennoprzecinkowych na sekundę
21 Fizyczna organizacja maszyn równoległych model PRAM PRAM równoległy odpowiednik modelu RAM (model komputerowego przetwarzania sekwencyjnego), wspólna przestrzeń adresowa CECHY (4): jednoczesny dostęp kaŝdego procesora do dowolnej komórki pamięci w jednostkowym czasie, Idealizacja maszyn równoległych z SM, prosta analiza algorytmów, brak efektywnego algorytmu dla PRAM świadczy o braku efektywnego algorytmu dla dowolnej maszyny równoległej
22 model PRAM Model pełnego równoległego dostępu do pamięci nierealizowalny w praktyce ze względu na nierealność (wysoki koszt) zapewnienia p procesorom jednoczesnego dostępu do dowolnego słowa w pamięci ( o m słowach), gdyŝ wymaga to mp przełączników (DUśO!!!)
23 Maszyny RAM, PRAM RAM Jednostaka przetwarzająca i program Tasma wejściowa odczytu i tasma wyjściowa zapisu Rejestry (kaŝdy mieści wartość integer dowolnego rozmiaru) Jednostkowy czas instrukcji PRAM SM SIMD Wiele procesorów z rejestrami prywatnymi (bez taśm) Wspólna pamięć Dostęp do pamięci w jednostce czasu Wejście i wyjście algorytmu w określonych komórkach pamięci Synchroniczna realizacja instrukcji: przez procesory odczyt operandu, obliczenia i zapis EREW, CREW, ERCW, CRCW równoległe lub wyłączne dostępy do pamięci WspółbieŜny zapis wymaga arbitraŝu w przypadku konfliktu dostępu; Strategie zapisu: jednolita, dowolna i priorytetowa
24 Przykład: Algorytm dla CRCW PRAM z jednolitą strategią zapisu Wyznaczanie maksimum z tablicy TAB for i=1,m do parallel R[i]=TRUE; for i=1,m for j=1,m do parallel if (TAB[i]<TAB[j]) R[i]=FALSE; -- jeśli jest mniejszy to otrzymuje FALSE -- wszystkie elementy największe (równe sobie) zachowują TRUE -- jeśli procesor zapisuje to zapisuje FALSE CW ok.! For i=1,m do parallel if (R[i]==TRUE) MAX= A[i]; Wykonanie programu przez m 2 procesorów zajmuje czas stały O(1). Jednoczesny zapis dotyczy jednakowych danych
25 Sieci połączeń komputerów równoległych (1) Zadanie: przesyłanie danych pomiędzy węzłami przetwarzającymi Parametry: liczba wejść, wyjść, zdolność jednoczesnego łączenia, siła sygnału, długość łącza. Sieci połączeń: statyczne lub dynamiczne Sieci statyczne (ang. direct network) łącza komunikacyjne punkt-punkt, bezpośrednie sieci połączeń. Sieci dynamiczne (ang. indirect network) - łącza i przełączniki, np. ścieŝka przepływu danych pomiędzy procesorem a bankami pamięci jest tworzona na bieŝąco za pomocą przełączników łączących łącza
26 Sieci połączeń komputerów równoległych (2) Sieć statyczna Sieć dynamiczna procesor złącze sieci element przełączający
27 Sieci połączeń komputerów równoległych (3) Przełączniki (ang. switch) zbiór portów wejściowych i wyjściowych (stopień przełącznika), buforowanie danych - przy konflikcie wyjścia, zmienna marszrutyzacja - obniŝanie zagęszczenia ruchu, zwielokrotnienie (ang. multicast) - te same dane do wielu wyjść, powiązanie wejść i wyjść realizowane za pomocą: przełącznic, wieloportowych pamięci, multiplexerów-demultiplexerów, multiplexowanych magistral. Złącza sieci (ang. network interface) dostarczanie i odbieranie danych z sieci, pakietyzacja, określanie danych trasowania komunikatów, dostosowywanie prędkości buforowanie, sprawdzanie błędów transmisji. występują na magistrali I/O lub magistrali pamięci procesora
28 Topologie sieci połączeń Magistrala: Medium wspólne dla wszystkich węzłów Czas dostępu ograniczony z góry przez liczbę węzłów przyłączonych do magistrali brak skalowalności przepustowości. Koszt sieci rośnie liniowo ze wzrostem liczby przyłączonych węzłów. Wprowadzenie pamięci podręcznej znacznie obniŝa wymagania na przepustowość współdzielonej przez procesory magistrali
29 Topologie sieci połączeń Przełącznica krzyŝowa (ang. crossbar network) Cecha: brak blokowania procesorów realizujących dostęp do róŝnych portów pamięci: liczba banków >liczby procesorów Wada: brak skalowalności kosztu, jeŝeli b>p, liczba przełączników = pb > p 2 szybko rośnie z p procesory - p banki pamięci b Element przełączający
30 Topologie sieci połączeń Wielopoziomowe sieci połączeń Po oziom 3 Poziom 2 po oziom
31 Sieć omega Dla p wejść i p wyjść sieć składa się z log p poziomów Na kaŝdym z poziomów p/2 przełączników 2 we/2wy ; W zaleŝności od zgodności n-tego bitu numerów źródła i przeznaczenia dane na n- tym poziomie są przesyłane wprost lub na krzyŝ przez przełącznik. Wejścia sieci (wyjścia poziomów) i z wejściami kolejnych poziomów przełączników j połączone etapów zgodnie z regułą: j= 2i dla 0<=i<=p/2-1 j=2i+1-p dla p/2<=i<=p-1 Sieć idealnie przetasowana (ang. perfect shuffle) rysunek obok
32 Sieć omega (przykład łączenia) Sieć połączeń omega jest siecią blokującą: realizacja połączenia między 010 i 100 oraz 110 i 110 wymaga korzystania z tego samego łącza między poziomem 1 i 2 sieci
33 Statyczne sieci połączeń Sieć pełna: bezpośrednie połączenie pomiędzy kaŝdymi dwoma wierzchołkami, statyczny odpowiednik sieci na tablicy przełaczników Gwiazda: jeden procesor procesorem centralnym (jest wąskim gardłem), przekazuje komunikaty pomiędzy kaŝdymi dwoma pozostałymi węzłami, połączenie podobne do magistrali. Łańcuch: kaŝdy węzeł oprócz pierwszego i ostatniego ma dwóch sąsiadów. Łańcuch zamknięty (pierścień): kaŝdy z węzłów ma dwóch sąsiadów
34 Statyczne sieci połączeń: k-d krata (mesh) Topologie sieci połączeń Zawierają k węzłów umieszczonych w kaŝdym spośród d wymiarów k=n, d=1 łańcuch k=n, zamknięta to D wymiarowy torus k=2, D wymiarowa hyperkostka zamknięta Numeracja: Procesor w kolejnym wymiarze uzyskuje wartość 1 na kolejnej pozycji binarnej numeracji. Odległość: między węzłami jest równa liczbie róŝniących się pozycji w binarnej numeracji węzłów
35 Drzewiaste topologie sieci połączeń Sieć połączeń typu drzewo posiada jedno połączenie pomiędzy dowolną parą węzłów. Szczególne wersje drzew to gwiazda i łańcuch. Drzewo statyczne posiada element przetwarzający w kaŝdym węźle drzewa, drzewo dynamiczne układ przełączający. Drzewa charakteryzują się duŝymi wymaganiami na przepustowość wyŝszych poziomów. Rozwiązanie stanowi zwiększenie liczby łączy komunikacyjnych i przełączników na wyŝszych poziomach drzewa dynamicznego drzewo grube (ang. Fat tree). Węzeł przetwarzający Węzeł przełączający
36 Miary efektywności statycznych połączeń komunikacyjnych Średnica sieci (ang. diameter) maksymalna odległość pomiędzy dwoma węzłami przetwarzającymi. Spójność krawędziowa (ang. Connectivity) - liczby równoczesnych moŝliwych połączeń pomiędzy węzłami przetwarzającymi, pozytywna jest wysoka. Szerokość kanału (łącza) liczba bitów jednocześnie przekazywana przez łącze liczba fizycznych linii sygnałowych. Przepustowość łącza szerokość kanału * prędkość kanału Szerokość połowienia sieci (ang. bisection width) minimalna liczba łączy komunikacyjnych, które muszą być usunięte w celu podziału sieci na dwie równe połowy. Przepustowość połowienia sieci przepustowość łącza * szerokość połowienia sieci Koszt sieci liczba łączy w sieci lub wielkość szerokości połowienia sieci
37 Ocena efektywności statycznych połączeń komunikacyjnych - wartości Typ sieci Średnica Szerokość połowienia Spójność krawędziowa Koszt Pełna 1 p 2 /4 p-1 p(p-1)/2 Gwiazda p-1 drzewo binarne pełne2 log((p+1)/2) 1 1 p-1 Łancuch p p-1 Krata (mesh) 2d 2( p 1) p 2 2(p- p) Krata (mesh) 2d zamknięta 2 p /2 2 p 4 2p Hyperkostka log p ½p log p (p logp)/2 Zamknięta k krotna krata d wymiarowa d k /2 2k d-1 2d dp
38 Miary efektywności dynamicznych połączeń Śrdnica maksymalna liczba węzłów przełączających na drodze między 2 węzłami Spójność krawędziowa (ang. arc connectivity) wymagana liczba łącz do usunięcia dla podziału sieci. Szerokość połowienia minimalna liczba łączy, które musza być usunięte dla podziału na dwie sieci o równej liczbie węzłów przetwarzających. Koszt koszt łączy i koszt węzłów przełączających. Typ sieci Przełącznica krzyŝowa Omega gdzie p liczba węzłów końcowych Średnica Szerokość połowienia 1 log p p p/2 Spójność krawędziowa 1 2 Koszt (liczba przełączników) p 2 p/2 log p Drzewo dymaniczne 2log p 1 1 p
39 Współdzielenie danych w systemach równoległych W systemach równoległych dane współdzielone mogą być powielone w wielu pamięciach podręcznych. Zalety replikacji: ObniŜenie opóźnienia dostępu i wymagań przepustowości pamięci Mniej rywalizacji o dane odczytywane przez wiele procesorów Write-through cache zapis do pp jest synchronicznie odzwierciedlany w pamięci globalnej Write-back cache zapis w pamięci globalnej jest dokonywany w wyniku zewnętrznego Ŝądania odczytu danej Spójność pamięci podręcznej zapewnia, Ŝe: - dane zapisane przez jeden procesor będą udostępniane pozostałym do momentu ponownego zapisu - wszystkie procesory widzą taką samą kolejność realizacji zapisów, odczyt aktualnej wartości
40 Spójność pamięci podręcznej w systemach wieloprocesorowych Protokoły: uniewaŝniania lub uaktualniania dla zapewnienia spójności danych - zapewniają one istnienie szeregowego porządku wykonania instrukcji realizowanych współbieŝnie Protokół uniewaŝnienia powoduje, Ŝe w przypadku uaktualnienia lokalnej kopii danych pozostałe kopie danych zostają uniewaŝnione konsekwencja to wstrzymywanie przetwarzania ze względu na oczekiwanie na dane uniewaŝnione. Częściej stosowany obecnie ze względu na znaczenie przepustowości pamięci i magistrali. Protokół uaktualniania polega na tym, Ŝe w przypadku uaktualnienia lokalnej kopii danych pozostałe kopie danych zostają uaktualnione - konsekwencja to narzut komunikacyjny wynikający z przesyłania danych, które nie zawsze będą jeszcze wykorzystywane, przesłanie następuje przy kaŝdej modyfikacji kaŝdego słowa wielosłowowej linii pp
41 read Invalid/ uniewaŝniony 3 stanowy protokół zapewnienia spójności danych pamięci podręcznej Shared/ współdzelony c_write write c_write flush read c_read write Dirty/ zabrudzony read/write Linia/strona pamięci podręcznej przechodzi między stanami na skutek instrukcji realizowanych przez lokalny procesor (read/write/flush ) i akcji protokołu zapewnienia spójności w odpowiedzi na działania innych procesorów. Po modyfikacji linii pp jest ona lokalnie oznaczona jako Dirty w celu zapewnienia, Ŝe procesor ten obsłuŝy kolejne Ŝądania dostępu innych procesorów do danych w tej linii pp. Zapis wartości uniewaŝnionej jest poprzedzony pobraniem jej aktualnej wartości: procesor posiadający jej wersję aktualną udostępnia ją Ŝądającemu procesorowi i dokonuje jej zapisu do pamięci globalnej (write back cache)
42 Protokół zapewnienia spójności- przykład Procesor1 Processor2 PP Proc1 PP Proc2 PAMIĘĆ x= 5, D y=12,d read x read y x=5,s y=12,s x= 5, S y=12,s x=x+1 y=y+1 x=6,d y=13,d x= 5, I y=12,i read y read x x=6,s y=13,s x= 6,S y=13,s x= 6, S y=13,s x=x+y x= 19,Dy=13,S x= 6,I y=13,s x= 6, I y=13,s y=x+y x= 19,S y=13,i x= 19,Sy=32,D x= 19, S y=13,i Zmienne naleŝą do róŝnych linii pamięci podręcznej, zapisy wymagają uzyskania przez procesor dostępu w trybie wyłącznym, Dirty blok zabrudzony - zmodyfkowany, wyłączny dostęp Shared blok współdzielony Invalid blok niewaŝny
43 Tablica przejść linii pp między stanami stan read write flush c-read c-write shared shared dirty invalid shared invalid dirty dirty dirty invalid shared invalid invalid shared dirty invalid invalid invalid C-read i c-write ocznaczają efekt działań protokołu zapewnienia spójności, operacja flush powoduje zapisanie bloku danych do pamięci globalnej i w przypadku konieczności ponownego wykorzystania ponowne jego wczytanie
44 Spójność pamięci podręcznej protokół podglądania(ang. Snoopy cache coherence protocol). Procesor monitoruje przesłania na magistrali dotyczące swoich bloków pp. Procesor zapisuje lokalnie stan swoich danych. Wykrycie Ŝądania odczytu bloku, którego stan jest dirty powoduje przesłanie przez procesor lokalnej kopii bloku do Ŝądającego przesłania procesora. JeŜeli natomiast nastąpił zdalnie zapis do bloku pamięci, którego kopia jest lokalnie przechowywana to następuje uniewaŝnienie jego zawartości. Operacje na bloku dirty są realizowane lokalnie Mechanizm wymaga rozgłaszania do procesorów informacji o operacjach na pamięci funkcje zapewnienia spójności. Brak skalowalności. Lepsza efektywność w przypadku zapamiętywania stanu współdzielenia danych (obniŝenie wymagań przepustowości magistrali)
45 Spójność pamięci podręcznej mechanizmy katalogowe Protokół zapewnienia spójności bazujący katalogu scentralizowanym i rozproszonym - lepsza skalowalność. Pamięć centralna jest rozszerzona o pamięć katalogową (PK), w którym zapisywane są informacje na temat korzystających z poszczególnych stron pamięci procesorów. Te procesory będą uczestniczyły w dystrybucji informacji zapewniających spójność. W przypadku rozproszonych PK znika takŝe wąskie gardło jakim jest obsługa protokołu spójności w oparciu o jedną PK wtedy moŝliwa jest jednoczesna realizacja wielu operacji zarządzania spójnością. Maszyny ze sprzętowym rozwiązaniem problemu spójności pamięci podręcznej nazywane są ccnuma, mogą wykorzystywać SCI (scalable coherent interconnect) protokół IEEE
46 Koszty dostępu do pamięci dla SGI Onyx2 komputer z współdzieloną pamięcią rozproszoną (DSM) Rodzaj dostępu Czas obsługi [cykl] rejestry procesora 0 pp L1 trafienie 2-3 pp L1 brak trafienia dane ładowane z pp L pp L2 brak trafienia dane pobrane z pamięci operacyjnej, adres wirtualny w TLB brak adresu w TLB konieczność załadowania adresu fizycznego do TLB, strona znajduje się w pamięci operacyjnej brak strony pamięci - konieczność załadowania strony wirtualnej z dysku - opóźnienie 10 8 cykli ns ms
47 Zarządzanie pamięcią Pamięć wirtualna przydzielana w blokach pamięci fizycznej do procesów, konieczna translacja adresów wirtualnych na adresy fizyczne. UmoŜliwia przydział procesom większej ilości pamięci niŝ jest dostępna fizycznie w systemie. TLB (ang. translation lookaside buffer) zawiera adresy fizyczne ostatnio translowanych adresów wirtualnych. W przypadku braku adresu wirtualnego w tablicy system operacyjny określa brakujący adres i wpisuje go do TBL wykonując procedurę obsługi przerwania. W przypadku braku lini w pp (cache miss) lub braku strony w pamięci głównej (page fault) brakujące dane są szukane w pamięci niŝszego poziomu
48 Odczyt z pamięci w przypadku braku trafienia DSM + pamięć katalogowa Przesłanie Ŝądania do pamięci domowej bloku (lokalnej lub zdalnej) wg adresu. JeŜeli blok jest w pamięci to jest on pobrany z aktual. stanu: unowned do exclusive shared do shared i zapamiętanie Ŝądającego procesora JeŜeli blok jest exclusive przekazanie Ŝądania do właściciela wyłącznej kopii właściciel wyłącznej kopii przesyła dane do Ŝądającego procesora i pamięci domowej, modyfikacja katalogu pamięci domowej dla uwzględnienia faktu współdzielenia danych przez procesory i zapisu informacji o tych procesorach
49 Zapis do pamięci - DSM pamięć katalogowa Generacja Ŝądania zapisu do pp 1. jeŝeli danych brak danych to Ŝądanie odczytu z wykluczającym się dostępem jest skierowane do pamięci domowej bloku, 2. jeŝeli dane - exclusive lub dirty to zapis, 3. jeŝeli dane są ale nie są exclusive lub dirty to Ŝądanie modyfikacji dla uzyskania wyłącznej własności danych wysłane jest do pamięci domowej bloku
50 Zapis do pamięci - DSM pamięć katalogowa Obsługa Ŝądań w pamięci domowej bloku (stan bloku): 1. unowned do exclusive a potwierdzenie jest przesłane do procesora Ŝądającego dostępu 2. shared to do wszystkich procesorów zgodnie z zawartością pamięci katalogowej następuje wysłanie Ŝądań uniewaŝnienia ich kopii, stan w katalogu domowym zmienia się na exclusive, a potwierdzenie jest przesłane do procesora Ŝądającego dostępu, procesory, które otrzymały Ŝądanie uniewaŝnienia wysyłają potwierdzenie do procesora Ŝądającego dostępu. 3. exclusive to do zdalnego właściciela wysyłany jest Ŝądanie odczytu z wykluczającym się dostępem, ten natomiast przekazuje dane do Ŝądającego ich procesora i przekazuje do pamięci domowej bloku informacje o zmianie właściciela danych
51 Koszty komunikacji w komputerach równoległych Koszt komunikacji zaleŝny jest od: modelu programowania (SM, MP) topologii połączeń, obsługi i marszrutyzacji danych i protokołów programowych
52 Wymiana komunikatów w systemach równoległych (1) Inne cechy niŝ w systemach rozproszonych: grupowe operacje wymiany danych na wielu ścieŝkach równolegle, specyficzna architektura sieci komunikacyjnej. Typy operacji wymiany danych: 1 do 1 - kaŝdy wysyła jeden i kaŝdy odbiera jeden, rozgłaszanie (ang. broadcasting) - ta sama informacja jest rozsyłana z jednego procesora do wszystkich pozostałych, plotkowanie (ang. gossiping) - kaŝdy procesor wysyła tę samą informację do pozostałych, scattering jeden procesor rozsyła róŝne dane do pozostałych, gathering jeden procesor zbiera dane od pozostałych, multiscattering/multigathering kaŝdy procesor uczestniczy w wysyłaniu/odbieraniu danych
53 Wymiana komunikatów w systemach równoległych (2) Kryteria optymalizacji wymiany komunikatów: minimalizacja czasu wymiany danych, np. minimalizacvja opóźnienia sieciowego (ang. network latency) - czasu przejścia przez sieć w najgorszym przypadku, maksymalizacja przepustowości sieci (liczba przesyłanych komunikatów, liczba bajtów w jednostce czasu), niezawodność zdolność unikania zakleszczeń, odporność komunikacji na uszkodzenia poszczególnych połączeń, funkcjonalność, złoŝoność, skalowalność
54 Wymiana komunikatów w systemach równoległych (3) Komunikat (dowolnej długości) podstawowa jednostka logiczna wymiany informacji między węzłami sieci. Pakiet (stałej długości) podstawowa jednostka fizyczna wymiany informacji między węzłami sieci, zawiera: adres docelowy, numer kolejny w ramach komunikatu pozwala na odtworzenie komunikatu przy róŝnej kolejności dostarczania, róŝnymi drogami. Flit słowo - część składowa komunikatu - nie posiada struktury logicznej, mniejszy niŝ pakiety
55 Koszty przesyłania komunikatów Parametry określające koszty przesyłania komunikatów: czas inicjowania komunikacji (ang. startup time) t s przygotowanie komunikatu, wykonanie algorytmu routingu, nawiązanie połączenia z ruterem. Działania realizowane jednorazowo na transmisję. czas przejścia przez odcinek sieci - (ang. per-hop time) t h (opóźnienie węzła) czas na przejście nagłówka komunikatu do kolejnego - bezpośrednio połączonego węzła sieci związany z określeniem wyjścia przez które komunikat ma opuścić węzeł. czas transmisji słowa (ang. per word transfer time) t w - czas przesłania przez łącze jednego słowa komunikatu; jest odwrotnością przepustowości kanału, uwzględnia narzuty sieci i buforowania
56 Koszty przesyłania komunikatu w komputerach równoległych Techniki przekazywania (rutowania) komunikatów w komputerach równoległych: store-and-forward cut-through routing store-and-forward routing (przesyłanie poprzez zapisanie komunikatu i przekazanie dalej) komunikat jest przesyłany w całości między pośredniczącymi węzłami jest w całości buforowany t comm = t s +(mt w +t h )l gdzie m wielkość komunikatu a l liczba łączy węzły sieci p3 p2 p1 p0 czas
57 Koszty przesyłania komunikatu w komputerach równoległych(2) packet routing (przekazywanie komunikatów poprzez przesyłanie pakietów) komunikat dzielony na pakiety transmitowane i buforowane oddzielnie t comm = t s +t h l +mt w* gdzie t w* = t podziału +t w uwzględniające wzrost rozmiaru komunikatu p3 p2 p1 p0 czas
58 Koszty przesyłania komunikatu w komputerach równoległych cut-through routing (wormhole routing) dalsza minimalizacja czasu wszystkie pakiety tą samą droga (brak przełączania) dostarczanie w kolejności nadawania (brak numeracji) kontrola błędów na poziomie komunikatu nie pakietu (mniejsze narzuty detekcji i korekcji błędu) proste mechanizmy detekcji błędów, gdyŝ mało błędów wpierw przesłanie pakietu nagłówkowego dla nawiązania połączenia i rezerwacji ścieŝki a następnie tą samą drogą flity, flity po odbiorze w węźle pośrednim przesyłane natychmiast dalej czas komunikacji t comm = t s +t h l +mt w z wzoru wynika, Ŝe minimalizacja czasu komunikacji moŝliwa poprzez: przesyłanie danych zblokowanych (wiele komunikatów razem), minimalizacja ilości danych przesyłanych, minimalizacja odległości. niebezpieczeństwo zakleszczenia w przypadku przeciąŝenia sieci połączeń modyfikacja wartości t w* =t w p/b; b = szerokość podziału sieci p liczba procesorów t
59 Algorytmy trasowania (ang. routing) w sieciach połączeń systemów równoległych Cechy algorytmów: minimalny/nieminimalny, deterministyczny, adaptacyjny (zagęszczenia ruchu). Określony według wymiarów sieci: XY-routing, E-cube routing XY-routing w 2D sieci (bez zamknięcia) przesyłamy komunikaty wzdłuŝ osi X do kolumny właściwej węzłowi przeznaczenia, a następnie posuwany się w tej kolumnie do celu. E-cube routing w hyperkostce d-wymiarowej zakładamy, Ŝe jedynka na najstarszej pozycji etykiety (o długości d) oznacza wymiar, w którym węzeł leŝy, liczba róŝnych wartości etykiety źródła i przeznaczenia określa odległość
60 Algorytm trasowania: E-cube routing Z PS Y 110 X PD XOR 001 = 101 TRANSMISJA WZDŁUś OSI x 101 XOR 001 = 100 TRANSMISJA WZDŁUś OSI z Komunikat jest wysyłany wzdłuŝ wymiaru d odpowiadającego najmniej znaczącej pozycji (porównaj etykietowanie), na której róŝnią się etykiety (aktualnego rekurencyjnie) źródła i przeznaczenia komunikatu
61 Trudności dotyczące trasowania komunikatów Zakleszczenie (ang. deadlock) spowodowane przez cykl w oczekiwaniu na: bufor (store and forward) rozwiązanie: zastosowanie buforów wirtualnych kanał (cut-through routing) (rozwiązania następny slajd) pełne bufory uniemoŝliwiają przesłanie pakietów rezerwacja kanałów prowadzi do cyklicznego oczekiwania na kanał
62 Trudności dotyczące trasowania komunikatów cut-through routing Postępowanie w przypadku kolizji Ŝądania przez dwa pakiety tego samego kanału (wyjścia): - buforowanie pakietu w zablokowanym węźle do chwili uwolnienia kanału, - blokowanie komunikacji z oczekiwaniem flitów w ich aktualnych lokalizacjach na zwolnienie kanału, - usuwanie i retransmisja, - objazd (ang. detour) kierowanie pakietu na inną ścieŝkę, aby ominąć zajęty kanał
63 Koszty komunikacji w maszynach z pamięcią współdzieloną - analiza jakościowa Struktura pamięci dostęp do zmiennych lokalnych znacznie szybszy niŝ zmiennych zdalnych (które dane lokalne a które zdalne? - nie zawsze jasne i moŝliwe do określenia). Ograniczone wielkości pamięci podręcznej przekroczenie rozmiaru, nadpisanie danych, konieczność wielokrotnego pobierania, narzut operacji zapewnienia spójności danych. Kolejność operacji na wielu procesorach wpływa na konieczność uniewaŝnienia i uaktualniania danych. Optymalizacja kodu przez zapewnienie (permutacja struktury danych) dostępu do kolejno ulokowanych danych w pamięci (aktualnie w pamięci podręcznej). Wstępne pobieranie danych wprowadzane przez kompilatory i sprzęt pozwala ukryć opóźnienia dostępu do pamięci. Niezamierzone współdzielenie (false sharing) dodatkowe narzuty przez przechowywanie w wielu pamięciach podręcznych (ze względu na rozmiar linii pamięci) danych, które muszą być poddane działaniom zapewnienia spójności mimo, Ŝe praktycznie nie są współdzielone. Rywalizacja w dostępie współdzielonym opóźnienia dostępu wynikające z współubiegania się o te same dane
64 Koszty komunikacji w maszynach z pamięcią współdzieloną analiza ilościowa Określenie czasu dostępu do odczytu m słów w maszynach z pamięcią współdzieloną: t a = t s + m t w czas dostępu do odczytu bez rywalizacji (w przypadku dostępu do tych samych danych przez róŝne procesory ze względu na konieczne uszeregowanie transmisji czasy t s się zwielokrotniają). t s - współczynnik czasu dostępu wynikający z narzutów: mechanizmu spójności, sieci połączeń i pamięci, uwzględniany raz we wzorze na czas dostępu do ciągu m słów współdzielonych (nawet większych od rozmiaru pp ze względu na mechanizmy ukrywania opóźnienia) t w - współczynnik czasu dostępu do jednego słowa w pamięci podręcznej W przypadku konieczności zapisu współdzielonych danych przez jeden z procesorów konieczne uwzględnienie zapisu (przez jeden) i (odczytu przez pozostałe) aktualnej wartości danej z pamięci. Wzór nie uwzględnia niezamierzonego współdzielenia oraz nakładania się obliczeń i komunikacji
65 Przydział zadań do procesorów - odwzorowanie (zagnieŝdŝenie) grafów Graf wyjściowy - graf zadań ze strukturą komunikacji (połączeń między zadaniami). Graf docelowy - struktura systemu, w którym przetwarzanie ma być realizowane. PrzeciąŜenie (ang. congestion) liczba ścieŝek komunikacyjnych przypadająca na jedno łącze. Odstęp (ang.dilation) - liczba łącz wykorzystywanych do realizacji pojedynczej ścieŝki komunikacyjnej. Powiększenie (ang. expansion) - określa ile zadań zostało przydzielonych do procesora
66 Odwzorowanie grafów ZagnieŜdŜenie łańcucha w hiperkostce. Kolejne 2 d elementów (oznaczonych od 0 do 2 d -1) odwzorowanych na d wymiarową hiperkostkę. Etykiety kolejnych (wg lańcucha) węzłów w hyperkostce określa się za pomocą funkcji kodu Graya. Wartości odpowiadające kolejnej pozycji liczby binarnej powstają w wyniku umieszczenia na tej pozycji 1 i odbiciu lustrzanym wartości wcześniejszych. Brak przeciąŝenia i odstęp=1, gdyŝ węzły których etykiety róŝnią się na jednej pozycji mają bezpośrednie łącze łańcuch hyperkostka
67 ZagnieŜdŜenie kraty w hiperkostce Krata zamknięta o 2 r * 2 s węzłach odwzorowana w hiperkostkę 2 r+s węzłową : wezłowi i,j odpowiada węzeł o etykiecie będącej złoŝeniem kodu i-tego elementu r pozycyjnego kodu Graya i kodu j-tego elementu s pozycyjnego kodu Graya czyli kaŝdy wiersz i kaŝda kolumna są odwzorowane w podkostkę o odpowiedniej liczbie węzłów 2,4,8,16... procesory, do których przydzielone są zadania z jednej kolumny mają jednakowe mniej znaczące bity, procesory w wierszu mają jednakowe bardziej znaczące bity etykiet, sąsiednie zadania przydzielone do sąsiednich procesorów (o etykietach róŝniących się na jednym bicie) brak przeciąŝenia i odstęp=1, gdyŝ węzły komunikujące się - których etykiety róŝnią się na jednej pozycji - mają bezpośrednie łącze. Jak będzie k 8-2 na h 2 6 lub na h 2 4 (0,0)00 00 (0,1)00 01 (0,2)00 11 (0,3) ,3 1, ,3 2,2 (1,0)01 00 (1,1)01 01 (1,2)01 11 (1,3) , , , ,1 (2,0)11 00 (2,1)11 01 (2,2)11 11 (2,3) , , , ,2 (3,0)10 00 (3,1)10 01 (3,2)10 11 (3,3) , , ,0 3,
68 Odwzorowanie kraty w łańcuch 1,1 1,2 1,3 1,4 2,4 2,3 2,2 2,1 3,1 3,2 3,3 3,4 4,4 4,3 4,2 4,1 Krata otwarta 4X4 odwzorowana w łańcuch 16 elementowy PrzeciąŜenie wynosi 5 (linia przerywana) w ogólności pierwiastek(p) + 1. Dolne ograniczenie przeciąŝenia: Iloraz szerokości podziału odwzorowywanych sieci np. krata 4, łańcuch 1 więc 4 Ile wynosi maksymalny odstęp? 7 Jak odwzorować łańcuch w kratę?
69 Odwzorowanie hiperkostki w k-2 kratę ZałoŜenie: liczba procesorów jest równa 2 d gdzie d jest parzystą potęgą dwójki. Docelowa krata jest wymiaru 2 d/2 x 2 d/2. Kostka p węzłowa widziana jako p kostek p węzłowych (por. rysunek). Ustalając d/2 starszych bitów etykiety i biorąc pod uwagę moŝliwe kombinacje d/2 młodszych bitów definiujemy 2 d/2 elementowe hiperkostki. KaŜda taka hiperkostka (kolejno dla starszych bitów będących kolejnymi wartościami kodu Graya) jest odwzorowywana na kolejny wiersz kraty. Jest to odwzorowanie realizowane odwrotne do odwzorowania łańcuch-hiperkostka. Dolne ograniczenie przeciąŝenia wynika z ilorazów szerokości podziału hiperkostki (2 d-1 ) oraz kraty 2 d/2 i wynosi 2 d/2-1. Dla p = 2 d procesorów ½ p 1.16 procesorów hiperkostka 4 wymiarowa 2.podział na 4 hiperkostki 2 wymiarowe 3.odwzorowanie hkostek krat na łańcuchy 4.przeciąŜenie wynosi
70 Przydział procesów do procesorów a projektowanie sieci połączeń MoŜliwe jest odwzorowanie sieci gęstszych w sieci rzadsze z odpowiednim przeciąŝeniem Konieczne jest zastosowanie wtedy łączy o większej przepustowości dla kompensacji przeciąŝenia. Przykład: kraty o przepustowości łączy większej tyle razy ile wynosi przeciąŝenie enie będą zachowywać się analogicznie do hiperkostki (mającej większą gęstość). Kraty o wysokiej przepustowości łączy nazywa się tłustymi kratami, posiadają one tę samą przepustowość podziału sieci i większy rozmiar. Wynikający ze wzrostu rozmiaru wzrost kosztu komunikacji moŝe być minimalizowany poprzez odpowiednie trasowanie komunikatów (cut through routing)
71 Konflikt koszt-efektywność (1) krata i hiperkostka Koszt sieci proporcjonalny do liczby linii sygnałowych koszt p-węzłowej 2 wymiarowej kraty zamkniętej - o 2p łączach i (log p)/4 liniach na łącze koszt p-węzłowej hiperkostki o ½ p logp łączach średnia odległość: krata ½ p, hiperkostka ½log p Ze względu na dodatkowe linie sygnałowe i równoległość przesyłania danych t wkrata=t whkostka 4/log p czas transmisji dla cut-through routing t s +t h l av +t w m czas transmisji krata t s + ½ p t h + 4/log p m t w czas transmisji hiperkostka - t s + ½log p t h + m t w Który czas większy? dla duŝych komunikatów i p>16 czas transmisji dla kraty krótszy Czas transmisji dla store and forward?
72 Konflikt koszt-efektywność (2) Koszt sieci proporcjonalny do szerokość połowienia sieci Koszt p-węzłowej kraty zamkniętej o szerokości połowienia 2 p i p /4 liniach na łącze Koszt p-węzłowej hiperkostki o szerokości połowienia p/2 i jedną linią na łącze, średnia odległość krata ½ p, hiperkostka ½log p Ze względu na dodatkowe linie sygnałowe i równoległość przesyłania danych t wkrata =t whkostka 4/ p czas transmisji dla store and forward t s +(mt w +t h )l czas transmisji krata t s + ½ p (t h + 4/ p m t w ) 2 mt w czas transmisji hiperkostka - t s + ½log p (t h +mt w ) ½log p mt w Dla duŝych komunikatów i p>16 czas transmisji dla kraty krótszy
73 Komputery wektorowe definicje komputer wektorowy - komputer zaprojektowany do realizacji operacji arytmetycznych na długich wektorach lub tablicach, wysoka efektywność przetwarzania wynika z wykorzystania przetwarzania potokowego wektor - lista elementów w pamięci komputera, zdefiniowany za pomocą adresu początkowego, rozmiaru i przesunięcia (ang. stride) rejestr wektorowy - pamięć pośrednicząca ca pomiędzy jednostką przetwarzania a pamięcią komputera wektoryzacja - zamiana sekwencji identycznych operacji arytmetycznych na jedną instrukcję potoki - jednostki arytmetyczne słuŝące do efektywnego przetwarzania elementów wektorów przetwarzanie potokowe - nakładanie się realizacji róŝnych części lub etapów operacji arytmetycznej na róŝnych elementach wektora
74 Dodawanie sekwencyjne w potoku załóŝmy, Ŝe dodawanie zmiennoprzecinkowe jest realizowane w potoku składającym się z 6 faz: A porównanie wykładników składników B przesunięcie mantysy składnika o mniejszym wykładniku, do uzyskania zgodności wykładników C dodanie mantysy składników D zaokrąglenie E sprawdzenie czy wystąpił błąd np. przepełnienie F normalizacja wyniku zakładamy, Ŝe kaŝda faza zabiera t jednostek czasu wynik dla kaŝdej pary elementów sumowanych uzyskamy po czasie 6t jeŝeli dodajemy n liczb to wynik uzyskujemy po czasie 6nt
75 Komputery wektorowe dodawanie potokowe kaŝda faza operacji dodawania jest realizowana równocześnie na parze róŝnych składników po zakończeniu fazy A dla pierwszej pary składników, są one przesuwane do fazy B, a faza A jest realizowana dla kolejnej pary składników kaŝda z faz zabiera t jednostek czasu wynik dla pierwszej pary składników uzyskujemy po czasie 6t, wynik dla kaŝdej następnej pary wyników po czasie t sumowania n liczb moŝna dokonać w czasie (n+5)t dla duŝej liczby elementów przetwarzanie potokowe jest k razy szybsze od sekwencyjnego (gdzie k jest liczbą faz potoku)
76 Komputery wektorowe łańcuchowanie systemy wektorowe posiadają wiele potoków przetwarzania łańcuchowanie to skierowanie wyjścia z jednego potoku na wejście kolejnego, co eliminuje potrzebę zapisu wyników pierwszej operacji do rejestru łańcuchowanie moŝe zwiększyć liczbę operacji realizowanych równocześnie, a po czasie trwania fazy potoku pojawia się wynik dwóch lub więcej operacji (w zaleŝności od liczby łańcuchowanych potoków)
77 Komputery wektorowe kolejność realizacji operacji wektorowych przetwarzanie wektorowe moŝe zmieniać kolejność operacji w ramach pętli for ( i= 1; i <= 64 ; i++) { l[i]=j[i]+k[i]; n[i]=l[i]+m[i]; } kolejność przetwarzania skalarnego: wyznaczanie l[1],n[1],l[2],n[2]... kolejność przetwarzania wektorowego: wyznaczenie l[1],l[2],..,l[64],n[1],n[2]... ustalana przez sprzęt moŝliwość nadpisania zmiennej lub braku przypisania (określenia) wykorzystywanej zmiennej ze względu na inną kolejność realizacji działań wektorowa zaleŝność danych występuje, gdy zastosowanie wprost (bez odpowiedniej modyfikacji kodu) przetwarzania wektorowego prowadzi do błędnych (nieoczekiwanych) wyników
78 Modele komunikacyjne systemów równoległych Wymiana danych pomiędzy współbieŝnymi zadaniami odbywa się w oparciu o: dostęp do danych we współdzielonej przestrzeni adresowej, wymianę komunikatów
79 Systemy wieloprocesorowe poprawność dostępów Standardowe środowiska to wątki POSIX i dyrektywy OpenMP. Synchronizacja ciągu dostępów odczyt/zapis poprzez zastosowanie zamków (ang. lock). Systemy z pamięcią podręczną wymagają mechanizmu translacji adresu do określenia pozycji danych i zapewnienia właściwej realizacji współbieŝnych operacji na wielu kopiach tej samej pamięci (mechanizm spójności pamięci podręcznej). Wywołania: put i get, uaktualnienie jednej z kopii zmiennej powoduje uaktualnienie lub uniewaŝnienie innych kopii
80 Systemy z przekazywaniem komunikatów Zbiór węzłów przetwarzających z prywatną przestrzenią adresowa. Węzeł zawiera jeden procesor lub system wieloprocesorowy z pamięcią współdzielona naleŝą: systemy wielokomputerowe z nie współdzieloną przestrzenią adresową, klastry stacji roboczych. Model z przekazywaniem komunikatów realizacja róŝnych programów na kaŝdym z węzłów. Interakcje realizowane za pomocą wysyłania i odbierania komunikatów send, receive, whoami, numprocs/ MPI, PVM. Emulacja architektur: model wymiany komunikatów w komputerach o współdzielonej pamięci model współdzielonej pamięci adresowej w systemach wielokomputerowych z prywatną przestrzenią adresową (co gdzie łatwiej/ trudniej?)
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ść,
Bardziej szczegółowoPrzetwarzanie 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
Bardziej szczegółowoOgraniczenia efektywności systemu pamięci
Ograniczenia efektywności systemu pamięci Parametry pamięci : opóźnienie (ang. latency) - czas odpowiedzi pamięci na żądanie danych przez procesor przepustowość systemu pamięci (ang. bandwidth) - ilość
Bardziej szczegółowoOgraniczenia efektywności systemu pamięci
Ograniczenia efektywności systemu pamięci Parametry pamięci : opóźnienie (ang. latency) - czas odpowiedzi pamięci na żądanie danych przez procesor przepustowość systemu pamięci (ang. bandwidth) - ilość
Bardziej szczegółowoOWS sprzęt 1 (systemy z pamięcią współdzieloną) Rafał Walkowiak Modyfikacja
OWS sprzęt 1 (systemy z pamięcią współdzieloną) Rafał Walkowiak Modyfikacja 25.03.2013 Wewnętrzna współbieŝność przetwarzania procesora Uwarunkowania: 1. Dotychczas imponujący wzrost prędkości taktowania
Bardziej szczegółowoPrzetwarzanie równoległesprzęt
Przetwarzanie równoległesprzęt 1 (systemy z pamięcią współdzieloną) Rafał Walkowiak Wersja: przed wykładem 2013/2014 Wewnętrzna współbieżność przetwarzania procesora Uwarunkowania: 1. Dotychczas imponujący
Bardziej szczegółowoPR sprzęt (systemy z pamięcią współdzieloną) Rafał Walkowiak Wersja: jesień 2016
PR sprzęt (systemy z pamięcią współdzieloną) Rafał Walkowiak Wersja: jesień 2016 Wewnętrzna współbieżność przetwarzania procesora Uwarunkowania: 1. Dotychczas imponujący wzrost prędkości taktowania procesora
Bardziej szczegółowoOWS1 (systemy z pamięcią współdzieloną) Rafał Walkowiak Wersja: wiosna 2016
OWS1 (systemy z pamięcią współdzieloną) Rafał Walkowiak Wersja: wiosna 2016 Wewnętrzna współbieżność przetwarzania procesora Uwarunkowania: 1. Dotychczas imponujący wzrost prędkości taktowania procesora
Bardziej szczegółowo16. 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ę
Bardziej szczegółowoOWS1 (systemy z pamięcią współdzieloną) Rafał Walkowiak Wersja: wiosna 2017
OWS1 (systemy z pamięcią współdzieloną) Rafał Walkowiak Wersja: wiosna 2017 Wewnętrzna współbieżność przetwarzania procesora Uwarunkowania: 1. Dotychczas imponujący wzrost prędkości taktowania procesora
Bardziej szczegółowoOWS1 (systemy z pamięcią współdzieloną) Rafał Walkowiak Wersja: wiosna 2017
OWS1 (systemy z pamięcią współdzieloną) Rafał Walkowiak Wersja: wiosna 2017 Wewnętrzna współbieżność przetwarzania procesora Uwarunkowania: 1. Dotychczas imponujący wzrost prędkości taktowania procesora
Bardziej szczegółowoWydajność 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
Bardziej szczegółowoAlgorytmy 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
Bardziej szczegółowoAlgorytmy 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
Bardziej szczegółowoAlgorytmy 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
Bardziej szczegółowoWydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Motywacja - memory wall Krzysztof Banaś, Obliczenia wysokiej wydajności. 2 Organizacja pamięci Organizacja pamięci:
Bardziej szczegółowoProcesory 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
Bardziej szczegółowoWydajność 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
Bardziej szczegółowoStronicowanie w systemie pamięci wirtualnej
Pamięć wirtualna Stronicowanie w systemie pamięci wirtualnej Stronicowanie z wymianą stron pomiędzy pamięcią pierwszego i drugiego rzędu. Zalety w porównaniu z prostym stronicowaniem: rozszerzenie przestrzeni
Bardziej szczegółowoArchitektura 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
Bardziej szczegółowoArchitektura 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.
Bardziej szczegółowoProjektowanie 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
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 13 Jan Kazimirski 1 KOMPUTERY RÓWNOLEGŁE 2 Klasyfikacja systemów komputerowych SISD Single Instruction, Single Data stream SIMD Single Instruction, Multiple Data stream MISD
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń
Bardziej szczegółowoWydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1
Wydajność obliczeń a architektura procesorów Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność komputerów Modele wydajności-> szacowanie czasu wykonania zadania Wydajność szybkość realizacji wyznaczonych
Bardziej szczegółowoProgramowanie 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...................................................
Bardziej szczegółowoLiteratura. 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
Bardziej szczegółowoAnaliza 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
Bardziej szczegółowoAlgorytmy 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ść
Bardziej szczegółowoDr 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
Bardziej szczegółowo10/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
Bardziej szczegółowoAlgorytmy 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ń
Bardziej szczegółowoProcesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]
Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową
Bardziej szczegółowoWydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoWprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego
Bardziej szczegółowoSystemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego
Bardziej szczegółowoZadania jednorodne 5.A.Modele przetwarzania równoległego. Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska 2010/2011
Zadania jednorodne 5.A.Modele przetwarzania równoległego Rafał Walkowiak Przetwarzanie równoległe Politechnika Poznańska 2010/2011 Zadanie podzielne Zadanie podzielne (ang. divisible task) może zostać
Bardziej szczegółowoAnaliza 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
Bardziej szczegółowoPamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4
Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoWprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera
Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,
Bardziej szczegółowoOperacje grupowego przesyłania komunikatów
Operacje grupowego przesyłania komunikatów 1 Operacje grupowego przesyłania komunikatów Operacje, w ramach których ten sam komunikat lub zbiór komunikatów przesyłany jest pomiędzy więcej niż dwoma procesami
Bardziej szczegółowo5. 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ęć
Bardziej szczegółowoArchitektura 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
Bardziej szczegółowoWydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1
Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność obliczeń Dla wielu programów wydajność obliczeń można traktować jako wydajność pobierania z pamięci
Bardziej szczegółowoBudowa 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
Bardziej szczegółowoArchitektura potokowa RISC
Architektura potokowa RISC Podział zadania na odrębne części i niezależny sprzęt szeregowe Brak nawrotów" podczas pracy potokowe Przetwarzanie szeregowe i potokowe Podział instrukcji na fazy wykonania
Bardziej szczegółowoPrzykładem jest komputer z procesorem 4 rdzeniowym dostępny w laboratorium W skład projektu wchodzi:
Przetwarzanie równoległe PROJEKT OMP Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego w komputerze równoległym z procesorem wielordzeniowym z pamięcią współdzieloną.
Bardziej szczegółowoArchitektura komputerów. Układy wejścia-wyjścia komputera
Architektura komputerów Układy wejścia-wyjścia komputera Wspópraca komputera z urządzeniami zewnętrznymi Integracja urządzeń w systemach: sprzętowa - interfejs programowa - protokół sterujący Interfejs
Bardziej szczegółowoObliczenia 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............................................
Bardziej szczegółowoProjektowanie. 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
Bardziej szczegółowo21 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
Bardziej szczegółowoMikroprocesory rodziny INTEL 80x86
Mikroprocesory rodziny INTEL 80x86 Podstawowe wła ciwo ci procesora PENTIUM Rodzina procesorów INTEL 80x86 obejmuje mikroprocesory Intel 8086, 8088, 80286, 80386, 80486 oraz mikroprocesory PENTIUM. Wprowadzając
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Bardziej szczegółowoZasady projektowania algorytmów równoległych
Zasady projektowania algorytmów równoległych Rafał Walkowiak Zima? 25 /8/25 Zasady projektowania Algorytm równoległy Algorytm sekwencyjny: sekwencja kroków rozwiązujących problem przy użyciu komputera
Bardziej szczegółowoLEKCJA 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
Bardziej szczegółowoRó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
Bardziej szczegółowoSkalowalność 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
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne
Bardziej szczegółowoLiteratura. 3/26/2018 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
Bardziej szczegółowoZarządzanie pamięcią w systemie operacyjnym
Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Plan wykładu Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Zarządzanie wolną przestrzenią Implementacja katalogu Przechowywanie podręczne Integralność systemu plików Semantyka spójności
Bardziej szczegółowoSystem plików warstwa fizyczna
System plików warstwa fizyczna Dariusz Wawrzyniak Przydział miejsca na dysku Przydział ciągły (ang. contiguous allocation) cały plik zajmuje ciąg kolejnych bloków Przydział listowy (łańcuchowy, ang. linked
Bardziej szczegółowoUTK 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ć
Bardziej szczegółowodr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1
dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego
Bardziej szczegółowoARCHITEKTURA PROCESORA,
ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy
Bardziej szczegółowoMagistrala systemowa (System Bus)
Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki
Bardziej szczegółowoSystem obliczeniowy laboratorium oraz. mnożenia macierzy
System obliczeniowy laboratorium.7. oraz przykładowe wyniki efektywności mnożenia macierzy opracował: Rafał Walkowiak Materiały dla studentów informatyki studia niestacjonarne październik 1 SYSTEMY DLA
Bardziej szczegółowoMikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Bardziej szczegółowoBudowa 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,
Bardziej szczegółowoBudowa komputera. Magistrala. Procesor Pamięć Układy I/O
Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz
Bardziej szczegółowoAdresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów
Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście
Bardziej szczegółowoSpis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3
Spis treści 1 Wprowadzenie 1 1.1 Podstawowe pojęcia............................................ 1 1.2 Sieci komunikacyjne........................................... 3 2 Problemy systemów rozproszonych
Bardziej szczegółowoPAMIĘCI. Część 1. Przygotował: Ryszard Kijanka
PAMIĘCI Część 1 Przygotował: Ryszard Kijanka WSTĘP Pamięci półprzewodnikowe są jednym z kluczowych elementów systemów cyfrowych. Służą do przechowywania informacji w postaci cyfrowej. Liczba informacji,
Bardziej szczegółowoArchitektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Bardziej szczegółowoOrganizacja typowego mikroprocesora
Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają
Bardziej szczegółowoObliczenia 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
Bardziej szczegółowoZrównoleglenie i przetwarzanie potokowe
Zrównoleglenie i przetwarzanie potokowe Zrównoleglenie wysoka wydajność pozostaje osiągnięta w efekcie jednoczesnego wykonania różnych części zagadnienia. Przetwarzanie potokowe proces jest rozdzielony
Bardziej szczegółowoPodstawy Informatyki DMA - Układ bezpośredniego dostępu do pamięci
Układ Podstawy Informatyki - Układ bezpośredniego dostępu do pamięci alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu Układ 1 Układ Wymiana informacji Idea Zasady pracy maszyny W Architektura
Bardziej szczegółowoUrządzenia wejścia-wyjścia
Urządzenia wejścia-wyjścia Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Klasyfikacja urządzeń wejścia-wyjścia Struktura mechanizmu wejścia-wyjścia (sprzętu i oprogramowania) Interakcja
Bardziej szczegółowoWstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoLiteratura. adów w cyfrowych. Projektowanie układ. Technika cyfrowa. Technika cyfrowa. Bramki logiczne i przerzutniki.
Literatura 1. D. Gajski, Principles of Digital Design, Prentice- Hall, 1997 2. C. Zieliński, Podstawy projektowania układów cyfrowych, PWN, Warszawa 2003 3. G. de Micheli, Synteza i optymalizacja układów
Bardziej szczegółowoNumeryczna 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
Bardziej szczegółowoLogiczny model komputera i działanie procesora. Część 1.
Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.
Bardziej szczegółowoDodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych
Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów
Bardziej szczegółowoZasady projektowania algorytmów równoległych
Zasady projektowania algorytmów równoległych Rafał Walkowiak jesień 2 /4/23 Zasady projektowania Algorytm równoległy Algorytm sekwencyjny: sekwencja kroków rozwiązujących problem przy użyciu komputera
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Wykład 5 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) c.d. 2 Architektura CPU Jednostka arytmetyczno-logiczna (ALU) Rejestry Układ sterujący przebiegiem programu
Bardziej szczegółowoSprzęt komputerowy 2. Autor prezentacji: 1 prof. dr hab. Maria Hilczer
Sprzęt komputerowy 2 Autor prezentacji: 1 prof. dr hab. Maria Hilczer Budowa komputera Magistrala Procesor Pamięć Układy I/O 2 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący
Bardziej szczegółowoZapoznanie 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
Bardziej szczegółowoPrzygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,
Przetwarzanie równoległe PROJEKT OMP i CUDA Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego przy użyciu komputera równoległego z procesorem wielordzeniowym z pamięcią
Bardziej szczegółowoSystemy operacyjne III
Systemy operacyjne III WYKŁAD Jan Kazimirski Pamięć wirtualna Stronicowanie Pamięć podzielona na niewielki bloki Bloki procesu to strony a bloki fizyczne to ramki System operacyjny przechowuje dla każdego
Bardziej szczegółowoNowoczesne technologie przetwarzania informacji
Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego
Bardziej szczegółowoSystem pamięci. Pamięć wirtualna
System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni
Bardziej szczegółowoPamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci. Ptc 2013/2014 13.12.2013
Pamięci półprzewodnikowe w oparciu o książkę : Nowoczesne pamięci półprzewodnikowe, Betty Prince, WNT Ptc 2013/2014 13.12.2013 Pamięci statyczne i dynamiczne Pamięci statyczne SRAM przechowywanie informacji
Bardziej szczegółowoWykład 14. Zagadnienia związane z systemem IO
Wykład 14 Zagadnienia związane z systemem IO Wprowadzenie Urządzenia I/O zróżnicowane ze względu na Zachowanie: wejście, wyjście, magazynowanie Partnera: człowiek lub maszyna Szybkość transferu: bajty
Bardziej szczegółowoAnaliza 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
Bardziej szczegółowo