POZNA SUPERCOMPUTING AND NETWORKING. Wtki w MPI. Michał Sajkowski

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

Download "POZNA SUPERCOMPUTING AND NETWORKING. Wtki w MPI. Michał Sajkowski"

Transkrypt

1 Wtki w MPI Michał Sajkowski

2 literatura wykład opracowany na podstawie: W. Gropp, E. Lusk, R. Thakur, Using MPI-2, The MIT Press 1999 W. Gropp, E. Lusk, A. Skjellum, Using MPI, 2nd. Ed., The MIT Press

3 troch historii MPI-1 zostało zaprojektowane, aby dobrze współpracowa z wtkami MPI-2 dodało cechy, aby poprawi zdolno implementacji MPI do zwikszenia efektywnoci jednowtkowych i wielowtkowych programów 3

4 agenda pojcie wtku i jego przydatno podstawowe informacje o wtkach (wtki a procesy) współdziałanie MPI z wtkami (funkcja MPI_Init_thread, program zwikszania licznika) implementacja nieblokujcych operacji kolektywnych programowanie mieszane 4

5 wtek wtki tworz istotny model programowania, który dzieli proces na pojedyncz przestrze adresow i jeden lub wicej wtków sterowania daj naturalny model programowania dla symetrycznych wieloprocesorów s te efektywnym sposobem ukrycia opónie w operacjach o wysokich opónieniach 5

6 wtek wtek jest pojciem atomowym wykonania w procesie MPI. Kady proces MPI ma główny wtek i moe mie dodatkowe wtki, pod warunkiem, e jest dostpne rodowisko programowania bezpieczne ze wzgldu na wtki i pakiet wtków interfejs MPI jest bezpieczny ze wzgldu na wtki, ale nie wie MPI z adn norm poziom bezpieczestwa wtku w implementacji MPI wprowadzaj funkcje w MPI-2 6

7 wtek kiedy cała pami jest współdzielona, moe by zastosowana do systemów wielowtkowych, w których pojedynczy proces (przestrze adresowa) posiada kilka liczników programu i stosów wykonania model pozwala na szybkie przełczanie midzy wtkami, i nie wymaga wyranych operacji na pamici, moe by wic przeniesiony do programu w Fortranie powstaje problem: kady stan programu (zmienne programowe) jest współdzielony przez wszystkie wtki jednoczenie niezalenie, wtek moe mie pami lokaln 7

8 wtek a proces proces to element, który komunikuje si z innymi procesami proces definiuje si jako przestrze adresow razem z biecym stanem, zawierajcym licznik programu, wartoci rejestru, i stos wywoła do podprogramów kiedy proces ma tylko jeden licznik programu, wykonuje tylko jedn rzecz w danej chwili, wtedy jest jednowtkowy 8

9 wtek a proces wiele procesów moe by wykonanych przez jeden procesor poprzez współdzielenie czasu, std procesor wykonuje wicej rzeczy w jednej chwili, a proces nie uogólnienie procesu wprowadza wiele liczników programu, wartoci rejestru, i stosów wywoła podprogramów, współdzielc przestrze adresow procesu wtkiem nazywamy trójk (licznik programu, zbiór rejestrów, stos) wtek jest bardzo podobny do procesu co do jego praw, ale nie posiada własnej przestrzeni adresowej 9

10 wtek a proces motywacj wtków jest umoliwienie modelu programowania współbienego w pojedynczym procesie, z bardzo szybkim przełczaniem sterowania CPU z jednego wtku na drugi, wynikajcym z faktu nie angaowania, albo niewielkiego angaowania zarzdzania pamici 10

11 wtek a proces pojedyncze wtki nie s widoczne poza procesem std komunikacja MPI pomidzy procesami wielowtkowymi nie adresuje pojedynczych wtków wtki procesu mog wykonywa operacje MPI w imieniu swoich procesów 11

12 wtek a MPI stosowanie wtków łcznie z przesyłaniem komunikatów jest szczególnie wygodne, z nastpujcych powodów: wtki zapewniaj naturaln implementacj nieblokujcych operacji komunikacyjnych wtek moe by utworzony do wykonania blokujcej operacji odbioru, tak długo jak si blokuje tylko sam wtek, a nie proces, daje to efekt nieblokujcego odbioru to samo dotyczy nadawania 12

13 wtek a MPI wtki mog zwikszy wygod i efektywno implementacji operacji kolektywnych wtki staj si modelem programowania równoległego wybranego dla maszyn o współdzielonej pamici z symetryczn wieloprocesowoci wtki poprawiaj wydajno, pomagajc uczyni systemy o duych opónieniach systemami bardziej tolerancyjnymi na opónienia 13

14 wtek a proces systemy wtków, gdzie system operacyjny (jdro) nie jest zaangaowany w zarzdzanie poszczególnymi wtkami, nazywa si wtkami uytkownika wtki uytkownika s szybsze od wtków jdra, ale pewne wywołania blokuj wszystkie wtki w procesie zawierajcym wtek, który dokonał wywołania read, write, recv i send 14

15 wtek a proces MPI Forum było wiadome wagi istnienia wtków, i chciało, aby MPI było bezpieczne ze wzgldu na wtki w czasie powstawania MPI-1 nie było jasnej definicji wtku kwesti rozstrzyga MPI-2, wspomagajc programy wielowtkowe 15

16 bezpieczestwo wtku aby wtki mogły by stosowane w połczeniu z bibliotek przesyłania komunikatów, biblioteka musi dobrze współpracowa z wtkami t cech nazywamy bezpieczestwem wtku oznacza ona, e wiele wtków moe wykonywa wywołania biblioteki przesyłania komunikatów bez interferencji ze sob 16

17 bezpieczestwo wtku niebezpieczestwo wtku wystpuje, gdy od systemu przesyłania komunikatów oczekuje si, e utrzymuje on pewne czci stanu procesu, a nie jest to moliwe dla wicej ni jednego wtku w danym czasie niektóre biblioteki stosuj pojcie ostatnio odebranego komunikatu dla uniknicia przekazywania argumentu statusu zapamitanego na stosie procesu 17

18 bezpieczestwo wtku kod uytkownika wtedy wyglda nastpujco: recv(msg, type); src = get_src(); len = get_len(); podejcie to działa dla przypadku jednego wtku dla wielu wtków, moe by jednoczenie realizowane wiele odbiorów, i przy wywołaniu get_src, nie wiadomo dla którego komunikatu ródło ma by zwrócone 18

19 bezpieczestwo wtku MPI rozwizuje ten problem, zwracajc ródło jako cz statusu, który zwykle znajduje si na stosie danego wtku problem zasobu, bdcego własnoci biblioteki przesyłania komunikatów, zamiast wtku uytkownika, moe powsta te dla innych struktur danych, jak bufory komunikatów, pola błdu, czy biece konteksty MPI jest zaprojektowane tak, aby było bezpieczne pod wzgldem wtków 19

20 bezpieczestwo wtku przy stosowaniu MPI z wtkami, nie wystarczy, aby implementacja MPI była bezpieczna ze wzgldu na wtki biblioteka wtków musi bywiadoma implementacji MPI do tego stopnia, e wykonanie operacji blokujcej spowoduje, e biecy wtek oddaje sterowanie do innego wtku w procesie, zamiast spowodowa blokad procesu 20

21 bezpieczestwo wtku kiedy przychodzi komunikat, wtek czekajcy na niego powinien by ponownie uruchomiony co wicej, kiedy nastpuje wywołanie systemowe, system operacyjny powinien zablokowa tylko ten wtek, który dokonał wywołania, a nie wszystkie wtki, inaczej wikszo elastycznoci wtków na poziomie uytkownika jest stracona 21

22 bezpieczestwo wtku jest jakoci semantyki oprogramowania, która gwarantuje, e niezalenie wykonywane wtki nie interferuj ze sob, poprzez dostp do danych przeznaczonych dla innego wtku implementacja bezpieczestwa wtku wymaga eliminacji wikszoci stanów globalnych i wyranego zarzdzania pozostałymi stanami globalnymi MPI jest zaprojektowany tak, aby był bezpieczny ze wzgldu na wtki 22

23 bezpieczestwo wtku dwa wtki w tym samym procesie MPI odbierajce w tym samym komunikatorze wtek 1 wtek MPI_Probe( s, t, comm, &st1) MPI_Probe( s, t, comm, &st2) MPI_Get_count( &st1, d, &n1) MPI_Get_count( &st2, d, &n2) MPI_Recv( a, n1, d, s, t, MPI_Recv( b, n2, d, s, t, comm, &st ) comm, &st ) 23

24 bezpieczestwo wtku dwa wtki próbuj odebra komunikat z procesu o numerze s w komunikatorze comm z typem danych d załómy dalej, e proces o numerze s ma nada dwa komunikaty, jeden o długoci 1, i drugi o długoci 10 moliwe wyniki kodu pokazujce długoci komunikatu zwracane przez MPI_Probe i MPI_Recv 24

25 bezpieczestwo wtku przypadek wtek 1 wtek 2 Probe Recv Probe Recv

26 moliwe wykonanie wtków wtek 1 MPI_Probe( s, t,comm, &status1 ) MPI_Get_count( &status1, d, &n1 ) oba wywołania MPI_Probe MPI_Recv( a, n1,d, s, t, comm, status ) wtek 2 MPI_Probe( s, t, comm, &status2 ) widz ten sam komunikat MPI_Get_count( &status2, d, &n2 ) MPI_Recv( b, n2, d, s, t, comm, status ) 26

27 moliwe wykonanie wtków oba wtki wywołujmpi_probe zanim oba wywołaj MPI_Recv std oba wtki dowiaduj si o pierwszym komunikacie od procesu o numerze s, komunikat ten ma rozmiar 1 nastpnie drugi wtek odbiera ten komunikat za pomoc MPI_Recv nastpnie pierwszy wtek próbuje odebra komunikat z licznikiem n1 = 1 poniewa pierwszy komunikat został ju odebrany, pierwszy wtek widzi drugi komunikat o rozmiarze 10 co powoduje błd MPI_ERR_TRUNCATE 27

28 bezpieczestwo wtku istnieje kilka sposobów, aby unikn tego problemu klasyczny sposób w programowaniu wielowtkowym to mechanizm wzajemnego wykluczania, taki jak zamek (lock), od MPI_Probe do MPI_Recv, chronicy przed ingerencj innego wtku MPI daje inne podejcie: poniewa komunikacja w rónych komunikatorach jest niezalena, tak długo jak aden komunikator nie jest stosowany przez wicej ni jeden wtek, nie potrzeba wzajemnego wykluczania 28

29 bezpieczestwo wtku MPI tak zaprojektowano, aby był implementowany w sposób bezpieczny ze wzgldu na wtki kiedy stosujesz wielowtkowo w programie, a Twoja implementacja nie jest bezpieczna, moesz otrzyma nieprzewidywalne wyniki 29

30 programy jeszcze jedna wersja nxtval (zwikszanie licznika i zwrot wartoci) implementacja nieblokujcych operacji kolektywnych testowanie poziomu wsparcia wtków 30

31 MPI i wtki MPI_1 został zaprojektowany aby był bezpieczny ze wzgldu na wtki z wyjtkiem MPI_Probe i MPI_Iprobe, nie ma stanu globalnego ani pojcia biecej wartoci w specyfikacji MPI W MPI-2, programy we/wy zawierajce wyrane offsety (MPI_File_read_at) daj bezpieczn alternatyw operacji seek 31

32 MPI i wtki problem przenonoci w aplikacjach wielowtkowych ze wzgldu na podział na wtki uytkownika i wtki jdra, wymaga, aby wywołania MPI blokowały jedynie wtek wywołujcy kiedy aplikacja stosuje MPI dla komunikacji miedzy procesami, a jest wielowtkowa, to jest wtedy przenona 32

33 MPI i wtki jeden wtek moe rozpocz operacj nieblokujc, a inny wtek (ale tylko jeden) moe j zakoczy potrzebne s operacje, zabezpieczajce przed niespójnymi aktualizacjami lokalizacji pamici 33

34 funkcja MPI_Init_thread funkcja ta da poziomu wsparcia wtku, i zwraca gwarantowany poziom wtku podamy obecnie poziomy wsparcia wtku, w kolejnoci wzrastajcej ogólnoci wszystkie wartoci poziomu wsparcia s liczbami całkowitymi i s uporzdkowane tak, e ogólniejsza warto jest wiksza ni wszystkie bardziej restryktywne poziomy 34

35 poziomy wsparcia wtku MPI_THREAD_SINGLE: tylko jeden wtek (uytkownika) MPI_THREAD_FUNNELED: wiele wtków uytkownika, ale tylko główny wtek moe dokona wywoła MPI MPI_THREAD_SERIALIZED: wiele wtków uytkownika moe dokona wywoła MPI, ale tylko jeden wtek w danej chwili to robi MPI_THREAD_MULTIPLE: pełna dowolno, dowolny wtek moe dokona wywołania w dowolnym czasie 35

36 funkcja MPI_Init_thread MPI_Init_thread moe by uyta zamiast MPI_Init to znaczy kiedy program MPI-1 startuje z MPI_Init i koczy simpi_finalize, to program MPI-2 startuje od MPI_Init albo MPI_Init_thread, a koczy simpi_finalize wtek w kadym procesie, który wywołałmpi_init lub MPI_Init_thread, który jest nazwany głównym wtkiem, jest równie tym jedynym wtkiem w procesie, który wywołuje MPI_Finalize 36

37 funkcja MPI_Init_thread najbardziej przyjaznym wtkom jest poziom MPI_THREAD_MULTIPLE programy MPI mog by wtedy stosowane w dowolnej kombinacji z wtkami MPI sam nie tworzy wtków, s one tworzone osobno przez biblioteki i kompilatory 37

38 wersjanxtval z uyciem wtków program zwikszania licznika z uyciem wtków wtek zapewnia tutaj licznik wtek stosuje blokujcy odbiór, aby czeka na dania nowej wartoci, a zwraca dane blokujcym nadawaniem kod programu przedstawiony jest na kolejnych slajdach 38

39 wersjanxtval z uyciem wtków proces o numerze 0 tworzy wtek w init_counter dowolny proces, moe wywoła counter_nxtval, aby pobra biec warto i zwikszy j o warto incr program stop_counter stosuje MPI_Barrier do zapewnienia, e aden proces nadal nie próbuje korzysta z licznika 39

40 wersjanxtval z uyciem wtków proces o numerze 0 nadaje komunikat do samego siebie, odebrany jest on w programie counter_routine, działajcym w oddzielnym wtku odbiór tego komunikatu powoduje wyjcie z counter_routine, koczc wtek wywołanie pthread_join w stop_counter, powoduje, e proces który utworzył wtek, czeka a wtek si zakoczy 40

41 wersjanxtval z uyciem wtków kod zaley od gwarancji MPI, e blokujce wywołanie MPI blokuje jedynie wtek wywołujcy to wymaga trybu MPI_THREAD_MULTIPLE, ale tylko jeden proces potrzebuje takiego poziomu wsparcia inne procesy nie potrzebuj wtków, wtedy stosuj poziom wsparcia MPI_THREAD_SINGLE 41

42 wersjanxtval z uyciem wtków zmienna thread_id jest globalna, to chroni przed tym, aby wicej ni jeden licznik był aktywny w danym czasie w jednym procesie MPI zapewnia wygodny sposób dołczenia tej zmiennej do komunikatora wyjciowego counter_comm_p, za pomoc atrybutów 42

43 wersjanxtval z uyciem wtków void *counter_routine(mpi_comm *counter_comm_p ) { init incr, ival = 0; MPI_Status status; while (1) { MPI_Recv( &incr, 1, MPI_INT, MPI_ANY_SOURCE, MPI_ANY_TAG, *counter_comm_p, &status ); if (status.mpi_tag == 1) return ); MPI_Send( &ival, 1, MPI_INT, status.mpi_source, 0, *counter_comm_p ); ival += incr; } } 43

44 wersjanxtval z uyciem wtków /* omawiamy jak eliminowa t zmienn globaln w tekcie */ static pthread_t thread_id; void init_counter( MPI_Comm comm, MPI_Comm *counter_comm_p ) { int rank; MPI_Comm_dup( comm, counter_comm_p ); MPI_Comm_rank( comm, &rank ); if (rank == 0) pthread_create( &thread_id, NULL, counter_routine, counter_comm_p ); } 44

45 wersjanxtval z uyciem wtków /* dowolny proces moe to wywoła, aby pobra i zwikszy przez warto */ void counter_nxtval( MPI_Comm counter_comm, int incr, int *value ) { } MPI_Send(&incr, 1, MPI_INT, 0, 0, counter_comm); MPI_Recv(value, 1, MPI_INT, 0, 0, counter_comm, MPI_STATUS_IGNORE); 45

46 wersjanxtval z uyciem wtków /* kady proces w counter_comm (włczajc numer 0!) musi wywoła zatrzymanie licznika */ void stop_counter( MPI_Comm *counter_comm_p ) { } int rank; MPI_Barrier( *counter_comm_p); MPI_Comm_rank( *counter_comm_p, &rank ); if (rank == 0) { MPI_Send( MPI_BOTTOM, 0, MPI_INT, 0, 1, *counter_comm_p ); pthread_join( thread_id, NULL ); } MPI_Comm_free( counter_comm_p ); 46

47 nieblokujce operacje kolektywne wikszo operacji nieblokujcych moe by widziana, jak by były implementowane jako operacje blokujce w oddzielnych wtkach to jest przyczyna, dlaczego nieblokujce operacje kolektywne nie s zawarte w MPI-2, gdy mog by implementowane przez wywołanie odpowiadajcej operacji blokujcej z wykorzystaniem oddzielnego wtku 47

48 nieblokujce operacje kolektywne przykładem jest MPI_Comm_accept operacja ta nie moe by usunita, (nie jest nieblokujca), std program MPI wywołujcy MPI_Comm_accept nie moe si kontynuowa, a nie nastpi powrót z MPI_Comm_accept moemy uy inny program MPI, który wykona puste danie połczenia do samego siebie, aby spełni MPI_Comm_accept 48

49 kod nawizania i rozłczenia połczenia integer wxit_msg, server parameter (exit_msg = -1)... call MPI_COMM_CONNECT( port_name, MPI_INFO_NULL, 0, &MPI_COMM_SELF, server, ierr ) call MPI_BCAST(exit_msg, 1, MPI_INTEGER, MPI_ROOT, &server, ierr ) call MPI_COMM_DISCONNECT(server, ierr) 49

50 programowanie mieszane połczenie przesyłania komunikatów z technikami współdzielenia pamici tryb wtku MPI: MPI_THREAD_FUNNELED tylko jeden wtek wykonuje wywołanie MPI wtek musi okreli, czy jest głównym wtkiem, wywołujc MPI_Is_thread_main inne wtki wyliczaj zadanie zrównoleglenie ptli przez wtki 50

51 testowanie poziomu wsparcia wtków kod wykorzystuje fakt uporzdkowania wartoci poziomów wsparcia do uproszczenia testu MPI_Query_thread i MPI_Is_thread_main mog by uyte, nawet gdy MPI jest inicjowane przezmpi_init zamiast przez MPI_Init_thread 51

52 testowanie poziomu wsparcia wtków int thread_level, thread_is_main; MPI_Query_thread( &thread_level ); MPI_Is_thread_main( &thread_is_main ); if (thread_level > MPI_THREAD_FUNNELED (thread_level == MPI_THREAD_FUNNELED && thread_is_main)) {... moemy zrobi wywołania MPI } 52

53 testowanie poziomu wsparcia wtków else { printf( Błd, program robi wywołania MPI\n\ Ten wtek ich nie wspomaga\n ); return 1; }... 53

54 stosowanie programów MPI z OpenMP w OpenMP uytkownik moe kontrolowa liczb wtków zmiennymi rodowiska w MPI moe ustawi t liczb program omp_set_num_threads zwraca liczb wtków 54

55 kod do ustawienia wtków OpenMP w programie MPI MPI_Comm_rank( MPI_COMM_WORLD, &rank ); if (rank == 0) { nthreads_str = getenv( OMP_NUM_THREADS ); if (nthreads_str) else nthreads = atoi( nthreads_str ); nthreads = 1; } MPI_Bcast( &nthreads, 1, MPI_INT, 0, MPI_COMM_WORLD ); omp_set_num_threads( nthreads ); 55

56 podsumowanie omówilimy tutaj podstawowe kwestie wtków w MPI temat ten nie wyczerpuje problematyki MPI nastpnym krokiem bdzie omówienie bibliotek graficznych w MPI 56

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

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 współbieżne... (4) Andrzej Baran 2010/11

Programowanie współbieżne... (4) Andrzej Baran 2010/11 Programowanie współbieżne... (4) Andrzej Baran 2010/11 LINK: http://kft.umcs.lublin.pl/baran/prir/index.html Przykład Zaczniemy od znanego już przykładu: Iloczyn skalarny różne modele Programowanie współbieżne...

Bardziej szczegółowo

Sposoby przekazywania parametrów w metodach.

Sposoby przekazywania parametrów w metodach. Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych

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

... Ireneusz Mrozek. Wydział Informatyki

... Ireneusz Mrozek. Wydział Informatyki Ireneusz Mrozek Wydział Informatyki Proces wykonujcy si program Proces jednostka pracy systemu zarzdzan przez system operacyjny. W skład procesu wchodz: - program; - dane - zawarto rejestrów, stosu; -

Bardziej szczegółowo

Optymalizacja komunikacji w systemach rozproszonych i równoległych

Optymalizacja komunikacji w systemach rozproszonych i równoległych Optymalizacja komunikacji w systemach rozproszonych i równoległych Szkolenie PCSS, 16.12.2001 literatura W. Gropp, E. Lusk, An Introduction to MPI, ANL P.S. Pacheco, A User s Guide to MPI, 1998 Ian Foster,

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

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

Rozszerzenia MPI-2 1

Rozszerzenia MPI-2 1 Rozszerzenia MPI-2 1 2 Dynamiczne tworzenie procesów Aplikacja MPI 1 jest statyczna z natury Liczba procesów określana jest przy starcie aplikacji i się nie zmienia. Gwarantuje to szybką komunikację procesów.

Bardziej szczegółowo

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). 1. Programowanie zdarzeniowe Programowanie zdarzeniowe

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

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

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

WYKŁAD 12. Wzorce projektowe czynnociowe State Mediator

WYKŁAD 12. Wzorce projektowe czynnociowe State Mediator WYKŁAD 12 Wzorce projektowe czynnociowe State Mediator Behavioral Design Pattern: State [obj] Umoliwia obiektowi zmian zachowania gdy zmienia si jego stan wewntrzny. Dzieki temu obiekt zdaje si zmienia

Bardziej szczegółowo

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych,

zdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych, Wstp W nowoczesnym wiecie coraz istotniejsz rol odgrywa informacja i łatwy dostp do niej. Nie dziwi wic fakt, i nowoczesne telefony komórkowe to nie tylko urzdzenia do prowadzenia rozmów telefonicznych,

Bardziej szczegółowo

Programowanie wspóªbie»ne

Programowanie wspóªbie»ne 1 Programowanie wspóªbie»ne wiczenia 5 monitory cz. 1 Zadanie 1: Stolik dwuosobowy raz jeszcze W systemie dziaªa N par procesów. Procesy z pary s nierozró»nialne. Ka»dy proces cyklicznie wykonuje wªasnesprawy,

Bardziej szczegółowo

1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!

1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!! Temat: Klasy typu sealed. Klasy abstrakcyjne. Deklaracja i implementacja interfejsu. Typ Object i operatory is oraz as. Czas ycia obiektu. Destruktory. 1. Klasa typu sealed Przykład 1 Klasa typu sealed

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

WYKŁAD 10. Wzorce projektowe czynnociowe Command Strategy

WYKŁAD 10. Wzorce projektowe czynnociowe Command Strategy WYKŁAD 10 Wzorce projektowe czynnociowe Command Strategy Behavioral Design Pattern: Command [obj] Kapsułkuje dania w postaci obiektu, co umoliwia parametryzowanie klientów rónymi daniami, kolejkowanie

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

Bazy danych Transakcje

Bazy danych Transakcje Wstp Pojcia podstawowe: Transakcja - sekwencja (uporzdkowany zbiór) logicznie powizanych operacji na bazie danych, która przeprowadza baz danych z jednego stanu spójnego w inny stan spójny. W!a"no"ci transakcji:

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

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

Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW

Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW Poradnik korzystania z serwisu UNET: Dostp do poczty elektronicznej ze strony WWW W przypadku braku stosownego oprogramowania słucego do komunikacji z systemem pocztowym UNET uytkownik ma moliwo skorzystania

Bardziej szczegółowo

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.

Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika. Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika. 1. Pojcie struktury danych Nieformalnie Struktura danych (ang. data

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Podprogramy Czasami wygodnie jest wyodrębnić jakiś fragment programu jako pewną odrębną całość umożliwiają to podprogramy.

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

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne Mikrokontroler ATmega32 Tryby adresowania Rejestry funkcyjne 1 Rozrónia si dwa główne tryby: adresowanie bezporednie i porednie (jeli jeden z argumentów jest stał, ma miejsce take adresowanie natychmiastowe)

Bardziej szczegółowo

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,

obsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego, Wstp GeForms to program przeznaczony na telefony komórkowe (tzw. midlet) z obsług Javy (J2ME) umoliwiajcy wprowadzanie danych według rónorodnych wzorców. Wzory formularzy s pobierane z serwera centralnego

Bardziej szczegółowo

Programowanie współbieżne WYKŁADY - CZ. 5EX. PRZYKŁAD. LICZBY PIERWSZE. Andrzej Baran

Programowanie współbieżne WYKŁADY - CZ. 5EX. PRZYKŁAD. LICZBY PIERWSZE. Andrzej Baran Programowanie współbieżne WYKŁADY - CZ. 5EX. PRZYKŁAD. LICZBY PIERWSZE. Andrzej Baran baran@kft.umcs.lublin.pl Liczby pierwsze I Program: pierwsze.f90 - znajdowanie liczb pierwszych w przedziale 2..n Metoda:

Bardziej szczegółowo

Architektury systemów równoległych

Architektury systemów równoległych Architektury systemów równoległych 1 Architektury systemów z pamięcią wspólną Architektury procesorów Procesory wielordzeniowe Procesory graficzne Akceleratory Procesory hybrydowe Architektury systemów

Bardziej szczegółowo

Wstp. Warto przepływu to

Wstp. Warto przepływu to 177 Maksymalny przepływ Załoenia: sie przepływow (np. przepływ cieczy, prdu, danych w sieci itp.) bdziemy modelowa za pomoc grafów skierowanych łuki grafu odpowiadaj kanałom wierzchołki to miejsca połcze

Bardziej szczegółowo

Klonowanie MAC adresu oraz TTL

Klonowanie MAC adresu oraz TTL 1. Co to jest MAC adres? Klonowanie MAC adresu oraz TTL Adres MAC (Media Access Control) to unikalny adres (numer seryjny) kadego urzdzenia sieciowego (jak np. karta sieciowa). Kady MAC adres ma długo

Bardziej szczegółowo

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykład 1: Wprowadzenie do baz danych. Semestr 1

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykład 1: Wprowadzenie do baz danych. Semestr 1 Zaliczenie Bazy Wykład 1: Wprowadzenie do baz Semestr 1 Wykład: Podstawowe informacje z zakresu baz - relacyjne bazy, DDL, SQL, indeksy, architektura baz Pracownia specjalistyczna: projekt bazy, SQL, Access

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Programowanie wspóªbie»ne

Programowanie wspóªbie»ne 1 Zadanie 1: Bar Programowanie wspóªbie»ne wiczenia 6 monitory cz. 2 Napisz monitor Bar synchronizuj cy prac barmana obsªuguj cego klientów przy kolistym barze z N stoªkami. Ka»dy klient realizuje nast

Bardziej szczegółowo

Wzorce projektowe kreacyjne

Wzorce projektowe kreacyjne Wzorce projektowe kreacyjne Krzysztof Ciebiera 14 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawy Opis Ogólny Podstawowe informacje Wzorce kreacyjne sªu» do uabstrakcyjniania procesu tworzenia obiektów. Znaczenie

Bardziej szczegółowo

Wprowadzenie do kompilatorów

Wprowadzenie do kompilatorów Wprowadzenie do kompilatorów Czy ja kiedykolwiek napisz jaki kompilator? Jakie zadania ma do wykonania kompilator? Czy jzyk formalny to rodzaj jzyka programowania? Co to jest UML?, Czy ja kiedykolwiek

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

Planowanie adresacji IP dla przedsibiorstwa.

Planowanie adresacji IP dla przedsibiorstwa. Planowanie adresacji IP dla przedsibiorstwa. Wstp Przy podejciu do planowania adresacji IP moemy spotka si z 2 głównymi przypadkami: planowanie za pomoc adresów sieci prywatnej przypadek, w którym jeeli

Bardziej szczegółowo

Programowanie Obiektowe

Programowanie Obiektowe Programowanie Obiektowe dr in. Piotr Zabawa IBM/Rational Certified Consultant pzabawa@pk.edu.pl WYKŁAD 1 Wstp, jzyki, obiektowo Cele wykładu Zaznajomienie słuchaczy z głównymi cechami obiektowoci Przedstawienie

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Wykład 10 - boost Thread. 8 czerwca 2007 Równoległość bardzo wolna reakcja człowieka wolne urządzenia wejścia - wyjścia (np. drukarki) bardzo szybkie procesory można przeprowadzać obliczenia podczas obsługi

Bardziej szczegółowo

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury.

Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury. Temat: Technika zachłanna. Przykłady zastosowania. Własno wyboru zachłannego i optymalnej podstruktury. Algorytm zachłanny ( ang. greedy algorithm) wykonuje zawsze działanie, które wydaje si w danej chwili

Bardziej szczegółowo

{Opracowała Małgorzata Roguska} Tematy lekcji:

{Opracowała Małgorzata Roguska} Tematy lekcji: Pascal {Opracowała Małgorzata Roguska} Tematy lekcji: c) Ogólne omówienie Pascala, d) rodowisko Borland Pascala 7.0 (BP 7.0), e) Struktura programu w Pascalu, a. identyfikatory b. słowa kluczowe c. literały

Bardziej szczegółowo

Temat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne.

Temat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne. Temat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne. 1. Definicja problemu Wejcie: Graf spójny niezorientowany G =

Bardziej szczegółowo

POZNA SUPERCOMPUTING AND NETWORKING. Wprowadzenie do MPI

POZNA SUPERCOMPUTING AND NETWORKING. Wprowadzenie do MPI Wprowadzenie do MPI literatura W. Gropp, E. Lusk, An Introduction to MPI, ANL P.S. Pacheco, A User s Guide to MPI, 1998 Ian Foster, Designing and Building Parallel Programs, Addison-Wesley 1995, http://www-unix.mcs.anl.gov/dbpp/

Bardziej szczegółowo

Przycisk pracy. Przycisk stopu/kasowanie

Przycisk pracy. Przycisk stopu/kasowanie RUN STOP/RST ELEMENT KLWAIARTURY PRZYCISK RUN PRZYCISK STOP/RST POTENCJOMETR min-max PRZEŁCZNIK NPN/PNP PRZEŁCZNIK 4-KIERUNKOWY FUNKCJA Przycisk pracy Przycisk stopu/kasowanie Czstotliwo Wybór Przycisk

Bardziej szczegółowo

Dynamiczne zarzdzanie procesami

Dynamiczne zarzdzanie procesami Dynamiczne zarzdzanie procesami Michał Sajkowski literatura wykład opracowany na podstawie: W. Gropp, E. Lusk, R. Thakur, Using MPI-2, The MIT Press 1999 W. Gropp, E. Lusk, A. Skjellum, Using MPI, 2nd.

Bardziej szczegółowo

FUNKCJE UYTKOWNIKA. Rozbrajanie systemu pod przymusem [Kod przymusu] Blokowanie linii

FUNKCJE UYTKOWNIKA. Rozbrajanie systemu pod przymusem [Kod przymusu] Blokowanie linii Instrukcja uytkownika centrali Orbit-5;strona 1 FUNKCJE UYTKOWNIKA FUNKCJA PROCEDURA Uzbrajanie systemu [Kod uytkownika] + [ARM] Uzbrajanie w trybie W domu [Kod uytkownika] + [STAY] Rozbrajanie systemu

Bardziej szczegółowo

Multipro GbE. Testy RFC2544. Wszystko na jednej platformie

Multipro GbE. Testy RFC2544. Wszystko na jednej platformie Multipro GbE Testy RFC2544 Wszystko na jednej platformie Interlab Sp z o.o, ul.kosiarzy 37 paw.20, 02-953 Warszawa tel: (022) 840-81-70; fax: 022 651 83 71; mail: interlab@interlab.pl www.interlab.pl Wprowadzenie

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

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

Projektowanie algorytmów rekurencyjnych

Projektowanie algorytmów rekurencyjnych C9 Projektowanie algorytmów rekurencyjnych wiczenie 1. Przeanalizowa działanie poniszego algorytmu dla parametru wejciowego n = 4 (rysunek 9.1): n i i

Bardziej szczegółowo

NAZWY I ADRESY W SIECIACH IP PODZIAŁ NA PODSIECI

NAZWY I ADRESY W SIECIACH IP PODZIAŁ NA PODSIECI NAZWY I ADRESY W SIECIACH IP PODZIAŁ NA PODSIECI 1 1. Adres IP Adresy IP s niepowtarzalnymi identyfikatorami wszystkich stacji nalecych do intersieci TCP/IP. Stacj moe by komputer, terminal, router, a

Bardziej szczegółowo

stopie szaro ci piksela ( x, y)

stopie szaro ci piksela ( x, y) I. Wstp. Jednym z podstawowych zada analizy obrazu jest segmentacja. Jest to podział obrazu na obszary spełniajce pewne kryterium jednorodnoci. Jedn z najprostszych metod segmentacji obrazu jest progowanie.

Bardziej szczegółowo

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911)

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911) I Wprowadzenie (wersja 0911) Kurs OPC Integracja i Diagnostyka Spis treci Dzie 1 I-3 O czym bdziemy mówi? I-4 Typowe sytuacje I-5 Klasyczne podejcie do komunikacji z urzdzeniami automatyki I-6 Cechy podejcia

Bardziej szczegółowo

" # # Problemy budowy bezpiecznej i niezawodnej globalnej sieci szerokopasmowej dla słub odpowiadajcych za bezpieczestwo publiczne

 # # Problemy budowy bezpiecznej i niezawodnej globalnej sieci szerokopasmowej dla słub odpowiadajcych za bezpieczestwo publiczne !! " # # Problemy budowy bezpiecznej i niezawodnej globalnej sieci szerokopasmowej dla słub odpowiadajcych za bezpieczestwo publiczne Sie PIONIER Sieci regionalne i miejskie rodowiska naukowego baz dla

Bardziej szczegółowo

Biblioteki graficzne MPI - MPE

Biblioteki graficzne MPI - MPE Biblioteki graficzne MPI - MPE Michał Sajkowski Mirosław Kupczyk literatura [Chan1998] A. Chan, W. Gropp, E. Lusk, User s Guide formpe: Extensions to MPI Programs, ANL 1998. Web pages for MPI and MPE:

Bardziej szczegółowo

WYKŁAD 11. Wzorce projektowe czynnociowe Iterator TemplateMethod

WYKŁAD 11. Wzorce projektowe czynnociowe Iterator TemplateMethod WYKŁAD 11 Wzorce projektowe czynnociowe Iterator TemplateMethod Behavioral Design Pattern: Iterator [obj] Zapewnia sekwencyjny dostp do elementów agregatu bez ujawniania jego reprezentacji wewntrznej.

Bardziej szczegółowo

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza

1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza 165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty.

.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty. !"! " #$%& '()#$$ &%$! #$ %$ &%$& &$&! %&'" )$$! *$$&%$! +,- +-.! $ Celem wiczenia jest zapoznanie studenta ze strukturami: lista, stos, drzewo oraz ich implementacja w jzyku ANSI C. Zrozumienie działania

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

Ateus - Helios. System domofonowy

Ateus - Helios. System domofonowy Ateus - Helios System domofonowy Klawiatura telefoniczna: Uywajc klawiatury mona wybra dowolny numer abonenta. Helios moe pracowa z wybieraniem DTMF lub impulsowym. Ograniczenia na dostp do sieci publicznej

Bardziej szczegółowo

Szukanie najkrótszych dróg z jednym ródłem

Szukanie najkrótszych dróg z jednym ródłem Szukanie najkrótszych dróg z jednym ródłem Algorytm Dijkstry Załoenia: dany jest spójny graf prosty G z wagami na krawdziach waga w(e) dla kadej krawdzi e jest nieujemna dany jest wyróniony wierzchołek

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

Linux Adam Bułak Ha Nhat Viet Damian Klata

Linux Adam Bułak Ha Nhat Viet Damian Klata Linux 2.6.8.1 Adam Bułak Ha Nhat Viet Damian Klata 1. Wstp Wieloprocesowe systemy: - z moliwoci wydzierawiania (ang. preemption) Unix, Linux te oczywicie - bez takiej moliwoci proces sam oddaje procesor

Bardziej szczegółowo

Technologie obiektowe

Technologie obiektowe WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność

Bardziej szczegółowo

Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego

Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego Poradnik korzystania z serwisu UNET: Konfiguracja programu pocztowego Niniejszy opis dotyczy konfiguracji programu pocztowego Outlook Express z pakietu Internet Explorer, pracujcego pod kontrol systemu

Bardziej szczegółowo

Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.

Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting. Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.. Oznaczenia i załoenia Oznaczenia G = - graf skierowany z funkcj wagi s wierzchołek ródłowy t wierzchołek

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24 Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.

Bardziej szczegółowo

Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B

Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B Wzorcowy załcznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomidzy Firm A oraz Firm B Wersja draft 2.1 Na podstawie: Europejskiej Modelowej Umowy o EDI (w skrócie: EMUoE). 1. Standardy

Bardziej szczegółowo

Pakiety i interfejsy. Tomasz Borzyszkowski

Pakiety i interfejsy. Tomasz Borzyszkowski Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe. Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe. Oznaczenia G = V, E - graf bez wag, gdzie V - zbiór wierzchołków, E- zbiór krawdzi V = n - liczba wierzchołków grafu G E = m

Bardziej szczegółowo

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C #import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:

Bardziej szczegółowo

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p. Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Abstrakcja funkcyjna Struktury Klasy hermetyzacja

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

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

Programowanie współbieżne... (5)

Programowanie współbieżne... (5) Programowanie współbieżne... (5) Andrzej Baran 2010/11 LINK: http://kft.umcs.lublin.pl/baran/prir/index.html 6 FUNKCJI Proste programy MPI można pisać używając tylko 6 funkcji Programowanie współbieżne...

Bardziej szczegółowo

WYKŁAD 9. Wzorce projektowe czynnociowe Observer Visitor

WYKŁAD 9. Wzorce projektowe czynnociowe Observer Visitor WYKŁAD 9 Wzorce projektowe czynnociowe Observer Visitor Behavioral Design Pattern: Observer [obj] Okrela relacj jeden-do-wielu midzy obiektami. Gdy jeden z obiektów zmienia stan, wszystkie obiekty zalene

Bardziej szczegółowo

Wzorce (szablony) template<class T> {definicja wzorca} lub template<class TypElementu> lub template<class TypElementu1, class TypElementu2>

Wzorce (szablony) template<class T> {definicja wzorca} lub template<class TypElementu> lub template<class TypElementu1, class TypElementu2> Wzorce (szablony) Wzorce pozwalaj na okrelenie, za pomoc pojedynczego fragmentu kodu, całej gamy powizanych (przecionych) funkcji nazywanych funkcjami wzorcowymi lub powizanych kas nazywanych klasami wzorcowymi.

Bardziej szczegółowo

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;

Bardziej szczegółowo

Gramatyki regularne i automaty skoczone

Gramatyki regularne i automaty skoczone Gramatyki regularne i automaty skoczone Alfabet, jzyk, gramatyka - podstawowe pojcia Co to jest gramatyka regularna, co to jest automat skoczony? Gramatyka regularna Gramatyka bezkontekstowa Translacja

Bardziej szczegółowo

Podział Internetu radiowego WIFI konfiguracja

Podział Internetu radiowego WIFI konfiguracja Podział Internetu radiowego WIFI konfiguracja TL-WR543G Wireless AP Client Router Instrukcja ta zawiera uproszczony opis podziału łcza internetowego dostarczanego poprzez sie WIFI za pomoc dwóch routerów

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Proces tworzenia programu:

Proces tworzenia programu: Temat 1 Pojcia: algorytm, program, kompilacja i wykonanie programu. Proste typy danych i deklaracja zmiennych typu prostego. Instrukcja przypisania. Operacje wejcia/wyjcia. Przykłady prostych programów

Bardziej szczegółowo

POZNA SUPERCOMPUTING AND NETWORKING. Rozszerzenia standardu MPI: MPI-2

POZNA SUPERCOMPUTING AND NETWORKING. Rozszerzenia standardu MPI: MPI-2 Rozszerzenia standardu MPI: MPI-2 literatura wykład opracowany na podstawie: W. Gropp, E. Lusk, R. Thakur, Using MPI-2, The MIT Press 1999 R. Thakur, Introduction to parallel I/O and MPI-IO, ANL 2 agenda

Bardziej szczegółowo

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną) 1 Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną) Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie współbieżne i rozproszone Programowanie współbieżne i rozproszone WYKŁAD 2 Jan Kazimirski 1 MPI 1/2 2 Dlaczego klastry komputerowe? Wzrost mocy obliczeniowej jednego jest coraz trudniejszy do uzyskania. Koszt dodatkowej mocy obliczeniowej

Bardziej szczegółowo

Wykład 4: Klasy i Metody

Wykład 4: Klasy i Metody Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to

Bardziej szczegółowo

Poprawa efektywnoci metody wstecznej propagacji bdu. Jacek Bartman

Poprawa efektywnoci metody wstecznej propagacji bdu. Jacek Bartman Poprawa efektywnoci metody wstecznej propagac bdu Algorytm wstecznej propagac bdu. Wygeneruj losowo wektory wag. 2. Podaj wybrany wzorzec na wejcie sieci. 3. Wyznacz odpowiedzi wszystkich neuronów wyjciowych

Bardziej szczegółowo

POZNA SUPERCOMPUTING AND NETWORKING CENTER. Wprowadzenie do systemu operacyjnego Linux zarzdzanie procesami

POZNA SUPERCOMPUTING AND NETWORKING CENTER. Wprowadzenie do systemu operacyjnego Linux zarzdzanie procesami Wprowadzenie do systemu operacyjnego Linux zarzdzanie procesami plan funkcje i struktura jdra funkcje systemowe, pułapki i przerwania zarzdzanie procesami: charakterystyka ogólna tworzenie, usuwanie i

Bardziej szczegółowo

Stawiajc krzyyk w odpowiedniej wartoci mona zapisa dowolnego binarnego reprezentanta liczby dziesitnej. 128 64 32 16 8 4 2 1 x x x x x

Stawiajc krzyyk w odpowiedniej wartoci mona zapisa dowolnego binarnego reprezentanta liczby dziesitnej. 128 64 32 16 8 4 2 1 x x x x x ADRESOWANIE IP, PODSIECI, MASKI ADRES IP Kady host w sieci TCP/IP jest identyfikowany przez logiczny adres IP. Unikalny adres IP jest wymagany dla kadego hosta i komponentu sieciowego, który komunikuje

Bardziej szczegółowo

oraz spełnia warunki: (*) dla wszystkich wierzchołków

oraz spełnia warunki: (*) dla wszystkich wierzchołków Temat: Problem najtaszego przepływu. Definicja problemu, przykład zastosowania. Algorytm Kleina. Algorytm Busackera Gowena. 1. Definicja problemu najtaszego przepływu Wejcie: Graf zorientowany G =

Bardziej szczegółowo

Wstęp. do języka C na procesor 8051. (kompilator RC51)

Wstęp. do języka C na procesor 8051. (kompilator RC51) Wstęp do języka C na procesor 8051 (kompilator RC51) Kompilator języka C Kompilator RC51 jest kompilatorem języka C w standardzie ANSI Ograniczeń w stosunku do ANSI jest niewiele głównie rzadkie operacje

Bardziej szczegółowo

Poniszy rysunek przedstawia obraz ukoczonej powierzchni wykorzystywanej w wiczeniu.

Poniszy rysunek przedstawia obraz ukoczonej powierzchni wykorzystywanej w wiczeniu. Ten rozdział pokae jak tworzy powierzchnie prostoliniowe i trasowane oraz dostarczy niezbdnych informacji o rónych typach powierzchni, które moemy stosowa przy tworzeniu geometrii. Rozdział pokazuje równie

Bardziej szczegółowo

Mozilla Firefox 2.0.0.2 PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox 2.0.0.2 PL. wersja 1.1

Mozilla Firefox 2.0.0.2 PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox 2.0.0.2 PL. wersja 1.1 Mozilla Firefox 2.0.0.2 PL Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox 2.0.0.2 PL wersja 1.1 Spis treci 1. INSTALACJA CERTYFIKATÓW URZDÓW POREDNICH... 3 2. INSTALACJA

Bardziej szczegółowo