The 3 * 2^3 Counter-Assumptions of Routing, Allocation and Scheduling

The 8 Fallacies of Connectivity, Storage and Execution

The fallacies of connectivity (au pair: routing) are:

  1. The network is reliable
  2. Latency is zero
  3. Bandwidth is infinite
  4. The network is secure
  5. Topology doesn’t change
  6. There is one administrator (single point of decision/information)
  7. Transport cost is zero
  8. The network is homogeneous

** The fallacies of connectivity are based on the fallacies of distributed computing, which are a set of assertions made by L. Peter Deutsch at Sun Microsystems describing false assumptions that programmers new to distributed applications invariably make.

Based on them, I pursued an analytical continuation of the false assumptions over networks in the other neighbouring fields of computing: storage and execution.

The fallacies of storage (au pair: allocation) are:

  1. Retrieval latency (get, read, fetch) latency-at-the-boundary is zero.
  2. Placement overhead (set, put, write) latency-at-the-boundary is zero.
  3. All retrieval are successful.
  4. All placements are successful.
  5. All retrievals are correct if successful.
  6. All placements are correct if successful.
  7. Capacity is infinite.
  8. Cost of storage-at-rest is zero.

The fallacies of execution (au pair: scheduling) are:

  1. Execution always completes (the expectation of halting).
  2. Execution always completes in an expected amount of time (plus a fixed constant).
  3. Execution always completes successfully (with exit code zero).
  4. Execution always completes in a known state.
  5. Execution always completes using only composition of available functions (weak/lazy code completeness) or using strictly and exclusively the available function (strong code completeness)
  6. Execution always completes with available data (weak/lazy data completeness).
  7. Execution always completes with available resources.
  8. Execution is never interrupted.

Bogdan Written by: