Algorytm Lamporta. Czy można to ulepszyć?
|
|
- Mateusz Rutkowski
- 5 lat temu
- Przeglądów:
Transkrypt
1 Algorytm Maekawa
2 Plan Przypomnienie - algorytm Lamporta Idea algorytmu Generowanie zbiorów arbitrażu Zakleszczenia Przykład Analiza założeń Przypadki pesymistyczne Podsumowanie
3 Algorytm Lamporta Rozwiązuje problem rozproszonego wykluczenia, Wolny od zakleszczeń, Wymaga wielu broadcastów, Niepraktycznie duża złożoność komunikacyjna (3n-3). Czy można to ulepszyć?
4 Algorytm Maekawa Nie musimy prosić o zgodę wszystkich węzłów. Wystarczy że poprosimy te, które odmówiłyby wszystkim innym.
5 Algorytm Maekawa Pogrupujmy węzły w zbiory w taki sposób, aby dowolne dwa zbiory miały niezerową część wspólną. Przykład w szachach - obszar bicia dowolnych dwóch wież ma część wspólną (co najmniej dwa pola).
6 Algorytm Maekawa a) Przecięcia zbiorów są niepuste (wymagane dla zapewnienia wzajemnego wykluczania). b) Każdy węzeł należy do własnego zbioru (w celu zmniejszenia liczby wiadomości). c) Zbiory mają taki sam rozmiar* (każdy węzeł wykonuje równą ilość pracy). d) Dowolny węzeł należy do takiej samej liczby różnych zbiorów arbitrażu* (równa odpowiedzialność w udzielaniu zgody - każdy potrzebuje zgody od takiej samej liczby węzłów).
7 Algorytm Maekawa Przykład: Przecięcia zbiorów są niepuste, Każdy węzeł występuje 3 razy. Dla wartości takich że, powyższe warunki będą w niewielkim stopniu odchylone.
8 Algorytm Maekawa N - ilość węzłów w sieci K - ilość węzłów w zbiorze arbitrażu
9 Algorytm Maekawa Założenia: kanały FIFO, znana ilość węzłów, bezawaryjność węzłów, bezawaryjność łączy.
10 Rodzaje zapytań REQUEST LOCKED RELEASE FAILED INQUIRE RELINQUISH - proszę o zgodę na CS - zgoda na CS - wyszedłem z CS - poczekaj, jest ktoś ważniejszy - zgłosił się do mnie ktoś ważniejszy - zrzekam się twojej zgody na CS
11 Algorytm Maekawa Węzeł chcący wejść do sekcji krytycznej wysyła wiadomość REQUEST do każdego węzła w swojej grupie arbitrażu. Dostęp do CS jest możliwy po otrzymaniu kompletu odpowiedzi LOCKED. Węzeł otrzymujący REQUEST odpowiada LOCKED jeśli nie jest zablokowany. Odpowiadając, zmienia swój stan na zablokowany.
12 Algorytm Maekawa Jeśli zablokowany węzeł otrzyma REQUEST, umieszcza go w swojej kolejce priorytetowej. Następnie: Jeśli REQUEST ma wyższy priorytet od blokującej wiadomości oraz od wszystkich w kolejce, wysyła INQUIRE do blokującego procesu. W przeciwnym wypadku wysyła FAILED do procesu który nadał REQUEST.
13 Algorytm Maekawa Otrzymuję REQUEST. Czy jestem zablokowany? nie Blokuję się z tym REQUESTem. Odpowiadam: LOCKED. tak nie REQUEST wpada do kolejki. Odpowiadam: FAILED. Czy ten REQUEST jest ważniejszy od wszystkich które obsługuję*? tak REQUEST wpada do kolejki. Wysyłam do blokującego: INQUIRE. * obsługuję : obługiwany REQUEST to ten blokujący oraz każdy znajdujący się w kolejce.
14 Algorytm Maekawa Aby wejść do CS, węzeł czeka na komplet LOCKED. Po wyjściu z CS, wysyła RELEASE. Węzeł otrzymujący RELEASE wysyła LOCKED do węzła którego REQUEST ma najwyższy priorytet według jego kolejki. Jeśli kolejka jest pusta, węzeł staje się niezablokowany.
15 Algorytm Maekawa Co z taką sytuacją? REQ REQ LOCK LOCK REQ REQ
16 Algorytm Maekawa Co z taką sytuacją? REQ REQ REQ LOCK FAIL FAIL LOCK REQ
17 Algorytm Maekawa Rozwiązywanie zakleszczeń - mechanizm INQUIRE Jeśli widzę że wydałem blokadę (wysłałem LOCKED) węzłowi o niższym priorytecie, pytam go czy jest pewien że nie ma zakleszczenia.
18 Algorytm Maekawa Węzeł otrzymujący INQUIRE odpowiada RELINQUISH (zrzeka się przyznanego mu LOCKED) jeśli otrzymał już chociaż jeden komunikat FAILED. Jeśli nie, węzeł zapamiętuje INQUIRE na wypadek gdyby FAILED przybył póżniej.
19 Algorytm Maekawa To tyle! Spójrzmy na pseudokod.
20 Algorytm Maekawa
21 Algorytm Maekawa
22 Algorytm Maekawa
23 Algorytm Maekawa
24 Algorytm Maekawa
25 Algorytm Maekawa
26 Algorytm Maekawa
27 Algorytm Maekawa
28 Algorytm Maekawa
29 Algorytm Maekawa
30 Przykład Spójrzmy na przykład dla 7 węzłów.
31 R,L R R L
32 R,L R 1 R,L 7 2 R R L R L
33 R,L R,L R 1 R,L 7 2 R R R L L R 6 3 F queue = [7] R L 5 4
34 R,L R,L R 1 I 7 R,L 2 R queue = [1] R L L R R 6 3 F queue = [7] R I L 5 4
35 R,L R,L R 1 I 7 R,L 2 R queue = [1] R L L R R 6 3 F R I queue = [7] L L 5 4 Q...więcej strzałek? queue = [7]
36 1 REL 7 2 queue = [1] REL 6 REL 3 queue = [7] 5 4 queue = [7]
37 1 L REL 7 2 queue = [ ] REL 6 L REL 3 queue = [7] 5 4 queue = [ ]
38 REL 1 L 7 REL REL 6 L REL 2 REL REL 3 queue = [7] 5 4
39 REL 1 L 7 REL REL REL 2 REL L 6 L REL 3 queue = [ ] 5 4
40 Co jeśli nie ma FIFO 1 R R 2 L I 3
41 Co jeśli nie ma FIFO 1 R REL 2 F L 3
42 Modyfikacje dla non-fifo zapamiętuj znaczniki czasowe otrzymanych wiadomości FAILED, INQUIRE, LOCKED per osoba wykrywaj sytuacje (wykorzystując znaczniki czasowe) LOCKED po INQUIRE FAILED po LOCKED
43 Modyfikacje dla non-fifo przy otrzymaniu LOCKED po INQUIRE: jeśli wysłano już RELINQUISH: ignoruj jeśli nie wysłano RELINQUISH: ignoruj ale dodatkowo zachowaj się jakby otrzymano FAILED (wyślij RELINQUISH do wszystkich od których otrzymano INQUIRE)* przy otrzymaniu FAILED po LOCKED: ignoruj
44 Złożoność komunikacyjna Przy małym obciążeniu: K - 1 wiadomości REQUEST K - 1 wiadomości LOCKED K - 1 wiadomości RELEASE = 3 (K - 1)
45 Złożoność komunikacyjna Przy dużym obciążeniu: Nowe żądanie będzie miało niski priorytet i dostanie same FAILED. K - 1 wiadomości REQUEST K - 1 wiadomości FAILED K - 1 wiadomości LOCKED K - 1 wiadomości RELEASE = 4 (K - 1)
46 Złożoność komunikacyjna Najgorszy przypadek: Węzeł wysyłający REQUEST nie uczestniczył w algorytmie przez pewien czas, przez co jego żądanie ma wyższy priorytet od innych. K - 1 wiadomości REQUEST K - 1 wiadomości INQUIRE* K - 1 wiadomości RELINQUISH K - 1 wiadomości LOCKED K - 1 wiadomości RELEASE = 5 (K - 1)
47 Brak zakleszczeń (1) Dowód nie wprost: Załóżmy, że istnieje zakleszczenie. Jeśli tak jest, musi istnieć cykl węzłów oczekujących na siebie. Jednak nie jest to możliwe, gdyż: 1. Priorytety są unikatowe (znacznik czasowy unikalny dla węzła, id węzła też unikalny). 2. Musi istnieć węzeł o niższym priorytecie* w stosunku do sąsiadów w cyklu.
48 Brak zakleszczeń (2) 3. 2 sąsiednie węzły w cyklu mają co najmniej 1 wspólny węzeł w zbiorach arbitrażu (o który będą się ubiegały). 4. Jeśli węzeł o wyższym priorytecie nie uzyska LOCKED to wysyła INQIURE. 5. Węzeł o niższym priorytecie wyśle RELINQUISH jeśli wie, że nie uda mu się zablokować wszystkich węzłów z jego zbioru arbitrażu.
49 Brak zakleszczeń (3) 6. Węzeł wspomniany w 2. na pewno dostanie jakąś wiadomość FAILED (przegra z którymś z sąsiadów) a po otrzymaniu INQUIRE wyśle RELINQUISH i jeden z węzłów otrzyma LOCKED na który czekał. Dochodzimy do sprzeczności, tak więc twierdzenie jakoby zakleszczenie możliwe było ku sprzeczności wiedzie nas, tak więc twierdzenie zajść musi, albowiem jego niezajście sprzeczności rodzi. :D
50 Dowód poprawności 1. Każdy proces może udzielić jednocześnie wyłącznie jednej zgody (LOCKED). 2. Dowolne dwa procesy chcące uzyskać dostęp do CS będą musiały poprosić o zgodę wspólny węzeł (z konstrukcji zbiorów arbitrażu). Z punktu 1 i 2 mamy że dwa procesy nie mogą jednocześnie być w sekcji krytycznej.
51 Dowód postępu (1) 1. Wiadomość REQUEST nie opuści kolejki procesu dopóki nadawca nie otrzyma odpowiedzi LOCKED. 2. Jeśli proces posiadający LOCKED wyśle RELINQUISH, jego REQUEST wróci do kolejki. Wniosek A: z 1 i 2 mamy że dopóki proces nie wejdzie do CS, jego wiadomości REQUEST będą w kolejkach lub będą blokowały węzły. (REQUESTy nie będą zapomniane ).
52 Dowód postępu (2) 1. Dla dowolnej wiadomości REQUEST istnieje skończona ilość innych wiadomości REQUEST o wyższym priorytecie (z zegarów Lamporta). 2. Mechanizm INQUIRE wyklucza istnienie zakleszczeń. Wniosek B: Każdy REQUEST zostanie obsłużony w skończonym czasie.
53 Dowód postępu (3) A. Dopóki proces nie wejdzie do CS, jego wiadomości REQUEST będą w kolejkach lub będą blokowały węzły. B. Każdy REQUEST zostanie obsłużony w skończonym czasie. Wniosek: każdy węzeł otrzyma dostęp do CS w skończonym czasie.
54 Generowanie zbiorów arbitrażu Warunki dla zbiorów arbitrażu: każdy węzeł znajduje się w K zbiorach, zbiory arbitrażu mają moc K. Problem generowania zbiorów jest tożsamy z problemem istnienia skończonych przestrzeni projekcyjnych.
55 Generowanie zbiorów arbitrażu Przestrzeń projekcyjna: dowolne dwa punkty leżą na dokładnie jednej wspólnej prostej, dowolne dwie proste przecinają się w dokładnie jednym punkcie.
56 Generowanie zbiorów arbitrażu Skończona przestrzeń projekcyjna: Problem: czy istnieje przestrzeń projekcyjna dla danego N?
57 Generowanie zbiorów arbitrażu Euler (1782): (pomylił się)
58 Generowanie zbiorów arbitrażu Bruck, Ryser (1949): Gdyby istniała FPP(6), to 6 dałoby się zapisać jako sumę kwadratów, a tak nie jest.
59 Generowanie zbiorów arbitrażu FPP(10)? 10 = Niestety, nie. C.W.H. Lam, L.Thiel, S.Swiercz (1989) - Dowód poprzez przeszukanie wyczerpujące, CRAY-1A
60 Generowanie zbiorów arbitrażu Jeśli N jest potęgą liczby pierwszej, to istnieje FPP(N). Nie jest znana żadna FPP której rząd nie jest potęgą liczby pierwszej. Kwestia istnienia takiej FPP pozostaje otwarta.
61 Generowanie zbiorów arbitrażu Istnieje metoda generowania FPP dla N będących potęgą liczby pierwszej. Jej studium pozostawiamy wnikliwości słuchaczy :) Aby stworzyć zbiory arbitrażu, konstruujemy FPP dla najbliższej wartości N nie mniejszej od ilości węzłów.
62 Generowanie zbiorów arbitrażu Dysponując FPP(N), gdzie N > P, degenerujemy zbiory według następującej reguły: Usuwamy zbiory Każdą wartość większą od zamieniamy na
63 Generowanie zbiorów arbitrażu
64 Zalety algorytmu Maekawa Algorytm szybszy od Lamporta Nie są wykorzystywane broadcasty
65 Wady algorytmu Maekawa Trudno uzyskać dynamiczne dołączanie / odłączanie węzłów* Względna złożoność implementacyjna * Maekawa się z nami tutaj nie zgadza
Koordynacja procesów w środowisku rozproszonym
Systemy rozproszone Koordynacja procesów w środowisku rozproszonym System rozproszony jest zbiorem luźno powiązanych ze sobą komputerów połączonych siecią komunikacyjną (Silberschatz). Zasoby zdalne -
Bardziej szczegółowoPorzą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
Bardziej szczegółowoStan 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ółowoWzajemne wykluczanie i zakleszczenie
Wzajemne wykluczanie i zakleszczenie Wzajemne wykluczanie Wzajemne wykluczenie zapewnia procesom ochronę przy dostępie do zasobów, daje im np. gwarancję, że jako jedyne będą mogły z nich korzystać Typy
Bardziej szczegółowoSYSTEMY CZASU RZECZYWISTEGO - VxWorks
WZAJEMNE WYKLUCZANIE Wiele metod. Np. wyłączanie przerwań: funkcja() //... Int blokada = intlock(); // Obszar krytyczny, któremu nie możemy przerwać intunlock(blokada); wyłączanie wywłaszczania: funkcja()
Bardziej szczegółowoElekcja, wzajemne wykluczanie i zakleszczenie
Elekcja, wzajemne wykluczanie i zakleszczenie Bartosz Grabiec Jerzy Brzeziński Cezary Sobaniec Wykład obejmuje wybrane zagadnienia z synchronizacji i jest kontynuacją poprzedniego wykładu, głównie zagadnień
Bardziej szczegółowoAlgorytmy zarządzania współbieżnym wykonywaniem transakcji część I
Algorytmy zarządzania współbieżnym wykonywaniem transakcji część I Wykład przygotował: Tadeusz Morzy BD wykład 9 Celem wykładu jest przedstawienie i omówienie podstawowych algorytmów zarządzania współbieżnym
Bardziej szczegółowo5. Model komunikujących się procesów, komunikaty
Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć
Bardziej szczegółowoDetekcja zakleszczenia (1)
Detekcja zakleszczenia (1) Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński Plan wykładu Procesy aktywne i pasywne Definicja zakleszczenia Problem detekcji wystąpienia zakleszczenia Detekcja zakleszczenia
Bardziej szczegółowoMechanizmy 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ółowoBazy 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ć
Bardziej szczegółowoStronicowanie w systemie pamięci wirtualnej
Pamięć wirtualna Stronicowanie w systemie pamięci wirtualnej Stronicowanie z wymianą stron pomiędzy pamięcią pierwszego i drugiego rzędu. Zalety w porównaniu z prostym stronicowaniem: rozszerzenie przestrzeni
Bardziej szczegółowoKolejki FIFO (łącza nazwane)
Kolejki FIFO (łącza nazwane) Systemy Operacyjne 2 laboratorium Mateusz Hołenko 6 listopada 2011 Plan zajęć 1 Łącza w systemie Linux kolejki FIFO vs. potoki specyfika łączy nazwanych schemat komunikacji
Bardziej szczegółowoWykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych
Arytmetyka liczb całkowitych Wykład 1 Na początku zajmować się będziemy zbiorem liczb całkowitych Z = {0, ±1, ±2,...}. Zakładamy, że czytelnik zna relację
Bardziej szczegółowoMetody Optymalizacji: Przeszukiwanie z listą tabu
Metody Optymalizacji: Przeszukiwanie z listą tabu Wojciech Kotłowski Instytut Informatyki Politechniki Poznańskiej email: imię.nazwisko@cs.put.poznan.pl pok. 2 (CW) tel. (61)665-2936 konsultacje: wtorek
Bardziej szczegółowoJak przekształcić zamówienie zakupu w fakturę. Copyright Tungsten Corporation plc 2018
Jak przekształcić zamówienie zakupu w fakturę W tym filmie przedstawimy, jak w prosty sposób utworzyć faktury i noty kredytowe za pomocą konwersji zamówienia zakupu w portalu Tungsten Network. Aby rozpocząć,
Bardziej szczegółowoPROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU
OPIS PRZEDMIOTU Nazwa przedmiotu Systemy rozproszone Kod przedmiotu Wydział Wydział Matematyki, Fizyki i Techniki Instytut/Katedra Instytut Mechaniki i Informatyki Stosowanej Kierunek Informatyka Specjalizacja/specjalność
Bardziej szczegółowoModele procesów masowej obsługi
Modele procesów masowej obsługi Musiał Kamil Motek Jakub Osowski Michał Inżynieria Bezpieczeństwa Rok II Wstęp Teoria masowej obsługi to samodzielna dyscyplina, której celem jest dostarczenie możliwie
Bardziej szczegółowoProgramowanie współbieżne Wykład 2. Iwona Kochańska
Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas
Bardziej szczegółowoProces obsługi deklaracji Intrastat w systemie Celina WebCel
Proces obsługi deklaracji Intrastat w systemie Celina WebCel Jednym ze sposobów przesłania deklaracji INTRASTAT do Polskiej Administracji Celnej jest skorzystanie z serwisu Celina Webcel, który służy przekazywaniu
Bardziej szczegółowoSystemy operacyjne. wykład 11- Zakleszczenia. dr Marcin Ziółkowski. Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie
Systemy operacyjne wykład 11- Zakleszczenia dr Marcin Ziółkowski Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie 17grudnia2015r. POJĘCIE ZAKLESZCZENIA Zakleszczenie to zbiór
Bardziej szczegółowoPrzeplot. 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
Bardziej szczegółowoPrzesył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ółowoSystemy operacyjne. Zajęcia 11. Monitory
Systemy operacyjne. Zajęcia 11. Monitory 1. Monitor to mechanizm zamykający całą pamięć wspólną i synchronizację w pojedynczym module. 2. Monitor posiada całą pamięć wspólną jako część 'prywatną': dostępu
Bardziej szczegółowoInstrukcja integratora - obsługa dużych plików w epuap2
Instrukcja integratora - obsługa dużych plików w epuap2 Wersja: 1.1 Strona 1 z 18 Spis treści SPIS TREŚCI... 2 WPROWADZENIE ORAZ INFORMACJE OGÓLNE... 3 1.1 WSTĘP... 3 1.2 WARUNKI KONIECZNE DO SPEŁNIENIA
Bardziej szczegółowoStrefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek
Problem zapożyczania kanałów z wykorzystaniem narzędzi optymalizacji Wprowadzenie Rozwiązanie problemu przydziału częstotliwości prowadzi do stanu, w którym każdej stacji bazowej przydzielono żądaną liczbę
Bardziej szczegółowoPlanowanie przydziału procesora
Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny algorytmów planowania Algorytmy planowania (2) 1 Komponenty jądra w planowaniu Planista
Bardziej szczegółowoLista 4. Kamil Matuszewski 22 marca 2016
Lista 4 Kamil Matuszewski 22 marca 2016 1 2 3 4 5 6 7 8 9 10 Zadanie 2 Ułóż algorytm który dla danego n-wierzchołkowego drzewa i liczby k pokoloruje jak najwięcej wierzchołków tak, by na każdej ścieżce
Bardziej szczegółowoWirtualna centralka telefoniczna P2P
Spis treści Wirtualna centralka telefoniczna P2P opis protokołu Spis treści...1 Streszczenie...2 Cel...2 Założenia...2 Definicje...2 Format komunikatów...2 Typy proste...2 Stałe używane w opisie komunikatów...3
Bardziej szczegółowoProblem zakleszczenia
Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Klasyfikacja zasobów systemu na potrzeby analizy problemu zakleszczenia Warunki konieczne wystąpienia zakleszczenia Graf przydziału zasobów
Bardziej szczegółowoDokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV
Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium
Bardziej szczegółowoSystem Rozproszone Komunikator Dokumentacja. Maciej Muszkowski Jakub Narloch
System Rozproszone Komunikator Dokumentacja Maciej Muszkowski Jakub Narloch Wymagania Zgodnie ze wstępnymi założeniami komunikator musi, realizowad następujące funkcje: 1. Jest oparty o model Peer2Peer,
Bardziej szczegółowoZnajdowanie wyjścia z labiryntu
Znajdowanie wyjścia z labiryntu Zadanie to wraz z problemem pakowania najcenniejszego plecaka należy do problemów optymalizacji, które dotyczą znajdowania najlepszego rozwiązania wśród wielu możliwych
Bardziej szczegółowo2. Informacje o mechanizmie limitów
Ograniczone środowisko wykonywania aplikacji, ograniczenie powłoki systemu operacyjnego środowisk serwerowych, delegacja uprawnień administracyjnych (sudo, CAP) 1. Wprowadzenie Ograniczanie środowiska
Bardziej szczegółowoPrzykładowe rozwiązania
Przykładowe rozwiązania Poniższy dokument zawiera przykładowe rozwiązania zadań z I etapu I edycji konkursu (2014 r.). Rozwiązania w formie takiej jak przedstawiona niżej uzyskałyby pełną liczbę punktów
Bardziej szczegółowoPOTRZEBY A B C D E P P P P P
1. (2p.) Narysuj przykładowy graf przydziału (jednokrotnych) zasobów (bez zakleszczenia) i sprawdź, jakie przykładowe żądania przydzielenia zasobów spowodują powstanie zakleszczenia, a jakie nie. W przypadku
Bardziej szczegółowoSYSTEMY OPERACYJNE LABORATORIUM 2014/2015
1 SYSTEMY OPERACYJNE LABORATORIUM 2014/2015 ZASADY OCENIANIA ZADAŃ PROGRAMISTYCZNYCH: Zadania laboratoryjne polegają na symulacji i badaniu własności algorytmów/mechanizmów stosowanych w systemach operacyjnych.
Bardziej szczegółowoLock Manager Deadlock Źródła Jak starczy czasu. Dreadlocks. Konrad Błachnio MIMUW 19 maja 2010
Konrad Błachnio K.Blachnio@students.mimuw.edu.pl MIMUW 19 maja 2010 1 Co to jest? API Implementacja 2 ILockManagerWithDetecting s - straszny zamek 3 4 Obecna implementacja Lock vs. Synchronized Hashtable
Bardziej szczegółowoPlanowanie przydziału procesora
Planowanie przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny uszeregowania Algorytmy
Bardziej szczegółowoPrzewodnik dla ucznia
Przewodnik dla ucznia Jak założyć konto i pracować z Oxford English Online? Z przewodniekiem dla ucznia to proste! Strona logowania Aby rozpocząć korzystanie z OEO załóż swoje konto. W tym celu należy
Bardziej szczegółowoANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania:
ANALIZA ALGORYTMÓW Analiza algorytmów polega między innymi na odpowiedzi na pytania: 1) Czy problem może być rozwiązany na komputerze w dostępnym czasie i pamięci? 2) Który ze znanych algorytmów należy
Bardziej szczegółowoPodstawowe struktury danych
Podstawowe struktury danych 1) Listy Lista to skończony ciąg elementów: q=[x 1, x 2,..., x n ]. Skrajne elementy x 1 i x n nazywamy końcami listy, a wielkość q = n długością (rozmiarem) listy. Szczególnym
Bardziej szczegółowoSortowanie - wybrane algorytmy
Sortowanie - wybrane algorytmy Aleksandra Wilkowska Wydział Matematyki - Katedra Matematyki Stosowanej Politechika Wrocławska 2 maja 2018 1 / 39 Plan prezentacji Złożoność obliczeniowa Sortowanie bąbelkowe
Bardziej szczegółowoI. Techniki wielowersyjne sterowania współbieżnością
I. Techniki wielowersyjne sterowania współbieżnością Techniki wielowersyjne multiversion concurrency control. Technika wielowersyjna oparta na znacznikach czasu Dla każdej wersji X i elementu X przechowywane
Bardziej szczegółowoHurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki
Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl www.cs.put.poznan.pl/rwrembel Aktywna hurtownia danych AHD [T. Thalhammer,
Bardziej szczegółowoPODSTAWY BAZ DANYCH Wykład 9
PODSTAWY BAZ DANYCH Wykład 9 7. Transakcje Podstawy teoretyczne 2005/2006 Wykład "Podstawy baz danych" 1 Zbiór cech transakcji Transakcja jest to zespół operacji na bazie danych (INSERT, UPDATE, DELETE
Bardziej szczegółowoprocesó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
Bardziej szczegółowoAlgorytmiczna teoria grafów
Przedmiot fakultatywny 20h wykładu + 20h ćwiczeń 21 lutego 2014 Zasady zaliczenia 1 ćwiczenia (ocena): kolokwium, zadania programistyczne (implementacje algorytmów), praca na ćwiczeniach. 2 Wykład (egzamin)
Bardziej szczegółowoReprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów
Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69
Bardziej szczegółowo1. Po kliknięciu we wspomniany link otworzy się strona o następującym wyglądzie:
Jak złożyć wniosek w Programie Równać Szanse 2015 Ogólnopolski Konkurs Grantowy instrukcja postępowania z elektronicznym systemem naboru wniosków Wnioski konkursowe w Programie Równać Szanse 2015 Ogólnopolski
Bardziej szczegółowoZaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań teoretycznych z egzaminów. Strona 1 z 12 Pytania teoretyczne z egzaminu pisemnego z 25 czerwca 2014 (studia dzienne)
Bardziej szczegółowoInstrukcja ewidencji i sprawozdawania informacji o pierwszym wolnym terminie.
Instrukcja ewidencji i sprawozdawania informacji o pierwszym wolnym terminie. W celu przekazania informacji o pierwszym wolnym terminie należy wykonać następujące czynności: 1. Ustawić aktualnie obowiązującą
Bardziej szczegółowo1 Układy równań liniowych
II Metoda Gaussa-Jordana Na wykładzie zajmujemy się układami równań liniowych, pojawi się też po raz pierwszy macierz Formalną (i porządną) teorią macierzy zajmiemy się na kolejnych wykładach Na razie
Bardziej szczegółowoWstę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
Bardziej szczegółowoMetoda eliminacji Gaussa. Autorzy: Michał Góra
Metoda eliminacji Gaussa Autorzy: Michał Góra 9 Metoda eliminacji Gaussa Autor: Michał Góra Przedstawiony poniżej sposób rozwiązywania układów równań liniowych jest pewnym uproszczeniem algorytmu zwanego
Bardziej szczegółowoZarządzanie procesorem
Zarządzanie procesorem 1. Koncepcja procesu 2. Blok kontrolny procesu 3. Planowanie (szeregowanie) procesów! rodzaje planistów! kryteria planowania 4. Algorytmy planowania! FCFS! SJF! RR! planowanie priorytetowe!
Bardziej szczegółowoWykład 4. Określimy teraz pewną ważną klasę pierścieni.
Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia
Bardziej szczegółowoKS-ZSA. Mechanizm centralnego zarządzania rolami
KS-ZSA Mechanizm centralnego zarządzania rolami 1. Opis funkcjonalności W KS-ZSA zostaje udostępniona funkcji centralnego zarządzania rolami. W samym programie jest możliwość tworzenia centralnej roli
Bardziej szczegółowoPrezentacja systemu RTLinux
Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach
Bardziej szczegółowoMikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
Bardziej szczegółowoBazy 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
Bardziej szczegółowo5. Algorytm genetyczny przykład zastosowania
5. Algorytm genetyczny przykład zastosowania Zagadnienie magicznych kwadratów Opis działania algorytmu Zagadnienie magicznych kwadratów polega na wygenerowaniu kwadratu n n, w którym elementami są liczby
Bardziej szczegółowoKonstrukcja spójnego obrazu stanu globalnego - wprowadzenie
Konstrukcja spójnego obrazu stanu globalnego - wprowadzenie Plan wykładu Celem wykładu jest zaznajomienie studenta z problematyką konstrukcji obrazu spójnego stanu globalnego. Wykład obejmie omówienie
Bardziej szczegółowoPRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1
PRZERWANIA 1. Obsługa zdarzeń poprzez Obsługa polega na przerwaniu aktualnie wykonywanego procesu i wykonaniu procedury przypisanej danemu zdarzeniu gdy takie zdarzenie zajdzie. Procedura nazywa się procedurą
Bardziej szczegółowoOpis 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ółowoINSTRUKCJA DLA RODZICÓW. System rekrutacji do żłobków w Gminie Wrocław
INSTRUKCJA DLA RODZICÓW System rekrutacji do żłobków w Gminie Wrocław Spis Treści 1. Wypełnianie wniosku... 3 1.1. Logowanie na konto... 7 1.2. Edycja wniosku... 9 1.3. Zmiana hasła do konta... 10 1.4.
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoSpis treści REJESTRACJA NOWEGO KONTA UŻYTKOWNIKA PANEL ZMIANY HASŁA PANEL EDYCJI DANYCH UŻYTKOWNIKA EXTRANET.NET...
Spis treści... 1 1. REJESTRACJA NOWEGO KONTA UŻYTKOWNIKA... 3 2. PANEL ZMIANY HASŁA... 5 3. PANEL EDYCJI DANYCH UŻYTKOWNIKA... 6 4. EXTRANET.NET... 8 a. ZMIANA HASŁA EXTRANET.NET... 10 5. PZPN24... 12
Bardziej szczegółowoProfil pracy wariant konfiguracji programu obejmujący m.in język, walutę, konto allegro, szablon aukcji, zdefiniowane koszty wysyłki itp.
KQS ALLEGRO PRZYGOTOWYWANIE I WYSTAWIANIE AUKCJI Pojęcia użyte w instrukcji: Profil pracy wariant konfiguracji programu obejmujący m.in język, walutę, konto allegro, szablon aukcji, zdefiniowane koszty
Bardziej szczegółowoDlaczego nie wystarczają liczby wymierne
Dlaczego nie wystarczają liczby wymierne Analiza zajmuje się problemami, w których pojawia się przejście graniczne. Przykładami takich problemów w matematyce bądź fizyce mogą być: 1. Pojęcie prędkości
Bardziej szczegółowoSystemy 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
Bardziej szczegółowoepuap Zakładanie konta organizacji
epuap Zakładanie konta organizacji Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka Jak założyć konto? Proces zakładania
Bardziej szczegółowoAlgorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych
Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze
Bardziej szczegółowoSpis treści. Rejestracja/logowanie. Zmiana numeru konta klienta. Tworzenie nowej przesyłki. Zamawianie kuriera
DHL24 - instrukcja Spis treści Wprowadzenie Rejestracja/logowanie Zmiana numeru konta klienta Zamówienie kuriera Tworzenie nowej przesyłki Zamawianie kuriera Wyliczenie ceny Wyliczanie ceny podczas zamawiania
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki
Bardziej szczegółowoAby wejść do systemu należy kliknąć w link znajdujący w ogłoszeniu konkursu (oznaczony napisem: złóż wniosek ).
Jak złożyć wniosek w Programie Równać Szanse 2012 Regionalny Konkurs Grantowy instrukcja postępowania z elektronicznym systemem naboru wniosków Wnioski konkursowe w Programie Równać Szanse Regionalny Konkurs
Bardziej szczegółowoProgram 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
Bardziej szczegółowoAlgorytmy i Struktury Danych
Algorytmy i Struktury Danych Kopce Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 11 1 / 69 Plan wykładu
Bardziej szczegółowoInstrukcja IT Service & Help Desk Ticket System.
Instrukcja IT Service & Help Desk Ticket System. 1 Interfejs agenta. Osoby z działu IT obsługujące system Service Desk i zajmujące się przychodzącymi do niego zgłoszeniami są w tej instrukcji nazywane
Bardziej szczegółowoOświadczenie o plikach cookies
Oświadczenie o plikach cookies Żywiec Zdrój S.A. pragnie wykazywać się otwartością i przejrzystością co do sposobu, w jaki używamy plików cookies i tego, co to dla Państwa oznacza. Niektóre używane przez
Bardziej szczegółowoJak zacząć korzystać w HostedExchange.pl ze swojej domeny np. @firma.pl
str. 1 Jak zacząć korzystać w HostedExchange.pl ze swojej domeny np. @firma.pl W tym dokumencie znajdziesz: Krok 1 - Kup domenę u dowolnego dostawcy... 1 Krok 2 - Dodaj domenę do panelu zarządzania HostedExchange.pl...
Bardziej szczegółowoCzym są pliki cookies? Rodzaje plików cookies Dlaczego używamy plików cookies?
Polityka s Firma NUTRICIA Polska pragnie wykazywać się otwartością i przejrzystością co do sposobu, w jaki używamy plików s i tego, co to dla Państwa oznacza. Niektóre używane przez nas pliki s są niezbędne
Bardziej szczegółowoLuty 2001 Algorytmy (4) 2000/2001
Mając dany zbiór elementów, chcemy znaleźć w nim element największy (maksimum), bądź najmniejszy (minimum). We wszystkich naturalnych metodach znajdywania najmniejszego i największego elementu obecne jest
Bardziej szczegółowoElementy Modelowania Matematycznego
Elementy Modelowania Matematycznego Wykład 9 Systemy kolejkowe Spis treści Wstęp Systemy masowej obsługi (SMO) Notacja Kendalla Schemat systemu masowej obsługi Przykład systemu M/M/1 Założenia modelu matematycznego
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane
Algorytmy i struktury danych Wykład 4 Tablice nieporządkowane i uporządkowane Tablice uporządkowane Szukanie binarne Szukanie interpolacyjne Tablice uporządkowane Szukanie binarne O(log N) Szukanie interpolacyjne
Bardziej szczegółowoUniwersalny Konwerter Protokołów
Uniwersalny Konwerter Protokołów Autor Robert Szolc Promotor dr inż. Tomasz Szczygieł Uniwersalny Konwerter Protokołów Szybki rozwój technologii jaki obserwujemy w ostatnich latach, spowodował że systemy
Bardziej szczegółowo4. 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
Bardziej szczegółowoSortowanie topologiczne skierowanych grafów acyklicznych
Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)
Bardziej szczegółowoMateriały pomocnicze 1
TECHNIKI DZIELENIA OGRANICZONEGO ZBIORU ZASOBÓW wzajemne wyłączanie procesów od zasobów niepodzielnych PRZYDZIAŁ ZASOBÓW I PLANOWANIE zapobieganie zakleszczeniom zapewnienie dużego wykorzystania zasobów
Bardziej szczegółowoSystem Gokart Timing
System Gokart Timing 1 Spis treści System Gokart Timing... 1 Wstęp... 3 Słownik pojęć:... 3 Ogólny opis systemu... 3 Wymagania... 3 Aplikacja pomiarowa... 4 Interfejs... 4 Opis funkcji... 5 Aplikacja do
Bardziej szczegółowoKonstrukcja spójnego obrazu stanu globalnego algorytmy
Konstrukcja spójnego obrazu stanu globalnego algorytmy Plan wykładu Celem wykładu jest przedstawienie niektórych algorytmów służących do konstrukcji obrazu spójnego stanu globalnego. Wykład obejmie przedstawienie
Bardziej szczegółowoWykład 5 Wybrane zagadnienia programowania w C++ (c.d.)
Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.) Kontenery - - wektor vector - - lista list - - kolejka queue - - stos stack Kontener asocjacyjny map 2016-01-08 Bazy danych-1 W5 1 Kontenery W programowaniu
Bardziej szczegółowoPRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.
PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne
Bardziej szczegółowoWojskowa Akademia Techniczna im. Jarosława Dąbrowskiego
Wojskowa Akademia Techniczna im. Jarosława Dąbrowskiego Z a r z ą d z a n i e S y s t e m a m i T e l e i n f o r m a t y c z n y m i Prowadzący: dr inż. Tomasz Malinowski PROJEKT Wykonał: Marek Oleksiak
Bardziej szczegółowoPrzetwarzanie rozproszone
Wykład prowadzą: Jerzy Brzeziński Jacek Kobusiński Plan wykładu Proces sekwencyjny Komunikaty, kanały komunikacyjne Stan kanału Operacje komunikacyjne Model formalny procesu sekwencyjnego Zdarzenia Warunek
Bardziej szczegółowoKonstrukcja spójnego obrazu stanu globalnego algorytmy
Konstrukcja spójnego obrazu stanu globalnego algorytmy Plan wykładu Celem wykładu jest przedstawienie niektórych algorytmów służących do konstrukcji obrazu spójnego stanu globalnego. Wykład obejmie przedstawienie
Bardziej szczegółowoProgramowanie Równoległe i Rozproszone
Programowanie Równoległe i Rozproszone Lucjan Stapp Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska (l.stapp@mini.pw.edu.pl) 1/30 PRiR MONITOR klasa z następującymi właściwościami: wszystkie
Bardziej szczegółowoDynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)
Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013
Bardziej szczegółowoProblem detekcji zakończenia
Problem detekcji zakończenia Przykład sortowanie rozproszone Rozważmy problem sortowania rozproszonego zbioru X składającego się z v różnych liczb naturalnych, w środowisku rozproszonym o n węzłach (procesorach),
Bardziej szczegółowoTablice z haszowaniem
Tablice z haszowaniem - efektywna metoda reprezentacji słowników (zbiorów dynamicznych, na których zdefiniowane są operacje Insert, Search i Delete) - jest uogólnieniem zwykłej tablicy - przyspiesza operacje
Bardziej szczegółowo