Keshav
Work · Research

Temporal Compute

What computation is still worth doing when its value depends on when it finishes? The first scheduler lost to EDF and failed all five of its gates.

My part
Author — Rust simulator, Python rendering harness, preregistration
State
Generation I negative · Generation II registered, not run
■ WIN 15   □ TIE 15   ■ LOSS 170 — AGAINST EDF, 200 SCENARIOS−5.07%TOTAL UTILITY · 0 OF 5 GATES PASSED1,203 JOBS EXPIRED UNSTARTED · EDF: 37

What it does

A deterministic Rust simulator for jobs whose value depends on completion time, and a Python harness that drives a real renderer — PBRT-v4 on the CPU, pinned to one commit.

Why it exists

Deadlines are a crude model of value. A satellite image that arrives an hour late isn't worthless; it's worth less. Generation I asked whether scheduling on that utility curve beats scheduling on deadlines.

What happened

The protocol was frozen before the run: 200 synthetic Earth-observation scenarios, 9,600 jobs, 15,882 runs, five registered gates. The temporal-utility scheduler scored 524,509 against EDF's 552,525 — 5.07% worse. 15 wins, 15 ties, 170 losses. All twelve sensitivity variants negative. All five gates failed.

The detail that explains it: temporal utility let 1,203 cloud jobs expire unstarted. EDF let 37.

Generation I is retired. Generation II asks a narrower question — given the intermediate state of a render, which unit of computation is worth doing next — and allocates render samples by marginal value.

How it's built

  • tc-core → tc-ir (TOML scenarios) → tc-scheduler: FIFO, fixed priority, EDF, temporal utility, utility density.
  • tc-sim: deterministic, single-CPU, non-preemptive discrete events with JSONL traces.
  • Generation II: a Python harness with contracts and evidence under research/.

Tradeoffs and honesty

  • No simulation parameter in Generation I is a measured mission quantity. The negative result is real, but it's a result about the simulator.
  • An offline gate found the Generation II controller differs from the variance-guided baseline mainly through a noisy term. Whether that's a meaningful test of the hypothesis is an open question I haven't closed.

Where it stands

TC-R1, the primary experiment, is preregistered and not run. A review projected 1,800–4,200 single-worker hours per pass. Next: a deterministic charged-ray cost, a persistent renderer worker, and an execution freeze before anything runs.