Skip to content

Correct the DCP4 owner-path evidence and document the no-overlap check - #269

Merged
FujitsuPolycom merged 15 commits into
mainfrom
feat/dcp4-owner-verification
Sep 11, 2026
Merged

Correct the DCP4 owner-path evidence and document the no-overlap check#269
FujitsuPolycom merged 15 commits into
mainfrom
feat/dcp4-owner-verification

Conversation

@FujitsuPolycom

Copy link
Copy Markdown
Owner

What and why

Follow-up to #265 (merged): the record claimed the DCP top-k owner-exchange machinery was proven active by the full-CKV gather log line. Verified against the published image source: this build has no separate topk-to-owner exchange step — top-k runs over the all-gathered global CKV cache and per-token ownership is resolved arithmetically in _map_global_topk_to_gathered_ckv_kernel (owner = (tok // DCP_INTERLEAVE) % DCP_SIZE). The record now cites the verified chain (gate + all-gather + owner-mapping kernel) instead of implying a distinct exchange primitive.

Also documents the fabric-overlap check on the measurement windows: only the four serving ranks ran on the hosts, the #260 DeepSeek cycle uses a separate physical ring, and the second fabric NIC byte counter was idle — no rerun required. publication.json record hash repinned.

Validation

  • pytest runtime/sparkring/jovian-r33/image/test_r33_image_contract.py runtime/sparkring/jovian-r33/profiles/test_profile_contract.py: 67 passed locally
  • Record hash matches publication.json pin

Add tp4-dcp4 and tp4-dcp4-sparkcache profile templates, contract entries,
launcher case arms with a profile-name/DCP consistency guard, mesh renderer
and cache-diagnostics allowlist entries, and a DCP-aware cache namespace.
mHC owner rows stay 2,048 (rows split across the TP4 group; DCP does not
re-split) per the R33 patch source. Templates and managed rendering are
implemented; bounded GPU qualification on the four-Spark ring is pending.
The published R33 image bakes its entrypoint allowlist and profile contract.
Add R33_PROFILE_CONTRACT_HOST_ROOT: when set with an R33 profile, the launcher
bind-mounts the host's jovian-r33/profiles directory (and the matching
entrypoint.py) read-only over the image copies, so DCP4 profiles can serve
from the unchanged published image. The mounted contract keeps the image's
artifact lock and mesh pins identities.
Mounting over /opt/sparkring/bin/sparkring-r33 breaks the in-image
verify-candidate installed-file identity check. Mount the overlay
entrypoint at /opt/sparkring/bin/sparkring-r33-overlay instead and select
it as serving_entrypoint only when the contract overlay is active, so the
baked entrypoint and its verified payload stay intact.
…rypoint

The baked verify-candidate hashes the baked profile-contract files, which a
mounted overlay supersedes. The overlay entrypoint now verifies every
non-contract installed file against the in-image source lock itself when the
overlay is active, and runs the unchanged baked verifier otherwise.
Record the bounded TP4/DCP4 qualification on the four-Spark ring serving
from the unchanged published R33 image: exact answers, two 37K cold
prefills, prefix reuse (36,352 cached tokens), mHC rows=8192
owner_rows=2048 on every rank, SparkCache page snapshots, 8K restore after
a planned restart (50.6-54.8 ms) and after SIGKILL fault injection
(51.9-57.7 ms), and 8,364,901-token KV capacity. Add the activation
receipt, the performance record, the README DCP4 row with its KV footnote,
the retired-mesh replacement pointer, and the profile-index row. The
RoCEnante overlay arms at decode_context_parallel_size=4, so DCP4
activations require the managed fabric installation before launch.
…evidence, six-case prefix regression, cache-disabled observation, publication entry, reproduction guide
@FujitsuPolycom
FujitsuPolycom merged commit f575d42 into main Sep 11, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant