Skip to content
About
Main content
Recurring principle

Sound approximations

When exactness is too expensive, use a sound approximation.

What it is

The first honest note. Conflict serializability is sufficient but not necessary for correctness. A weaker criterion, view serializability, accepts strictly more schedules, and it is the more faithful definition of "equivalent to a serial run". But testing view serializability is NP-complete (no efficient algorithm is known). Therefore every production system enforces a criterion stricter than correctness requires, because the exact criterion is intractable. Keep this in mind. It comes back several times, and by the end of Multiversion, optimistic and other schemes it will have a name.

From Transactions & Concurrency Control › The serialization graph

Everything that ships is an approximation of MIN, and the approximation ladder has two rungs:

From Memory & Resource Management › The replacement problem

In an asynchronous network you can have completeness always, and accuracy only eventually. The timeout is the dial between them.

From Distributed Systems Coordination › Failure detection

Where it appears

In 13 mechanisms. Each says what the mechanism is about, then how this principle shows up there, in its own words.

Made on the same pages most often.