Blog

Making Paxos face facts


Lamport's  "Paxos Made Simple" paper is notoriously hard to understand but at least part of the difficulty is that the algorithm  changes radically in the middle of the presentation.  The first part of the paper presents a subtle (maybe too subtle) method to permit multiple processes or network sites to agree…

state equations in practice


  When people think of mathematical models of state for programs and other computer systems, it's natural and conventional to consider state as a map from symbolic names of state variable to values. This is an error for a number of reasons including, most critically, the lack of any compositional…

Synchronous processors


Imagine a processor with no interrupts. We can do a lot better and get rid of most exceptions (e.g. system calls, page faults etc.), most peripheral devices/buses, and even cache misses, but let's start with interrupts. Modern micro-processors are bloated with circuitry that is designed to allow the precious CPU…

IEEE 1588 PTP is a mess


IEEE 1588 was not designed for modern enterprise computer networks and contains many hacks to make it sort of work. The standard also suffers from being overly explicit on some things and overly unspecific  on others.  One marker of the flawed process is that IEEE 1588 transparent clocks don't really…