Logical clock algorithms

Lamport timestamp

The Lamport timestamp algorithm is a simple logical clock algorithm used to determine the order of events in a distributed computer system. As different nodes or processes will typically not be perfectly synchronized, this algorithm is used to provide a partial ordering of events with minimal overhead, and conceptually provide a starting point for the more advanced vector clock method. The algorithm is named after its creator, Leslie Lamport. Distributed algorithms such as resource synchronization often depend on some method of ordering events to function. For example, consider a system with two processes and a disk. The processes send messages to each other, and also send messages to the disk requesting access. The disk grants access in the order the messages were received. For example process sends a message to the disk requesting write access, and then sends a read instruction message to process . Process receives the message, and as a result sends its own read request message to the disk. If there is a timing delay causing the disk to receive both messages at the same time, it can determine which message happened-before the other: happens-before if one can get from to by a sequence of moves of two types: moving forward while remaining in the same process, and following a message from its sending to its reception. A logical clock algorithm provides a mechanism to determine facts about the order of such events. Note that if two events happen in different processes that do not exchange messages directly or indirectly via third-party processes, then we say that the two processes are concurrent, that is, nothing can be said about the ordering of the two events. Lamport invented a simple mechanism by which the happened-before ordering can be captured numerically. A Lamport logical clock is a numerical software counter value maintained in each process. Conceptually, this logical clock can be thought of as a clock that only has meaning in relation to messages moving between processes. When a process receives a message, it re-synchronizes its logical clock with that sender. The above-mentioned vector clock is a generalization of the idea into the context of an arbitrary number of parallel, independent processes. (Wikipedia).

Video thumbnail

Weekly Space Hangout - Apr 7, 2017: Weekly News Roundup!

We record the Weekly Space Hangout every Friday at 12:00 pm Pacific / 3:00 pm Eastern. You can watch us live on Universe Today or the Universe Today YouTube page.

From playlist Weekly Space Hangout

Video thumbnail

thermo-acoustics

skip to 3:50 if you are impatient.

From playlist NightHawkInLight Community Video Responses!

Video thumbnail

Ig Nobel Prize with Leslie Lamport (2013 Turing Award)

2013 Turing Award recipient Leslie Lamport describes his favourite maths t-shirt, his final remaining goal in life, and whether he prefers tabs or spaces… Leslie begins by describing his favourite maths t-shirt, as based on the infamous Donald Knuth video here: https://www.youtube.com/wat

From playlist Interviews

Video thumbnail

Stanford Seminar: Time Traveling Hardware and Software Systems

EE380: Computer Systems Colloquium Time Traveling Hardware and Software Systems Srini Devadas , MIT With the imminent demise of Moore's Law, the importance of parallel computing is only increasing. However, efficient parallel computing with ease of programmability still remains elusive. S

From playlist Stanford EE380-Colloquium on Computer Systems - Seminar Series

Video thumbnail

Rethinking Time in Distributed Systems

(November 11, 2009) Paul Borrill of REPLICUS Software Corporation discusses results from physics and other disciplines that investigate if and where hazards to the integrity of our information may exist due to current conceptions of time in computer science. Borrill focuses upon distribut

From playlist Engineering

Video thumbnail

Exploratorium After Dark | Every Thursday 6pm -10pm | 18+

Every Thursday | 6pm-10pm | 18+ https://www.exploratorium.edu/visit/calendar/after-dark Check out our adults-only programming featuring unique guest speakers, great music, specialty films, and one-of-a-kind activities. It'll change how you think about the world around you. But don't take o

From playlist After Dark | Thursday Nights at the Exploratorium

Video thumbnail

How to Cover a Book (Instructions)

You can watch a timelapse of this video here: https://www.youtube.com/watch?v=fwYns3vnHAk

From playlist Random

Video thumbnail

HMHS Britannic - Sleeping sun.wmv

It's my third video

From playlist 'Sleeping Sun' videos.

Video thumbnail

EmberConf 2014 Convergent/Divergent by Christopher Meiklejohn

Whether you realize it or not, if you've built a rich web application in Ember.js, and you're sending data between clients and a server, you've build a distributed system. This talk will discuss the challenges of building such a system, specifically the challenges related to preserving con

From playlist EmberConf 2014

Video thumbnail

Time by clocks

The way how to show time using clocks. It is 12 hours video you can use as a screensaver on clock, every number changing is completely random. Please enjoy.

From playlist Timers

Video thumbnail

The Man Who Revolutionized Computer Science With Math

Leslie Lamport revolutionized how computers talk to each other. The Turing Award-winning computer scientist pioneered the field of distributed systems, where multiple components on different networks coordinate to achieve a common objective. (Internet searches, cloud computing and artifici

From playlist Inside the Mind of a Scientist

Video thumbnail

So You Want To Learn LaTeX: Introduction (1/6)

In this video, Jacob explains some of the history and design motivations of the software LaTeX, and shows some of its basic syntax and functionality. TeXstudio (LaTeX file editor): http://www.texstudio.org/ MikTeX (Windows LaTeX distribution): http://miktex.org/ MacTeX (OS X LaTeX distrib

From playlist Basics: Learn How To Use LaTeX

Video thumbnail

3. Signatures

MIT MAS.S62 Cryptocurrency Engineering and Design, Spring 2018 Instructor: Tadge Dryja View the complete course: https://ocw.mit.edu/MAS-S62S18 YouTube Playlist: https://www.youtube.com/playlist?list=PLUl4u3cNGP61KHzhg3JIJdK08JLSlcLId Discussion of hash signatures, public and private keys

From playlist MIT MAS.S62 Cryptocurrency Engineering and Design, Spring 2018

Video thumbnail

Lecture 17: COPS, Causal Consistency

Lecture 17: COPS, Causal Consistency MIT 6.824: Distributed Systems (Spring 2020) https://pdos.csail.mit.edu/6.824/

From playlist MIT 6.824 Distributed Systems (Spring 2020)

Video thumbnail

Stanford Seminar: The Time-Less Datacenter

EE3280: Colloquium on Computer Systems Seminar Series The Time-Less Datacenter Speakers: Paul Borrill and Alan Karp, EARTH Computing We describe, and demonstrate, a novel foundation for datacenter communication: a new "event based" protocol that can dispense with the need for conventi

From playlist Stanford EE380-Colloquium on Computer Systems - Seminar Series

Video thumbnail

Time Warp - Lighter in Blender

Watch Time Warp Wednesdays at 8 pm ET. http://go.discovery.com/?mkcpgn=ytdsc1&url=http://dsc.discovery.com/videos/time-warp/ We all know a lighter is good for a flame but will it blend?? Yes...but not without a nice fireball.

From playlist Time Warp

Video thumbnail

DMRG -- Day 8

Looks like we'll be finishing DMRG relatively soon. That's what I get for following a guide: http://simple-dmrg.readthedocs.io/en/latest/ -- Watch live at https://www.twitch.tv/simuleios

From playlist DMRG

Video thumbnail

ElixirConf 2016 - Collaborative Music with Elm and Phoenix by Josh Adams

Collaborative Music with Elm and Phoenix by Josh Adams In this talk, we'll walk through the design of a collaborative music composition environment using Elm for a frontend that interacts with a Phoenix-channels based backend. We'll see how we can use the building blocks that Phoenix provi

From playlist ElixirConf 2016

Related pages

Vector clock | Happened-before | Pseudocode | Partially ordered set | Version vector | Matrix clock | Clock synchronization