Skip to content

Benchmarks: full-AOI NEON runs, re-pin temporal to full catalog (β†’ 2026-03-15), reset live series, CONUS cost modelΒ #202

Description

@espg

πŸ€– from Claude

Filed from the hive-layout discussion (espg/mortie#48 β†’ #198/#199); espg will follow up with more detail. This issue also absorbs the write-throughput acceptance criterion from #199 (validating shuffle #197 + hive layout under real concurrency belongs here, with the benchmarks, not as a #199 checklist item).

Context

The live matrix (#193, just landed β€” only 1–2 datapoints recorded so far, so now is the cheap moment to reset) measures one pinned densest shard per target (tests/data/benchmark/targets.json; "densest = most granules, lowest-key tiebreak"), with the temporal pin 2018-10-13 β†’ 2025-06-01. That isolates code deltas well, but it can't answer the questions we now need: what does a full AOI cost, and what would CONUS cost.

Scope

  1. Full-AOI NEON target(s). Dispatch all shards over the AOP_NEON.geojson box, not just the pinned densest cell. Record: total wall / lambda-seconds / cost, the per-shard distribution (granules, runtime, cost, RSS β€” this feeds the regression in (4)), and AOI-mask build time as its own recorded number.
  2. Temporal re-pin to the full catalog. 2018-10-13 β†’ 2026-03-15 (current end 2025-06-01 truncates the mission). Rebuild the NEON shardmaps over the new window; pinned densest shards and granule counts will shift (the drift test already tolerates tie reselection β€” extend as needed). 88S stress pins (add 88 south stress test shard + benchmarkΒ #148) keep their own temporal unless espg says otherwise.
  3. Reset the live series. Clear the 1–2 datapoints on the just-updated matrix/figure and start the corrected-metrics series from zero, so the tracked history is internally consistent from day one.
  4. CONUS cost model. The deliverable is a written, realistic estimate before anyone runs it:
    • Regression from the NEON full-AOI per-shard data: granules-per-shard β†’ lambda-seconds / cost (and memory, for sizing).
    • Build the CONUS shardmap over the full temporal window β†’ per-shard granule counts for the real domain (~50k order-9 shards).
    • Apply the regression β†’ estimated total lambda-seconds + dollar cost, plus operational costs (S3 PUT/GET volume, CMR/catalog build, status-channel traffic).
  5. Write-throughput validation (from Adopt morton decimal shard ids + hive-partitioned output layout (manifest, commit stamp)Β #199): the full-AOI runs β€” and eventually the scoped CONUS run β€” exercise dispatch shuffle (Shuffle shard dispatch order before fan-out to spread S3 prefix loadΒ #197) + hive layout (Adopt morton decimal shard ids + hive-partitioned output layout (manifest, commit stamp)Β #199) at real concurrency. Record throttling/503 SlowDown counts alongside the cost numbers.

Coordination notes

Questions for espg

  1. Does full-AOI replace the one-shard pins, or run alongside them? (One-shard isolates code deltas from data drift; full-AOI measures cost truth. Keeping both β€” one-shard for the regression-tracking series, full-AOI recorded per release or on demand β€” seems defensible.)
  2. Which live-matrix axes carry into the reset series (the Skip zarr metadata consolidation by default (opt-in)Β #193 inline/sidecar A/B over o9/o10? tdigest only, or gain_bias too)?
  3. What counts as "operational cost" for the CONUS estimate β€” S3 requests + CMR + CloudWatch/logs, or a broader accounting?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions