Applying Sequential Consistency to Web Caching

Size: px
Start display at page:

Download "Applying Sequential Consistency to Web Caching"

Transcription

1 Applying Sequential Consistency to Web Caching Francisco J. Torres-Rojas and Esteban Meneses Abstract Web caches have several advantages for reducing the server load, minimizing the network traffic and lowering user latency. However, maintaining consistency among objects is one of the primary concerns when using web caches. To this purpose, some strategies have been adopted. One of them is using the TTL (time-to-live) of the object, which is a lapse of time during which a copy of the object could be considered valid. After that, the object becomes stale and it can be invalidated from the cache or be revalidated later. Moreover, it is important to consider the relationships among all objects in the cache, such that revalidation of some particular object could mean the invalidation of others. This paper presents two mechanisms for maintaining sequential consistency among operations in the objects, using the TTL scheme and logical clocks. Index Terms Web Caching, Sequential Consistency, Lifetime Based Consistency. I. INTRODUCTION Web caching is one of the key techniques to improve web utilization. Reducing the server load, minimizing the network traffic and lowering user latency are some products of web caching, as it is the need of keeping consistent the objects in the cache. Web cachers act as intermediaries between web clients and servers. Then, if a web browser needs some object, it must send a request to the origin server. According to some conditions, the origin server sends the required object to the client. If a web cacher is present, it can catch that object in such a way that the next time the object is required, it could be retrieved locally, avoiding a remote access to the origin server. Most of the time this cache is implemented as a proxy server. So, in this paper the web cacher will be referred as a proxy server. However, offering a web cache methodology implies having several copies of the same object dispersed around cachers. Every time the origin server Francisco J. Torres-Rojas (torres@ic-itcr.ac.cr), Costa Rica Institute of Technology and University of Costa Rica, Costa Rica. Esteban Meneses (emeneses@ic-itcr.ac.cr), Computing Research Center (CIC) - Costa Rica Institute of Technology, Costa Rica changes the object, all copies must be updated. This property is called the freshness of the web cache. Nevertheless, there are also relationships among the changes made to the objects that must be maintained and such a property is called consistency. Sequential Consistency [13] tries to impose a total ordering in all the events occurred in a distributed execution. Given that, some results about the validity of the objects can be guaranteed. This paper presents an application of sequential consistency to web caching, by using TTL to offer freshness and logical clocks to offer consistency. The papers begins with Section II, where web caching environment is explained, continuing with Section III about sequential consistency model. Then, logical clocks and some properties are presented in Section IV. After that, protocols B and C, for inducing sequential consistency in web caching, are presented at Section V. And finally, conclusions and future work are discussed at Section VI. II. WEB CACHING As it was mentioned, web caching is one of the most important features of an efficient web architecture. Following [22] there are several advantages in using web caching: 1) It reduces bandwidth consumption, so network traffic decreases and lessens network congestion. 2) It reduces access latency due to two factors: frequently accessed objects are fetched from a nearby proxy and non-cached objects are fetched in a relatively faster network. 3) It reduces the work load of remote servers. 4) If a remote server is no available, a copy of the requested object could be retrieved from a local proxy. 5) It provides an option to monitor web access pattern. In figure 1, it can be appreciated how a basic web caching scheme works. Clients are constantly making requests that web cachers can solve. But,

2 Client Proxy Cache request response These policies have several performance and scalability implications ([12], [10], [6]). Notice that, in general, it is not clear which consistency protocol is induced by these models. Origin Server Fig. 1. Basic scheme for web caching sometimes objects are not valid in the cache, so proxy cachers must request the object from the servers and then returning it to the client. Nevertheless, some disadvantages emerge as web caching is implemented [22]. One of these is possible lack of consistency. Several web caching models have been developed in the last ten years. Many of them are oriented by the time axis, not the order one. These two dimensions of consistency will be discussed in section III. Web caching schemes can be categorized into three different philosophies [12]: expiration, invalidation and polling. For each object X an original copy is maintained by some site, which will be called owner of X. The only valid operations are read, requesting to view the state of the item and write, updating the value for the item. Write operations are only allowed for the master replica, as read operations are valid for every copy. Here, these models are summarized: Expiration Protocol Client P requests object X from its owner Q at time t, Q sends a copy of the value of X with a time-to-live value. So, every requests for X could be satisfied by the local cache of P during the interval t t. After that interval, the copy of X in the cache expires and the next request must be sent to a remote server. Polling Protocol Client P must be validating object X with its owner periodically in order to see if the value of X has changed. Invalidation Protocol The owner of X remembers all the users of object X. When X changes it sends an invalidation message to all its users. The next request for X in a client P will trigger a downloading of fresh version of X from the owner. A. HTTP support The HTTP protocol [9] offers some capabilities for web caching. The central feature of HTPP for web caching is support for conditional requests. Such requests specify conditions in their headers and servers execute a conditional request and responds with the message body only if the condition is true. Otherwise, the server responds with a special status code 304 Not Modified [16]. Two conditional headers in HTTP for web caching permit making a more efficient a web architecture. The if-modified-since header contains the last modified date of the cached object. When a server receives a request with this header, the server only returns the object if the last modified date of the object at the server is different from the date contained in the if-modified-since header. Also, the if-none-match header contains the entity tag of the cached object. When receiving a request with this header, the server returns the object only if the object s entity tag on the server does not match the tag of the header. HTTP also provides headers for deciding when to check the validity of the cached objects. Thus, a HTTP server can supply an explicit time to live value for the object by using the expires or the max-age headers. The former gives an exact time and date when the object becomes stale, while the latter gives a number of seconds for the liveness of the object. However, there is a more general structure in HTTP. The cache-control header can contain multiple directives that control the use of all the caches that are situated between the client that originally issued the request and the origin server. Then, the list of the cache-control header is a list of directives with values for managing several issues on caches. III. SEQUENTIAL CONSISTENCY For analyzing consistency in web caching, it is convenient to consider the consistency models for distributed systems. After all, we can not ignore how

3 related these two worlds are[4]. In this section, the sequential consistency model will be reviewed. A distributed system consists of N user processes and a distributed data storage. A consistency model is understood as a contract between processes and the data storage.([1], [2], [11], [14], [18], [19]). The global history H of a distributed system is the partially ordered set of all operations occurring at all sites of the system. H i is the sequence of operations that are executed on site i and it is a totally ordered set. If a occurs before b in H i we say that a precedes b in program order. In order to simplify, we assume that all operations are either read or write, and that each value written is unique. These operations take a finite, non-zero time to execute, so there is a time elapsed from the instant when a read or write starts to the moment when such operation finishes. Nevertheless, for the purposes of this paper, we associate an instant to each operation, called the effective time of the operation. We will say that a is executed at time t if the effective time of a is t. If D is a set of operations, then a serialization of D is a linear sequence S containing exactly all the operations of D such that each read operation to a particular object returns the value written by the most recent (in the order of S) write operation to the same object. If is an arbitrary partially ordered relation over D, we say that serialization S respects if a, b D such that a b then a precedes b in S. Intuitively, one would like that any read on a data item X returns a value corresponding to the results of the most recent write on X. Assuming the existence of absolute global time, this behavior can be modeled with linearizability [11]: Definition 1: History H satisfies linearizability (LIN) if there is a serialization S of H that respects the order induced by the effective times of the operations. A weaker, but more efficient, model of consistency is sequential consistency as defined by Lamport in [14]: Definition 2: History H satisfies sequential consistency (SC) if there is a serialization S of H that respects the program order for every site in the system. SC does not guarantee that a read operation returns the most recent value with respect to realtime, but just that the result of any execution is the same as if the operations of all sites were executed in some sequential order, and the operations of each individual site appear in this sequence in the order specified by its program. In figure 2 it can be seen a sequentially consistent history in a), while the required serialization is presented in b). Consistency in distributed systems can be viewed through two different approaches: time and order [2]. The former is related with how fast the changes in one object are made visible to all copies, while the latter is related with the order relationships among the events in the system. This paper presents two protocols where these two axis are considered. A. Lifetime Based Consistency This technique [18] provides consistency across different but related set of objects. It is assumed an architecture where each object has a set of server sites that provide long term storage for the object and where client sites cache objects before accessing them. Cache misses are handled by a server site, which either has a copy of the requested object or can obtain it. Let C i denote the cache of site i, in which it stores copies of objects that have been accessed recently. If a cache miss occurs when accessing object X, some server provides a copy of its current version of X. Once this copy is stored in C i, we denote it as X i. The start time of X i, denoted as X α i is the time when the value of X i was written. The latest time when the value stored in X i is known to be valid is its ending time and it is denoted as X ω i. The interval X α i X ω i is the currently known lifetime of the value stored in X i. The values of X i and Y i (cached in C i ) are mutually consistent if max X α i Y α i min X ω i Y ω i, i.e., their lifetimes overlap and, thus, they coexisted at some instant. C i is consistent if the maximum start time of any object value in C i is less than or equal to the minimum ending time of any object value in C i, i.e., every pair of object in C i is mutually consistent. In general, the lifetime of arbitrary object values is not known. When site i updates object version X i at time t, timestamp t is assigned to both X α i and X ω i. It must be discovered as it goes that no object copy X j (i j) has been overwritten and use this information to advance X ω i.

4 Site Site 1 w 0 (B) w 0 (C)6 r 0 (A)9 r 0 ( B)5 r 1 (B)2 r 1 (A)0 w 1 (A)9 r 1 (B)5 r 1 (C) Site w 2 (C)3 r 2 (A)0 w 2 (B)5 w 2 (C)7 w 2 (A)8 w 2 (A)10 Site r 3 (B)0 w 3 (B)1 r 3 (A)0 r 3 (B)2 r 3 (B)5 Site r 4 (C)0 w 4 (B)2 r 4 (C)3 r 4 (C)6 r 4 (C)7 a) Sequentially Consistent Execution r 4 (C)0 r 3 (B)0 w 0 (B)4 w 2 (C)3 r 2 (A)0 w 3 (B)1 r 3 (A)0 w 4 (B)2 r 4 (C)3 r 3 (B)2 r 1 (B)2 r 1 (A)0 w 0 (C)6 w 1 (A)9 r 0 (A)9 w 2 (B)5 r 1 (B)5 r 0 ( B)5 r 3 (B)5 r 4 (C)6 w 2 (C)7 r 4 (C)7 r 1 (C)7 w 2 (A)8 w 2 (A)10 b) Serialization that respects program order Fig. 2. A sequentially consistent execution objects Fig. 3. X Y Z W Context lifetimes Object in cache using lifetime approach Figure 3 shows several objects in a cache, where all lifetimes have been calculated and Context variable have been updated according to them. IV. LOGICAL CLOCKS In this section two kinds of logical clocks are presented, in order to use them for the consistency protocols of section V. A local timestamp variable called Context i is associated with C i. Its initial value is 0, and it is updated with the rules: 1) When a copy of object X is brought into C i (becoming X i ): Context i : max X i α Context i 2) When object copy X i is updated at time t: Context i : X i α : t Context i keep the latest start time of any object value that is or has been stored in C i. When a copy of object X is brought into C i, its ending time must not be less than Context i, if necessary, other servers or client sites are contacted until a version of X that satisfies the condition is found. Furthermore, any object Y i C i such that Y i ω Context i is invalidated. It is proved in [18] that this protocol induces SC on the execution. A. Vector Clocks Vector clocks ([8], [15], [3], [17]) consist of a mapping between events in a distributed history H and integer vectors. Each site i keeps its own vector clock V i with N entries, where N accounts for the number of sites in the system. Entry V i i maintains the local clock of site i, while V i j keeps track of the activity at site j, from the point of view of site i. Each time an event occurs at site i, its local clock ticks and a vector clock is associated with that event. Also, every message sent in the system is piggybacked with the vector clock corresponding to the send event. Site i updates its vector clock obeying the following rules: V i j 0 0 j N 1 - Initial value.

5 Site 0 <1,0,0> <2,0,0> <3,0,0> <4,0,0> <5,1,3> B. Plausible Clocks Site 1 Site 2 Fig. 4. <0,1,0> <0,2,0> <3,3,0> <3,4,0> <0,0,1> <0,1,2> Vector clock timestamping <0,1,3> <0,1,4> <3,4,5> Each time an internal event occurs: V i i V i i (typically =1) When a message with timestamp T is received: V i j max V i j T j 0 j N 1 V i i V i i Let a H i. We say that a has timestamp V(a), where V(a) is the value of V i at the instant when a was executed. Vector clocks are compared following these rules: v w v j w j 0 j N 1 v w v j w j 0 j N 1 v w v w and j such that v j w j v w k such that v k w k and j such that v j w j Mattern showed in [15] that there is an isomorphism between timestamps obtained from a vector clock when events are executed, and the causality relationship among events in H. Thus, vector clocks satisfy the Strong Clock Condition, where a and b H : 1) a = b V(a) = V(b) 2) a b V(a) V(b) 3) a b V(a) V(b) Definition 3: If v and w are two vector clocks, we say that t is the maximum of them, denoted as max V (v,w), if these conditions hold: v t and w t It doesn t exist a vector clock z such that v z w z z t The definition for minimum (denoted as min V ) is analogous to the one given for maximum. It can be easily verified that given vector clocks v and w, t is maximum(v,w) iff t[k] = max(v[k],w[k]), 0 k N 1, and that u is minimum(v,w) iff u[k] = min(v[k],w[k]), 0 k N 1. In figure 4 it can be appreciated a distributed history where vector clocks timestamp the events. The vector clock techniques provides a logical clock that captures completely the causality relation between events in history H. However, vector clocks require one entry for each one of the N sites of the system. If N is large, several scalability and efficiency problems arise [17]. There are growing storage costs because each site must reserve space to keep its local version of the vector clock and, depending on the particular system, vector times associated with certain events and data structures must be stored as well. Every message must be tagged with the current vector clock of the sender site. Since it can be expected that the total number of messages exchanges increases when the communications of such systems. Charron-Bost proved in [7] that given a distributed system with N sites, it is always possible to find a distributed history whose causality can only be captured by vector clocks with at least N entries. Plausible Clocks [21] do not characterize causality completely, but they can be constructed with a small and constant number of elements and yet they can decide the causal relationship between arbitrary pairs of events with an accuracy close to vector clocks, in particular when the computation follow a Client/Server communication pattern. Definition 4: A logical clock P is plausible if a, b H : a = b a P b a b a P b In the last definition P and P are relations established by P. A plausible clock P assigns unique timestamps to each event. Besides, P never confuses the direction of causality between any two ordered events (i.e., it is an order-preserving map). Thus, if in fact a causally precedes b, P will always report a P b, or if b causally precedes a, P will always report a P b. If P states that a P b, this necessarily is correct, because if the actual causal relation were a b, a b or a b, it would have been reported as a P b, a P b or a P b, respectively [21]. Vector clocks are plausible clocks, but not every plausible clock P characterizes causality, since it is possible that a b, but instead P reports a P b or a P b. Several examples of plausible clocks are presented in [21].

6 Site 0 Site 1 Site 2 Fig. 5. <1,0> <2,0> <3,0> <4,0> <5,1> <0,1> <0,2> <3,3> <3,4> <1,0> <2,1> <3,1> <4,1> Plausible clock REV (R=2) timestamping C. R-Entries Vector (REV ) <5,4> The plausible logical clock REV uses vectors of fixed size R N, which is independent of the number of sites in the distributed system. Site i updates entry i modulo R, since R may be less than N then multiple sites share the same entry in the vector (other mappings between sites and entries of the vector are possible). The mechanisms for timestamp comparison and assignment are similar to those presented above for vector clocks. The timestamps in REV follow the form s V, where s uniquely identifies each site and V is a R-dimensional vector of integers. Definition 5: Let v sv V and w sw W be two REV timestamps, then: v REV w sv sw V sv modulo R W sw modulo R v REV w sv sw V sv modulo R W sw modulo R! #"$ sv sw V W V sv modulo R W sw modulo R w "% sv sw &"% sv REV sw "% sv REV sw Figure 5 presents the same distributed history of figure 4, but timestamped with plausible clock REV, with R=2. v REV V. CONSISTENCY PROTOCOLS In this section we review two consistency protocols that can be applied to web caching, one using vector clocks and the second with plausible clocks. A. Protocol B It is now proposed protocol B [20], whose purpose is to produce executions that satisfy SC by verifying that all the objects store in a cache are mutually consistent among themselves according to SC. Let Clock i be the current logical time of site i. In this case, each site maintains a vector clock. Clock i is copied to Xi α and Xi ω when the local copy X i is updated. Each cache C i has an associated timestamp Context i. When object copy X s is brought from server s into C i (becoming X i ) or when object X i is updated at site i, Context i becomes max V Xi α Context i. Any later start time of a different value of the same object will be after or concurrent with the assigned ending time. SC allows that for all objects X i C i, Xi ω advances as the logical time at the site i progresses. If site i has a cache miss when accessing object X, protocol B executes the following steps: 1) It is requested that a server s sends back a copy of X s such that "% Xs ω Context i 2) Context i is updated to max V Xi α Context i. 3) Y ω i max V Yi ω Clock i for all the local copies of objects Yi ω C i 4) All the local copies of objects Y i C i such that "% Xi α Yi α ' min V Xi ω Yi ω max V Xi α Yi α ( are invalidated. B. Protocol C Protocol C follows the same rules of Protocol B but, in order to use a logical clock whose size is constant and independent of the number of sites in the system, vector clocks are replaced with a plausible clock P. For instance, if the site i has a cache miss when accessing object X, protocol C executes the following steps: 1) It is requested that a server s sends back a copy of X s such that "$ Xs ω P Context i. This copy of X s is inserted in C i and from now on it is denoted as X i. 2) Context i is updated to max P Xi α Context i. 3) Yi ω max P Yi ω Clock i for all the local copies of objects Yi ω C i. 4) All the local copies of objects Y i C i such that "% Xi α P Y α i ) min P Xi ω Yi ω P max P Xi α Yi α ( are invalidated. C. Properties Formal correctness proofs about protocols B and C can be found in [20]. Both protocols induce sequentially consistent executions. That means, for every execution of any of these protocols, it is always possible to build a

7 linear sequence of operations such that local order is respected. SC has the advantage that it is a simple model for programmers, being easy to understand what is happening with the order of events. Protocol B uses vector clocks that are not scalable, but captures precisely all the causality relations among events. Protocol C, on the other hand, is inherently scalable, but some relationships cannot be captured. VI. CONCLUSIONS AND FUTURE WORK Our aim in this paper was to present a new possibility for offering consistency in web caching. It is based on the Lifetime Based Protocol, which uses time lapses for the validity of the object. Such lapses could be obtain with the HTTP protocol as TTL intervals. Additionally, the protocol B supposes the introduction of vector clocks in each site for checking consistency of objects, through order of events. Protocol C uses plausible clocks which are a scalable alternative that also induces SC executions. So, this approach will consider the two different axis of consistency, time and order. As far as we know, the only protocol that considers both senses is BTC (Based Token Consistency, [5]). We are building a consistency framework where the proposals of this papers could be implemented. We are participating in a research project (called SPREAD) in the Computing Research Center at Costa Rica Institute of Technology,which is focused on implementations and properties about consistency models in web caching. REFERENCES [1] Adve, S. and Gharachorloo, K. Shared Memory Consistency Models: A Tutorial. Western Research Laboratory, Research Report 95/7, [2] Ahamad, M. and Raynal, M. Ordering and liness: Two Facets of Consistency?, Future Directions in Distributed Computing, [3] Baldoni, R. and Raynal, M. Fundamentals of Distributed Systems: A Practical Tour of Vector Clocks Systems. IEEE Distributed Systems Online, February, [4] Birman, K. Like it or Not, Web Services are Distributed Objects!, Communications of the ACM. December, [5] Bradley, A. and Bestavros, A. Basis Token Consistency: Extending and Evaluating a Novel Web Consistency Algorithm. Proceedings of the Second Workshop on Caching, Coherence, and Consistency (WC3 02). June, [6] Cao, P. and Liu, C. Maintaining Strong Cache Consistency in the World Wide Web. Proceedings of the 17th International Conference on Distributed Computing Systems. May, [7] Charron-Bost, B. Concerning the size of logical clocks in Distributed Systems. Information Processing Letters 39, pp , [8] Fidge, C. Logical in Distributed Computing Systems. Computer, Vol 24(8), August, [9] Fielding, R., Berners-Lee, T. et al. Hypertext Transfer Protocol HTTP/1.1, Network Working Group RFC 2616, June, [10] Gwertzman, J. and Seltzer M. World-Wide Web Cache Consistency. Proceedings of USENIX Annual Technical Conference, [11] Herlihy, M. and Wing, J. Linearizability: A Correctness Condition for Concurrent Objects. ACM Transactions on Programming Languages and Systems. Vol 12(3), July [12] Kawash, Jalal. Consistency Models for Internet Caching.Proceedings of Winter International Symposium on Information and Communication Technology. ACM International Conference Proceedings Series, [13] Lamport, L., Clocks and the Ordering of Events is a Distributed System. Communications of the ACM, vol 21, July, [14] Lamport, L. How to make a Multiprocessor Computer that correctly executes Multiprocess Programs. IEEE Transactions on Computer Systems, C-28(9), [15] Mattern, F. Virtual and Global States of Distributed Systems. Proceedings of the International Workshop on Parallel and Distributed Algorithms, , [16] Rabinovich, M. and Spatscheck, O. Web Caching and Replication. Addison-Wesley: United States, [17] Schwarz, R. and Mattern, F. Detecting Causal Relationships in Distributed Systems: In Search of the Holy Grail. Distributed Computing, [18] Torres-Rojas, F. J., Ahamad, M. and Raynal, M. Lifetime Based Consistency Protocols for Distributed Objects. Proceedings of the 12th International Symposium on Distributed Computing, DISC 98.September, [19] Torres-Rojas, F. J., Ahamad, M. and Raynal, M. d Consistency for Shared Distributed Objects. Annual ACM Symposium on Principles of Distributed Computing PODC 99, Atlanta, Georgia, [20] Torres-Rojas, Francisco J. Scalable Aproximations to Causality and Consistency of Distributed Objects. PhD Thesis, College of Computing, Georgia Institute of Technology, Atlanta, Georgia, [21] Torres-Rojas, F. J. and Ahamad, M. Plausible Clocks: Constant Size Logical Clocks for Distributed Systems. Distributed Computing. December, [22] Wang, J. A Survey of Web Caching Schemes for the Internet.

Timed Consistency for Shared Distributed Objects

Timed Consistency for Shared Distributed Objects Timed Consistency for Shared Distributed Objects Francisco J. Torres-Rojas College of Computing Georgia Institute of Technology U.S.A. torres@cc.gatech.edu Mustaque Ahamad College of Computing Georgia

More information

Consistency and Replication. Why replicate?

Consistency and Replication. Why replicate? Consistency and Replication Today: Introduction Consistency models Data-centric consistency models Client-centric consistency models Thoughts for the mid-term Lecture 14, page 1 Why replicate? Data replication:

More information

Replication. Consistency models. Replica placement Distribution protocols

Replication. Consistency models. Replica placement Distribution protocols Replication Motivation Consistency models Data/Client-centric consistency models Replica placement Distribution protocols Invalidate versus updates Push versus Pull Cooperation between replicas Client-centric

More information

Important Lessons. A Distributed Algorithm (2) Today's Lecture - Replication

Important Lessons. A Distributed Algorithm (2) Today's Lecture - Replication Important Lessons Lamport & vector clocks both give a logical timestamps Total ordering vs. causal ordering Other issues in coordinating node activities Exclusive access to resources/data Choosing a single

More information

Caching. Caching Overview

Caching. Caching Overview Overview Responses to specific URLs cached in intermediate stores: Motivation: improve performance by reducing response time and network bandwidth. Ideally, subsequent request for the same URL should be

More information

Consistency and Replication 1/62

Consistency and Replication 1/62 Consistency and Replication 1/62 Replicas and Consistency??? Tatiana Maslany in the show Orphan Black: The story of a group of clones that discover each other and the secret organization Dyad, which was

More information

Seminar on. By Sai Rahul Reddy P. 2/2/2005 Web Caching 1

Seminar on. By Sai Rahul Reddy P. 2/2/2005 Web Caching 1 Seminar on By Sai Rahul Reddy P 2/2/2005 Web Caching 1 Topics covered 1. Why Caching 2. Advantages of Caching 3. Disadvantages of Caching 4. Cache-Control HTTP Headers 5. Proxy Caching 6. Caching architectures

More information

Consistency and Replication 1/65

Consistency and Replication 1/65 Consistency and Replication 1/65 Replicas and Consistency??? Tatiana Maslany in the show Orphan Black: The story of a group of clones that discover each other and the secret organization Dyad, which was

More information

Data-Centric Consistency Models. The general organization of a logical data store, physically distributed and replicated across multiple processes.

Data-Centric Consistency Models. The general organization of a logical data store, physically distributed and replicated across multiple processes. Data-Centric Consistency Models The general organization of a logical data store, physically distributed and replicated across multiple processes. Consistency models The scenario we will be studying: Some

More information

Timed Consistency for Shared Distributed Objects?

Timed Consistency for Shared Distributed Objects? Timed Consistency for Shared Distributed Objects? Francisco J. Torres-Rojas Mustaque Ahamad Michel Raynal College of Computing College of Computing IRISA Georgia Institute of Technology Georgia Institute

More information

殷亚凤. Consistency and Replication. Distributed Systems [7]

殷亚凤. Consistency and Replication. Distributed Systems [7] Consistency and Replication Distributed Systems [7] 殷亚凤 Email: yafeng@nju.edu.cn Homepage: http://cs.nju.edu.cn/yafeng/ Room 301, Building of Computer Science and Technology Review Clock synchronization

More information

Fork Sequential Consistency is Blocking

Fork Sequential Consistency is Blocking Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer May 14, 2008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage

More information

Yet another redirection mechanism for the World-Wide Web?

Yet another redirection mechanism for the World-Wide Web? Yet another redirection mechanism for the World-Wide Web? Aline Baggio Vrije Universiteit Department of Computer Science De Boelelaan 1081a 1081HV Amsterdam The Netherlands http://www.cs.vu.nl/ baggio/

More information

Chapter 4: Distributed Systems: Replication and Consistency. Fall 2013 Jussi Kangasharju

Chapter 4: Distributed Systems: Replication and Consistency. Fall 2013 Jussi Kangasharju Chapter 4: Distributed Systems: Replication and Consistency Fall 2013 Jussi Kangasharju Chapter Outline n Replication n Consistency models n Distribution protocols n Consistency protocols 2 Data Replication

More information

Fork Sequential Consistency is Blocking

Fork Sequential Consistency is Blocking Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer Novembe4, 008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage

More information

Low Cost Coherence Protocol for DSM Systems with Processor Consistency 1

Low Cost Coherence Protocol for DSM Systems with Processor Consistency 1 Low Cost Coherence Protocol for DSM Systems with Processor Consistency Jerzy Brzeziński Michał Szychowiak Institute of Computing Science Poznań University of Technology Piotrowo 3a, 6-965 Poznań, POLAND

More information

A Suite of Formal Denitions for Consistency Criteria. in Distributed Shared Memories Rennes Cedex (France) 1015 Lausanne (Switzerland)

A Suite of Formal Denitions for Consistency Criteria. in Distributed Shared Memories Rennes Cedex (France) 1015 Lausanne (Switzerland) A Suite of Formal Denitions for Consistency Criteria in Distributed Shared Memories Michel Raynal Andre Schiper IRISA, Campus de Beaulieu EPFL, Dept d'informatique 35042 Rennes Cedex (France) 1015 Lausanne

More information

Piggyback server invalidation for proxy cache coherency

Piggyback server invalidation for proxy cache coherency Piggyback server invalidation for proxy cache coherency Balachander Krishnamurthy a and Craig E. Wills b a AT&T Labs-Research, Florham Park, NJ 07932 USA bala@research.att.com b Worcester Polytechnic Institute,

More information

Implementing Sequential Consistency In Cache-Based Systems

Implementing Sequential Consistency In Cache-Based Systems To appear in the Proceedings of the 1990 International Conference on Parallel Processing Implementing Sequential Consistency In Cache-Based Systems Sarita V. Adve Mark D. Hill Computer Sciences Department

More information

Consistency & Replication

Consistency & Replication Objectives Consistency & Replication Instructor: Dr. Tongping Liu To understand replication and related issues in distributed systems" To learn about how to keep multiple replicas consistent with each

More information

Consistency and Replication. Some slides are from Prof. Jalal Y. Kawash at Univ. of Calgary

Consistency and Replication. Some slides are from Prof. Jalal Y. Kawash at Univ. of Calgary Consistency and Replication Some slides are from Prof. Jalal Y. Kawash at Univ. of Calgary Reasons for Replication Reliability/Availability : Mask failures Mask corrupted data Performance: Scalability

More information

Consistency and Replication. Why replicate?

Consistency and Replication. Why replicate? Consistency and Replication Today: Consistency models Data-centric consistency models Client-centric consistency models Lecture 15, page 1 Why replicate? Data replication versus compute replication Data

More information

Distributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016 Distributed Systems 2015 Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2016 1 Question 1 Why did the use of reference counting for remote objects prove to be impractical? Explain. It s not fault

More information

On the Definition of Sequential Consistency

On the Definition of Sequential Consistency On the Definition of Sequential Consistency Ali Sezgin Ganesh Gopalakrishnan Abstract The definition of sequential consistency is compared with an intuitive notion of correctness. A relation between what

More information

Consistency and Replication

Consistency and Replication Consistency and Replication 1 D R. Y I N G W U Z H U Reasons for Replication Data are replicated to increase the reliability of a system. Replication for performance Scaling in numbers Scaling in geographical

More information

Consistency and Replication

Consistency and Replication Consistency and Replication Introduction Data-centric consistency Client-centric consistency Distribution protocols Consistency protocols 1 Goal: Reliability Performance Problem: Consistency Replication

More information

Client-server Basics. 1. Motivation

Client-server Basics. 1. Motivation Page 1 of 8 Client-server Basics Oxford Brookes University 2004 Contents 1. Motivation 2. Basic Model of the Web 3. Extensions - Caching and Proxies 4. High Performance Web Servers 5. Web Services Appendices

More information

The Effectiveness of Cache Coherence Implemented on the Web

The Effectiveness of Cache Coherence Implemented on the Web The Effectiveness of Cache Coherence Implemented on the Web Felicia Doswell and Marc Abrams Department of Computer Science Virginia Tech Blacksburg, Virginia 246 fdoswell,abrams @.vt.edu Abstract The popularity

More information

Web-based Energy-efficient Cache Invalidation in Wireless Mobile Environment

Web-based Energy-efficient Cache Invalidation in Wireless Mobile Environment Web-based Energy-efficient Cache Invalidation in Wireless Mobile Environment Y.-K. Chang, M.-H. Hong, and Y.-W. Ting Dept. of Computer Science & Information Engineering, National Cheng Kung University

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

DISTRIBUTED COMPUTER SYSTEMS

DISTRIBUTED COMPUTER SYSTEMS DISTRIBUTED COMPUTER SYSTEMS CONSISTENCY AND REPLICATION CONSISTENCY MODELS Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Consistency Models Background Replication Motivation

More information

Analysis of Distributed Snapshot Algorithms

Analysis of Distributed Snapshot Algorithms Analysis of Distributed Snapshot Algorithms arxiv:1601.08039v1 [cs.dc] 29 Jan 2016 Sharath Srivatsa sharath.srivatsa@iiitb.org September 15, 2018 Abstract Many problems in distributed systems can be cast

More information

Design and Implementation of A P2P Cooperative Proxy Cache System

Design and Implementation of A P2P Cooperative Proxy Cache System Design and Implementation of A PP Cooperative Proxy Cache System James Z. Wang Vipul Bhulawala Department of Computer Science Clemson University, Box 40974 Clemson, SC 94-0974, USA +1-84--778 {jzwang,

More information

Module 7 - Replication

Module 7 - Replication Module 7 - Replication Replication Why replicate? Reliability Avoid single points of failure Performance Scalability in numbers and geographic area Why not replicate? Replication transparency Consistency

More information

An Implementation of Causal Memories using the Writing Semantic

An Implementation of Causal Memories using the Writing Semantic An Implementation of Causal Memories using the Writing Semantic R. Baldoni, C. Spaziani and S. Tucci-Piergiovanni D. Tulone Dipartimento di Informatica e Sistemistica Bell-Laboratories Universita di Roma

More information

CACHE COHERENCY IN P2P COOPERATIVE PROXY CACHE SYSTEMS

CACHE COHERENCY IN P2P COOPERATIVE PROXY CACHE SYSTEMS CACHE COHERENCY IN P2P COOPERATIVE PROXY CACHE SYSTEMS Ankur B. Pal James Z. Wang Pradip K. Srimani* Department of Computer Science Clemson University Clemson, SC 29634 {apal, jzwang, srimani}@cs.clemson.edu

More information

Computing Parable. The Archery Teacher. Courtesy: S. Keshav, U. Waterloo. Computer Science. Lecture 16, page 1

Computing Parable. The Archery Teacher. Courtesy: S. Keshav, U. Waterloo. Computer Science. Lecture 16, page 1 Computing Parable The Archery Teacher Courtesy: S. Keshav, U. Waterloo Lecture 16, page 1 Consistency and Replication Today: Consistency models Data-centric consistency models Client-centric consistency

More information

Lecture 6 Consistency and Replication

Lecture 6 Consistency and Replication Lecture 6 Consistency and Replication Prof. Wilson Rivera University of Puerto Rico at Mayaguez Electrical and Computer Engineering Department Outline Data-centric consistency Client-centric consistency

More information

Maintaining Mutual Consistency for Cached Web Objects

Maintaining Mutual Consistency for Cached Web Objects Maintaining Mutual Consistency for Cached Web Objects Bhuvan Urgaonkar, Anoop George Ninan, Mohammad Salimullah Raunak Prashant Shenoy and Krithi Ramamritham Department of Computer Science, University

More information

Improving object cache performance through selective placement

Improving object cache performance through selective placement University of Wollongong Research Online Faculty of Informatics - Papers (Archive) Faculty of Engineering and Information Sciences 2006 Improving object cache performance through selective placement Saied

More information

Checkpointing and Rollback Recovery in Distributed Systems: Existing Solutions, Open Issues and Proposed Solutions

Checkpointing and Rollback Recovery in Distributed Systems: Existing Solutions, Open Issues and Proposed Solutions Checkpointing and Rollback Recovery in Distributed Systems: Existing Solutions, Open Issues and Proposed Solutions D. Manivannan Department of Computer Science University of Kentucky Lexington, KY 40506

More information

TIME ATTRIBUTION 11/4/2018. George Porter Nov 6 and 8, 2018

TIME ATTRIBUTION 11/4/2018. George Porter Nov 6 and 8, 2018 TIME George Porter Nov 6 and 8, 2018 ATTRIBUTION These slides are released under an Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) Creative Commons license These slides incorporate

More information

ABSTRACT. Web Service Atomic Transaction (WS-AT) is a standard used to implement distributed

ABSTRACT. Web Service Atomic Transaction (WS-AT) is a standard used to implement distributed ABSTRACT Web Service Atomic Transaction (WS-AT) is a standard used to implement distributed processing over the internet. Trustworthy coordination of transactions is essential to ensure proper running

More information

Last Class: Consistency Models. Today: Implementation Issues

Last Class: Consistency Models. Today: Implementation Issues Last Class: Consistency Models Need for replication Data-centric consistency Strict, linearizable, sequential, causal, FIFO Lecture 15, page 1 Today: Implementation Issues Replica placement Use web caching

More information

A New Web Cache Replacement Algorithm 1

A New Web Cache Replacement Algorithm 1 A New Web Cache Replacement Algorithm Anupam Bhattacharjee, Biolob Kumar Debnath Department of Computer Science and Engineering, Bangladesh University of Engineering and Technology, Dhaka-, Bangladesh

More information

CSE 5306 Distributed Systems. Consistency and Replication

CSE 5306 Distributed Systems. Consistency and Replication CSE 5306 Distributed Systems Consistency and Replication 1 Reasons for Replication Data are replicated for the reliability of the system Servers are replicated for performance Scaling in numbers Scaling

More information

Dynamic Broadcast Scheduling in DDBMS

Dynamic Broadcast Scheduling in DDBMS Dynamic Broadcast Scheduling in DDBMS Babu Santhalingam #1, C.Gunasekar #2, K.Jayakumar #3 #1 Asst. Professor, Computer Science and Applications Department, SCSVMV University, Kanchipuram, India, #2 Research

More information

CS6450: Distributed Systems Lecture 11. Ryan Stutsman

CS6450: Distributed Systems Lecture 11. Ryan Stutsman Strong Consistency CS6450: Distributed Systems Lecture 11 Ryan Stutsman Material taken/derived from Princeton COS-418 materials created by Michael Freedman and Kyle Jamieson at Princeton University. Licensed

More information

Wait-Free Regular Storage from Byzantine Components

Wait-Free Regular Storage from Byzantine Components Wait-Free Regular Storage from Byzantine Components Ittai Abraham Gregory Chockler Idit Keidar Dahlia Malkhi July 26, 2006 Abstract We consider the problem of implementing a wait-free regular register

More information

A Parametrized Algorithm that Implements Sequential, Causal, and Cache Memory Consistencies

A Parametrized Algorithm that Implements Sequential, Causal, and Cache Memory Consistencies A Parametrized Algorithm that Implements Sequential, Causal, and Cache Memory Consistencies Ernesto Jiménez b, Antonio Fernández a, Vicent Cholvi c, a Universidad Rey Juan Carlos, 28933 Móstoles, Spain

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

Replication in Distributed Systems

Replication in Distributed Systems Replication in Distributed Systems Replication Basics Multiple copies of data kept in different nodes A set of replicas holding copies of a data Nodes can be physically very close or distributed all over

More information

On the interconnection of message passing systems

On the interconnection of message passing systems Information Processing Letters 105 (2008) 249 254 www.elsevier.com/locate/ipl On the interconnection of message passing systems A. Álvarez a,s.arévalo b, V. Cholvi c,, A. Fernández b,e.jiménez a a Polytechnic

More information

A Unified Formalization of Four Shared-Memory Models

A Unified Formalization of Four Shared-Memory Models Computer Sciences Technical Rert #1051, September 1991, Revised September 1992 A Unified Formalization of Four Shared-Memory Models Sarita V. Adve Mark D. Hill Department of Computer Sciences University

More information

Modelling and Analysis of Push Caching

Modelling and Analysis of Push Caching Modelling and Analysis of Push Caching R. G. DE SILVA School of Information Systems, Technology & Management University of New South Wales Sydney 2052 AUSTRALIA Abstract: - In e-commerce applications,

More information

Bus-Based Coherent Multiprocessors

Bus-Based Coherent Multiprocessors Bus-Based Coherent Multiprocessors Lecture 13 (Chapter 7) 1 Outline Bus-based coherence Memory consistency Sequential consistency Invalidation vs. update coherence protocols Several Configurations for

More information

Topic C Memory Models

Topic C Memory Models Memory Memory Non- Topic C Memory CPEG852 Spring 2014 Guang R. Gao CPEG 852 Memory Advance 1 / 29 Memory 1 Memory Memory Non- 2 Non- CPEG 852 Memory Advance 2 / 29 Memory Memory Memory Non- Introduction:

More information

4 Chip Multiprocessors (I) Chip Multiprocessors (ACS MPhil) Robert Mullins

4 Chip Multiprocessors (I) Chip Multiprocessors (ACS MPhil) Robert Mullins 4 Chip Multiprocessors (I) Robert Mullins Overview Coherent memory systems Introduction to cache coherency protocols Advanced cache coherency protocols, memory systems and synchronization covered in the

More information

MYE017 Distributed Systems. Kostas Magoutis

MYE017 Distributed Systems. Kostas Magoutis MYE017 Distributed Systems Kostas Magoutis magoutis@cse.uoi.gr http://www.cse.uoi.gr/~magoutis Data-centric Consistency Models The general organization of a logical data store, physically distributed and

More information

Release Consistency. Draft material for 3rd edition of Distributed Systems Concepts and Design

Release Consistency. Draft material for 3rd edition of Distributed Systems Concepts and Design Draft material for 3rd edition of Distributed Systems Concepts and Design Department of Computer Science, Queen Mary & Westfield College, University of London Release Consistency 1. Introduction Chapter

More information

Routing Protocols in MANETs

Routing Protocols in MANETs Chapter 4 Routing Protocols in MANETs 4.1 Introduction The main aim of any Ad Hoc network routing protocol is to meet the challenges of the dynamically changing topology and establish a correct and an

More information

Maintaining Temporal Consistency: Issues and Algorithms

Maintaining Temporal Consistency: Issues and Algorithms Maintaining Temporal Consistency: Issues and Algorithms Ming Xiong, John A. Stankovic, Krithi Ramamritham, Don Towsley, Rajendran Sivasankaran Department of Computer Science University of Massachusetts

More information

Concurrent Objects and Linearizability

Concurrent Objects and Linearizability Chapter 3 Concurrent Objects and Linearizability 3.1 Specifying Objects An object in languages such as Java and C++ is a container for data. Each object provides a set of methods that are the only way

More information

Time Synchronization and Logical Clocks

Time Synchronization and Logical Clocks Time Synchronization and Logical Clocks CS 240: Computing Systems and Concurrency Lecture 5 Mootaz Elnozahy Today 1. The need for time synchronization 2. Wall clock time synchronization 3. Logical Time

More information

Assignment 5. Georgia Koloniari

Assignment 5. Georgia Koloniari Assignment 5 Georgia Koloniari 2. "Peer-to-Peer Computing" 1. What is the definition of a p2p system given by the authors in sec 1? Compare it with at least one of the definitions surveyed in the last

More information

EARM: An Efficient and Adaptive File Replication with Consistency Maintenance in P2P Systems.

EARM: An Efficient and Adaptive File Replication with Consistency Maintenance in P2P Systems. : An Efficient and Adaptive File Replication with Consistency Maintenance in P2P Systems. 1 K.V.K.Chaitanya, 2 Smt. S.Vasundra, M,Tech., (Ph.D), 1 M.Tech (Computer Science), 2 Associate Professor, Department

More information

SIPCache: A Distributed SIP Location Service for Mobile Ad-Hoc Networks

SIPCache: A Distributed SIP Location Service for Mobile Ad-Hoc Networks SIPCache: A Distributed SIP Location Service for Mobile Ad-Hoc Networks Simone Leggio Hugo Miranda Kimmo Raatikainen Luís Rodrigues University of Helsinki University of Lisbon August 16, 2006 Abstract

More information

CSE 5306 Distributed Systems

CSE 5306 Distributed Systems CSE 5306 Distributed Systems Consistency and Replication Jia Rao http://ranger.uta.edu/~jrao/ 1 Reasons for Replication Data is replicated for the reliability of the system Servers are replicated for performance

More information

Cache Replacement Strategies for Scalable Video Streaming in CCN

Cache Replacement Strategies for Scalable Video Streaming in CCN Cache Replacement Strategies for Scalable Video Streaming in CCN Junghwan Lee, Kyubo Lim, and Chuck Yoo Dept. Computer Science and Engineering Korea University Seoul, Korea {jhlee, kblim, chuck}@os.korea.ac.kr

More information

Handout 9: Imperative Programs and State

Handout 9: Imperative Programs and State 06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative

More information

Steering. Stream. User Interface. Stream. Manager. Interaction Managers. Snapshot. Stream

Steering. Stream. User Interface. Stream. Manager. Interaction Managers. Snapshot. Stream Agent Roles in Snapshot Assembly Delbert Hart Dept. of Computer Science Washington University in St. Louis St. Louis, MO 63130 hart@cs.wustl.edu Eileen Kraemer Dept. of Computer Science University of Georgia

More information

System models for distributed systems

System models for distributed systems System models for distributed systems INF5040/9040 autumn 2010 lecturer: Frank Eliassen INF5040 H2010, Frank Eliassen 1 System models Purpose illustrate/describe common properties and design choices for

More information

An Enhanced Binning Algorithm for Distributed Web Clusters

An Enhanced Binning Algorithm for Distributed Web Clusters 1 An Enhanced Binning Algorithm for Distributed Web Clusters Hann-Jang Ho Granddon D. Yen Jack Lee Department of Information Management, WuFeng Institute of Technology SingLing Lee Feng-Wei Lien Department

More information

AN EFFICIENT ALGORITHM IN FAULT TOLERANCE FOR ELECTING COORDINATOR IN DISTRIBUTED SYSTEMS

AN EFFICIENT ALGORITHM IN FAULT TOLERANCE FOR ELECTING COORDINATOR IN DISTRIBUTED SYSTEMS International Journal of Computer Engineering & Technology (IJCET) Volume 6, Issue 11, Nov 2015, pp. 46-53, Article ID: IJCET_06_11_005 Available online at http://www.iaeme.com/ijcet/issues.asp?jtype=ijcet&vtype=6&itype=11

More information

Synchronization. Distributed Systems IT332

Synchronization. Distributed Systems IT332 Synchronization Distributed Systems IT332 2 Outline Clock synchronization Logical clocks Election algorithms Mutual exclusion Transactions 3 Hardware/Software Clocks Physical clocks in computers are realized

More information

1. Memory technology & Hierarchy

1. Memory technology & Hierarchy 1. Memory technology & Hierarchy Back to caching... Advances in Computer Architecture Andy D. Pimentel Caches in a multi-processor context Dealing with concurrent updates Multiprocessor architecture In

More information

A Proposal for a High Speed Multicast Switch Fabric Design

A Proposal for a High Speed Multicast Switch Fabric Design A Proposal for a High Speed Multicast Switch Fabric Design Cheng Li, R.Venkatesan and H.M.Heys Faculty of Engineering and Applied Science Memorial University of Newfoundland St. John s, NF, Canada AB X

More information

Important Lessons. Today's Lecture. Two Views of Distributed Systems

Important Lessons. Today's Lecture. Two Views of Distributed Systems Important Lessons Replication good for performance/ reliability Key challenge keeping replicas up-to-date Wide range of consistency models Will see more next lecture Range of correctness properties L-10

More information

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University CS 555: DISTRIBUTED SYSTEMS [LOGICAL CLOCKS] Shrideep Pallickara Computer Science Colorado State University Frequently asked questions from the previous class survey What happens in a cluster when 2 machines

More information

Efficient Cache Consistency in Server-Based MANET with Cache Replication

Efficient Cache Consistency in Server-Based MANET with Cache Replication Efficient Cache Consistency in Server-Based MANET with Cache Replication J. Bibiana Jenifer 1, M. Manikandan 2 Student, Computer Science and Engineering, Adhiyamaan College of Engineering, Hosur, India

More information

Replication of Data. Data-Centric Consistency Models. Reliability vs. Availability

Replication of Data. Data-Centric Consistency Models. Reliability vs. Availability CIS 505: Software Systems Lecture Note on Consistency and Replication Instructor: Insup Lee Department of Computer and Information Science University of Pennsylvania CIS 505, Spring 2007 Replication of

More information

Hardware Memory Models: x86-tso

Hardware Memory Models: x86-tso Hardware Memory Models: x86-tso John Mellor-Crummey Department of Computer Science Rice University johnmc@rice.edu COMP 522 Lecture 9 20 September 2016 Agenda So far hardware organization multithreading

More information

IJMIE Volume 2, Issue 7 ISSN:

IJMIE Volume 2, Issue 7 ISSN: Consistency and Safe Caching in Distributed File System by Using Lease Based Mechanism Prabodh S. Nimat* Prof. A.R.Itakikar* Abstract In this paper, we argue that weak cache consistency and unsecured caching

More information

Beyond TrueTime: Using AugmentedTime for Improving Spanner

Beyond TrueTime: Using AugmentedTime for Improving Spanner Beyond TrueTime: Using AugmentedTime for Improving Spanner Murat Demirbas University at Buffalo, SUNY demirbas@cse.buffalo.edu Sandeep Kulkarni Michigan State University, sandeep@cse.msu.edu Spanner [1]

More information

Time and distributed systems. Just use time stamps? Correct consistency model? Replication and Consistency

Time and distributed systems. Just use time stamps? Correct consistency model? Replication and Consistency Correct consistency model? Replication and Consistency B COS 58: dvanced Computer Systems Lecture 3 Let s say and B send an op. ll readers see B? ll readers see B? Michael Freedman Some see B and others

More information

Analysis and Design of Enhanced HTTP Proxy Cashing Server

Analysis and Design of Enhanced HTTP Proxy Cashing Server Analysis and Design of Enhanced HTTP Proxy Cashing Server C. Prakash (Department of Mathematics, BHU) Chandu.math.bhu@gmail.com Abstract A proxy acts as a middle person specialists between its customers

More information

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA A taxonomy of race conditions. D. P. Helmbold, C. E. McDowell UCSC-CRL-94-34 September 28, 1994 Board of Studies in Computer and Information Sciences University of California, Santa Cruz Santa Cruz, CA

More information

Relaxed Memory-Consistency Models

Relaxed Memory-Consistency Models Relaxed Memory-Consistency Models [ 9.1] In small multiprocessors, sequential consistency can be implemented relatively easily. However, this is not true for large multiprocessors. Why? This is not the

More information

Complex event processing in reactive distributed systems

Complex event processing in reactive distributed systems Complex event processing in reactive distributed systems Ján JANÍK Slovak University of Technology Faculty of Informatics and Information Technologies Ilkovičova 3, 842 16 Bratislava, Slovakia xjanikj@is.stuba.sk

More information

Computer Architecture

Computer Architecture 18-447 Computer Architecture CSCI-564 Advanced Computer Architecture Lecture 29: Consistency & Coherence Lecture 20: Consistency and Coherence Bo Wu Prof. Onur Mutlu Colorado Carnegie School Mellon University

More information

SYNCHRONIZATION. DISTRIBUTED SYSTEMS Principles and Paradigms. Second Edition. Chapter 6 ANDREW S. TANENBAUM MAARTEN VAN STEEN

SYNCHRONIZATION. DISTRIBUTED SYSTEMS Principles and Paradigms. Second Edition. Chapter 6 ANDREW S. TANENBAUM MAARTEN VAN STEEN DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN واحد نجف آباد Chapter 6 SYNCHRONIZATION Dr. Rastegari - Email: rastegari@iaun.ac.ir - Tel: +98331-2291111-2488

More information

A Top Catching Scheme Consistency Controlling in Hybrid P2P Network

A Top Catching Scheme Consistency Controlling in Hybrid P2P Network A Top Catching Scheme Consistency Controlling in Hybrid P2P Network V. Asha*1, P Ramesh Babu*2 M.Tech (CSE) Student Department of CSE, Priyadarshini Institute of Technology & Science, Chintalapudi, Guntur(Dist),

More information

Application Protocols and HTTP

Application Protocols and HTTP Application Protocols and HTTP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #0 due

More information

Distributed Computing Environment (DCE)

Distributed Computing Environment (DCE) Distributed Computing Environment (DCE) Distributed Computing means computing that involves the cooperation of two or more machines communicating over a network as depicted in Fig-1. The machines participating

More information

Distributed Systems: Consistency and Replication

Distributed Systems: Consistency and Replication Distributed Systems: Consistency and Replication Alessandro Sivieri Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico, Italy alessandro.sivieri@polimi.it http://corsi.dei.polimi.it/distsys

More information

The Effectiveness of Cache Coherence Implemented on the Web

The Effectiveness of Cache Coherence Implemented on the Web The Effectiveness of Cache Coherence Implemented on the Web Felicia Doswell fdoswell@vt.edu Mark Abrams mabrams@harmonia.com Department of Computer Science Virginia Tech Blacksburg, VA 24060 Srinidhi Varadarajan

More information

Oh-RAM! One and a Half Round Atomic Memory

Oh-RAM! One and a Half Round Atomic Memory Oh-RAM! One and a Half Round Atomic Memory Theophanis Hadjistasi Nicolas Nicolaou Alexander Schwarzmann July 21, 2018 arxiv:1610.08373v1 [cs.dc] 26 Oct 2016 Abstract Emulating atomic read/write shared

More information

Module 5: Performance Issues in Shared Memory and Introduction to Coherence Lecture 10: Introduction to Coherence. The Lecture Contains:

Module 5: Performance Issues in Shared Memory and Introduction to Coherence Lecture 10: Introduction to Coherence. The Lecture Contains: The Lecture Contains: Four Organizations Hierarchical Design Cache Coherence Example What Went Wrong? Definitions Ordering Memory op Bus-based SMP s file:///d /...audhary,%20dr.%20sanjeev%20k%20aggrwal%20&%20dr.%20rajat%20moona/multi-core_architecture/lecture10/10_1.htm[6/14/2012

More information

Concurrent Reading and Writing of Clocks

Concurrent Reading and Writing of Clocks Concurrent Reading and Writing of Clocks LESLIE LAMPORT Digital Equipment Corporation As an exercise in synchronization without mutual exclusion, algorithms are developed to implement both a monotonic

More information

1 The comparison of QC, SC and LIN

1 The comparison of QC, SC and LIN Com S 611 Spring Semester 2009 Algorithms for Multiprocessor Synchronization Lecture 5: Tuesday, 3rd February 2009 Instructor: Soma Chaudhuri Scribe: Jianrong Dong 1 The comparison of QC, SC and LIN Pi

More information