Unformatted text preview:

CS6320 Performance L Grewe 1 The Servlet Interface Java provides the interface Servlet Specific Servlets implement this interface Whenever the Web server is asked to invoke a specific Servlet it activates the method service of an instance of this Servlet HTTP response MyServlet service request response HTTP request 2 Consistency and Replication Today Introduction Consistency models Data centric consistency models Client centric consistency models Thoughts for the mid term CS677 Distributed OS Why replicate Data replication common technique in distributed systems Reliability If one replica is unavailable or crashes use another Protect against corrupted data Performance Scale with size of the distributed system replicated web servers Scale in geographically distributed systems web proxies Key issue need to maintain consistency of replicated data If one copy is modified others become inconsistent CS677 Distributed OS Object Replication Approach 1 application is responsible for replication Application needs to handle consistency issues Approach 2 system middleware handles replication Consistency issues are handled by the middleware Simplifies application development but makes object specific solutions harder CS677 Distributed OS Replication and Scaling Replication and caching used for system scalability Multiple copies Improves performance by reducing access latency But higher network overheads of maintaining consistency Example object is replicated N times Read frequency R write frequency W If R W high consistency overhead and wasted messages Consistency maintenance is itself an issue What semantics to provide Tight consistency requires globally synchronized clocks Solution loosen consistency requirements Variety of consistency semantics possible CS677 Distributed OS Data Centric Consistency Models Consistency model aka consistency semantics Contract between processes and the data store If processes obey certain rules data store will work correctly All models attempt to return the results of the last write for a read operation Differ in how last write is determined defined CS677 Distributed OS Strict Consistency Any read always returns the result of the most recent write Implicitly assumes the presence of a global clock A write is immediately visible to all processes Difficult to achieve in real systems network delays can be variable CS677 Distributed OS Sequential Consistency Sequential consistency weaker than strict consistency Assumes all operations are executed in some sequential order and each process issues operations in program order Any valid interleaving is allowed All agree on the same interleaving Each process preserves its program order Nothing is said about most recent write CS677 Distributed OS Linearizability Assumes sequential consistency and If TS x TS y then OP x should precede OP y in the sequence Stronger than sequential consistency Difference between linearizability and serializbility Granularity reads writes versus transactions Example Process P1 Process P2 Process P3 x 1 print y z y 1 print x z z 1 print x y CS677 Distributed OS Linearizability Example Four valid execution sequences for the processes of the previous slide The vertical axis is time x 1 print y z y 1 print x z z 1 print x y x 1 y 1 print x z print y z z 1 print x y y 1 z 1 print x y print x z x 1 print y z y 1 x 1 z 1 print x z print y z print x y Prints 001011 Prints 101011 Prints 010111 Prints 111111 Signature 001011 a Signature 101011 b Signature 110101 c Signature 111111 d CS677 Distributed OS Causal consistency Causally related writes must be seen by all processes in the same order Concurrent writes may be seen in different orders on different machines Not permitted Permitted CS677 Distributed OS Other models FIFO consistency writes from a process are seen by others in the same order Writes from different processes may be seen in different order even if causally related Relaxes causal consistency Simple implementation tag each write by Proc ID seq Even FIFO consistency may be too strong Requires all writes from a process be seen in order Assume use of critical sections for updates Send final result of critical section everywhere Do not worry about propagating intermediate results Assume presence of synchronization primitives to define semantics CS677 Distributed OS CS677 Distributed OS Other Models Weak consistency Accesses to synchronization variables associated with a data store are sequentially consistent No operation on a synchronization variable is allowed to be performed until all previous writes have been completed everywhere No read or write operation on data items are allowed to be performed until all previous operations to synchronization variables have been performed Entry and release consistency Assume shared data are made consistent at entry or exit points of critical sections CS677 Distributed OS Summary of Data centric Consistency Models Consistency 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 Consistency Description 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 CS677 Distributed OS Caching in WWW Case Study Dramatic growth in world wide web traffic Web accesses are non uniform in nature Create hot spots of server and network load increase latency Solution Network employ web proxy caches Network Reduces user response times server Servers network load Proxies End hosts load CS677 Distributed OS Content Distribution Network Servers End hosts Content distribution network CDN Collection of proxies that act as intermediaries between servers and clients Service a client request from closest proxy with the object Similar benefits as single proxy environments but larger scale Example Akamai CDN 13 000 proxies Caching in CDN must maintain cache consistency CS677 Distributed


View Full Document

Cal State East Bay CS 6320 - Replicaton

Loading Unlocking...
Login

Join to view Replicaton and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Replicaton and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?