Programowanie współbieżne Wykład 7. Iwona Kochaoska
|
|
- Bogusław Niewiadomski
- 6 lat temu
- Przeglądów:
Transkrypt
1 Programowanie współbieżne Wykład 7 Iwona Kochaoska
2 Poprawnośd programów współbieżnych Właściwości związane z poprawnością programu współbieżnego: Właściwośd żywotności - program współbieżny jest żywotny, jeśli zapewnia, że każde pożądane zdarzenie w koocu zajdzie. Żywotnośd w wyniku przetwarzania, po skooczonej liczbie zdarzeo, zajdzie określony (oczekiwany) warunek. Żywotnośd może byd naruszona poprzez: deadlock zagłodzenie procesu/wątku livelock
3 Deadlock - zakleszczenie deadlock - zakleszczenie, blokada wzajemna. Sytuacja, w której co najmniej dwie różne akcje czekają na siebie nawzajem, więc żadna nie może się zakooczyd
4 Deadlock - zakleszczenie Każdy z wątków: A i B potrzebuje dostępu do wszystkich 4 zasobów, aby zakooczyd swoje działanie.
5 Deadlock - zakleszczenie Prawidłowa kolejnośd alokowania zasobów
6 Livelock livelock - podobny do deadlock, przy czym stan dwóch procesów związanych z blokadą zmienia się w stosunku do drugiego procesu. Przykład z życia : dwoje ludzi spotyka się w wąskim korytarzu i każdy chce byd uprzejmy. Odsuwają się na bok w obie strony, by przepuścid drugą osobę, ale ponieważ obydwaj poruszają się w ten sam sposób, nie mogą się minąd. deadlock powoduje nieskooczone oczekiwanie, podczas gdy livelock powoduje marnowanie cykli procesora.
7 Livelock
8 Livelock
9 Zagłodzenie - starvation Zagłodzenie sytuacja, gdy procesowi nieustannie odmawia się niezbędnych zasobów. Bez tych zasobów program nigdy nie może zakooczyd swojego zadania. Występuje wtedy, gdy dwa programy posiadają zasoby, które musi ukooczyd drugi i żaden nie jest skłonny ich oddad. Występuje najczęściej na skutek: niewłaściwej pracy algorytmu szeregowania, którego zadaniem jest sprawiedliwy przydział zasobów, nadmiernego obciążenia systemu.
10 Zagłodzenie - starvation
11 Poprawnośd programów współbieżnych Właściwości związane z poprawnością programu współbieżnego: Właściwośd bezpieczeostwa - program współbieżny jest bezpieczny, jeśli nigdy nie doprowadza do niepożądanego stanu. Bezpieczeostwo w każdym stanie przetwarzania współbieżnego (niezależnie od przeplotu) spełniony będzie pewien warunek, zwany od nazwy własności warunkiem bezpieczeostwa,
12 Bezpieczeostwo Bezpieczeostwo = thread-safety Segment kodu jest thread-safe jeśli manipuluje współdzielonym stanem w taki sposób, że gwarantowane jest bezpieczne (prawidłowe) wykonanie go przez wiele wątków pracujących w tym samym czasie. Kod thread-safe musi w odpowiedni sposób chronid współdzielony między wątkami stan programu. Kod unsafe to kod, który: nieprawidłowo chroni współdzielone dane oraz zasoby (shared state) zależy od zmiennego między wywołaniami stanu (np. funkcja rand()) wywołuje kod, który jest unsafe
13 Bezpieczeostwo Sposoby osiągnięcia bezpieczeostwa wielowątkowego: Stosowanie jawnego blokowana - muteksów, do ochrony danych współdzielonych. Operacje synchronizacji mogą znacznie spowolnid działanie programu. Niezmiennośd danych (Immutability) - stan obiektu nie może byd zmieniony po jego utworzeniu. Obiekty mogą byd bezpiecznie współdzielone, jeśli wątki mogą jedynie odczytywad ich stan. Atomowośd (Atomicity) - stosowanie zmiennych i flag atomowych
14 Wyścig (race condition, hazard) Wyścig (ang. race conditions) sytuacja, w której dwa lub więcej procesów wykonuje operację na zasobach dzielonych, a ostateczny wynik tej operacji jest zależny od momentu jej realizacji Aby zapobiec warunkom wyścigu należy stworzyd mechanizm zabraniający więcej niż jednemu procesowi dostępu do zasobów dzielonych w tym samym czasie. Należy wprowadzid mechanizm wzajemnego wykluczania (mutual exclusion) W poprawnym programie nie powinno byd wyścigów!
15 Pierwszy wyścig w historii (systemów komputerowych) o tragicznych skutkach
16 Wyścig Wątek A i wątek B zwiększają wartośd licznika w tym samym czasie, jednak po zakooczeniu ich działania licznik zwiększył się o 1, nie o 2!
17 Wyścig (race condition)
18 Wyścig (race condition) Fragment kodu źródłowego: int a = 1; //instrukcja 1 a = a * 5; //instrukcja 2 int b = a 1; //instrukcja 3 Wartość zmiennej b w zależności od kolejności wykonania instrukcji Kolejność Wartość zmiennej b 1,2,3 4 1,3,2 0 każda inna nieokreślona
19 kiedy kompilator może dokonywad operacji wyłącznie na rejestrach, a kiedy musi dokonad zapisu do pamięci Wyścig (race condition) jak utrzymad spójnośd kopii danych w pamięci podręcznej z wartością w pamięci głównej czy kompilator i procesor mogą zmieniad kolejnośd wykonywanych operacji (w tym operacji zapisu i odczytu)
20 Wyścig (race condition) W obliczeniach sekwencyjnych zagadnienie synchronizacji operacji na kopiach wartości zmiennych jest problemem głównie wydajności kompilatory i procesory są zobowiązane działad tak, aby efekt działania systemu komputerowego był zgodny z za pisem w kodzie źródłowym (czyli złudzeniem istnienia tylko j ednej kopii danych) nie dotyczy to działania debugerów, które śledzą nie ostateczne efekty działania kodu, ale stan systemu po każdej linii kodu
21 Wyścig (race condition) W obliczeniach równoległych zagadnienie synchronizacji operacji na kopiach wartości zmiennych wpływa na poprawnośd programów: brak wymuszenia operacji zapisu może powodowad, że różne wątki widzą różne wartości tej samej zmiennej wspólnej rozmaite środowiska wprowadzają dodatkowe konstrukcje (memory fences, operacje flush) wymuszające zapis do pamięci niejawne wymuszenie zapisu jest także związane z szeregiem operacji synchronizacji
22 Literatura sc.pdf
Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1
Przetwarzanie wielowątkowe przetwarzanie współbieżne Krzysztof Banaś Obliczenia równoległe 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np. komputery macierzowe)
Procesy i wątki. Krzysztof Banaś Obliczenia równoległe 1
Procesy i wątki Krzysztof Banaś Obliczenia równoległe 1 Procesy i wątki Proces: ciąg rozkazów (wątek główny) i ewentualnie inne wątki stos (wątku głównego) przestrzeń adresowa dodatkowe elementy tworzące
Przeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne
Synchronizacja procesów Przeplot Przeplot wątków współbieżnych Cel i metody synchronizacji procesów Problem sekcji krytycznej Semafory Blokady 3.1 3.3 Wątki współbieżne Cel i metody synchronizacji procesów
Programowanie współbieżne Wykład 9 Synchronizacja dostępu do współdzielonych zasobów. Iwona Kochańska
Programowanie współbieżne Wykład 9 Synchronizacja dostępu do współdzielonych zasobów Iwona Kochańska Sekcja krytyczna Instrukcje wykonywane na zmiennych współdzielonych tworzą sekcję krytyczną. Instrukcje
Programowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów. Iwona Kochańska
Programowanie współbieżne Wykład 10 Synchronizacja dostępu do współdzielonych zasobów Iwona Kochańska Mechanizm synchronizacji wątków/procesów Wykorzystanie semaforów zapobiega niedozwolonemu wykonaniu
procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych
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
Program jest więc strukturą statyczną zapisaną na jakimś nośniku. Natomiast proces jest wykonującym się programem.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności 1.1 Motywacja Przewiduje się że w dalszej perspektywie głównym motorem wzrostu mocy przetwarzania komputerów
Programowanie współbieżne Wykład 6. Iwona Kochaoska
Programowanie współbieżne Wykład 6 Iwona Kochaoska Przekazywanie parametrów Do funkcji obsługi wątku można przekazad dowolną liczbę parametrów Przekazywanie parametrów Jest to przekazywanie parametrów
Programowanie współbieżne i równoległe. dr inż. Marcin Wilczewski 2013
Programowanie współbieżne i równoległe dr inż. Marcin Wilczewski 2013 1 Tematyka wykładu Wprowadzenie. Podstawowe pojęcia Wątki i procesy. Metody i modele synchronizacji Klasyczne problemy współbieżne
Wprowadzenie do programowania współbieżnego
Wprowadzenie do programowania współbieżnego Marcin Engel Instytut Informatyki Uniwersytet Warszawski Zamiast wstępu... Zamiast wstępu... Możliwość wykonywania wielu akcji jednocześnie może ułatwić tworzenie
Przygotowanie kilku wersji kodu zgodnie z wymogami wersji zadania,
Przetwarzanie równoległe PROJEKT OMP i CUDA Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego przy użyciu komputera równoległego z procesorem wielordzeniowym z pamięcią
1 Podstawowe definicje i pojęcia współbieżności
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności 1.1 Dlaczego zajmujemy się współbieżnością? W ciągu ostatnich 30 lat wzrost mocy przetwarzania osiągano
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
Programowanie równoległe i rozproszone. W1. Wielowątkowość. Krzysztof Banaś Programowanie równoległe i rozproszone 1
Programowanie równoległe i rozproszone W1. Wielowątkowość Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np.
Wykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 4 Synchronizacja procesów (i wątków) cześć I Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Potrzeba synchronizacji Procesy wykonują się współbieżnie. Jeżeli w 100% są
ξ II.UWr Wprowadzenie do STM
ξ KS @.UWr Wprowadzenie do STM Marek Materzok ZOSA 2007 ξ KS @.UWr Wprowadzenie Były sobie komputery. Wykonywały programy instrukcja po instrukcji i wszyscy byli szczęśliwi... ξ KS @.UWr Wprowadzenie Były
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Programowanie współbieżne i równoległe
Programowanie współbieżne i równoległe dr inż. Marcin Wilczewski 2016/2017 1 Cel wykładu Przedstawienie zagadnień projektowania oraz programowania rozwiązań współbieżnych i równoległych Tematyka wykładu
Programowanie współbieżne Wykład 5. Rafał Skinderowicz
Programowanie współbieżne Wykład 5 Rafał Skinderowicz Monitory motywacje Mechanizmy synchronizacji takie jak blokady (zamki) semafory pozwalają efektywnie rozwiązywać dostępu do współdzielonych zasobów,
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
Języki i Techniki Programowania II. Wykład 7. Współbieżność 1
Języki i Techniki Programowania II Wykład 7 Współbieżność 1 Programy, Procesy, Wątki Program to zestaw instrukcji do wykonania, dane do przetworzenia, mechanizmy sterujące (stos) Proces w komputerze to
Programowanie komputerów
Programowanie komputerów Wykład 7: Programowanie wielowątkowe w Javie dr inż. Walery Susłow Współbieżność Programy współbieżne (concurrent software) aplikacje potrafiące wykonywać kilka operacji w tym
Równoległość i współbieżność
Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna
Równoległość i współbieżność
Równoległość i współbieżność Wykonanie sekwencyjne. Poszczególne akcje procesu są wykonywane jedna po drugiej. Dokładniej: kolejna akcja rozpoczyna się po całkowitym zakończeniu poprzedniej. Praca współbieżna
Bazy danych w sterowaniu
Bazy danych w sterowaniu systemy transakcyjne sterowanie dostępem współbieżnym Stan spójny bazy danych zgodność z możliwym stanem reprezentowanego fragmentu świata rzeczywistego; spełnione są wszystkie
Programowanie wielowątkowe. Tomasz Borzyszkowski
Programowanie wielowątkowe Tomasz Borzyszkowski Wątki a procesy Jako jeden z niewielu języków programowania Java udostępnia użytkownikowi mechanizmy wspierające programowanie wielowątkowe. Program wielowątkowy
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
Mogą pracować w środowisku: Scentralizowanym -mikrokontroler Rozproszonym sieć sterująca, systemy hierarchiczne. Komunikacja z syst.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności Współczesne aplikacje sterowania i akwizycji danych są zbiorem komunikujących się wątków lub procesów
Współczesne aplikacje sterowania i akwizycji danych są zbiorem komunikujących się wątków lub procesów współbieżnych.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności Współczesne aplikacje sterowania i akwizycji danych są zbiorem komunikujących się wątków lub procesów
Przykładem jest komputer z procesorem 4 rdzeniowym dostępny w laboratorium W skład projektu wchodzi:
Przetwarzanie równoległe PROJEKT OMP Temat projektu dotyczy analizy efektywności przetwarzania równoległego realizowanego w komputerze równoległym z procesorem wielordzeniowym z pamięcią współdzieloną.
Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.
Kod szkolenia: Tytuł szkolenia: PS/LINUX Programowanie systemowe w Linux Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemie Linux, którzy chcą poznać
Podstawy współbieżności
Podstawy współbieżności Algorytmy i struktury danych. Wykład 6. Rok akademicki: 2010/2011 Od koncepcji współbieżności do systemów rozproszonych Współbieżnośd rozważany na poziomie koncepcyjnym sposób realizacji
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
Modelowanie procesów współbieżnych
Modelowanie procesów współbieżnych dr inż. Maciej Piotrowicz Katedra Mikroelektroniki i Technik Informatycznych PŁ piotrowi@dmcs.p.lodz.pl http://fiona.dmcs.pl/~piotrowi -> Modelowanie... Literatura M.
Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1
Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie
SYSTEMY OPERACYJNE WYKLAD 6 - procesy
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - procesy Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 Zasoby: PROCES wykonujący się program ; instancja programu
Model pamięci. Rafał Skinderowicz
Model pamięci Rafał Skinderowicz Czym jest model pamięci Model pamięci dotyczy programów współbieżnych W programie współbieżnym może się zdarzyć, że dany wątek nie będzie widział od razu wartości zmiennej
Program współbieżny jest zbiorem sekwencyjnych PROGRAMOWANIE C++
PROGRAMOWANIE C++ Współdzielenie obiektów w aplikacjach współbieżnych Używanie tych samych obiektów przez różne wątki może prowadzić do niezdefiniowanego zachowania się aplikacji. Obiekty synchronizacyjne
Programowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 1 dr inż. Literatura ogólna Ben-Ari, M.: Podstawy programowania współbieżnego i rozproszonego. Wydawnictwa Naukowo-Techniczne, Warszawa, 2009. Czech, Z.J:
Ograniczenia efektywności systemu pamięci
Ograniczenia efektywności systemu pamięci Parametry pamięci : opóźnienie (ang. latency) - czas odpowiedzi pamięci na żądanie danych przez procesor przepustowość systemu pamięci (ang. bandwidth) - ilość
Programowanie Rozproszone i Równoległe
Programowanie Rozproszone i Równoległe OpenMP (www.openmp.org) API do pisania wielowątkowych aplikacji Zestaw dyrektyw kompilatora oraz procedur bibliotecznych dla programistów Ułatwia pisanie programów
Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego
Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować
Współbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy
ZAKLESZCZENIA w SO brak środków zapobiegania zakleszczeniom Zamówienia na zasoby => przydział dowolnego egzemplarza danego typu Zasoby w systemie typy; identyczne egzemplarze procesory obszary pamięci
Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 3 Procesy i wątki Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Pojęcie procesu Program = plik wykonywalny na dysku Proces = uruchomiony i wykonywany program w pamięci
Współbieżność i synchronizacja procesów
Celem wykładu jest przedstawienie zagadnień współbieżnego wykonywania wątków lub procesów, zwłaszcza w przypadku, gdy wchodzą one we wzajemne interakcje. Omówiony zostanie też jeden z podstawowych problemów
Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia
Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia Wydział Matematyki i Informatyki Instytut Informatyki i
Analiza efektywności przetwarzania współbieżnego
Analiza efektywności przetwarzania współbieżnego Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak 1/4/2013 Analiza efektywności 1 Źródła kosztów przetwarzania współbieżnego interakcje
Język Java wątki (streszczenie)
Programowanie współbieżna Język Java wątki (streszczenie) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Języka Java wątki Autor:
Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku.
Laboratorium 7 Wstęp Jednym z podstawowych własności Javy jest wielowątkowość. Wiąże się to z możliwością współbieżnego wykonywania różnych operacji w ramach pojedynczej wirtualnej maszyny Javy (JVM).
Programowanie współbieżne i równoległe
Programowanie współbieżne i równoległe dr inż. Marcin Wilczewski 2018/2019 1 Cel wykładu Przedstawienie zagadnień projektowania oraz programowania rozwiązań współbieżnych i równoległych Tematyka wykładu
Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.
Procesory wielordzeniowe (multiprocessor on a chip) 1 Procesory wielordzeniowe 2 Procesory wielordzeniowe 3 Konsekwencje prawa Moore'a 4 Procesory wielordzeniowe 5 Intel Nehalem 6 Architektura Intel Nehalem
Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej
ransakcje Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy izolacji transakcji, blokady, zakleszczenie Definicja
Literatura. 3/26/2018 Przetwarzanie równoległe - wstęp 1
Literatura 1. Wprowadzenie do obliczeń równoległych, Zbigniew Czech, Wydawnictwo Naukowe PWN, 2010, 2013 2. Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; Addison Wesley 2003 3. Designing
Programowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1
Programowanie równoległe i rozproszone Monitory i zmienne warunku Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności Problem producentów i konsumentów: jedna grupa procesów
SYSTEMY OPERACYJNE WYKLAD 6 - wątki
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - wątki Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 1. Wątki 2. Planowanie przydziału procesora (szeregowanie
Systemy Operacyjne synchronizacja i komunikacja procesów
Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 1 grudnia 2006 1 1 Sytuacje hazardowe 2 Problem sekcji krytycznej 3 Warunki poprawności rozwiązania 4 Rozwiązanie programowe dla dwóch
Wykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB
Wykład 4 Synchronizacja procesów (i wątków) cześć I Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Procesy wykonują się współbieżnie Potrzeba synchronizacji Jeżeli w 100% są
Plan wykładu. Przykład. Wprowadzenie BAZY DANYCH. Transakcje Hurtownie danych
Plan wykładu 2 BAZY DANYCH Wykład 5: Transakcje. Hurtownie danych. Transakcje Hurtownie danych Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Wprowadzenie Przykład Zmiany zachodzące
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
Java. Programowanie Obiektowe Mateusz Cicheński
Java Programowanie Obiektowe Mateusz Cicheński Wielowątkowość Proces a wątek? Thread vs Runnable sleep(), interrupt(), join() Problemy wielowątkowości Obiekty niemodyfikowalne (immutable) Serializacja
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
Programowanie współbieżne Wykład 2. Rafał Skinderowicz
Programowanie współbieżne Wykład 2 Rafał Skinderowicz Program współbieżny a sekwencyjny Program zapis algorytmu, ciąg instrukcji do wykonania przez procesor: statyczny sekwencja instrukcji przekształcających
Wstęp do programowania 2
Wstęp do programowania 2 wykład 10 Zadania Agata Półrola Wydział Matematyki UŁ 2005/2006 http://www.math.uni.lodz.pl/~polrola Współbieżność dotychczasowe programy wykonywały akcje sekwencyjnie Ada umożliwia
Przetwarzanie Równoległe i Rozproszone
POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI I TECHNOLOGII INFORMACYJNYCH Przetwarzanie Równoległe i Rozproszone www.pk.edu.pl/~zk/prir_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl
Klasyczne problemy współbieżności. Problem producenta i konsumenta Problem czytelników i pisarzy Problem pięciu filozofów
Klasyczne problemy współbieżności Problem producenta i konsumenta Problem czytelników i pisarzy Problem pięciu filozofów Wzajemne wykluczanie Zsynchronizować N procesów, z których każdy w nieskończonej
Multiprocessor Shared-Memory Information Exchange. Damian Klata, Adam Bułak
Multiprocessor Shared-Memory Information Exchange Damian Klata, Adam Bułak Wstęp Zajmiemy się analizą protokołu opartego na komunikacji przez pamięć dzieloną opracowany przez firmę Westinghouse. Protokół
Analiza efektywności przetwarzania współbieżnego. Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015
Analiza efektywności przetwarzania współbieżnego Wykład: Przetwarzanie Równoległe Politechnika Poznańska Rafał Walkowiak Grudzień 2015 Źródła kosztów przetwarzania współbieżnego interakcje między procesami
4. Procesy pojęcia podstawowe
4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa
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ę
STRATEGIE NISKOPOZIOMOWEGO PROGRAMOWANIA WSPÓŁBIEŻNEGO PLATFORMY.NET
ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2017 Seria: ORGANIZACJA I ZARZĄDZANIE z. 113 Nr kol. 1992 Paweł WICHARY, Ireneusz J. JÓŹWIAK, Michał SZCZEPANIK Politechnika Wrocławska Wydział Informatyki i Zarządzania
Kurs rozszerzony języka Python
Wykład 6. 10 listopada 2017 Plan wykładu 1 2 3 Plan wykładu 1 2 3 Wszystko jest obiektem. Wszystko jest obiektem. A funkcje? Przykład def foo(x): return 2*x dir(foo) Przykład def foo(x): return 2*x dir(foo)
Spis treści. Księgarnia PWN: Maurice Herlihy, Nir Shavit - Sztuka programowania wieloprocesorowego. Podziękowania Przedmowa...
Księgarnia PWN: Maurice Herlihy, Nir Shavit - Sztuka programowania wieloprocesorowego Spis treści Podziękowania... 12 Przedmowa... 13 1. Wprowadzenie...15 1.1. Obiekty współdzielone i synchronizacja...
Procesory wielordzeniowe (multiprocessor on a chip) Krzysztof Banaś, Obliczenia wysokiej wydajności.
Procesory wielordzeniowe (multiprocessor on a chip) 1 Procesory wielordzeniowe 2 Procesory wielordzeniowe 3 Intel Nehalem 4 5 NVIDIA Tesla 6 ATI FireStream 7 NVIDIA Fermi 8 Sprzętowa wielowątkowość 9 Architektury
1 Przetwarzanie transakcyjne Cechy transakcji Rozpoczęcie i zakończenie Punkty bezpieczeństwa... 3
Plan wykładu Spis treści 1 Przetwarzanie transakcyjne 1 1.1 Cechy transakcji................................. 2 1.2 Rozpoczęcie i zakończenie........................... 3 1.3 Punkty bezpieczeństwa.............................
Ograniczenia efektywności systemu pamięci
Ograniczenia efektywności systemu pamięci Parametry pamięci : opóźnienie (ang. latency) - czas odpowiedzi pamięci na żądanie danych przez procesor przepustowość systemu pamięci (ang. bandwidth) - ilość
Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz
Podstawy informatyki System operacyjny dr inż. Adam Klimowicz System operacyjny OS (ang. Operating System) Program komputerowy bądź zbiór programów, który zarządza udostępnianiem zasobów komputera aplikacjom.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 1.1 Prosty przykład zakleszczenia (ang. Mexican standoff) W systemach w których wykonywane jest wiele współbieżnych procesów które operują na wspólnych
Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska
Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,
Proces z sekcją krytyczną. Synchronizacja procesów. Synchronizacja procesów, cd. Synchronizacja procesów, cd. Synchronizacja procesów, cd
Synchronizacja procesów Proces producenta - zmodyfikowany (licznik) produkuj jednostka w nast_p while licznik =n do nic_nie_rob; bufor [we] := nast_p; we=we+1 mod n; licznik:=licznik+1; Zmodyfikowany proces
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
Projektowanie oprogramowania systemów WĄTKI I SYNCHRONIZACJA
Projektowanie oprogramowania systemów WĄTKI I SYNCHRONIZACJA plan Wątki Właściwości Tworzenie i łączenie Wzorce zastosowań biblioteka OpenMP Synchronizacja Obiekty synchronizacji Wzorzec Monitor Właściwości
Nowoczesne technologie przetwarzania informacji
Projekt Nowe metody nauczania w matematyce Nr POKL.09.04.00-14-133/11 Nowoczesne technologie przetwarzania informacji Mgr Maciej Cytowski (ICM UW) Lekcja 2: Podstawowe mechanizmy programowania równoległego
Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system.
Wstęp Zapoznanie z technikami i narzędziami programistycznymi służącymi do tworzenia programów współbieżnych i obsługi współbieżności przez system. Przedstawienie architektur sprzętu wykorzystywanych do
Zaawansowany kurs języka Python
Wykład 6. 6 listopada 2015 Plan wykładu Callable objects 1 Callable objects 2 3 Plan wykładu Callable objects 1 Callable objects 2 3 Callable objects Wszystko jest obiektem. Callable objects Wszystko jest
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ęć
Kurs programowania. Wykład 8. Wojciech Macyna
Wykład 8 Program bez watków, jeden procesor, trzy zadania Program z watkami, jeden procesor, trzy zadania Procesory wielordzeniowe, każde zadanie na osobnym procesorze Trzy zadania uruchomione w watkach
Bazy danych. Andrzej Łachwa, UJ, /15
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 12/15 WSPÓŁBIEŻNOŚĆ Serwer bazodanowy nie może obsługiwać klientów sekwencyjnie: wszyscy musieli by czekać
Współbieżność i synchronizacja. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak
Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Celem wykładu jest przedstawienie zagadnień współbieżnego wykonywania wątków lub procesów, zwłaszcza w przypadku,
Aplikacje w Javie- wykład 11 Wątki-podstawy
1 Aplikacje w Javie- wykład 11 Wątki-podstawy Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 http://docs.oracle.com/javase/8/docs/ http://docs.oracle.com/javase/9/docs/
Literatura. 11/16/2016 Przetwarzanie równoległe - wstęp 1
Literatura 1. Wprowadzenie do obliczeń równoległych, Zbigniew Czech, Wydawnictwo Naukowe PWN, 2010, 2013 2. Introduction to Parallel Computing; Grama, Gupta, Karypis, Kumar; Addison Wesley 2003 3. Designing
Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.
Wielowątkowość Programowanie w środowisku rozproszonym. Wykład 1. Informacje organizacyjne Wymiar godzin: W-30, LAB-15 Zaliczenie wykonanie kilku programów i ich zaliczenie (w trakcie zajęć laboratoryjnych)
Systemy operacyjne III
Systemy operacyjne III WYKŁAD 3 Jan Kazimirski 1 Współbieżność 2 Współbieżność Wielozadaniowość - zarządzanie wieloma procesami w ramach jednego CPU Wieloprocesorowość - zarządzanie wieloma zadaniami w
koniec punkt zatrzymania przepływów sterowania na diagramie czynności
Diagramy czynności opisują dynamikę systemu, graficzne przedstawienie uszeregowania działań obrazuje strumień wykonywanych czynności z ich pomocą modeluje się: - scenariusze przypadków użycia, - procesy
Programowanie współbieżne Laboratorium nr 12
Programowanie współbieżne Laboratorium nr 12 Uwaga!!! Wyniki uruchomionych programów mogą zależeć od sprzętu (ilość procesorów, rdzeni itp.), systemu operacyjnego, obciążenia systemu operacyjnego, ilości
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
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
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
Problemy współbieżności
Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np. komputery macierzowe) realizowana programowo (bariera, sekcja krytyczna, operacje atomowe) wzajemne wykluczanie