Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument mechanism / verified-clean

Amdahl's Law / Parallel Speedup Calculator mechanism

The inspectable method record for Amdahl's Law / Parallel Speedup Calculator, kept separate from implementation and qualification.

Status: VERIFIED_CLEANLifecycle: verified-clean

Model scope

The formulas pass the numerical checks above, but the instrument needs an explicit domain contract, a precise Gustafson p convention, and an honest label such as "idealized theoretical speedup; ignores parallel overhead and assumes the stated workload model."

  • The algebraic formulas are standard when p is the parallel fraction: Amdahl S=1/((1-p)+p/N) and Gustafson S=N-(1-p)(N-1). However, Gustafson's p convention is often the serial fraction measured in the scaled parallel execution, so using the same p input definition for both laws must be explicitly documented.
  • The phrase "diminishing-returns curve" is accurate for Amdahl's law but not generally for the stated Gustafson formula, which is linear in N.

Units and conventions

  • p is a dimensionless fraction in the closed interval [0,1], not a percentage; enter 0.75 for 75%.
  • N is a dimensionless processor count and should be an integer with N>=1. If continuous plotting is supported, that mathematical extension must be labeled as such.
  • Speedup is dimensionless and is relative to the one-processor baseline.
  • Gustafson's p must be explicitly defined as the parallel fraction under the workload/runtime convention used by the implementation.

Inspectable vector

One of 4 source-bound review vectors:

{
  "inputs": {
    "law": "Amdahl",
    "p": 0.75,
    "sampled_N": [
      1,
      2,
      4,
      8
    ]
  },
  "expected_outputs": {
    "sampled_points": [
      {
        "N": 1,
        "speedup": 1
      },
      {
        "N": 2,
        "speedup": 1.6
      },
      {
        "N": 4,
        "speedup": 2.285714285714286
      },
      {
        "N": 8,
        "speedup": 2.909090909090909
      }
    ],
    "curve_features": {
      "domain": "N>=1",
      "at_N_1": "S(1)=1",
      "monotonicity": "strictly increasing for N>=1",
      "concavity": "concave down",
      "asymptote": "S approaches 4 as N approaches infinity",
      "finite_positive_roots": "none"
    }
  },
  "working": "Amdahl with p=0.75 gives serial fraction 1-p=0.25. N=1: denominator=0.25+0.75/1=1, so S=1/1=1. N=2: denominator=0.25+0.75/2=0.25+0.375=0.625, so S=1/0.625=1.6. N=4: denominator=0.25+0.75/4=0.25+0.1875=0.4375=7/16, so S=1/(7/16)=16/7=2.285714285714286. N=8: denominator=0.25+0.75/8=0.25+0.09375=0.34375=11/32, so S=1/(11/32)=32/11=2.909090909090909. As N increases, p/N approaches 0, so S approaches 1/(1-p)=1/0.25=4."
}

Failure boundary

BREAK_CLAIMED · SELF_FLAGGED

N=0 produces an undefined Amdahl result unless explicitly rejected, and an unlabelled p=80 can be interpreted either as 80% or as the invalid fraction 80, producing radically different results.

Other records

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json
  • evidence-tranche6/tranche6-results.json
  • BOUNDARY_HAZARD_CATALOG.json