Quantcast
Channel: systems – keeping simple
Browsing all 63 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Software quality at toyota

The good stuff starts on page 36 Koopman.   

View Article


The difference between unspecified, undefined, and non-deterministic

There is too much confusion in the “formal methods” computer science literature between these three different terms. Let me start with what this means for a state machine and then move on to...

View Article


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...

View Article

Image may be NSFW.
Clik here to view.

RTLinux

Some old stuff I found in the office

View Article

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...

View Article


circularity problems in distributed consensus

Distributed consensus involves organizing a collection of independent agents – processes or network sites – to agree on some value or sequence of values.  Many distributed consensus methods depend on a...

View Article

The replicated state machine method of fault tolerance

The first time I saw this method was when I went to work for Parallel Computer Systems in the famous tech startup center – Englewood Cliffs, New Jersey. (True story: I applied for the job after finding...

View Article

Distributed consensus and network reliability

All of the distributed consensus algorithms I have been reviewing recently (Paxos, Raft, Zab, Chang Maxemchuck, Viewstamped, … ) are based on a number of assumptions about the network environment,...

View Article


Data base design criteria: ease of use

Regarding ease-of-use, it’s often struck me when reviewing data systems papers that the evaluation sections are full of performance and correctness criteria, but only rarely is there any discussion of...

View Article


Chang-Maxemchuk atomic broadcast

The Chang-Maxemchuk algorithm (US Patent 4,725,834 ) solves atomic broadcast (and in-order broadcast) problems for distributed networks in a far simpler and more efficient way than some popular...

View Article

Paxos made comprehensible

Replaced by Understanding Paxos 

View Article

Understanding Paxos and Distributed Consensus

  (minor wording correction and more complaining added 10/2/2016) Multi-proposer Paxos is a very clever and notoriously slippery algorithm for obtaining distributed consensus. In this note I try to...

View Article

The difference between unspecified, undefined, and non-deterministic

There is too much confusion in the “formal methods” computer science literature between these three different terms. Let me start with what this means for a state machine and then move on to...

View Article


undefined behavior and the purpose of C

C undefined behavior. From one of the LLVM developers: This behavior enables an analysis known as “Type-Based Alias Analysis” (TBAA) which is used by a broad range of memory access optimizations in the...

View Article

The C standard committee effort to kill C continues

Consider the following code: void f(void) { unsigned char x[1]; /* intentionally uninitialized */ x[0] ^= x[0]; printf("%d\n", x[0]); printf("%d\n", x[0]); return; } In this example, the unsigned char...

View Article


The C standard versus C and the mother of all hacks.

The Kafkaesque interaction of the C standard and the main open source C compilers was concisely outlined by one of the main LLVM authors back in 2011: “knowing that INT_MAX+1 is undefined allows...

View Article

C compiler developers are hostile to C programming

From the LLVM developer mailing list this remarkable exchange in which Chris Lattner of LLVM says that the compiler use of undefined behavior (UB) is so “crappy” that the only solution is to abandon C...

View Article


Bad ideas in type theory

Types as sets and subtypes as subsets.  This may be due to confusing usage in mathematical practice where, for example, we often see references to integers as a subset of reals. But in mathematical...

View Article

informal methods applied to networks and timeouts

Distributed computation involves many interesting issues concerning shared data. Here I want to sketch out what networks look like using applied (informal) mathematics so we can look at some algorithms...

View Article

Image may be NSFW.
Clik here to view.

Paxos shaken but not stirred

The infamous distributed consensus algorithm, dissected, patented, with miracle ingredients. (minor updates march 5) Download (PDF, 47KB)

View Article
Browsing all 63 articles
Browse latest View live