Skip to content

M6 Sweep, the whole matrix #8

Description

@tamnd

The whole matrix instead of one cell. Roughly ten thousand runs over about eight days on the large host, which means the interesting engineering here is not throughput, it is what happens when something goes wrong on day six.

Scope

  • cache-bench doctor, checking cores, the core split, memtier and its version, the PMU, perf_event_paranoid, free memory against the profile's limit, the projected working set against that limit, and the load average. It refuses a profile the host cannot honestly run rather than warning and continuing.
  • cache-bench sweep, iterating prog then threads then pipeline then perf then run, in that order, matching the original so a partial results directory stays comparable, and so all 31 runs of a cell happen together in time and a disturbance shows up as one bad cell instead of smeared across all of them.
  • Restartable by file existence, and a result file that does not parse is re-run rather than accepted. Silently trusting a truncated file is the failure mode that costs a whole sweep.
  • A lock file per results directory. One session at a time against one clone.
  • results/logs/sweep.jsonl, one object per run, with the load average recorded before each one so a noisy window can be found afterwards rather than guessed at.
  • results/failures.json as a first class output. A cell that failed is absent with a footnote, never zero, because a zero on a chart is a claim and an absence is not.
  • An ETA, derived once there are enough completed runs to derive one rather than from an estimate scaled off somebody else's silicon.

Exit, and it is a gate

A smoke sweep of every engine at one pipeline depth and two thread counts completes unattended, killing it halfway and restarting it loses no completed work and repeats no completed run, and the failure file is empty or every entry in it is understood.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    cliThe cache-bench binary and its subcommandsgateBlocks a milestone exithostHardware profiles, host setup, machine specific problemsmilestoneMilestone tracking issue

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions