Spójność i replikacja Wykład 7.

Slides:



Advertisements
Podobne prezentacje
Poland - DAPHNE subproject
Advertisements

Session 6 Case Study – Elektrim SA Saturday, January 15, 2011 SAL Wroclaw Lectures on Corporate Governance Geoffrey Mazullo Principal Emerging Markets.
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Introduction to SystemC
Usługi sieciowe Wykład 9 VPN
Statistics – what is that? Statystyka dla gimnazjalistów.
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Pomysł Sukces Wstępne rozwiązanie Symulacja Wynik zadowala? Poprawa rozwiązania Nie Tak Podstawowa pętla projektowania.
Analiza wywołania i przebiegu przerwań w systemie Linux
Języki Programowania Obiektowego
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Projekt Do kariery na skrzydłach – studiuj Aviation Management Projekt współfinansowany ze ś rodków Europejskiego Funduszu Społecznego. Biuro projektu:
Sun altitude Made by: Patryk Cichy Patryk Cichy Mateusz Dąbrowicz Mateusz Dąbrowicz Mariusz Król Mariusz Król Mariusz Dyrda Mariusz Dyrda Group leader:
Wstęp do geofizycznej dynamiki płynów. Semestr VI. Wykład
Netiquette Wiktoria Pacholik. Netiquette Netiquette is a collection of cyberspace rules. Netiquette is obligatory every internets user.
Copyright for librarians - a presentation of new education offer for librarians Agenda: The idea of the project Course content How to use an e-learning.
Software Engineering 0. Information on the Course Leszek J Chmielewski Faculty of Applied Informatics and Mathematics (WZIM) Warsaw University of Life.
Dzielenie relacyjne / Relational Division
Parallel Processing, Pipelining, Flynn’s taxonomy
Polaryzacja światła.
Współprogramy Plan: Motywacja Składnia Scenariusz obiektu współprogramu Przykłady Producent – konsument ( instrukcja attach ) Czytelnik -pisarze ( instukcja.
Przykłady sieci obiektowych
Exact Software Poland Sp z o.o. Adam Sasin AXA TUiR
„Tworzenie aplikacji sieciowych w języku Java”
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Objects classes,
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Exceptions Prezentacja.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Threads Prezentacja.
Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego Tworzenie aplikacji sieciowych w języku Java Java – overview.
POLSKA SZKOŁA PODSTAWOWA IM. LECHA BĄDKOWSKIEGO W LUZINIE
MS SQL SERVER udział w rynku. Source: Gartner Dataquest (May 2006) Company Market Share (%) Market Share (%) Growth (%) Oracle6, ,
DIRECT &INDIRECT QUESTIONS
Travel Agency A trip to Śląsk. Something about us… Winter Agency is a tour operator and travel agency providing full services for groups and individuals.
Środowisko homogeniczne: jednorodne
More Secure and Dependable 1.User Account Protection, more secure boot, anti-spyware and anti-phishing 2.Restart Manager (fewer reboots) 3.Instant-on.
Tadeusz Janasiewicz IT Group, Tadeusz Janasiewicz, WSUS, IT Group, r.
Future Perfect i Future Continuous
Rozproszone transakcje z wykorzystaniem usługi Service Broker w SQL Server 2008 R2 Andrzej Ptasznik.
Kosmologia realistyczna Marek Kutschera 05 V 2009 IPJ.
______________________________________ TARGU-JIU 2010.
Theory of Computer Science - Basic information
- For students (12 questions) - For parents (6 questions) - For grandparents (6 questions)
REGIONALNE CENTRUM INFORMACJI I WSPOMAGANIA ORGANIZACJI POZARZĄDOWYCH REGIONAL INFORMATION and SUPPORT CENTER for NGOs EVALUATION V BALTIC SEA NGO FORUM.
TVP SA Odział w Łodzi Łódź ul. Narutowicza 13 TVP Łódź the Year of anniversary – it is already 55 years together.
BLOOD DONATION.
Click to show the screen.
POLAND. we will take you on a journey during which you will learn something about us.
Wacław Sierpiński.
The Grumpy Test If at least one of these pictures does not make you smile, then you are grumpy and need to go back to bed. Test na ponuraka Jak nie usmiechniesz.
Stakeholder Analysis Lazarski University May, 2011 Edward T. Jennings, Jr. University of Kentucky Martin School of Public Policy and Administration.
I L.O. im. Mikołaja Kopernika in Bielsko-Biała The following presentation has been created within the confines of Socrates- Comenius Programme Teaching.
Teksty prymarne (original texts) to teksty autentyczne, nie są przeznaczone dla celów dydaktycznych; teksty adaptowane (simplified/adapted texts)są przystosowane.
Instrukcja switch switch (wyrażenie) { case wart_1 : { instr_1; break; } case wart_2 : { instr_2; break; } … case wart_n : { instr_n; break; } default.
Rozdział 3: Bezpieczeństwo w sieci opartej na systemie Windows 2000.
NEW MODEL OF SCHOOL HEADS PREPARATION, INDUCTION AND CONTINUING PROFESSIONAL DEVELOPMENT IN POLAND Roman Dorczak, Grzegorz Mazurkiewicz   Jagiellonian.
Introduction to Numerical Analysis
1.
I am sorry, but I can’t go out with you
INSTYTUT METEOROLOGII I GOSPODARKI WODNEJ INSTITUTE OF METEOROLOGY AND WATER MANAGEMENT THE USE OF COSMO LM MODEL FOR AVIATION METEOROLOGICAL SERVICE IN.
REKSIO.
Struktura przedsiębiorstwa SAP Best Practices. ©2014 SAP SE or an SAP affiliate company. All rights reserved.2 Obszar rachunku kosztów 1000 Dane te są.
POLISH FOR BEGINNERS.
2 Review What is bionomial nomenclature Explain What is a genus
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 6.
A. When we celebrate? Celebrating the European Day of Languages ​​ on September 26 since We celebrate it in 47 countries.
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 5.
CSIC 5011 Mini-Project 1:Principle Component Analysis on Finance Data
Previously discusses: different kinds of variables
Zapis prezentacji:

Spójność i replikacja Wykład 7

Zwielokrotnianie obiektów (1) Organizacja rozproszonego obiektu zdalnego, dzielonego przez różnych klientów.

Zwielokrotnianie obiektów (2) System rozproszony obiektów świadomych zwielokrotnienia System rozproszony odpowiedzialny za zarządzanie kopiami

Zwielokrotnianie obiektów (3) A distributed system for replication-aware distributed objects. A distributed system responsible for replica management

Modele spójności nastawione na dane Ogólna organizacja logicznej pamięci danych, fizycznie rozproszona między różnymi procesami.

„Każde czytanie zmiennej x zwraca wartość = ostatniemu zapisowi x”. Spójność ścisła „Każde czytanie zmiennej x zwraca wartość = ostatniemu zapisowi x”. Zachowanie 2 procesów działających na tej samej danej. Pamięć spójna ściśle. Pamięć, która niespójna ściśle.

Liniowość i spójność sekwenycjna (1) “Wynik dowolnego wykonania jest taki sam, jak gdyby operacje (RW) wszystkich procesów na pamięci danych były wykonane w pewnym porządku jedna po drugiej, przy czym operacje każdego procesu wystąpiły w tym ciągu w kolejności określonej przez jego program” Pamięć danych spójna sekwencyjne. Pamięć danych niespójna sekwencyjne.

Liniowość i spójność sekwencyjna (2) Process P1 Process P2 Process P3 x = 1; print ( y, z); y = 1; print (x, z); z = 1; print (x, y); Trzy procesy współbieżne.

Liniowość i spójność sekwencyjna (3) x = 1; print (y, z); y = 1; print (x, z); z = 1; print (x, y); Drukuje: 001011 Sygnatura: 001011 (a) Drukuje: 101011 Sygnatura: 101011 (b) Drukuje: 010111 Sygnatura: 110101 (c) Drukuje: 111111 111111 (d) Czas 4 z 90 dozwolonych ciągów wykonań procesów z poprzedniego slajdu.

Spójność przyczynowa (1) „Zapisy potencjalnie powiązane przyczynowo muszą być oglądane przez wszystkie procesy w takim samym porządki. Zapisy współbieżne mogą być oglądane w różnej kolejności.”

Spójność przyczynowa (2) zapisy współbieżne zapisy przyczynowe Sekwencja dozwolona w pamięci przyczynowej, zabroniona w pamięci sekwencyjnej.

Spójność przyczynowa (3) Naruszenie spójności przyczynowej. Poprawna przyczynowo kolejność zdarzeń.

Spójność FIFO (1) „Zapisy wykonane przez 1 proces, są oglądane przez wszystkie inne procesy w porządku, w którym powstawały. Zapisy pochodzące od różnych procesów mogą być oglądane w różnym porządku.”.

Dozwolony ciąg zdarzeń przy spójności FIFO Spójność FIFO (2) Dozwolony ciąg zdarzeń przy spójności FIFO

Spójność FIFO (3) x = 1; print (y, z); y = 1; print(x, z); z = 1; print (x, y); Drukuje: 00 (a) Drukuje: 10 (b) print (x, z); Drukuje: 01 (c) Wykonanie instrukcji z punktu widzenia 3 procesów z poprzedniego slajdu. Instrukcje wytłuszczone generują wyniki.

Spójność słaba (1) 3 cechy: Dostępy do zmiennej synchronizacji są spójne sekwencyjnie Działanie na zmiennej synchronizacji jest zabronione do czasu, aż wszystkie poprzednie zapisy zostaną ukończone Na jednostce danych zabrania się wykonywania operacji R/W dopóty, dopóki nie zostaną wykonane wszystkie poprzednie operacje na zmiennych synchronizacji.

Spójność słaba (2) int a, b, c, d, e, x, y; /* zmienne*/ int *p, *q; /* wskaźniki*/ int f( int *p, int *q); /* prototyp funkcji */ a = x * x; /* a w rejestrze */ b = y * y; /* b w rejestrze */ c = a*a*a + b*b + a * b; /* używane później */ d = a * a * c; /* używane później */ p = &a; /* p wskazuje na a */ q = &b /* q wskazuje na b */ e = f(p, q) /* wywołanie funkcji */ Fragment programu, w którym niektóre zmienne mogą być przechowywane w rejestrach.

Spójność słaba (3) Ciąg zdarzeń dozwolony w spójności słabej. Ciąg zdarzeń niedozwolony w spójności słabej.

Spójność zwalniania (1) Ciąg zdarzeń dozwolony w spójności zwalniania.

Spójność zwalniania (2) Warunki: Przed wykonaniem operacji R/W, proces musi sfinalizować wszystkie poprzednie nabycia. Zanim będzie można wykonać zwolnienie, w procesie należy zakończyć wszystkie operacje RW Dostęp do zmiennych synchronizacji wykazują spójność FIFO (nie jest wymagana spójność sekwencyjna).

Entry Consistency (1) Conditions: An acquire access of a synchronization variable is not allowed to perform with respect to a process until all updates to the guarded shared data have been performed with respect to that process. Before an exclusive mode access to a synchronization variable by a process is allowed to perform with respect to that process, no other process may hold the synchronization variable, not even in nonexclusive mode. After an exclusive mode access to a synchronization variable has been performed, any other process's next nonexclusive mode access to that synchronization variable may not be performed until it has performed with respect to that variable's owner.

A valid event sequence for entry consistency.

Summary of Consistency Models Description Strict Absolute time ordering of all shared accesses matters. Linearizability All processes must see all shared accesses in the same order. Accesses are furthermore ordered according to a (nonunique) global timestamp Sequential All processes see all shared accesses in the same order. Accesses are not ordered in time Causal All processes see causally-related shared accesses in the same order. FIFO All processes see writes from each other in the order they were used. Writes from different processes may not always be seen in that order (a) Weak Shared data can be counted on to be consistent only after a synchronization is done Release Shared data are made consistent when a critical region is exited Entry Shared data pertaining to a critical region are made consistent when a critical region is entered. (b) Consistency models not using synchronization operations. Models with synchronization operations.

Eventual Consistency The principle of a mobile user accessing different replicas of a distributed database.

Monotonic Reads The read operations performed by a single process P at two different local copies of the same data store. A monotonic-read consistent data store A data store that does not provide monotonic reads.

Monotonic Writes The write operations performed by a single process P at two different local copies of the same data store A monotonic-write consistent data store. A data store that does not provide monotonic-write consistency.

Read Your Writes A data store that provides read-your-writes consistency. A data store that does not.

Writes Follow Reads A writes-follow-reads consistent data store A data store that does not provide writes-follow-reads consistency

Replica Placement The logical organization of different kinds of copies of a data store into three concentric rings.

Server-Initiated Replicas Counting access requests from different clients.

Pull versus Push Protocols Issue Push-based Pull-based State of server List of client replicas and caches None Messages sent Update (and possibly fetch update later) Poll and update Response time at client Immediate (or fetch-update time) Fetch-update time A comparison between push-based and pull-based protocols in the case of multiple client, single server systems.

Remote-Write Protocols (1) Primary-based remote-write protocol with a fixed server to which all read and write operations are forwarded.

Remote-Write Protocols (2) The principle of primary-backup protocol.

Local-Write Protocols (1) Primary-based local-write protocol in which a single copy is migrated between processes.

Local-Write Protocols (2) Primary-backup protocol in which the primary migrates to the process wanting to perform an update.

The problem of replicated invocations. Active Replication (1) The problem of replicated invocations.

Active Replication (2) Forwarding an invocation request from a replicated object. Returning a reply to a replicated object.

Quorum-Based Protocols Three examples of the voting algorithm: A correct choice of read and write set A choice that may lead to write-write conflicts A correct choice, known as ROWA (read one, write all)

Orca OBJECT IMPLEMENTATION stack; top: integer; # variable indicating the top stack: ARRAY[integer 0..N-1] OF integer # storage for the stack OPERATION push (item: integer) # function returning nothing BEGIN GUARD top < N DO stack [top] := item; # push item onto the stack top := top + 1; # increment the stack pointer OD; END; OPERATION pop():integer; # function returning an integer BEGIN GUARD top > 0 DO # suspend if the stack is empty top := top – 1; # decrement the stack pointer RETURN stack [top]; # return the top item OD; END; BEGIN top := 0; # initialization END; A simplified stack object in Orca, with internal data and two operations.

Management of Shared Objects in Orca Four cases of a process P performing an operation on an object O in Orca.

Casually-Consistent Lazy Replication The general organization of a distributed data store. Clients are assumed to also handle consistency-related communication.

Processing Read Operations Performing a read operation at a local copy.

Processing Write Operations Performing a write operation at a local copy.