- 39
- 1 476 530
Martin Kleppmann
United Kingdom
เข้าร่วมเมื่อ 1 ก.ย. 2013
Talks by Martin Kleppmann
Rêverie by Claude Debussy
Plenty of wrong notes, which just make it all the more authentic!
มุมมอง: 4 975
วีดีโอ
Discussion session on Peritext, a CRDT for rich text
มุมมอง 4K2 ปีที่แล้ว
A discussion session for my Patreon supporters, about the paper "Peritext: A CRDT for Collaborative Rich Text Editing" with Geoffrey Litt, Sarah Lim, and Peter van Hardenberg. Paper: www.inkandswitch.com/peritext/static/cscw-publication.pdf You can join future discussion sessions by supporting me on Patreon: www.patreon.com/martinkl
Automerge: a new foundation for collaboration software
มุมมอง 18K2 ปีที่แล้ว
Local-first software is an effort to make collaboration software less dependent on cloud services, and Automerge is an open-source library for realising local-first software. In this talk I explain our motivation for creating Automerge, and map out 7 years worth of research projects that are feeding into this project. Recording of a talk given at the University of Cambridge SRG Seminars on 25 N...
Distributed Systems 6.2: Raft
มุมมอง 33K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Thinking in Events: From Databases to Distributed Collaboration Software (ACM DEBS 2021)
มุมมอง 31K3 ปีที่แล้ว
Keynote by Martin Kleppmann at the 15th ACM International Conference on Distributed and Event-based Systems (ACM DEBS 2021) Paper: dl.acm.org/doi/10.1145/3465480.3467835 Alternative paper link: martin.kleppmann.com/papers/debs21-keynote.pdf Slides: speakerdeck.com/ept/thinking-in-events-from-databases-to-distributed-collaboration-software If you found this useful, please consider becoming a sup...
Maple Leaf Rag (played by beginner)
มุมมอง 6K3 ปีที่แล้ว
My lockdown project for the last year has been to learn the piano. Thanks to my partner for teaching me. Here is my attempt at Scott Joplin's Maple Leaf Rag, with plenty of wrong notes - that's how you know it's played by human, not by computer.
Distributed Systems 8.1: Collaboration software
มุมมอง 22K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 8.2: Google's Spanner
มุมมอง 33K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 7.3: Eventual consistency
มุมมอง 27K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 7.2: Linearizability
มุมมอง 37K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 7.1: Two-phase commit
มุมมอง 64K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 6.2: Raft
มุมมอง 14K3 ปีที่แล้ว
NOTE: There are some mistakes in this video. Please watch this one instead, in which the bugs are fixed: th-cam.com/video/uXEYuDwm7e4/w-d-xo.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2021/ConcDisSys/dist-sys-notes.pdf Full ...
Distributed Systems 6.1: Consensus
มุมมอง 38K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 5.3: State machine replication
มุมมอง 29K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 5.2: Quorums
มุมมอง 38K3 ปีที่แล้ว
Accompanying lecture notes: www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf Full lecture series: th-cam.com/play/PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB.html This video is part of an 8-lecture series on distributed systems, given as part of the undergraduate computer science course at the University of Cambridge. It is preceded by an 8-lecture course on concurrent systems for which vide...
Distributed Systems 4.3: Broadcast algorithms
มุมมอง 42K3 ปีที่แล้ว
Distributed Systems 4.3: Broadcast algorithms
Distributed Systems 4.2: Broadcast ordering
มุมมอง 50K3 ปีที่แล้ว
Distributed Systems 4.2: Broadcast ordering
Distributed Systems 3.3: Causality and happens-before
มุมมอง 41K3 ปีที่แล้ว
Distributed Systems 3.3: Causality and happens-before
Distributed Systems 3.2: Clock synchronisation
มุมมอง 44K3 ปีที่แล้ว
Distributed Systems 3.2: Clock synchronisation
Distributed Systems 2.4: Fault tolerance
มุมมอง 39K3 ปีที่แล้ว
Distributed Systems 2.4: Fault tolerance
Distributed Systems 2.2: The Byzantine generals problem
มุมมอง 64K3 ปีที่แล้ว
Distributed Systems 2.2: The Byzantine generals problem
Distributed Systems 2.1: The two generals problem
มุมมอง 54K3 ปีที่แล้ว
Distributed Systems 2.1: The two generals problem
Distributed Systems 1.3: RPC (Remote Procedure Call)
มุมมอง 102K3 ปีที่แล้ว
Distributed Systems 1.3: RPC (Remote Procedure Call)
Distributed Systems 1.2: Computer networking
มุมมอง 66K3 ปีที่แล้ว
Distributed Systems 1.2: Computer networking
Thank you sir, a grateful new subscriber.
videos are clearer than the book 😅
I have an ultimate question that puzzles me for a long time since I first went thru these courses: If we can simply use vector clock or even lamport clock (that provides TOB)+ read repair to achieve linearizability in a leaderless replication, why do we bother having complicated algorithms such as Raft or Paxos to only achieve linearizability in a single leader replication?
I don't know what I'm missing but AppendLog seems to be a bit problematic since a replica will deliver a log to its application that potentially can changed the storage state? Imagine if there's n replica and leader is sending message to them, and after 1st and 2nd replica successfully append log, suddenly all other n-2 replica plus the leader die, then the message that was delivered to application in the 1st and 2nd node would be invalid right?
Amazing!!
What other viewpoint is there other than clients viewm does anything work or we just keep talking and finally say I never said it would work.
After watching many videos, I finally found the explanation of an understandable protocol given in a very understandable way. Thank you very, very, very much
Sounds like useless talk with no solution. There needs to be verification flow assuming failures and error correction built in. Just interseted in talking with no solution.Finally did the transaction commit or not? Looks like it goes on forever. Reinventing consistency Like a new wheel? My consistency is different from yours?😊 Is anybody using 2 phase commit? Nobody uses it?it feels like if the transaction is held so long as video, it is not feasible.
It is a gem 💎
i wondering about version vector, too. !!
Pretty much all this concepts are just confused on what to name an request standard. Let's call it RPC, no REST no gRPC, how does AJAX sound... It good that I now know the difference tho.
This video is so clear and informative. It answered most of the questions I had.
can we use this algorithm in wireless sensor networks?
What an excellent video - thank you!
For me the best course for DS. Thanks Martin
11:10 wow that's the ultimate definition of concurrency right there
Thank you for this amazing free series, you are the best.
Big fan of his thought process. I wish I could do phd under him.
I am little confused on your statement on "logical timstamps/lamport timestamps provides total order". if they provide total order why even bother about vector clocks? you clearly say that lamport timestamp cannot distinguish concurrent events so how can you call that a "total order"? Also when I put in "does lamport timestamp gives partial order or total order ?" in chatGPT it clearly says "partial order". What am I missing?
I have one doubt. In one of the slide , you mentioned ..in other parts of the computer science Synchronous and Asynchronous are used in other aspects or differently. Can someone please help me to understand that ? and great video series and thanks a lot Martin!
The moon is not actually made of cheese!
Immediately liked and shared. Golden content for computer science folks
Oh no it isn't!
The moon is made of cheese!
Hi Martin, thank you for the lecture. One question regarding quorum and linearizability. In your example of non-linearizable quorum, the write was asynchronously replicated, which can technically violate the quorum safety condition, as the write wasn't acknowledgement by a quorum of nodes. What if the quorum is used with synchronous replication, such that the write is not committed before receving such acknowledgement from the quorum. In that case, a read quorum will always find the most recent write. Any thougts?
Answering to myself: I figured out that the operations are happening concurrently, so client 1 is still pending an ack from the quorum.
Bizantine as the name come from bizantin (Greek and east europe).
this aged well
Wow, I didn't know Martin has a YT channel. Instant subscribe.
Great theme tune for distributed systems
Great theme tune for distributed systems
Big thanks
Excellent lectures but ads are really annoying
Thank you
You're not only a great author but also an amazing teacher. Thanks Martin.
u are the GOAT of DS!
Where Can I find first half of the course ?
Woow what a gem I found! Living in this day and age is amazing and gorgeous, thank you so much for uploading!
Thank you very much.
6:25 th-cam.com/video/_2By2ane2I4/w-d-xo.html
Glock. Genuinely meant block
Did you glock😢
I am sl confused rn
Something
Haha lol i made a funny
Honestly this is a really bad analogy to describe this problem.
I don't understand why at 09:41 you mentioned idempotencenl only for best-effort algo? All other algorithms have reliable network system model which can only be achieved with retry pattern. And if retry isnin place, then idempotence also should be, no?
Thank you so much for the perfect explanation
so interesting! thank you so much for posting this series : )
Sir, where is part one?
brilliant! thanks a lot for the content Martin!
Awesome video!