I Can t Believe It s Not Causal! Scalable Causal Consistency with No Slowdown Cascades

Size: px
Start display at page:

Download "I Can t Believe It s Not Causal! Scalable Causal Consistency with No Slowdown Cascades"

Transcription

1 I Can t Believe It s Not Causal! Scalable Causal Consistency with No Slowdown Cascades Syed Akbar Mehdi 1, Cody Littley 1, Natacha Crooks 1, Lorenzo Alvisi 1,4, Nathan Bronson 2, Wyatt Lloyd 3 1 UT Austin, 2 Facebook, 3 USC, 4 Cornell University

2 Causal Consistency: Great In Theory Higher Perf. Eventual Consistency Causal Consistency Strong Consistency Stronger Guarantees Lots of exciting research building scalable causal data-stores, e.g., Ø COPS [SOSP 11] Ø Eiger [NSDI 13] Ø Cure [ICDCS 16] Ø Bolt-On [SIGMOD 13] Ø Orbe [SOCC 13] Ø TARDiS [SIGMOD 16] Ø Chain Reaction [EuroSys 13] Ø GentleRain [SOCC 14]

3 Causal Consistency: But In Practice The middle child of consistency models Reality: Largest web apps use eventual consistency, e.g., Espresso TAO Manhattan

4 Key Hurdle: Slowdown Cascades Implicit Assumption of Current Causal Systems Reality at Scale

5 Key Hurdle: Slowdown Cascades Wait Enforce Consistency Wait Implicit Assumption of Current Causal Systems Reality at Scale Slowdown Cascade

6 Replicated and sharded storage for a social network

7 W 1 Writes causally ordered as W " W $ W %

8 W 1 W 1 Applied? W 2 Buffered W 2 Applied? W 3 Buffered Current causal systems enforce consistency as a datastore invariant

9 Slowdown Cascade W 1 W 1 Delayed Buffered consistency inside the data store Applied? W 1 W 2 Applied? Slowdown cascades affect all previous W causal systems because they 2 enforce W 3 Buffered Alice s advisor unnecessarily waits for Justin Bieber s update despite not reading it

10 Buffered Replicated Writes Slowdown Cascades in Eiger (NSDI 13) Replicated write buffers grow arbitrarily because Eiger enforces consistency inside the datastore Replicated writes received Normal Slowdown

11 OCCULT Observable Causal Consistency Using Lossy Timestamps

12 Observable Causal Consistency Causal Consistency guarantees that each client observes a monotonically non-decreasing set of updates (including its own) in an order that respects potential causality between operations Key Idea: Don t implement a causally consistent data store Let clients observe a causally consistent data store

13 How do clients observe a causally consistent datastore?

14 Writes accepted only by master shards and then replicated asynchronously in-order to slaves

15 Each shard keeps track of a shardstamp which counts the writes it has applied

16 Client Client 3 Client 2 Causal Timestamp: Vector of shardstamps which identifies a global state across all shards

17 78 7 a Client Client 3 Client 2 Write Protocol: Causal timestamps stored with objects to propagate dependencies

18 8 7 a Client Client 3 Client 2 Write Protocol: Server shardstamp is incremented and merged into causal timestamps

19 8 7 a Client Client 3 Client 2 Read Protocol: Always safe to read from master

20 a Client Client 3 Client 2 Read Protocol: Object s causal timestamp merged into client s causal timestamp

21 8 7 a Client b Client 3 Client 2 Read Protocol: Causal timestamp merging tracks causal ordering for writes following reads

22 8 7 a Client b Client 3 Client 2 Replication: Like eventual consistency; asynchronous, unordered, writes applied immediately

23 8 7 a a Delayed! Client Client b b Client 3 Replication: s increment their shardstamps using causal timestamp of a replicated write

24 8 7 a a Client Client Delayed! 8 8 b b 8 5 5? Client 3 Read Protocol: Clients do consistency check when reading from slaves

25 8 7 a a Client Client 2 Delayed! 5 5 b b b s dependencies are delayed, but we can read it anyway! ? Client 3 Read Protocol: Clients do consistency check when reading from slaves

26 ? a a Stale Shard! Delayed! Client Client b b Client 3 Read Protocol: Clients do consistency check when reading from slaves

27 ? a a Stale Shard! Delayed! Client Client b b Client 3 Options: 1. Retry locally 2. Read from master Read Protocol: Resolving stale reads

28 Causal Timestamp Compression What happens at scale when number of shards is (say) 100,000? Size(Causal Timestamp) == 100,000?

29 Causal Timestamp Compression: Strawman To compress down to n, conflate shardstamps with same ids modulo n Problem: False Dependencies Compress

30 Causal Timestamp Compression: Strawman To compress down to n, conflate shardstamps with same ids modulo n Compress Problem: False Dependencies Solution: Use system clock as the next value of shardstamp on a write Decouples shardstamp value from number of writes on each shard

31 Causal Timestamp Compression: Strawman To compress from N to n, conflate shardstamps with same ids modulo n Compress Problem: Modulo arithmetic still conflates unrelated shardstamps

32 Causal Timestamp Compression Insight: Recent shardstamps more likely to create false dependencies Use high resolution for recent shardstamps and conflate the rest Shardstamps Shard IDs * Catch-all shardstamp

33 Causal Timestamp Compression Insight: Recent shardstamps more likely to create false dependencies Use high resolution for recent shardstamps and conflate the rest Shardstamps Shard IDs * Catch-all shardstamp 0.01 % false dependencies with just 4 shardstamps and 16K logical shards

34 Transactions in OCCULT Scalable causally consistent general purpose transactions

35 Properties of Transactions A. Atomicity B. Read from a causally consistent snapshot C. No concurrent conflicting writes

36 Properties of Transactions A. Observable atomicity B. Observably read from a causally consistent snapshot C. No concurrent conflicting writes

37 Properties of Transactions A. Observable Atomicity B. Observably read from a causally consistent snapshot C. No concurrent conflicting writes Properties of Protocol 1. No centralized timestamp authorities (e.g. per-datacenter) Transactions ordered using causal timestamps

38 Properties of Transactions A. Observable Atomicity B. Observably read from a causally consistent snapshot C. No concurrent conflicting writes Properties of Protocol 1. No centralized timestamp authority (e.g. per-datacenter) Transactions ordered using causal timestamps 2. Transaction commit latency is independent of number of replicas

39 A. Observable Atomicity B. Observably read from causally consistent snapshot C. No concurrent conflicting writes 1. Read Phase Buffer writes at client 2. Validation Phase Client validates A, B and C using causal timestamps 3. Commit Phase Properties of Transactions Three Phase Protocol Buffered writes committed in an observably atomic way

40 0 a = [] 0 a = [] b = [Bob] b = [Bob] c = [Cal] c = [Cal] Alice and her advisor are managing lists of students for three courses

41 0 a = [] 0 a = [] b = [Bob] b = [Bob] c = [Cal] c = [Cal] Observable atomicity and causally consistent snapshot reads enforced by same mechanism

42 0 a = [] 0 a = [] Start T 1 r(a) = [] w(a = [Abe]) 1 1 b = [Bob] b = [Bob] c = [Cal] c = [Cal] Transaction T 1 : Alice adding Abe to course a

43 1 0 a = [Abe] a = [] Start T 1 r(a) = [] w(a = [Abe]) Commit T b = [Bob] b = [Bob] c = [Cal] c = [Cal] Transaction T 1 : After Commit

44 1 0 a = [Abe] a = [] Start T 1 r(a) = [] w(a = [Abe]) Commit T 1 Start T 2 r(b) = [Bob] r(c) = [Cal] w(b = []) w(c = [Bob, Cal]) 1 1 b = [Bob] b = [Bob] c = [Cal] c = [Cal] Transaction T 2 : Alice moving Bob from course b to course c

45 1 a = [Abe] Start T 1 r(a) = [] w(a = [Abe]) Commit T 1 Start T 2 r(b) = [Bob] r(c) = [Cal] w(b = []) w(c = [Bob, Cal]) 12 1 b = [Bob] 12 1 c = [Cal] 0 a = [] Atomicity through causality: b = [Bob] Make writes dependent on each other c = [Cal] Observable Atomicity: Make writes causally dependent on each other

46 1 a = [Abe] Start T 1 r(a) = [] w(a = [Abe]) Commit T 1 Start T 2 r(b) = [Bob] r(c) = [Cal] w(b = []) w(c = [Bob, Cal]) 1 1 b = [Bob] 1 1 c = [Cal] 0 a = [] b = [Bob] c = [Cal] Observable Atomicity: Same commit timestamp makes writes causally dependent on each other

47 1 a = [Abe] Start T 1 r(a) = [] w(a = [Abe]) Commit T 1 Start T 2 r(b) = [Bob] r(c) = [Cal] w(b = []) w(c = [Bob, Cal]) Commit T b = [] 2 1 c = [Bob, Cal] 0 a = [] b = [Bob] c = [Cal] Observable Atomicity: Same commit timestamp makes writes causally dependent on each other

48 1 0 a = [Abe] a = [] Start T 1 r(a) = [] w(a = [Abe]) Commit T 1 Start T 2 r(b) = [Bob] r(c) = [Cal] w(b = []) w(c = [Bob, Cal]) Commit T b = [] b = [Bob] c = [Bob, Cal] c = [Cal] Transaction writes replicate asynchronously

49 1 0 a = [Abe] a = [] Delayed! Start T 1 r(a) = [] w(a = [Abe]) Commit T 1 Start T 2 r(b) = [Bob] r(c) = [Cal] w(b = []) w(c = [Bob, Cal]) Commit T b = [] b = [Bob] Delayed! c = [Bob, Cal] c = [Bob, Cal] Transaction writes replicate asynchronously

50 1 0 a = [Abe] a = [] Delayed! Start T 1 r(a) = [] w(a = [Abe]) Commit T 1 Start T 2 r(b) = [Bob] r(c) = [Cal] w(b = []) w(c = [Bob, Cal]) Commit T b = [] b = [Bob] Delayed! c = [Bob, Cal] c = [Bob, Cal] Alice s advisor reads the lists in a transaction Start T 3

51 1 0 a = [Abe] a = [] Delayed! Start T 1 r(a) = [] w(a = [Abe]) Commit T 1 Start T 2 r(b) = [Bob] r(c) = [Cal] w(b = []) w(c = [Bob, Cal]) Commit T b = [] b = [Bob] Delayed! c = [Bob, Cal] c = [Bob, Cal] Alice s advisor reads the lists in a transaction Start T 3 r(b) = [Bob]

52 1 0 a = [Abe] a = [] Delayed! Start T 1 r(a) = [] w(a = [Abe]) Commit T 1 Start T 2 r(b) = [Bob] r(c) = [Cal] w(b = []) w(c = [Bob, Cal]) Commit T b = [] b = [Bob] Delayed! c = [Bob, Cal] c = [Bob, Cal] Start T 3 r(b) = [Bob] T 3 Read Set b = [Bob] Transactions maintain a Read Set to validate atomicity and causal snapshot reads

53 1 0 a = [Abe] a = [] Delayed! Start T 1 r(a) = [] w(a = [Abe]) Commit T 1 Start T 2 r(b) = [Bob] r(c) = [Cal] w(b = []) w(c = [Bob, Cal]) Commit T b = [] b = [Bob] Delayed! c = [Bob, Cal] c = [Bob, Cal] Start T 3 r(b) = [Bob] r(c) = [Bob,Cal] T 3 Read Set b = [Bob] c = [Bob, Cal] Transactions maintain a Read Set to validate atomicity and read from causal snapshot

54 1 0 a = [Abe] a = [] Delayed! Start T 1 r(a) = [] w(a = [Abe]) Commit T 1 Start T 2 r(b) = [Bob] r(c) = [Cal] w(b = []) w(c = [Bob, Cal]) Commit T b = [] b = [Bob] Delayed! c = [Bob, Cal] c = [Bob, Cal] Start T 3 r(b) = [Bob] r(c) = [Bob,Cal] T 3 Read Set b = [Bob] c = [Bob, Cal] Validation failure: c knows more writes from grey shard than applied at the time b was read

55 1 0 a = [Abe] a = [] Delayed! Start T 1 r(a) = [] w(a = [Abe]) Commit T 1 Start T 2 r(b) = [Bob] r(c) = [Cal] w(b = []) w(c = [Bob, Cal]) Commit T b = [] b = [Bob] Delayed! c = [Bob, Cal] c = [Bob, Cal] Start T 3 r(b) = [Bob] r(c) = [Bob,Cal] r(a) = [] T 3 Read Set b = [Bob] c = [Bob, Cal] Ordering Violation: Detected in the usual way. Red Shard is stale!

56 A. Observable Atomicity B. Observably read from causally consistent snapshot C. No concurrent conflicting writes 1. Read Phase Buffer writes at client 2. Validation Phase Client validates A, B and C using causal timestamps 3. Commit Phase Properties of Transactions Three Phase Protocol Buffered writes committed in an observably atomic way

57 A. Observable Atomicity B. Observably read from causally consistent snapshot C. No concurrent conflicting writes 1. Read Phase Buffer writes at client 2. Validation Phase 2. Validation Phase a. Validate Read Set to verify A and B Client validates A, B b. and Validate C using Overwrite causal timestamps Set to verify C 3. Commit Phase Properties of Transactions Three Phase Protocol Buffered writes committed in an observably atomic way

58 Evaluation

59 Evaluation Setup Occult implemented by modifying Redis Cluster (baseline) Evaluated on CloudLab Two datacenters in WI and SC 20 server machines (4 server processes per machine) 16K logical shards YCSB used as the benchmark For graphs shown here read-heavy (95% reads) workload with zipfian distribution

60 Evaluation Setup Occult implemented by modifying Redis Cluster (baseline) Evaluated on CloudLab Two datacenters in WI and SC 20 server machines (4 server processes per machine) 16K logical shards YCSB used as the benchmark For graphs shown here read-heavy (95% reads) workload with zipfian distribution We show cost of providing consistency guarantees

61 Goodput Comparison Goodput (million ops/s) Occult Transactions Occult Single-Key Redis Cluster Num Ops per Transaction (T size )

62 Goodput Comparison Goodput (million ops/s) % Occult Transactions Occult Single-Key Redis Cluster Num Ops per Transaction (T size ) 4 shardstamps per causal timestamp 8.7% 39.6%

63 Log 10 (Latency us) 280us 390us 800us 1.6ms 3.7ms Effect of slow nodes on Occult Latency ms th 75th 90th 95th 99th Percentiles slow nodes

64 Conclusions Enforcing causal consistency in the data store is vulnerable to slowdown cascades Sufficient to ensure that clients observe causal consistency: Use lossy timestamps to provide the guarantee Avoid slowdown cascades Observable enforcement can be extended to causally consistent transactions Make writes causally dependent on each other to observe atomicity Also avoids slowdown cascades

Causal Consistency for Geo-Replicated Cloud Storage under Partial Replication

Causal Consistency for Geo-Replicated Cloud Storage under Partial Replication Causal Consistency for Geo-Replicated Cloud Storage under Partial Replication Min Shen, Ajay D. Kshemkalyani, TaYuan Hsu University of Illinois at Chicago Min Shen, Ajay D. Kshemkalyani, TaYuan Causal

More information

Distributed Systems. 06. Logical clocks. Paul Krzyzanowski. Rutgers University. Fall 2017

Distributed Systems. 06. Logical clocks. Paul Krzyzanowski. Rutgers University. Fall 2017 Distributed Systems 06. Logical clocks Paul Krzyzanowski Rutgers University Fall 2017 2014-2017 Paul Krzyzanowski 1 Logical clocks Assign sequence numbers to messages All cooperating processes can agree

More information

Absence of Global Clock

Absence of Global Clock Absence of Global Clock Problem: synchronizing the activities of different part of the system (e.g. process scheduling) What about using a single shared clock? two different processes can see the clock

More information

Making Geo-Replicated Systems Fast when Possible, Consistent if Necessary

Making Geo-Replicated Systems Fast when Possible, Consistent if Necessary Making Geo-Replicated Systems Fast when Possible, Consistent if Necessary Rodrigo Rodrigues NOVA University of Lisbon Joint work with Allen Clement, Johannes Gehrke, Cheng Li, Daniel Porto and Nuno Preguiça

More information

CS 425 / ECE 428 Distributed Systems Fall Indranil Gupta (Indy) Oct. 5, 2017 Lecture 12: Time and Ordering All slides IG

CS 425 / ECE 428 Distributed Systems Fall Indranil Gupta (Indy) Oct. 5, 2017 Lecture 12: Time and Ordering All slides IG CS 425 / ECE 428 Distributed Systems Fall 2017 Indranil Gupta (Indy) Oct. 5, 2017 Lecture 12: Time and Ordering All slides IG Why Synchronization? You want to catch a bus at 6.05 pm, but your watch is

More information

Our Problem. Model. Clock Synchronization. Global Predicate Detection and Event Ordering

Our Problem. Model. Clock Synchronization. Global Predicate Detection and Event Ordering Our Problem Global Predicate Detection and Event Ordering To compute predicates over the state of a distributed application Model Clock Synchronization Message passing No failures Two possible timing assumptions:

More information

Clocks in Asynchronous Systems

Clocks in Asynchronous Systems Clocks in Asynchronous Systems The Internet Network Time Protocol (NTP) 8 Goals provide the ability to externally synchronize clients across internet to UTC provide reliable service tolerating lengthy

More information

Seeing is Believing: A Client-Centric Specification of Database Isolation

Seeing is Believing: A Client-Centric Specification of Database Isolation Seeing is Believing: A Client-Centric Specification of Database Isolation Natacha Crooks The University of Texas at Austin and Cornell University Lorenzo Alvisi The University of Texas at Austin and Cornell

More information

Distributed Systems Principles and Paradigms. Chapter 06: Synchronization

Distributed Systems Principles and Paradigms. Chapter 06: Synchronization Distributed Systems Principles and Paradigms Maarten van Steen VU Amsterdam, Dept. Computer Science Room R4.20, steen@cs.vu.nl Chapter 06: Synchronization Version: November 16, 2009 2 / 39 Contents Chapter

More information

Coordination. Failures and Consensus. Consensus. Consensus. Overview. Properties for Correct Consensus. Variant I: Consensus (C) P 1. v 1.

Coordination. Failures and Consensus. Consensus. Consensus. Overview. Properties for Correct Consensus. Variant I: Consensus (C) P 1. v 1. Coordination Failures and Consensus If the solution to availability and scalability is to decentralize and replicate functions and data, how do we coordinate the nodes? data consistency update propagation

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Chapter 6 (version April 7, 28) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.2. Tel: (2)

More information

CS505: Distributed Systems

CS505: Distributed Systems Department of Computer Science CS505: Distributed Systems Lecture 5: Time in Distributed Systems Overview Time and Synchronization Logical Clocks Vector Clocks Distributed Systems Asynchronous systems:

More information

Time. To do. q Physical clocks q Logical clocks

Time. To do. q Physical clocks q Logical clocks Time To do q Physical clocks q Logical clocks Events, process states and clocks A distributed system A collection P of N single-threaded processes (p i, i = 1,, N) without shared memory The processes in

More information

Slides for Chapter 14: Time and Global States

Slides for Chapter 14: Time and Global States Slides for Chapter 14: Time and Global States From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, Addison-Wesley 2012 Overview of Chapter Introduction Clocks,

More information

BlockDAG protocols SPECTRE, PHANTOM

BlockDAG protocols SPECTRE, PHANTOM lockdag protocols SPECTRE, PHANTOM PASE 18, Stanford Yonatan Sompolinsky Joint work with Aviv Zohar Motivation - Algorithms on graphs are fun - lockchain does not scale - lockdag - generlization of Satoshi

More information

Time. Today. l Physical clocks l Logical clocks

Time. Today. l Physical clocks l Logical clocks Time Today l Physical clocks l Logical clocks Events, process states and clocks " A distributed system a collection P of N singlethreaded processes without shared memory Each process p i has a state s

More information

Distributed Systems. Time, Clocks, and Ordering of Events

Distributed Systems. Time, Clocks, and Ordering of Events Distributed Systems Time, Clocks, and Ordering of Events Björn Franke University of Edinburgh 2016/2017 Today Last lecture: Basic Algorithms Today: Time, clocks, NTP Ref: CDK Causality, ordering, logical

More information

Clock Synchronization

Clock Synchronization Today: Canonical Problems in Distributed Systems Time ordering and clock synchronization Leader election Mutual exclusion Distributed transactions Deadlock detection Lecture 11, page 7 Clock Synchronization

More information

Distributed systems Lecture 4: Clock synchronisation; logical clocks. Dr Robert N. M. Watson

Distributed systems Lecture 4: Clock synchronisation; logical clocks. Dr Robert N. M. Watson Distributed systems Lecture 4: Clock synchronisation; logical clocks Dr Robert N. M. Watson 1 Last time Started to look at time in distributed systems Coordinating actions between processes Physical clocks

More information

CS 347 Parallel and Distributed Data Processing

CS 347 Parallel and Distributed Data Processing CS 347 Parallel and Distributed Data Processing Spring 2016 & Clocks, Clocks, and the Ordering of Events in a Distributed System. L. Lamport, Communications of the ACM, 1978 Notes 15: & Clocks CS 347 Notes

More information

Time in Distributed Systems: Clocks and Ordering of Events

Time in Distributed Systems: Clocks and Ordering of Events Time in Distributed Systems: Clocks and Ordering of Events Clocks in Distributed Systems Needed to Order two or more events happening at same or different nodes (Ex: Consistent ordering of updates at different

More information

High Performance Computing

High Performance Computing Master Degree Program in Computer Science and Networking, 2014-15 High Performance Computing 2 nd appello February 11, 2015 Write your name, surname, student identification number (numero di matricola),

More information

Computers also need devices capable of Storing data and information Performing mathematical operations on such data

Computers also need devices capable of Storing data and information Performing mathematical operations on such data Sequential Machines Introduction Logic devices examined so far Combinational Output function of input only Output valid as long as input true Change input change output Computers also need devices capable

More information

Data Structures in. Sean Cribbs. Friday, April 26, 13

Data Structures in. Sean Cribbs. Friday, April 26, 13 Data Structures in Sean Cribbs Riak is Eventually-Consistent Eventual Consistency 1 2 Replicated Loose coordination 3 Convergence Eventual is Good Fault-tolerant Highly available Low-latency Consistency?

More information

arxiv: v1 [cs.dc] 22 Oct 2018

arxiv: v1 [cs.dc] 22 Oct 2018 FANTOM: A SCALABLE FRAMEWORK FOR ASYNCHRONOUS DISTRIBUTED SYSTEMS A PREPRINT Sang-Min Choi, Jiho Park, Quan Nguyen, and Andre Cronje arxiv:1810.10360v1 [cs.dc] 22 Oct 2018 FANTOM Lab FANTOM Foundation

More information

Chapter 11 Time and Global States

Chapter 11 Time and Global States CSD511 Distributed Systems 分散式系統 Chapter 11 Time and Global States 吳俊興 國立高雄大學資訊工程學系 Chapter 11 Time and Global States 11.1 Introduction 11.2 Clocks, events and process states 11.3 Synchronizing physical

More information

CptS 464/564 Fall Prof. Dave Bakken. Cpt. S 464/564 Lecture January 26, 2014

CptS 464/564 Fall Prof. Dave Bakken. Cpt. S 464/564 Lecture January 26, 2014 Overview of Ordering and Logical Time Prof. Dave Bakken Cpt. S 464/564 Lecture January 26, 2014 Context This material is NOT in CDKB5 textbook Rather, from second text by Verissimo and Rodrigues, chapters

More information

Agreement. Today. l Coordination and agreement in group communication. l Consensus

Agreement. Today. l Coordination and agreement in group communication. l Consensus Agreement Today l Coordination and agreement in group communication l Consensus Events and process states " A distributed system a collection P of N singlethreaded processes w/o shared memory Each process

More information

arxiv: v1 [cs.dc] 26 Nov 2018

arxiv: v1 [cs.dc] 26 Nov 2018 The SNOW Theorem Revisited Kishori M Konwar, Wyatt Lloyd, Haonan Lu, Nancy Lynch November 27, 2018 arxiv:1811.10577v1 [cs.dc] 26 Nov 2018 Abstract In highly-scalable storage systems for Web services, data

More information

Distributed Algorithms Time, clocks and the ordering of events

Distributed Algorithms Time, clocks and the ordering of events Distributed Algorithms Time, clocks and the ordering of events Alberto Montresor University of Trento, Italy 2016/04/26 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International

More information

Actors for Reactive Programming. Actors Origins

Actors for Reactive Programming. Actors Origins Actors Origins Hewitt, early 1970s (1973 paper) Around the same time as Smalltalk Concurrency plus Scheme Agha, early 1980s (1986 book) Erlang (Ericsson), 1990s Akka, 2010s Munindar P. Singh (NCSU) Service-Oriented

More information

Today. Vector Clocks and Distributed Snapshots. Motivation: Distributed discussion board. Distributed discussion board. 1. Logical Time: Vector clocks

Today. Vector Clocks and Distributed Snapshots. Motivation: Distributed discussion board. Distributed discussion board. 1. Logical Time: Vector clocks Vector Clocks and Distributed Snapshots Today. Logical Time: Vector clocks 2. Distributed lobal Snapshots CS 48: Distributed Systems Lecture 5 Kyle Jamieson 2 Motivation: Distributed discussion board Distributed

More information

Distributed Systems. Time, clocks, and Ordering of events. Rik Sarkar. University of Edinburgh Spring 2018

Distributed Systems. Time, clocks, and Ordering of events. Rik Sarkar. University of Edinburgh Spring 2018 Distributed Systems Time, clocks, and Ordering of events Rik Sarkar University of Edinburgh Spring 2018 Notes Today: Time, clocks, NTP Ref: CDK Causality, ordering, logical clocks: Ref: VG, CDK Time Ordering

More information

Do we have a quorum?

Do we have a quorum? Do we have a quorum? Quorum Systems Given a set U of servers, U = n: A quorum system is a set Q 2 U such that Q 1, Q 2 Q : Q 1 Q 2 Each Q in Q is a quorum How quorum systems work: A read/write shared register

More information

DEXON Consensus Algorithm

DEXON Consensus Algorithm DEXON Consensus Algorithm Infinitely Scalable, Low-Latency Byzantine Fault Tolerant Blocklattice DEXON Foundation Aug 9 2018, v1.0 Abstract A blockchain system is a replicated state machine that must be

More information

416 Distributed Systems. Time Synchronization (Part 2: Lamport and vector clocks) Jan 27, 2017

416 Distributed Systems. Time Synchronization (Part 2: Lamport and vector clocks) Jan 27, 2017 416 Distributed Systems Time Synchronization (Part 2: Lamport and vector clocks) Jan 27, 2017 1 Important Lessons (last lecture) Clocks on different systems will always behave differently Skew and drift

More information

Impression Store: Compressive Sensing-based Storage for. Big Data Analytics

Impression Store: Compressive Sensing-based Storage for. Big Data Analytics Impression Store: Compressive Sensing-based Storage for Big Data Analytics Jiaxing Zhang, Ying Yan, Liang Jeff Chen, Minjie Wang, Thomas Moscibroda & Zheng Zhang Microsoft Research The Curse of O(N) in

More information

DISTRIBUTED COMPUTER SYSTEMS

DISTRIBUTED COMPUTER SYSTEMS DISTRIBUTED COMPUTER SYSTEMS SYNCHRONIZATION Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Topics Clock Synchronization Physical Clocks Clock Synchronization Algorithms

More information

Logical Time. 1. Introduction 2. Clock and Events 3. Logical (Lamport) Clocks 4. Vector Clocks 5. Efficient Implementation

Logical Time. 1. Introduction 2. Clock and Events 3. Logical (Lamport) Clocks 4. Vector Clocks 5. Efficient Implementation Logical Time Nicola Dragoni Embedded Systems Engineering DTU Compute 1. Introduction 2. Clock and Events 3. Logical (Lamport) Clocks 4. Vector Clocks 5. Efficient Implementation 2013 ACM Turing Award:

More information

Distributed Systems 8L for Part IB

Distributed Systems 8L for Part IB Distributed Systems 8L for Part IB Handout 2 Dr. Steven Hand 1 Clocks Distributed systems need to be able to: order events produced by concurrent processes; synchronize senders and receivers of messages;

More information

Time is an important issue in DS

Time is an important issue in DS Chapter 0: Time and Global States Introduction Clocks,events and process states Synchronizing physical clocks Logical time and logical clocks Global states Distributed debugging Summary Time is an important

More information

Counters. We ll look at different kinds of counters and discuss how to build them

Counters. We ll look at different kinds of counters and discuss how to build them Counters We ll look at different kinds of counters and discuss how to build them These are not only examples of sequential analysis and design, but also real devices used in larger circuits 1 Introducing

More information

Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms. CS 249 Project Fall 2005 Wing Wong

Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms. CS 249 Project Fall 2005 Wing Wong Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms CS 249 Project Fall 2005 Wing Wong Outline Introduction Asynchronous distributed systems, distributed computations,

More information

7680: Distributed Systems

7680: Distributed Systems Cristina Nita-Rotaru 7680: Distributed Systems Physical and logical clocks. Global states. Failure detection. Ordering events in distributed systems } Time is essential for ordering events in a distributed

More information

CS5412: REPLICATION, CONSISTENCY AND CLOCKS

CS5412: REPLICATION, CONSISTENCY AND CLOCKS 1 CS5412: REPLICATION, CONSISTENCY AND CLOCKS Lecture X Ken Birman Recall that clouds have tiers 2 Up to now our focus has been on client systems and the network, and the way that the cloud has reshaped

More information

Cuts. Cuts. Consistent cuts and consistent global states. Global states and cuts. A cut C is a subset of the global history of H

Cuts. Cuts. Consistent cuts and consistent global states. Global states and cuts. A cut C is a subset of the global history of H Cuts Cuts A cut C is a subset of the global history of H C = h c 1 1 hc 2 2...hc n n A cut C is a subset of the global history of H The frontier of C is the set of events e c 1 1,ec 2 2,...ec n n C = h

More information

Distributed Computing. Synchronization. Dr. Yingwu Zhu

Distributed Computing. Synchronization. Dr. Yingwu Zhu Distributed Computing Synchronization Dr. Yingwu Zhu Topics to Discuss Physical Clocks Logical Clocks: Lamport Clocks Classic paper: Time, Clocks, and the Ordering of Events in a Distributed System Lamport

More information

On the Growth of the Prime Numbers Based Encoded Vector Clock

On the Growth of the Prime Numbers Based Encoded Vector Clock On the Growth of the Prime Numbers Based Encoded Vector Clock Ajay D. Kshemkalyani Bhargav Voleti University of Illinois at Chicago ajay@uic.edu Kshemkalyani, Voleti (UIC) Encoded Vector Clock 1 / 22 Overview

More information

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering

ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN. Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Week 9 Dr. Srinivas Shakkottai Dept. of Electrical and Computer Engineering TIMING ANALYSIS Overview Circuits do not respond instantaneously to input changes

More information

Early consensus in an asynchronous system with a weak failure detector*

Early consensus in an asynchronous system with a weak failure detector* Distrib. Comput. (1997) 10: 149 157 Early consensus in an asynchronous system with a weak failure detector* André Schiper Ecole Polytechnique Fe dérale, De partement d Informatique, CH-1015 Lausanne, Switzerland

More information

LECTURE 28. Analyzing digital computation at a very low level! The Latch Pipelined Datapath Control Signals Concept of State

LECTURE 28. Analyzing digital computation at a very low level! The Latch Pipelined Datapath Control Signals Concept of State Today LECTURE 28 Analyzing digital computation at a very low level! The Latch Pipelined Datapath Control Signals Concept of State Time permitting, RC circuits (where we intentionally put in resistance

More information

Seeking Fastness in Multi-Writer Multiple- Reader Atomic Register Implementations

Seeking Fastness in Multi-Writer Multiple- Reader Atomic Register Implementations ΚΥΠΡΙΑΚΗ ΔΗΜΟΚΡΑΤΙΑ ΕΥΡΩΠΑΪΚΗ ΕΝΩΣΗ Η ΔΕΣΜΗ 29- ΣΥΓΧΡΗΜΑΤΟΔΟΤΕΙΤΑΙ ΑΠΟ ΤΗΝ ΚΥΠΡΙΑΚΗ ΔΗΜΟΚΡΑΤΙΑ ΚΑΙ ΤΟ ΕΥΡΩΠΑΪΚΟ ΤΑΜΕΙΟ ΠΕΡΙΦΕΡΕΙΑΚΗΣ ΑΝΑΠΤΥΞΗΣ ΤΗΣ ΕΕ Seeking Fastness in Multi-Writer Multiple- Reader Atomic

More information

Causality & Concurrency. Time-Stamping Systems. Plausibility. Example TSS: Lamport Clocks. Example TSS: Vector Clocks

Causality & Concurrency. Time-Stamping Systems. Plausibility. Example TSS: Lamport Clocks. Example TSS: Vector Clocks Plausible Clocks with Bounded Inaccuracy Causality & Concurrency a b exists a path from a to b Brad Moore, Paul Sivilotti Computer Science & Engineering The Ohio State University paolo@cse.ohio-state.edu

More information

Clojure Concurrency Constructs, Part Two. CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014

Clojure Concurrency Constructs, Part Two. CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014 Clojure Concurrency Constructs, Part Two CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014 1 Goals Cover the material presented in Chapter 4, of our concurrency textbook In particular,

More information

Information-Theoretic Lower Bounds on the Storage Cost of Shared Memory Emulation

Information-Theoretic Lower Bounds on the Storage Cost of Shared Memory Emulation Information-Theoretic Lower Bounds on the Storage Cost of Shared Memory Emulation Viveck R. Cadambe EE Department, Pennsylvania State University, University Park, PA, USA viveck@engr.psu.edu Nancy Lynch

More information

Distributed Systems Fundamentals

Distributed Systems Fundamentals February 17, 2000 ECS 251 Winter 2000 Page 1 Distributed Systems Fundamentals 1. Distributed system? a. What is it? b. Why use it? 2. System Architectures a. minicomputer mode b. workstation model c. processor

More information

CS505: Distributed Systems

CS505: Distributed Systems Cristina Nita-Rotaru CS505: Distributed Systems Ordering events. Lamport and vector clocks. Global states. Detecting failures. Required reading for this topic } Leslie Lamport,"Time, Clocks, and the Ordering

More information

Efficient Notification Ordering for Geo-Distributed Pub/Sub Systems

Efficient Notification Ordering for Geo-Distributed Pub/Sub Systems R. BALDONI ET AL. 1 Efficient Notification Ordering for Geo-Distributed Pub/Sub Systems Supplemental material Roberto Baldoni, Silvia Bonomi, Marco Platania, and Leonardo Querzoni 1 ALGORITHM PSEUDO-CODE

More information

CSE140: Design of Sequential Logic

CSE140: Design of Sequential Logic CSE4: Design of Sequential Logic Instructor: Mohsen Imani Flip Flops 2 Counter 3 Up counter 4 Up counter 5 FSM with JK-Flip Flop 6 State Table 7 State Table 8 Circuit Minimization 9 Circuit Timing Constraints

More information

Distributed Algorithms (CAS 769) Dr. Borzoo Bonakdarpour

Distributed Algorithms (CAS 769) Dr. Borzoo Bonakdarpour Distributed Algorithms (CAS 769) Week 1: Introduction, Logical clocks, Snapshots Dr. Borzoo Bonakdarpour Department of Computing and Software McMaster University Dr. Borzoo Bonakdarpour Distributed Algorithms

More information

Time, Clocks, and the Ordering of Events in a Distributed System

Time, Clocks, and the Ordering of Events in a Distributed System Time, Clocks, and the Ordering of Events in a Distributed System Motivating example: a distributed compilation service FTP server storing source files, object files, executable file stored files have timestamps,

More information

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Examination ECE 241F - Digital Systems Examiners: J. Rose and

More information

RAID+: Deterministic and Balanced Data Distribution for Large Disk Enclosures

RAID+: Deterministic and Balanced Data Distribution for Large Disk Enclosures RAID+: Deterministic and Balanced Data Distribution for Large Disk Enclosures Guangyan Zhang, Zican Huang, Xiaosong Ma SonglinYang, Zhufan Wang, Weimin Zheng Tsinghua University Qatar Computing Research

More information

MAD. Models & Algorithms for Distributed systems -- 2/5 -- download slides at

MAD. Models & Algorithms for Distributed systems -- 2/5 -- download slides at MAD Models & Algorithms for Distributed systems -- /5 -- download slides at http://people.rennes.inria.fr/eric.fabre/ 1 Today Runs/executions of a distributed system are partial orders of events We introduce

More information

COMPUTER SCIENCE TRIPOS

COMPUTER SCIENCE TRIPOS CST.2016.2.1 COMPUTER SCIENCE TRIPOS Part IA Tuesday 31 May 2016 1.30 to 4.30 COMPUTER SCIENCE Paper 2 Answer one question from each of Sections A, B and C, and two questions from Section D. Submit the

More information

arxiv: v1 [cs.dc] 21 Sep 2016

arxiv: v1 [cs.dc] 21 Sep 2016 Seeing is Believing: A Unified Model for Consistency and Isolation via States Lorenzo Alvisi Allen Clement Natacha Crooks Youer Pu The University of Texas at Austin Google,inc. arxiv:1609.06670v1 [cs.dc]

More information

On the Efficiency of Atomic Multi-Reader, Multi-Writer Distributed Memory

On the Efficiency of Atomic Multi-Reader, Multi-Writer Distributed Memory On the Efficiency of Atomic Multi-Reader, Multi-Writer Distributed Memory Burkhard Englert benglert@csulb.edu Nicolas Nicolaou nicolas@engr.uconn.edu (Regular Submission) Chryssis Georgiou chryssis@cs.ucy.ac.cy

More information

ArcGIS Enterprise: What s New. Philip Heede Shannon Kalisky Melanie Summers Shreyas Shinde

ArcGIS Enterprise: What s New. Philip Heede Shannon Kalisky Melanie Summers Shreyas Shinde ArcGIS Enterprise: What s New Philip Heede Shannon Kalisky Melanie Summers Shreyas Shinde ArcGIS Enterprise is the new name for ArcGIS for Server ArcGIS Enterprise Software Components ArcGIS Server Portal

More information

AVLSI. Analyzing Isochronic Forks with Potential Causality. Rajit Manohar 1 Yoram Moses 2. May 6, Cornell Tech, New York, NY 10011, USA

AVLSI. Analyzing Isochronic Forks with Potential Causality. Rajit Manohar 1 Yoram Moses 2. May 6, Cornell Tech, New York, NY 10011, USA Analyzing Isochronic Forks with Potential Causality Rajit Manohar 1 Yoram Moses 2 1 Cornell Tech, New York, NY 10011, USA 2 Technion-Israel Institute of Technology, Haifa 32000, Israel May 6, 2015 Manohar/Moses

More information

6. Finite State Machines

6. Finite State Machines 6. Finite State Machines 6.4x Computation Structures Part Digital Circuits Copyright 25 MIT EECS 6.4 Computation Structures L6: Finite State Machines, Slide # Our New Machine Clock State Registers k Current

More information

A subtle problem. An obvious problem. An obvious problem. An obvious problem. No!

A subtle problem. An obvious problem. An obvious problem. An obvious problem. No! A subtle problem An obvious problem when LC = t do S doesn t make sense for Lamport clocks! there is no guarantee that LC will ever be S is anyway executed after LC = t Fixes: if e is internal/send and

More information

ALU, Latches and Flip-Flops

ALU, Latches and Flip-Flops CSE14: Components and Design Techniques for Digital Systems ALU, Latches and Flip-Flops Tajana Simunic Rosing Where we are. Last time: ALUs Plan for today: ALU example, latches and flip flops Exam #1 grades

More information

Lecture 23: Illusiveness of Parallel Performance. James C. Hoe Department of ECE Carnegie Mellon University

Lecture 23: Illusiveness of Parallel Performance. James C. Hoe Department of ECE Carnegie Mellon University 18 447 Lecture 23: Illusiveness of Parallel Performance James C. Hoe Department of ECE Carnegie Mellon University 18 447 S18 L23 S1, James C. Hoe, CMU/ECE/CALCM, 2018 Your goal today Housekeeping peel

More information

Digital Electronics Sequential Logic

Digital Electronics Sequential Logic /5/27 igital Electronics Sequential Logic r. I. J. Wassell Sequential Logic The logic circuits discussed previously are known as combinational, in that the output depends only on the condition of the latest

More information

Recap. CS514: Intermediate Course in Operating Systems. What time is it? This week. Reminder: Lamport s approach. But what does time mean?

Recap. CS514: Intermediate Course in Operating Systems. What time is it? This week. Reminder: Lamport s approach. But what does time mean? CS514: Intermediate Course in Operating Systems Professor Ken Birman Vivek Vishnumurthy: TA Recap We ve started a process of isolating questions that arise in big systems Tease out an abstract issue Treat

More information

Efficient Dependency Tracking for Relevant Events in Concurrent Systems

Efficient Dependency Tracking for Relevant Events in Concurrent Systems Distributed Computing manuscript No. (will be inserted by the editor) Anurag Agarwal Vijay K. Garg Efficient Dependency Tracking for Relevant Events in Concurrent Systems Received: date / Accepted: date

More information

UNIVERSITY OF CALIFORNIA, BERKELEY College of Engineering Department of Electrical Engineering and Computer Sciences

UNIVERSITY OF CALIFORNIA, BERKELEY College of Engineering Department of Electrical Engineering and Computer Sciences UNIVERSITY OF CALIFORNIA, BERKELEY College of Engineering Department of Electrical Engineering and Computer Sciences Elad Alon Homework #9 EECS141 PROBLEM 1: TIMING Consider the simple state machine shown

More information

Distributed Mutual Exclusion Based on Causal Ordering

Distributed Mutual Exclusion Based on Causal Ordering Journal of Computer Science 5 (5): 398-404, 2009 ISSN 1549-3636 2009 Science Publications Distributed Mutual Exclusion Based on Causal Ordering Mohamed Naimi and Ousmane Thiare Department of Computer Science,

More information

Models for representing sequential circuits

Models for representing sequential circuits Sequential Circuits Models for representing sequential circuits Finite-state machines (Moore and Mealy) Representation of memory (states) Changes in state (transitions) Design procedure State diagrams

More information

MOSIS REPORT. Spring MOSIS Report 1. MOSIS Report 2. MOSIS Report 3

MOSIS REPORT. Spring MOSIS Report 1. MOSIS Report 2. MOSIS Report 3 MOSIS REPORT Spring 2010 MOSIS Report 1 MOSIS Report 2 MOSIS Report 3 MOSIS Report 1 Design of 4-bit counter using J-K flip flop I. Objective The purpose of this project is to design one 4-bit counter

More information

Consistency or Latency? A Quantitative Analysis of Replication Systems Based on Replicated State Machines

Consistency or Latency? A Quantitative Analysis of Replication Systems Based on Replicated State Machines Consistency or Latency? A Quantitative Analysis of Replication Systems Based on Replicated State Machines Xu Wang, Hailong Sun, Ting Deng, Jinpeng Huai School of Computer Science and Engineering Beihang

More information

One Optimized I/O Configuration per HPC Application

One Optimized I/O Configuration per HPC Application One Optimized I/O Configuration per HPC Application Leveraging I/O Configurability of Amazon EC2 Cloud Mingliang Liu, Jidong Zhai, Yan Zhai Tsinghua University Xiaosong Ma North Carolina State University

More information

encoding without prediction) (Server) Quantization: Initial Data 0, 1, 2, Quantized Data 0, 1, 2, 3, 4, 8, 16, 32, 64, 128, 256

encoding without prediction) (Server) Quantization: Initial Data 0, 1, 2, Quantized Data 0, 1, 2, 3, 4, 8, 16, 32, 64, 128, 256 General Models for Compression / Decompression -they apply to symbols data, text, and to image but not video 1. Simplest model (Lossless ( encoding without prediction) (server) Signal Encode Transmit (client)

More information

Specification and Complexity of Collaborative Text Editing

Specification and Complexity of Collaborative Text Editing Specification and Complexity of Collaborative Text Editing Hagit Attiya Technion Adam Morrison Technion Sebastian Burckhardt Microsoft Research Hongseok Yang University of Oxford Alexey Gotsman IMDEA Software

More information

Jin-Fu Li Advanced Reliable Systems (ARES) Lab. Department of Electrical Engineering. Jungli, Taiwan

Jin-Fu Li Advanced Reliable Systems (ARES) Lab. Department of Electrical Engineering. Jungli, Taiwan Chapter 7 Sequential Circuits Jin-Fu Li Advanced Reliable Systems (ARES) Lab. epartment of Electrical Engineering National Central University it Jungli, Taiwan Outline Latches & Registers Sequencing Timing

More information

Scalable Store-Load Forwarding via Store Queue Index Prediction

Scalable Store-Load Forwarding via Store Queue Index Prediction Scalable Store-Load Forwarding via Store Queue Index Prediction Tingting Sha, Milo M.K. Martin, Amir Roth University of Pennsylvania {shatingt, milom, amir}@cis.upenn.edu addr addr addr (CAM) predictor

More information

Clocked Synchronous State-machine Analysis

Clocked Synchronous State-machine Analysis Clocked Synchronous State-machine Analysis Given the circuit diagram of a state machine: Analyze the combinational logic to determine flip-flop input (excitation) equations: D i = F i (Q, inputs) The input

More information

Minimizing Clock Latency Range in Robust Clock Tree Synthesis

Minimizing Clock Latency Range in Robust Clock Tree Synthesis Minimizing Clock Latency Range in Robust Clock Tree Synthesis Wen-Hao Liu Yih-Lang Li Hui-Chi Chen You have to enlarge your font. Many pages are hard to view. I think the position of Page topic is too

More information

How can one get around FLP? Around FLP in 80 Slides. How can one get around FLP? Paxos. Weaken the problem. Constrain input values

How can one get around FLP? Around FLP in 80 Slides. How can one get around FLP? Paxos. Weaken the problem. Constrain input values How can one get around FLP? Around FLP in 80 Slides Weaken termination Weaken the problem use randomization to terminate with arbitrarily high probability guarantee termination only during periods of synchrony

More information

Synchronous Sequential Circuit

Synchronous Sequential Circuit Synchronous Sequential Circuit The change of internal state occurs in response to the synchronized clock pulses. Data are read during the clock pulse (e.g. rising-edge triggered) It is supposed to wait

More information

EE382V: System-on-a-Chip (SoC) Design

EE382V: System-on-a-Chip (SoC) Design EE82V: SystemonChip (SoC) Design Lecture EE82V: SystemonaChip (SoC) Design Lecture Operation Scheduling Source: G. De Micheli, Integrated Systems Center, EPFL Synthesis and Optimization of Digital Circuits,

More information

Sequential Logic Design: Controllers

Sequential Logic Design: Controllers Sequential Logic Design: Controllers Controller Design, Flip Flop Timing Copyright (c) 2012 Sean Key Standard Controller Architecture Controller A circuit that implements a FSM is referred to as a controller

More information

Genuine atomic multicast in asynchronous distributed systems

Genuine atomic multicast in asynchronous distributed systems Theoretical Computer Science 254 (2001) 297 316 www.elsevier.com/locate/tcs Genuine atomic multicast in asynchronous distributed systems Rachid Guerraoui, Andre Schiper Departement d Informatique, Ecole

More information

EE382V-ICS: System-on-a-Chip (SoC) Design

EE382V-ICS: System-on-a-Chip (SoC) Design EE8VICS: SystemonChip (SoC) EE8VICS: SystemonaChip (SoC) Scheduling Source: G. De Micheli, Integrated Systems Center, EPFL Synthesis and Optimization of Digital Circuits, McGraw Hill, 00. Additional sources:

More information

Sequential vs. Combinational

Sequential vs. Combinational Sequential Circuits Sequential vs. Combinational Combinational Logic: Output depends only on current input TV channel selector (-9) inputs system outputs Sequential Logic: Output depends not only on current

More information

Computer Architecture 10. Fast Adders

Computer Architecture 10. Fast Adders Computer Architecture 10 Fast s Ma d e wi t h Op e n Of f i c e. o r g 1 Carry Problem Addition is primary mechanism in implementing arithmetic operations Slow addition directly affects the total performance

More information

Design of Sequential Circuits

Design of Sequential Circuits Design of Sequential Circuits Seven Steps: Construct a state diagram (showing contents of flip flop and inputs with next state) Assign letter variables to each flip flop and each input and output variable

More information

Geodatabase Best Practices. Dave Crawford Erik Hoel

Geodatabase Best Practices. Dave Crawford Erik Hoel Geodatabase Best Practices Dave Crawford Erik Hoel Geodatabase best practices - outline Geodatabase creation Data ownership Data model Data configuration Geodatabase behaviors Data integrity and validation

More information

Agreeing to Agree: Conflict Resolution for Optimistically Replicated Data

Agreeing to Agree: Conflict Resolution for Optimistically Replicated Data Agreeing to Agree: Conflict Resolution for Optimistically Replicated Data Michael B. Greenwald Bell Labs, Lucent Technologies Keshav Kunal University of Pennsylvania Sanjeev Khanna University of Pennsylvania

More information

CMPEN 411 VLSI Digital Circuits Spring 2012 Lecture 17: Dynamic Sequential Circuits And Timing Issues

CMPEN 411 VLSI Digital Circuits Spring 2012 Lecture 17: Dynamic Sequential Circuits And Timing Issues CMPEN 411 VLSI Digital Circuits Spring 2012 Lecture 17: Dynamic Sequential Circuits And Timing Issues [Adapted from Rabaey s Digital Integrated Circuits, Second Edition, 2003 J. Rabaey, A. Chandrakasan,

More information