Applying Sequential Consistency to Web Caching
|
|
- Arron Walton
- 5 years ago
- Views:
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 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 informationConsistency 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 informationReplication. 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 informationImportant 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 informationCaching. 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 informationConsistency 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 informationSeminar 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 informationConsistency 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 informationData-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 informationTimed 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] 殷亚凤 Email: yafeng@nju.edu.cn Homepage: http://cs.nju.edu.cn/yafeng/ Room 301, Building of Computer Science and Technology Review Clock synchronization
More informationFork 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 informationYet 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 informationChapter 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 informationFork 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 informationLow 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 informationA 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 informationPiggyback 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 informationImplementing 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 informationConsistency & 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 informationConsistency 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 informationConsistency 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 informationDistributed 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 informationOn 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 informationConsistency 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 informationConsistency and Replication
Consistency and Replication Introduction Data-centric consistency Client-centric consistency Distribution protocols Consistency protocols 1 Goal: Reliability Performance Problem: Consistency Replication
More informationClient-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 informationThe 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 informationWeb-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 informationByzantine 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 informationDISTRIBUTED 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 informationAnalysis 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 informationDesign 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 informationModule 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 informationAn 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 informationCACHE 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 informationComputing 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 informationLecture 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 informationMaintaining 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 informationImproving 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 informationCheckpointing 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 informationTIME 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 informationABSTRACT. 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 informationLast 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 informationA 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 informationCSE 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 informationDynamic 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 informationCS6450: 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 informationWait-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 informationA 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 information2386 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 informationReplication 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 informationOn 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 informationA 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 informationModelling 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 informationBus-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 informationTopic 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 information4 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 informationMYE017 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 informationRelease 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 informationRouting 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 informationMaintaining 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 informationConcurrent 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 informationTime 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 informationAssignment 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 informationEARM: 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 informationSIPCache: 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 informationCSE 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 informationCache 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 informationHandout 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 informationSteering. 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 informationSystem 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 informationAn 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 informationAN 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 informationSynchronization. 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 information1. 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 informationA 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 informationImportant 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 informationCS555: 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 informationEfficient 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 informationReplication 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 informationHardware 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 informationIJMIE 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 informationBeyond 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 informationTime 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 informationAnalysis 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 informationA 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 informationRelaxed 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 informationComplex 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 informationComputer 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 informationSYNCHRONIZATION. 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 informationA 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 informationApplication 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 informationDistributed 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 informationDistributed 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 informationThe 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 informationOh-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 informationModule 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 informationConcurrent 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 information1 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