Architektura sieci połączeń między procesorami, sterowanie komunikacjami, biblioteki komunikacyjne

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

Download "Architektura sieci połączeń między procesorami, sterowanie komunikacjami, biblioteki komunikacyjne"

Transkrypt

1 Wykład 4 Architektura sieci połączeń między procesorami, sterowanie komunikacjami, biblioteki komunikacyjne Spis treści: 1. Statyczne sieci połączeń w systemach równoległych 2. Dynamiczne sieci połączeń w systemach równoległych 3. Komunikacja w systemach komputerowych Hitachi SR2201, SR Bilioteka komunikacyjna MPI

2 Statyczne sieci połączeń w systemach równoległych Statyczne sieci połączeń między elementami systemów równoległych (np. procesorami) charakteryzują się stałymi połączeniami, niemodyfikowalnymi bez fizycznej przebudowy systemu. Istnieje wiele struktur statycznych sieci połączeń: struktura liniowa (potok) (ang. pipeline) matryca (ang. matrix) torus, (ang. torus) struktura pełnych połączeń (ang. complete connection) drzewo (ang. tree) gwiazda (ang. star) pierścień (ang. ring) hipersześcian (ang. hyper-cube).

3 W strukturze liniowej i matrycowej procesory są połączone ze swoimi sąsiadami w regularnej strukturze na płaszczyźnie. Torus jest strukturą matrycową, w której elementy znajdujące się na brzegach matrycy są połączone w ramach tych samych wierszy i kolumn. W strukturze pełnych połączeń, wszystkie elementy (np. procesory) są ze sobą bezpośrednio połączone.

4 Struktura liniowa (potokowa) Struktura matrycowa

5 Struktura pełnych połączeń w systemie równoległym

6 W strukturze drzewiastej elementy systemu są ustawione w hierarchicznym układzie od korzenia drzewa (ang. root) do tzw. liści (ang. leaves). Wszystkie elementy drzewa (węzły) mogą być procesorami lub tylko liście są procesorami a pozostałe elementy są blokami łączącymi, pośredniczącymi w transmisjach. Z jednego węzła drzewa, w kierunku liści, mogą wychodzić 2 lub więcej zbiorów połączeń do różnych węzłów (po jednym do każdego) mówimy wtedy o drzewie binarnym (ang. binary tree) lub drzewie stopnia k (ang. k-nary tree).

7 O ile z jednego węzła wychodzi do sąsiedniego węzła więcej niż jedno połączenie, to mamy tzw. grube drzewo (ang. fat tree). Binarne drzewo grube, w którym w kierunku korzenia, liczba połączeń między sąsiednimi węzłami wzrasta dwa razy, zapewnia jednakową przepustowość transmisji między poziomami drzewa. Eliminuje się w ten sposób wadę drzew zwykłych, w których z jednego węzła można w danej chwili realizować tylko po jednej transmisji w obu kierunkach (korzenia i liści), co ogranicza wydajność komunikacji w systemie.

8 W strukturze hipersześciennej, procesory są połączone w sieć, w której połączenia między procesorami odpowiadają krawędziom binarnego sześcianu n-wymiarowego. Struktura hipersześcienna jest bardzo korzystna, gdyż zapewnia niską średnicę sieci (ang. network diameter) równą wymiarowi sześcianu. Średnicą sieci nazywamy liczbę krawędzi między najbardziej oddalonymi węzłami. Średnica określa liczbę przesłań pośrednich, które trzeba wykonać aby przesłać dane między najbardziej odległymi węzłami sieci połączeń między procesorami. Pod tym względem hipersześciany mają bardzo korzystne własności, zwłaszcza przy dużej liczbie węzłów składowych w sieci, dlatego hipersześcienne struktury połączeń są chętnie stosowane w istniejących systemach.

9 Hipersześcienna struktura połączeń między procesorami Wymiar sześcianu Liczba węzłów Średnica sieci węzeł (procesor) połączenie węzłów

10 Dynamiczne sieci połączeń w systemach równoległych Szyny (magistrale) Dynamiczne sieci połączeń między procesorami umożliwiają zmianę rekonfigurację (ang. reconfiguration) struktury połączeń w systemie. Rekonfiguracja połączeń może być dokonana przed lub w trakcie wykonania programu równoległego, stąd mówimy o: statycznej rekonfiguracji połączeń. dynamicznej rekonfiguracji połączeń

11 Szyna (magistrala) (ang. bus) jest najprostszym typem dynamicznej sieci połączeń. Stanowi ona wspólną drogę przesyłania informacji dla zbioru urządzeń. Urządzeniami podłączonymi do szyny mogą być procesory, pamięci, układy wejścia/wyjścia, jak pokazuje rysunek poniżej. W zależności od rodzaju realizowanych transmisji, mamy: szyny szeregowe (ang. serial bus) szyny równoległe (ang. parallel bus).

12 Schemat systemu opartego na pojedynczej szynie Procesor 1 Procesor 2 Procesor n Szyna systemowa Pamięć 1 Pamięć 2 Pamięć m We/Wy 1 We/Wy p

13 Tylko jedno urządzenie podłączone do szyny może nadawać dane. Wiele urządzeń może dane odbierać. Mamy wtedy do czynienia z transmisją typu rozgłaszanie (ang. multicast). Jeśli dane są przeznaczone dla wszystkich urządzeń podłączonych do szyny, to jest to rozgłaszanie pełne (ang. broadcast). Dostęp urządzeń do szyny w celu nadawania musi być zsynchronizowany. Metody synchronizacji dostępu do szyny: metoda krążącego tokenu, przydzielającego prawa nadawania (ang. token method) wykorzystanie arbitra szyny (ang. bus arbiter).

14 Arbiter szyny odbiera zgłoszenia żądań nadawania od urządzeń. Wybiera jedno z nich np. według priorytetów i wysyła potwierdzenie prawa nadawania. Po nadaniu, arbiter jest zawiadamiany i wybiera następne żądanie. Adres odbiorcy (-ów) jest zwykle podany w nagłówku komunikatu. Specjalne oznaczenie ma rozgłaszanie zupełne. Wszyscy odbiorcy na szynie czytają i dekodują nagłówki. Ci, którzy są wskazani w nagłówku, wczytują dane transmitowane po szynie.

15 Czas realizacji (ang. latency) związany z transmisją danych można rozłożyć na 3 składniki: wewnętrzny czas realizacji (ang. intrinsic latency) jest to czas reakcji urządzenia (np. szyny, pamięci, kontrolera we/wy0), które wynika ze sposobu działania urządzenia i jest stałe niezależnie od reszty systemu, np. czas dostępu do pamięci, czas realizacji przesłań między urządzeniami (ang. transfer latency), np. czas propagacji sygnałów niosących dane wzdłuż połączeń, opóźnienie (wynikające) z konfliktów dostępu (ang. contention latency), które wynika z wykorzystywania zasobu dzielonego przez wielu użytkowników, np. przy równoczesnym składaniu żądań dostępu do magistrali. Jeżeli rozkład prawdopodobieństw pojawiania się nowych żądań dostępu do urządzenia jest równomierny w czasie, średnie opóźnienie transmisji obsługiwanej z użyciem kolejki żądań może być określone w prosty sposób na podstawie teorii kolejek.

16 Oznaczmy przez 1 średnią zdolność (czas) spełniania żądań użycia zasobu dzielonego (np. czas transmisji przez szynę) przez 1. Jeśli oznaczymy przez α, średnią częstotliwość napływania żądań dostępu (mierzoną też czasem), gdzie 0 < α <1 to średni czas oczekiwania dla systemu z jednym serwerem jest dany na mocy teorii kolejek przez α 1 a Całkowity czas obsługi żądania jest równy sumie czasu oczekiwania plus czas transmisji czyli α 1 + = 1 α. 1 1 α

17 Wykres tej wielkości (czyli całkowitego czasu obsługi) w funkcji α. Widzimy, że jeśli napływ żądań obsługi jest zbyt duży, czas między kolejnymi żądaniami jest wyższy niż 0,5 czasu obsługi żądania w zasobie, który jest wykorzystywany np. szynie, to czas obsługi (oczekiwania w kolejce i samej obsługi) np. transmisji, szybko rośnie. Dla napływu żądań wyższego niż 0,9 przepustowości zasobu, czas obsługi przekracza 10 i rośnie już niezwykle szybko.

18 Przepustowość sieci opartej na szynie może być zwiększona przez wykorzystanie sieci wieloszynowej (ang. multibus network), pokazanej poniżej. W tym przypadku procesory są podłączone do wielu szyn jednocześnie i mogą realizować wiele dostępów do szyny jednocześnie. Schemat systemu opartego na szynie wielokrotnej Procesor 1 Procesor n Szyna systemowa 1 Szyna systemowa 2 Szyna systemowa n Pamięć 1 Pamięć m We/Wy 1 We/Wy p

19 Przełączniki krzyżowe Przełącznik krzyżowy (ang. crossbar switch) jest układem, który umożliwia realizację wielu połączeń jednocześnie między elementami systemu równoległego. Przełącznik krzyżowy ma pewną liczbę końcówek wejściowych i wyjściowych oraz pewną liczbę końcówek sterujących. W odpowiedzi na rozkazy sterujące, podawane na wejście sterujące, przełącznik realizuje trwałe połączenie określonego wejścia z wyjściem.

20 Schemat ogólny przełącznika krzyżowego ŁączeWe1 ŁączeWy1 Przełącznik krzyżowy ŁączeWe31 31 ŁączeWy3 1 Sterowanie

21 Budowa wewnętrzna przełącznika krzyżowego ŁączeWe 0-31 multiplekser 32-do-1 ŁączeWy 0 Rejestr zatrzaskowy (5) multiplekser 32-do-1 ŁączeWy 31 Rejestr zatrzaskowy (5) Sterowanie Rozkazy sterujące Parametry Stany przełącznika

22 Rozkazy sterujące mogą żądać podania stanu określonych łączy tj. aktualnego połączenia. Przełączniki krzyżowe są budowane w oparciu o układy multiplekserów, sterowane przez rejestry zatrzaskowe, ustawiane przez rozkazy sterujące. Przełączniki krzyżowe realizują pojedyncze połączenia nieblokujące (ang. nonblocking connections), tzn. o ile potrzebne końcówki przełącznika są wolne. Połączenie między nimi, może być zawsze zrealizowane niezależnie od stanu innych połączeń i to dodatkowo podczas transmisji przez inne połączenia. Nieblokujące połączenia są ogromną zaletą przełącznika krzyżowego. Niektóre przełączniki krzyżowe mają możliwość realizacji połączeń typu rozgłaszanie, ale w sposób blokujący inne połączenia. Wada przełączników krzyżowych - rozbudowa przełącznika w sensie zwiększenia liczby realizowanych połączeń (końcówek) jest kosztowna sprzętowo. Dlatego realizuje się przełączniki krzyżowe o liczbie końcówek w granicach 100.

23 Wielostopniowe sieci łączące Przełączniki o funkcjonalności przełącznika krzyżowego ale zawierające setki końcówek realizuje się stosując technikę wielostopniowych układów łączących. Wielostopniowe sieci łączące (ang. multistage connection network) budowane są w oparciu o warstwowo połączone elementarne przełączniki krzyżowe, zwykle dwuwejściowe. Przełączniki elementarne mogą realizować 4 typy połączeń: na wprost, skrzyżowanie, górne rozgłoszenie. dolne rozgłoszenie Wszystkie przełączniki elementarne są sterowane jednocześnie.

24 Koszt rozbudowy wielostopniowych sieci łączących jest stosunkowo niski. W sieciach tego typu jednak nie ma pełnej swobody realizacji dowolnych połączeń, przy pewnych już istniejących. Dlatego należą one do typu sieci blokujących (ang. blocking network). Wielostopniowa sieć łącząca dla systemów równoległych - sieć Benesa

25 Aby uzyskać nieblokujące własności wielostopniowej sieci połączeń, należy wprowadzić znacznie większą nadmiarowość sprzętową (ang. hardware redundancy). Chcąc zbudować nieblokujący wielostopniowy przełącznik n x n, należy, zamiast elementarnych przełączników dwuwejściowych, wprowadzić 3 warstwy przełączników n x m, r x r, oraz m x n, gdzie m 2n 1 a r jest liczbą elementarnych łączników w warstwie 1 i 3. Taki przełącznik został opracowany przez francuskiego matematyka Closa i jest nazywany przełącznikiem Closa (ang. Clos network). Jest on powszechnie stosowany do budowy dużych zintegrowanych przełączników krzyżowych.

26 Nieblokująca sieć łącząca Closa przełącznik Closa 1 n n x m r x r m x n n 1 n n 1 n r m r 1 n

27 Pod wwzględem formatu przesylanych danych rozróżniamy: komunikacje (transmisje danych) niepakietowane komunikacje (transmisje danych) pakietowane Przy komunikacji niepakietowanej dane przesyłane są w jednej porcji poprzez połączenie utworzone przed dokonaniem transmisji. Przy komunikacji pakietowanej dane przesyłane są w porcjach zwanych pakietami (ang. data packets lub data packages). Pakiety danych zaopatrzone są w tzw. nagłówki (ang. headers), w których określone są parametry transmisji. Tymi parametrami mogą być : adres odbiorcy, długość pakietu, identyfikator nadawcy inne informacje sterujące.

28 Przełącznik połączeń dla pakietowanej komunikacji danych nazywa się ruterem (ang. router). Ruter rozpoznaje nagłówek pakietu, który otrzymał, dekoduje go i w zależności od adresu odbiorcy tworzy lub wybiera odpowiednie połączenie w kierunku odbiorcy. Sieć łącząca procesory może być siecią wielowarstwową (and. multilayer network). Dla sieci wielowarstwowej pakiet mogą być zaopatrzone w kilka nagłówków umieszczonych po sobie. Kolejne nagłówki są dekodowane w kolejnych wartach sieci i następnie usuwane z komunikatu.

29 Komunikacja przez przesyłanie komunikatów może odbywać się zgodnie z: modelem synchronicznym (ang. synchronous communication model) asynchronicznym (ang. asynchronous communication model). Przy modelu synchronicznym, procesy (programy) - nadający i odbierający, synchronizują swoje wykonanie na rozkazach komunikacji w danym kanale. Oznacza to, że proces nadający może nadawać dopiero wtedy, gdy proces odbierający w innym procesorze doszedł do wykonania rozkazu odbierania w tym kanale. Ponieważ komunikacja zachodzi przy wykonaniu rozkazów nadania i odbioru w obydwu procesorach jednocześnie, nie jest potrzebne buforowanie komunikatów i są one przesyłane jakby bezpośrednio z pamięci jednego procesora do pamięci drugiego. Odbywa się to pod kontrolą kontrolerów zewnętrznych łączy komunikacyjnych w obu procesorach.

30 Przy modelu asynchronicznym, procesy (programy): nadający i odbierający, nie synchronizują wykonania komunikacji w danym kanale. Komunikat jest nadawany do kanału w dowolnej chwili i trafia do bufora dla komunikatów w danym kanale - w kontrolerze łącza po drugiej stronie połączenia między procesorami. Proces odbierający odbiera komunikat odczytując go z bufora danego kanału w dowolnej chwili. Jesli w buforze nie ma jeszcze potrzebnego komunikatu, operacja odczytu jest powtarzana po pewnym odstępie czasu.

31 System superkomputerowy Hitachi SR2201 Obecnie przedstawiony zostanie zarys architektury wieloprocesorowego systemu superkomputerowego SR2201 firmy Hitachi znajdującego się w PJWSTK. System SR 2201 jest komputerem wieloprocesorowym z rozproszoną pamięcią. System zawiera 16 węzłów procesorowych połączonych 2-wymiarowym przełącznikiem krzyżowym. Węzeł składa się z 32-bitowego procesora typu RISC wyposażonego w lokalną pamięć operacyjną i koprocesor komunikacyjny (NIA Network Interface Adapter), realizujący komunikacje procesora z innymi procesorami. Procesor jest połączony z koprocesorem komunikacyjnym i pamięcią operacyjną poprzez kontroler dostępu do pamięci (SC Storage Controller).

32 Dwuwymiarowy przełącznik krzyżowy Węzeł procesora 1 Węzeł procesora 2... Węzeł procesora 16 Procesor RISC Koprocesor komunikacyjny (NIA) Kontroler dostępu do pamięci (SC) Lokalna pamięć operacyjna Uproszczony schemat blokowy 16-procesorowego systemu Hitachi SR2201

33 Procesor systemu, o nazwie HARP1, jest zmodyfikowanym mikroprocesorem RISC firmy Hewlett-Packard HP-RISC 1.1. Procesor jest superskalarny na poziomie 2. Jest wyposażony w dwa potokowe bloki wykonawcze: stało i zmiennoprzecinkowy. Procesor posiada on osobne pamięci podręczne danych i rozkazów poziomu L1 i L2 o pojemności 16 KB i 512 KB, odpowiednio. Pamięć operacyjna jednego procesora liczy 256 MB. Procesory systemu są połączone poprzez dwuwymiarową przełącznicę krzyżową.

34 300MB/s Przełącznik krzyżowy osi X NIA Procesor Przeł. krzyż. osi Y NIA Procesor Przeł. krzyż. osi Y NIA Procesor Przełącznik krzyżowy osi X NIA NIA NIA Procesor SIOU00 10 Procesor Procesor Sieć zewnętrzna Macierz dyskowa Schemat podłączenia procesorów do dwuwymiarowej przełącznicy krzyżowej w systemie SR2201 malego rozmiaru.

35 Przełącznica zbudowana jest z wzajemnie połączonych przełączników krzyżowych, ustawionych w prostokątnym układzie współrzędnych. Na skrzyżowaniach przełączników wstawione są węzły procesorów tak, że koprocesory komunikacyjne tych węzłów (NIA) są podłączone jednocześnie do przełącznika osi X i Y. Procesorom są przypisane numery oznaczające współrzędne tych procesorów w układzie przełączników. Transmisje w takiej sieci połączeń odbywają się poprzez wykorzystanie przełączników wzdłuż osi X, osi Y lub obydwu przełączników w zależności od współrzędnej procesora docelowego. Przejście z jednego przełącznika do drugiego odbywa się poprzez koprocesory komunikacyjne. Przesyłane dane stanowią pakiet opatrzony nagłówkiem. Nagłówek, który jest wysyłany tuż przed danymi, zawiera adres węzła docelowego, wyrażony przez jego współrzędne.

36 Na podstawie nagłówka tworzone są potrzebne połączenia w przełącznikach krzyżowych i otwierane są potrzebne połączenia w koprocesorach komunikacyjnych. W systemie jest jeden nadzorczy węzeł procesorowy SIOU (od ang. Supervisory Input/Output Unit), który ma połączenie z siecią zewnętrzną, konsolą operatora i pamięcią dyskową systemu. W węźle SIOU rezyduje jądro systemu operacyjnego superkomputera HP Unix, które przechowuje obraz stanu całego systemu. W każdym procesorze rezyduje jądro lokalne, które nadzoruje lokalną pracą procesora. Pamięć dyskowa stanowi macierz dysków sztywnych.

37 Dla liczby procesorów większej niż 64, przełącznik połączeń ma strukturę trójwymiarowej przełącznicy krzyżowej. Koprocesory komunikacyjne każdego procesora są połączone do 3 przełączników: wzdłuż osi X, Y i Z. Część procesorów znajdująca się na ścianie bocznej, utworzonego w ten sposób prostopadłościanu, jest podłączona do stacji pamięci dyskowych. Węzeł nadzorczy jest podłączony do sieci zewnętrznej.

38 Schemat podłączenia procesorów do trójwymiarowej przełącznicy krzyżowej w systemie SR2201 LAN

39 Opisany system może zawierać do 2048 procesorów. System z taką liczbą procesorów, pod nazwą CP-PACS, istnieje w Ośrodku Obliczeniowym dla Fizyki, Uniwersytetu Tsukuba w Japonii.

40 Następną cechą architekturalną, charakterystyczną dla systemu SR2201, jest komunikacja między procesorami metodą zdalnego DMA (ang. Remote DMA RDMA). Polega ona na tym, że w systemie sprzęgnięto mechanizm translacji adresów wirtualnych z instrukcjami transmisji danych poprzez przełącznicę krzyżową. Osiągnięto automatyczne sprowadzanie danych dla programu, które mają być transmitowane do innego procesora, do rezerwowalnego bufora w pamięci operacyjnej, bezpośrednio używanego przez rozkazy transmisyjne. W ten sposób uniknięto kopiowania danych przez system operacyjny podczas transmisji. Komunikacja RDMA jest wykorzystywana dla wykonywania programów tego komputera w językach C i Fortran, zapewniając bardzo dobre szybkości transmisji dla dużych pakietów danych. Na komunikacji RDMA oparta jest realizacja przenośnej biblioteki komunikacyjnej MPI, wykorzystywanej alternatywnie dla programowania w języku C i Fortran.

41 System superkomputerowy Hitachi SR8000 Następcą systemu SR2201 jest system SR8000. Struktura systemu SR8000 stanowi rozwinięcie systemu SR2201 w ten sposób, że pojedynczy węzeł w strukturze SR2201 został zastąpiony gronem (klastrem) (ang. cluster) 8 procesorów ze wspólną pamięcią. Podobnie jak SR2201, system SR8000 jest oparty na trójwymiarowej przełącznicy krzyżowej.

42 Przetwarzanie wielowątkowe z komunikacją przez wspólną pamięć Komunikacja przez przesyłanie komunikatów Trójwymiarowy przełącznik krzyżowy Klaster 1 Mostek PCI Procesor RISC 1 Procesor RISC 8 Sterowanie wymianą danych Procesor komunikacyjny Klaster 2 Klaster n Układy We/Wy Pamięć operacyjna Sieć zewnętrzna Macierz dyskowa Procesor interakcji z operatorem Konsola operatora Schemat blokowy systemu HITACHI SR8000

43 SR8000 został oparty na znacznie szybszym 64-bitowym procesorze o wydajności 1 GFLOPS (miliardów operacji zmiennoprzecinkowych na sekundę). Znacznie rozszerzono pojemność pamięci podręcznych L1 procesora - do 128 KB. W systemie SR2201, obiektami, którymi zawiaduje system operacyjny były procesy, stanowiące ciągi rozkazów wykonywanych szeregowo w procesorach. Przełączanie procesora między procesami jest kosztowne czasowo, należy bowiem zapamiętać w pamięci kontekst procesu, który traci dostęp do procesora oraz zainstalować w procesorze kontekst procesu, który będzie się wykonywał. Aby umożliwić zrównoleglenie obliczeń wewnątrz procesów przy małym koszcie czasowym przełączania procesora, w SR8000 wprowadzono wątki (ang. thread).

44 W systemie SR8000 wprowadzono system przetwarzania wielowątkowego (ang. multithreaded processing) wewnątrz klastrów procesorów, o nazwie COMPAS. System ten dokonuje podziału procesów na wątki, rozdziela wątki na procesory klastra i organizuje komunikację między wątkami poprzez wspólne zmienne w pamięci dzielonej. Oprócz systemu komunikacji przez pamięć dzieloną, w systemie SR8000 zrealizowany jest system komunikacji RDMA poprzez wymianę komunikatów przez przełącznik krzyżowy łączący procesory. Na systemie RDMA oparta jest realizacja bilioteki komunikacyjnej dla programowania w języku C i Fortran. System SR8000 może zawierać do 128 klastrów 8-procesorowych, co razem umożliwia wykorzystanie 1024 procesorów w tym systemie. Maksymalna konfiguracja systemu może dostarczyć moc obliczeniową 1024 GFLOPS.

45 Biblioteka komunikacyjna MPI Biblioteka komunikacyjna MPI (ang. Message Passing Interface) została opracowana w połowie lat 90-tych ubiegłego wieku przez konsorcjum o nazwie MPI Forum, stanowiące grupę specjalistów z USA i Europy. MPI składa się z około 250 funkcji i procedur które można wykorzystać pisząc programy w językach C/C++, Java oraz Fortran. Przykładowe implementacje biblioteki MPI to MPICH, Java MPI oraz OpenMPI. Program z funkcjami biblioteki MPI zakłada działanie równoległych procesów działających na komputerach połączonych za pomocą sieci. Komunikacja pomiędzy procesami MPI odbywa się na zasadzie przesyłania komunikatów. Komunikacja w MPI może zachodzić: a) pomiędzy dwoma procesami i wówczas jest to komunikacja punkt do punktu, b) pomiędzy więcej niż dwoma procesami i jest to komunikacja grupowa.

46 Programy w MPI uruchamia się po zainstalowaniu biblioteki MPI podając nazwę pliku wykonywalnego programu podstawowego procesu i liczbę kopii procesów, które mają być utworzone (funkcja mpirun lub mpiexec). Podstawowymi pojęciami MPI są komunikat (wiadomość) oraz komunikator. Komunikat (wiadomość) jest zestawem danych zaopatrzonym w pewne informacje sterujące. Komunikator jest to zbiór procesów z pewnym identyfikatorem oraz kontekstem. Komunikaty mogą być wysyłane i odbierane tylko wewnątrz tego samego komunikatora. Informacją sterującą komunikatu jest identyfikator komunikatora oraz numery procesów komunikujących się ze sobą w komunikacji punkt do punktu lub identyfikator zbioru procesów w ramach, którego odbywa się komunikacja grupowa. Po uruchomieniu MPI automatycznie powstaje komunikator o nazwie MPI_COMM_WORLD zawierający wszystkie procesy w programie. Na bazie tego komunikatora można tworzyć mniejsze komunikatory, używane potem selektywnie w programie.

47 Typy danych komunikatów MPI dla języka C. MPI Datatype Odpowiednik w języku C MPI CHAR signed char MPI SHORT signed short int MPI INT signed int MPI LONG signed long int MPI UNSIGNED CHAR unsigned char MPI UNSIGNED SHORT unsigned short int MPI UNSIGNED unsigned int MPI UNSIGNED LONG unsigned long int MPI FLOAT float MPI DOUBLE double MPI LONG DOUBLE long double Składowe

48 Komunikacje punkt do punktu Nadanie komunikatu int MPI_Send( void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm ) void *buf [IN] Adres początkowy bufora z danymi. Może to być adres pojedynczej zmiennej lub początek tablicy. int count [IN] Duos bufora buf. Dla pojedynczej zmiennej będzie to wartość 1. MPI Datatype datatype [IN] Typ pojedynczego elementu bufora. int dest [IN] Identyfikator procesu, do którego wysyłany jest komunikat. int tag [IN] Znacznik wiadomości. Używany do rozróżniania wiadomości w przypadku gdy proces wysyła więcej komunikatów do tego samego odbiorcy. MPI Comm comm [IN] Komunikator.

49 Odbiór komunikatu int MPI_Recv( void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status ) void *buf [OUT] Adres początkowy bufora do zapisu odebranych danych. Może to być adres pojedynczej zmiennej lub początek tablicy. int count [IN] Maksymalna liczba elementów w buforze buf. MPI Datatype datatype - [IN] Typ pojedynczego elementu bufora. int source [IN] Identyfikator procesu, od którego odbierany jest komunikat. int tag [IN] Znacznik wiadomości. Używany do rozróżniania wiadomości w przypadku gdy proces odbiera więcej komunikatów od tego samego nadawcy. MPI Comm comm [IN] Komunikator. MPI Status *status [OUT] Zmienna, w której zapisywany jest status przesłanej wiadomości.

50 Wymiana komunikatów z zachowaniem źródeł int MPI_Sendrecv( void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status *status ) void *sendbuf [IN] Adres początkowy bufora z danymi do wysłania. Może to być adres pojedynczej zmiennej lub początek tablicy. int sendcount [IN] Długość bufora sendbuf. Dla pojedynczej zmiennej będzie to wartość 1. MPI Datatype sendtype [IN] Typ elementów bufora sendbuf. int dest [IN] Identyfikator procesu, do którego wysyłany jest komunikat. int sendtag [IN] Znacznik wiadomości wysyłanej. void *recvbuf [OUT] Adres początkowy bufora do zapisu odebranych danych. Może to być adres pojedynczej zmiennej lub początek tablicy.

51 int recvcount [IN] Liczba elementów w buforze recvbuf. MPI Datatype recvtype [IN] Typ elementów bufora recvbuf. int source [IN] Identyfikator procesu, od którego odbierany jest komunikat. int recvtag [IN] Znacznik wiadomości odbieranej. MPI Comm comm [IN] Komunikator. MPI Status *status [OUT] Zmienna, w której zapisywany jest status przesłanej wiadomości.

52 Wymiana komunikatów bez zachowania int MPI_Sendrecv_replace( void *buf, int count, MPI_Datatype datatype, int dest, int sendtag, int source, int recvtag, MPI_Comm comm, MPI_Status *status ) void *buf [IN] Adres początkowy bufora z danymi do wysłania, który jednocześnie jest adresem początkowym bufora do zapisu odebranych danych. Może to być adres pojedynczej zmiennej lub początek tablicy. int count [IN] Duos bufora buf. Dla pojedynczej zmiennej będzie to wartość 1. MPI Datatype datatype [IN] Typ pojedynczego elementu bufora buf. int dest [IN] Identyfikator procesu, do którego wysyłany jest komunikat. int sendtag [IN] Znacznik wiadomości wysyłanej. int source [IN] Identyfikator procesu, od którego odbierany jest komunikat. int recvtag [IN] Znacznik wiadomości odbieranej. MPI Comm comm [IN] Komunikator. MPI Status *status [OUT] Zmienna, w której zapisywany jest status przesłanej wiadomości.

53 Komunikacje grupowe Rozgłoszenie danych z bufora nadawcy int MPI_Bcast ( void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm ) void *buffer [IN/OUT] Na procesie root, adres początkowy bufora z danymi. Na pozostałych procesach, adres początkowy bufora gdzie dane maja być zapisane. Może to być adres pojedynczej zmiennej lub początek tab icy. int count [IN] Duos bufora buffer. Dla pojedynczej zmiennej będzie to wartość 1. MPI Datatype datatype [IN] Typ pojedynczego elementu bufora. int root [IN] Identyfikator procesu, od którego rozsyłany jest komunikat. MPI Comm comm [IN] Komunikator.

54 Redukcja wiadomości dla procesu root int MPI_Reduce ( void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm ) void *sendbuf [IN] Adres początkowy bufora z danymi do redukcji. Może to być adres pojedynczej zmiennej lub początek tablicy. void *recvbuf [OUT] Adres początkowy bufora do zapisu redukowanych danych. Może to być adres pojedynczej zmiennej lub początek tablicy. Istotny tylko dla procesu root. int count [IN] Duos bufora sendbuf. Dla pojedynczej zmiennej będzie to wartość 1. MPI Datatype datatype [IN] Typ pojedynczego elementu buforów. MPI Op op [IN] Operator redukcji. int root [IN] Identyfikator procesu, do którego dane zostaną zredukowane. MPI Comm comm [IN] Komunikator. Wynik jest umieszczany w pamięci procesu root..

55 Redukcja wiadomości z kopiami dla wielu procesów int MPI_Allreduce ( void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm ) void *sendbuf [IN] Adres początkowy bufora z danymi do wysłania. Może to być adres pojedynczej zmiennej lub początek tablicy. void *recvbuf [OUT] Adres początkowy bufora do zapisu odebranych danych. Może to być adres pojedynczej zmiennej lub początek tablicy. int count [IN] Duos bufora sendbuf. Dla pojedynczej zmiennej będzie to wartość 1. MPI Datatype datatype [IN] Typ pojedynczego elementu buforów. MPI Op op [IN] Operator redukcji. MPI Comm comm [IN] Komunikator. Wynik redukcji jest umieszczany w pamięciach wszystkich procesów komunikatora.

56 Rozdzielenie danych z zadanego procesu (root) między inne procesy int MPI_Scatter ( void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm ) void *sendbuf [IN] Adres początkowy bufora z danymi do rozdzielenia i rozesłania pomiędzy wszystkie procesy. Ma znaczenie tylko dla procesu root. int sendcnt [IN] Liczba elementów wysłanych do każdego procesu. Ma znaczenie tylko dla procesu root. MPI Datatype sendtype [IN] Typ elementów bufora sendbuf. Ma znaczenie tylko dla procesu root. void *recvbuf [OUT] Adres początkowy bufora do zapisu rozdzielonych danych. int recvcnt [IN] Liczba elementów w recvbuf. MPI Datatype recvtype [IN] Typ elementów bufora recvbuf. int root [IN] Identyfikator procesu, z którego dane zostaną rozdzielone. MPI Comm comm [IN] Komunikator.

57 Scalanie danych od wielu procesów dla zadanego procesu (root) int MPI_Gather ( void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, int recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm ) void *sendbuf [IN] Adres początkowy bufora z danymi przeznaczonymi do zebrania. int sendcnt [IN] Liczba elementów w sendbuf. MPI Datatype sendtype [IN] Typ elementów bufora sendbuf. void *recvbuf [OUT] Adres początkowy bufora do zapisu zebranych danych. Ma znaczenie tylko dla procesu root. int recvcnt [IN] Liczba elementów od pojedynczego procesu. Ma znaczenie tylko dla procesu root. MPI Datatype recvtype [IN] Typ elementów bufora recvbuf. Ma znaczenie tylko dla procesu root. int root [IN] Identyfikator procesu zbierającego dane. MPI Comm comm [IN] Komunikator.

58 Scalanie danych z wielu procesów dla wszystkich procesów komunikatora int MPI_Allgather ( void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm ) void *sendbuf [IN] Adres początkowy bufora z danymi przeznaczonymi do zebrania. int sendcnt [IN] Liczba elementów w sendbuf. MPI Datatype sendtype [IN] Typ elementów bufora sendbuf. void *recvbuf [OUT] Adres początkowy bufora do zapisu zebranych danych. int recvcnt [IN] Liczba elementów od pojedynczego procesu. MPI Datatype recvtype [IN] Typ elementów bufora recvbuf. MPI Comm comm [IN] Komunikator. Zebrane dane są umieszczane w pamięciach wszystkich procesów komunikatora.

Przetwarzanie równoległesprzęt. Rafał Walkowiak Wybór

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

Bardziej szczegółowo

Modele programowania równoległego. Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak dla PR PP

Modele programowania równoległego. Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak dla PR PP Modele programowania równoległego Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak dla PR PP MPP - Cechy charakterystyczne 1 Prywatna, wyłączna przestrzeń adresowa.

Bardziej szczegółowo

Operacje grupowego przesyłania komunikatów

Operacje 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ółowo

Modele programowania równoległego. Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak

Modele programowania równoległego. Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak Modele programowania równoległego Programowanie z przekazywaniem komunikatów Message-Passing Programming Rafał Walkowiak MPP - Cechy charakterystyczne 1 Prywatna - wyłączna przestrzeń adresowa. Równoległość

Bardziej szczegółowo

Tryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla

Tryby komunikacji między procesami w standardzie Message Passing Interface. Piotr Stasiak Krzysztof Materla Tryby komunikacji między procesami w standardzie Message Passing Interface Piotr Stasiak 171011 Krzysztof Materla 171065 Wstęp MPI to standard przesyłania wiadomości (komunikatów) pomiędzy procesami programów

Bardziej szczegółowo

Programowanie Równoległe Wykład 5. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej

Programowanie Równoległe Wykład 5. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej Programowanie Równoległe Wykład 5 MPI - Message Passing Interface Maciej Matyka Instytut Fizyki Teoretycznej Dorobiliśmy się strony WWW www.ift.uni.wroc.pl/~koma/pr/index.html MPI, wykład 2. Plan: - komunikacja

Bardziej szczegółowo

Jak wygląda praca na klastrze

Jak wygląda praca na klastrze Jak wygląda praca na klastrze Upraszczając nieco sprawę można powiedzieć, że klaster to dużo niezależnych komputerów (jednostek) połączonych mniej lub bardziej sprawną siecią. Często poszczególne jednostki

Bardziej szczegółowo

Programowanie Równoległe Wykład 4. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej

Programowanie Równoległe Wykład 4. MPI - Message Passing Interface. Maciej Matyka Instytut Fizyki Teoretycznej Programowanie Równoległe Wykład 4 MPI - Message Passing Interface Maciej Matyka Instytut Fizyki Teoretycznej Jak używać w MPI? Donald Knuth: We should forget about small efficiencies, say about 97% of

Bardziej szczegółowo

Operacje grupowego przesyłania komunikatów. Krzysztof Banaś Obliczenia równoległe 1

Operacje grupowego przesyłania komunikatów. Krzysztof Banaś Obliczenia równoległe 1 Operacje grupowego przesyłania komunikatów Krzysztof Banaś Obliczenia równoległe 1 Operacje grupowego przesyłania komunikatów Operacje, w ramach których ten sam komunikat lub zbiór komunikatów przesyłany

Bardziej szczegółowo

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 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ółowo

Architektura komputerów. Układy wejścia-wyjścia komputera

Architektura 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ółowo

Przetwarzanie równoległesprzęt

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ółowo

5. Model komunikujących się procesów, komunikaty

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ęć

Bardziej szczegółowo

Architektura komputerów

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

Bardziej szczegółowo

Projektowanie algorytmów równoległych. Zbigniew Koza Wrocław 2012

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

Bardziej szczegółowo

Mosty przełączniki. zasady pracy pętle mostowe STP. Domeny kolizyjne, a rozgłoszeniowe

Mosty przełączniki. zasady pracy pętle mostowe STP. Domeny kolizyjne, a rozgłoszeniowe Mosty przełączniki zasady pracy pętle mostowe STP Domeny kolizyjne, a rozgłoszeniowe 1 Uczenie się mostu most uczy się na podstawie adresu SRC gdzie są stacje buduje na tej podstawie tablicę adresów MAC

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć

Bardziej szczegółowo

Operacje kolektywne MPI

Operacje kolektywne MPI Operacje kolektywne MPI 1 Operacje kolektywne Do tej pory w operacje przesyłania komunikatu miały charakter punkt-punkt (najczęściej pomiędzy nadawcą i odbiorcą). W operacjach grupowych udział biorą wszystkie

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie

Bardziej szczegółowo

Programowanie w modelu przesyłania komunikatów specyfikacja MPI. Krzysztof Banaś Obliczenia równoległe 1

Programowanie w modelu przesyłania komunikatów specyfikacja MPI. Krzysztof Banaś Obliczenia równoległe 1 Programowanie w modelu przesyłania komunikatów specyfikacja MPI Krzysztof Banaś Obliczenia równoległe 1 Model przesyłania komunikatów Paradygmat send receive wysyłanie komunikatu: send( cel, identyfikator_komunikatu,

Bardziej szczegółowo

Przesyłania danych przez protokół TCP/IP

Przesyłania danych przez protokół TCP/IP Przesyłania danych przez protokół TCP/IP PAKIETY Protokół TCP/IP transmituje dane przez sieć, dzieląc je na mniejsze porcje, zwane pakietami. Pakiety są często określane różnymi terminami, w zależności

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

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

Bardziej szczegółowo

Technologie informacyjne (5) Zdzisław Szyjewski

Technologie informacyjne (5) Zdzisław Szyjewski Technologie informacyjne (5) Zdzisław Szyjewski Technologie informacyjne Technologie pracy z komputerem Funkcje systemu operacyjnego Przykłady systemów operacyjnych Zarządzanie pamięcią Zarządzanie danymi

Bardziej szczegółowo

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 13 Topologie sieci i urządzenia Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 13 Topologie sieci i urządzenia Topologie sieci magistrali pierścienia gwiazdy siatki Zalety: małe użycie kabla Magistrala brak dodatkowych urządzeń

Bardziej szczegółowo

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 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ółowo

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 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,

Bardziej szczegółowo

61 Topologie wirtualne

61 Topologie wirtualne 61 Topologie wirtualne pozwalają opisać dystrybucję procesów w przestrzeni z uwzględnieniem struktury komunikowania się procesów aplikacji między sobą, umożliwiają łatwą odpowiedź na pytanie: kto jest

Bardziej szczegółowo

Weryfikacja oprogramowania, korzystajacego z MPI

Weryfikacja oprogramowania, korzystajacego z MPI Weryfikacja oprogramowania, korzystajacego z MPI Krzysztof Nozderko kn201076@students.mimuw.edu.pl 23 maja 2005 Wprowadzenie Równoległe obliczenia olbiczenia naukowców sa często bardzo kosztowne obliczeniowo

Bardziej szczegółowo

Sieci komputerowe. Dr inż. Robert Banasiak. Sieci Komputerowe 2010/2011 Studia niestacjonarne

Sieci komputerowe. Dr inż. Robert Banasiak. Sieci Komputerowe 2010/2011 Studia niestacjonarne Sieci komputerowe Dr inż. Robert Banasiak Sieci Komputerowe 2010/2011 Studia niestacjonarne 1 Sieci LAN (Local Area Network) Podstawowe urządzenia sieci LAN. Ewolucja urządzeń sieciowych. Podstawy przepływu

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania

Bardziej szczegółowo

Architektura komputerów

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.

Bardziej szczegółowo

Działanie komputera i sieci komputerowej.

Działanie komputera i sieci komputerowej. Działanie komputera i sieci komputerowej. Gdy włączymy komputer wykonuje on kilka czynności, niezbędnych do rozpoczęcia właściwej pracy. Gdy włączamy komputer 1. Włączenie zasilania 2. Uruchamia

Bardziej szczegółowo

Programowanie w standardzie MPI

Programowanie w standardzie MPI Programowanie w standardzie MPI 1 2 Podstawy programowania z przesyłaniem komunikatów Model systemu równoległego w postaci p procesów, każdy z nich z własną przestrzenią adresową, nie współdzieloną z innymi

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 8 Magistrale systemowe Magistrala Układy składające się na komputer (procesor, pamięć, układy we/wy) muszą się ze sobą komunikować, czyli być połączone. Układy łączymy ze

Bardziej szczegółowo

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37 Referencyjny model OSI 3 listopada 2014 Mirosław Juszczak 37 Referencyjny model OSI Międzynarodowa Organizacja Normalizacyjna ISO (International Organization for Standarization) opracowała model referencyjny

Bardziej szczegółowo

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami

Rywalizacja w sieci cd. Protokoły komunikacyjne. Model ISO. Protokoły komunikacyjne (cd.) Struktura komunikatu. Przesyłanie między warstwami Struktury sieciowe Struktury sieciowe Podstawy Topologia Typy sieci Komunikacja Protokoły komunikacyjne Podstawy Topologia Typy sieci Komunikacja Protokoły komunikacyjne 15.1 15.2 System rozproszony Motywacja

Bardziej szczegółowo

16. Taksonomia Flynn'a.

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ę

Bardziej szczegółowo

Programowanie Równoległe Wykład 5. MPI - Message Passing Interface (część 3) Maciej Matyka Instytut Fizyki Teoretycznej

Programowanie Równoległe Wykład 5. MPI - Message Passing Interface (część 3) Maciej Matyka Instytut Fizyki Teoretycznej Programowanie Równoległe Wykład 5 MPI - Message Passing Interface (część 3) Maciej Matyka Instytut Fizyki Teoretycznej MPI, wykład 3. Plan: - wirtualne topologie - badanie skalowanie czasu rozwiązania

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor 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ółowo

51. Metody komunikacji nieblokującej.

51. Metody komunikacji nieblokującej. 51. Metody komunikacji nieblokującej. Funkcje nieblokujace różnia sie od wersji blokujacych przedrostkiem I (immediate) w nazwie oraz jednym dodatkowym argumentem: request, który jest używany do sprawdzenia,

Bardziej szczegółowo

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych 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ółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

UKŁADY MIKROPROGRAMOWALNE

UKŁADY MIKROPROGRAMOWALNE UKŁAD MIKROPROGRAMOWALNE Układy sterujące mogą pracować samodzielnie, jednakże w przypadku bardziej złożonych układów (zwanych zespołami funkcjonalnymi) układ sterujący jest tylko jednym z układów drugim

Bardziej szczegółowo

router wielu sieci pakietów

router wielu sieci pakietów Dzisiejsze sieci komputerowe wywierają ogromny wpływ na naszą codzienność, zmieniając to, jak żyjemy, pracujemy i spędzamy wolny czas. Sieci mają wiele rozmaitych zastosowań, wśród których można wymienić

Bardziej szczegółowo

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 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

Bardziej szczegółowo

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 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ółowo

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 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ółowo

Protokoły sieciowe - TCP/IP

Protokoły sieciowe - TCP/IP Protokoły sieciowe Protokoły sieciowe - TCP/IP TCP/IP TCP/IP (Transmission Control Protocol / Internet Protocol) działa na sprzęcie rożnych producentów może współpracować z rożnymi protokołami warstwy

Bardziej szczegółowo

Architektura komputera

Architektura komputera Architektura komputera Architektura systemu komputerowego O tym w jaki sposób komputer wykonuje program i uzyskuje dostęp do pamięci i danych, decyduje architektura systemu komputerowego. Określa ona sposób

Bardziej szczegółowo

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak

Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak Protokoły sieciowe model ISO-OSI Opracował: Andrzej Nowak OSI (ang. Open System Interconnection) lub Model OSI to standard zdefiniowany przez ISO oraz ITU-T, opisujący strukturę komunikacji sieciowej.

Bardziej szczegółowo

IPC: Kolejki komunikatów

IPC: Kolejki komunikatów IPC: Kolejki komunikatów Systemy Operacyjne 2 laboratorium Mateusz Hołenko 7 listopada 2011 Plan zajęć 1 Mechanizmy IPC kolejki komunikatów pamięć współdzielona semafory 2 Kolejki komunikatów kolejka komunikat

Bardziej szczegółowo

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

PAMIĘ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ółowo

Architektura komputerów

Architektura 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ółowo

Architektura systemów komputerowych. dr Artur Bartoszewski

Architektura systemów komputerowych. dr Artur Bartoszewski Architektura systemów komputerowych dr Artur Bartoszewski Układy we/wy jak je widzi procesor? Układy wejścia/wyjścia Układy we/wy (I/O) są kładami pośredniczącymi w wymianie informacji pomiędzy procesorem

Bardziej szczegółowo

Spis treści. 1 Wprowadzenie. 1.1 Podstawowe pojęcia. 1 Wprowadzenie Podstawowe pojęcia Sieci komunikacyjne... 3

Spis 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ółowo

Dwa lub więcej komputerów połączonych ze sobą z określonymi zasadami komunikacji (protokołem komunikacyjnym).

Dwa lub więcej komputerów połączonych ze sobą z określonymi zasadami komunikacji (protokołem komunikacyjnym). Sieci komputerowe Dwa lub więcej komputerów połączonych ze sobą z określonymi zasadami komunikacji (protokołem komunikacyjnym). Zadania sieci - wspólne korzystanie z plików i programów - współdzielenie

Bardziej szczegółowo

Magistrala. Magistrala (ang. Bus) służy do przekazywania danych, adresów czy instrukcji sterujących w różne miejsca systemu komputerowego.

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

Bardziej szczegółowo

Warstwy i funkcje modelu ISO/OSI

Warstwy i funkcje modelu ISO/OSI Warstwy i funkcje modelu ISO/OSI Organizacja ISO opracowała Model Referencyjny Połączonych Systemów Otwartych (model OSI RM - Open System Interconection Reference Model) w celu ułatwienia realizacji otwartych

Bardziej szczegółowo

Klasyfikacje systemów komputerowych, modele złożoności algorytmów obliczeniowych

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

Bardziej szczegółowo

Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1

Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1 Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1 MPI dynamiczne zarządzanie procesami MPI 2 umożliwia dynamiczne zarządzanie procesami, choć

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Klient-Serwer Komunikacja przy pomocy gniazd

Klient-Serwer Komunikacja przy pomocy gniazd II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu

Bardziej szczegółowo

Message Passing Interface

Message Passing Interface Message Passing Interface Interfejs programowania definiujący powiązania z językami C, C++, Fortran Standaryzacja (de facto) i rozszerzenie wcześniejszych rozwiązań dla programowania z przesyłaniem komunikatów

Bardziej szczegółowo

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

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ą

Bardziej szczegółowo

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

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ć

Bardziej szczegółowo

Programowanie współbieżne Wykład 2. Iwona Kochańska

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

Bardziej szczegółowo

Informatyka. informatyka i nauki komputerowe (computer science)

Informatyka. informatyka i nauki komputerowe (computer science) Informatyka informacja i jej reprezentacje informatyka i nauki komputerowe (computer science) algorytmika efektywność algorytmów poprawność algorytmów złożoność obliczeniowa, problemy NP-trudne (NP-zupełne)

Bardziej szczegółowo

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut Podstawy Projektowania Przyrządów Wirtualnych Wykład 9 Wprowadzenie do standardu magistrali VMEbus mgr inż. Paweł Kogut VMEbus VMEbus (Versa Module Eurocard bus) jest to standard magistrali komputerowej

Bardziej szczegółowo

Wykład 14. Zagadnienia związane z systemem IO

Wykł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ółowo

Opis protokołu RPC. Grzegorz Maj nr indeksu:

Opis protokołu RPC. Grzegorz Maj nr indeksu: Opis protokołu RPC Grzegorz Maj nr indeksu: 236095 1 Streszczenie Niniejszy dokument opisuje specyfikację protokołu RQP (Remote Queues Protocol). W jego skład wchodzą: opis celów protokołu; opis założeń

Bardziej szczegółowo

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

Stan globalny. Krzysztof Banaś Systemy rozproszone 1 Stan globalny Krzysztof Banaś Systemy rozproszone 1 Stan globalny Z problemem globalnego czasu jest związany także problem globalnego stanu: interesuje nas stan systemu rozproszonego w konkretnej pojedynczej

Bardziej szczegółowo

Numeryczna algebra liniowa

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Procesor 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ę 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ółowo

Urządzenia sieciowe. Tutorial 1 Topologie sieci. Definicja sieci i rodzaje topologii

Urządzenia sieciowe. Tutorial 1 Topologie sieci. Definicja sieci i rodzaje topologii Tutorial 1 Topologie sieci Definicja sieci i rodzaje topologii Definicja 1 Sieć komputerowa jest zbiorem mechanizmów umożliwiających komunikowanie się komputerów bądź urządzeń komputerowych znajdujących

Bardziej szczegółowo

Standard transmisji równoległej LPT Centronics

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

Bardziej szczegółowo

Magistrale i gniazda rozszerzeń

Magistrale i gniazda rozszerzeń Magistrale i gniazda rozszerzeń Adam Banasiak 11.03.2014 POWIATOWY ZESPÓŁ SZKÓŁ NR 2 IM. PIOTRA WŁOSTOWICA W TRZEBNICY Adam Banasiak Magistrale i gniazda rozszerzeń 11.03.2014 1 / 31 Magistrale ISA i PCI

Bardziej szczegółowo

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. 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ą

Bardziej szczegółowo

Zespół Szkół Ponadgimnazjalnych Nr 1 w Barlinku - Technik informatyk

Zespół Szkół Ponadgimnazjalnych Nr 1 w Barlinku - Technik informatyk Topologie sieci Topologie sieci lokalnych mogą być opisane zarówno na płaszczyźnie fizycznej, jak i logicznej. Topologia fizyczna określa organizację okablowania strukturalnego, topologia logiczna opisuje

Bardziej szczegółowo

System plików warstwa fizyczna

System 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ółowo

System plików warstwa fizyczna

System 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ółowo

System plików warstwa fizyczna

System 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ółowo

Akademickie Centrum Informatyki PS. Wydział Informatyki PS

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.

Bardziej szczegółowo

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Pamięć 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ółowo

Podstawy programowania komputerów

Podstawy programowania komputerów Podstawy programowania komputerów Wykład 14: Programowanie współbieżne w C Definicja programowania współbieżnego Programowanie współbieżne jest tworzeniem programów, których wykonanie powoduje uruchomienie

Bardziej szczegółowo

Sieci WAN. Mgr Joanna Baran

Sieci WAN. Mgr Joanna Baran Sieci WAN Mgr Joanna Baran Technologie komunikacji w sieciach Analogowa Cyfrowa Komutacji pakietów Połączenia analogowe Wykorzystanie analogowych linii telefonicznych do łączenia komputerów w sieci. Wady

Bardziej szczegółowo

Podstawy Informatyki Systemy sterowane przepływem argumentów

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

Bardziej szczegółowo

STRUKTURA OGÓLNA SIECI LAN

STRUKTURA OGÓLNA SIECI LAN STRUKTURA OGÓLNA SIECI LAN Topologia sieci LAN odnosi się do sposobu organizacji koncentratorów i okablowania. Topologiami podstawowymi sieci są: topologia magistrali topologia gwiazdy topologia pierścienia

Bardziej szczegółowo

Sprawdzian test egzaminacyjny GRUPA I

Sprawdzian test egzaminacyjny GRUPA I ... nazwisko i imię ucznia Sprawdzian test egzaminacyjny GRUPA I 1. Na rys. 1 procesor oznaczony jest numerem A. 2 B. 3 C. 5 D. 8 2. Na rys. 1 karta rozszerzeń oznaczona jest numerem A. 1 B. 4 C. 6 D.

Bardziej szczegółowo

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Spis treści Wprowadzenie... 11 1. Architektura procesorów rodziny x86... 17 1.1. Model procesorów

Bardziej szczegółowo

SIECI KOMPUTEROWE. Podstawowe wiadomości

SIECI KOMPUTEROWE. Podstawowe wiadomości SIECI KOMPUTEROWE Podstawowe wiadomości Co to jest sieć komputerowa? Sieć komputerowa jest to zespół urządzeń przetwarzających dane, które mogą wymieniać między sobą informacje za pośrednictwem mediów

Bardziej szczegółowo

Logiczny model komputera i działanie procesora. Część 1.

Logiczny 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ółowo

Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1

Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1 Programowanie w modelu przesyłania komunikatów specyfikacja MPI, cd. Krzysztof Banaś Obliczenia równoległe 1 Środowisko przesyłania komunikatów MPI Rodzaje procedur: blokujące nieblokujące Tryby przesyłania

Bardziej szczegółowo

Na chwilę obecną biblioteka ElzabObsluga.dll współpracuje tylko ze sprawdzarkami RSowymi.

Na chwilę obecną biblioteka ElzabObsluga.dll współpracuje tylko ze sprawdzarkami RSowymi. Instrucja wdrożenia biblioteki ElzabObsluga.dll Wymagane wersje: ihurt 6.3 ElzabObsluga.dll 6.1.0.0 KhAutomat 6.3.0.0 Schemat blokowy: Na chwilę obecną biblioteka ElzabObsluga.dll współpracuje tylko ze

Bardziej szczegółowo

PL B1 PRZEDSIĘBIORSTWO BADAWCZO- -PRODUKCYJNE I USŁUGOWO-HANDLOWE MICON SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ, KATOWICE, PL

PL B1 PRZEDSIĘBIORSTWO BADAWCZO- -PRODUKCYJNE I USŁUGOWO-HANDLOWE MICON SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ, KATOWICE, PL RZECZPOSPOLITA POLSKA (12) OPIS PATENTOWY (19) PL (11) 205621 (13) B1 Urząd Patentowy Rzeczypospolitej Polskiej (21) Numer zgłoszenia: 368490 (22) Data zgłoszenia: 14.06.2004 (51) Int.Cl. H04L 29/00 (2006.01)

Bardziej szczegółowo