Separate SparkRing subsystems and add GLM-5.3 DCP routes - #150
Closed
FujitsuPolycom wants to merge 23 commits into
Closed
Separate SparkRing subsystems and add GLM-5.3 DCP routes#150FujitsuPolycom wants to merge 23 commits into
FujitsuPolycom wants to merge 23 commits into
Conversation
Plan one four-rank direct-link chain without remote work, verify SHA-256 on every rank, resume bounded partial transfers, and optionally import only the expected image ID. Conflicting final files remain unchanged and interrupted operations retain resumable evidence. This adds no runtime-profile, cache-identity, or serving behavior.
State that C4 and C8 were capacity-limited and remain omitted from the research-only throughput row. The FP8 KV and NVMe capacity descriptions remain unchanged.
Bind the exact local image, source composition, model identities, and serving geometry to a machine-readable artifact. Add guarded per-rank launch and retained-container rollback helpers, plus a public operator quickstart. Record the post-restart scheduler-inventory warmup requirement and the C8 result: eight exact external restores, one authenticated physical base read per rank, and seven avoided reads. The cache identity namespace is unchanged, and rebuilds do not inherit the local artifact's qualification. Validation: 44 focused runtime, GLM-5.3 profile, and evidence tests passed; Ruff passed; both shell helpers passed bash -n; git diff --check passed.
This was referenced Aug 31, 2026
This was referenced Aug 31, 2026
Provide one reviewed environment file for site paths and common serving, memory, speculative decoding, kernel, SparkCache, network, and CPU controls. Validate the inputs and JSON-encode structured vLLM arguments before starting Docker. Mark settings that differ from the recorded artifact as user-modified and unqualified while continuing to require the exact qualified image identity. Compatibility: the no-config invocation and all recorded defaults remain unchanged. Configuration files are optional; image aliases must still resolve to the pinned image ID. The qualified launcher continues to support DFlash only. Validation: Ruff passed across maintained trees. The CPU-only repository gate passed with 2004 tests and 9 environment-dependent skips. Launcher contract coverage includes Bash syntax, invalid watermarks, safely encoded JSON, artifact-default parity, and modified-setting labels.
Identify Local Inference Lab's Jovian Judgement vLLM work as the primary GLM runtime performance and correctness source, B12X as the Blackwell kernel/backend source, and the exact Hugging Face model artifacts used by each GLM-5.3 recipe. Distinguish the recipes' BF16 Inco DFlash checkpoint from Local Inference Lab's separate MXFP8 checkpoint. Compatibility: documentation and CPU-only contracts change; image construction, serving profiles, cache identity, launch settings, and qualification scope are unchanged. Validation: Ruff passed across maintained trees. The complete CPU-only SparkRing gate passed with 2005 tests and 9 environment-dependent skips.
Add immutable base and SparkCache image contracts, exact source/model/native provenance, bounded TP4 C4 evidence, and a single rank launcher driven by one operator environment. The launcher selects either published digest, verifies the local image ID and target/draft identity files, isolates cache namespaces, safely encodes structured arguments, and marks changed serving settings unqualified. The quickstart downloads checkpoints once, fans them over the local fabric, and offers a pull-once OCI archive fanout. Compatibility: historical artifact records remain available and are explicitly labeled historical. Canonical GLM indexes route to the published JJ r7-compatible images. The SparkCache namespace is jj-r7-gb10-page-tail-cow-v1; older cache roots are not aliased. The images retain lower-layer native extensions and do not claim a source-built native vLLM 331573d artifact. Validation: JSON and Bash syntax checks passed. Ruff passed across maintained trees. The complete CPU-only repository gate passed with 2015 tests and 9 environment-dependent skips. Ten focused public-image contract tests cover identities, OCI labels, evidence, model hashes, image selection, entrypoint arguments, JSON encoding, configuration status, staleness routing, historical scope, and documentation links.
Resolve GLM CP interleave and B12X full-CKV gather automatically for DCP1, DCP2, and DCP4; keep the immutable public SparkCache image restricted to DCP1; and record bounded source-overlay SparkCache publication and restart-restore evidence. The default request limit remains 524288 tokens with 8192 batched tokens. Validation: launcher contracts 10 passed; related runtime contracts 19 passed; Ruff, Bash, JSON, and diff checks clean.
Compose the exact Jovian Judgement r8 cadence patch over the proven SparkCache vLLM source, retain the verified ARM64 native extensions, B12X, switchless NCCL, and CUDA placement library, and provide one DCP1/DCP2/DCP4 image contract. Operator defaults are 1048576 context, 8192 batched tokens, and 30 GiB KV per rank; full-CKV gather remains capped at 524288 tokens. Validation: 15 focused contracts passed; Ruff, Bash, JSON, compilation, and diff checks clean.
Make complete snapshot publication the default, retain tail-only publication as an explicit option, and override inherited r7 manager-page and vLLM composition labels with the active r8 identities. Validation: 15 image and launcher contracts passed; Ruff, Bash, JSON, and diff checks clean.
Expose an externally configurable prefill schedule interval, default it to eight for the R8 runtime, and retain a 524288-token full-CKV gather ceiling under the 1048576-token model limit. Validation: 15 image and launcher contracts passed; Ruff, Bash, and diff checks clean.
Owner
Author
|
Superseded by draft PR #153, which is based directly on public main and includes the exact R8 ARM64 builder, DCP1/DCP2/DCP4 launcher, topology-aware KV defaults, SparkCache/vLLM-only modes, deep-context evidence, direct-fabric fan-out, and current quickstart. Closing the older stacked draft avoids two competing review surfaces. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Status
Implemented and TP4 smoke-verified. This draft publishes operator contracts for two immutable Linux/ARM64 GB10 images. The bounded smoke covers one four-host TP4/DCP1 C4 workload. It does not establish general throughput, soak behavior, or every model and concurrency shape.
Published artifacts
ghcr.io/fujitsupolycom/sparkring-glm53-runtime@sha256:11922064b342de1fc98f0ef85e6648843c8fa7eb3e4f4353c6ad82d6e457dde0ghcr.io/fujitsupolycom/sparkring-glm53-sparkcache@sha256:f012dd915c0fff0be384820c2d72cd015b83b9b33c3f980445dd718a807cd0c5linux/arm64vllm serve; the launcher supplies only serving arguments.The images contain no model checkpoints. The run contract pins the Local Inference Lab GLM-5.3 Flash NVFP4 target and the
incoaiBF16 DFlash2 draft at proposal depth seven. Inherited MXFP8 plumbing labels are recorded separately and do not identify the mounted draft.Repository documentation boundary
Generic SparkRing pages now describe cluster topology, transport, collective admission, fallback behavior, runtime composition, and evidence routing without using a model as the subsystem identity. Model names, tensor geometries, checkpoint IDs, launch settings, and measurements remain in profile registries, recipes, quickstarts, runtime artifacts, and evidence records.
Resulting operator surface
docs/GLM53_JJ_R7_GB10_TP4_QUICKSTART.mdprovides one route for the base and SparkCache variants.runtime/glm53-flash-jj-r7-gb10/runtime.env.exampleexposes common topology, capacity, batching, model, cache, CUDA-graph, and backend settings.launch-rank.shverifies the immutable image ID and identity-bearing target and draft files before starting a rank.rsync.Operator defaults
The launcher defaults to a 524,288-token request limit, 8,192 batched tokens, and a 524,288-token SparkCache publication span. These limits are implemented but unqualified. The bounded C4 smoke used 262,144, 4,096, and a 262,144-token span, so default launches are labeled
implemented-unqualified-configurationrather than inheriting the smoke claim.DCP2 and DCP4 routes
The cache-disabled launcher supports DCP1, DCP2, and DCP4. Automatic mode selects CP interleave 1 with full-CKV gather disabled for DCP1, and CP interleave 4 with B12X full-CKV gather enabled for DCP2/DCP4. At the 524,288-token request limit and 8,192 batched tokens, bounded DCP2 and DCP4 live requests completed with exact semantics.
The immutable published SparkCache image remains restricted to DCP1 because it does not contain SparkCache commit
65895c8. A source-overlay deployment completed exact DCP2 and DCP4 publication, full process restart, and SparkCache CUDA restore.runtime/glm53-flash-jj-r7-gb10/SPARKCACHE_DCP_SOURCE_OVERLAY.mdrecords the boundary. A replacement pullable image remains required before DCP2/DCP4 can be offered through the public-image SparkCache route.Exact composition
ca91fa72a4cf7e1edaad9875a1a99ab4f71c49af331573d20bd47e78327ed8d8b4d2e6d350bbb1ab, tree927f52a0085bcecfd2ba679e5abebe1a62623daf6255090a03b12c3f7d552102a02fac0b542fb8c9, tree0bb58d0dcc10e29e00ff9850c0d719fca1aba5ad5f1c3f10d5ace66d4ba584415bbfe42b6ac1a0a9116a3b81dcbe50516ad924b3dcbe040d339f243621163b0c6ed4ce96462403d8d57509052b73853bcc8e3c3f47bb81748d87b9cbd8d908fc20d4c79a09aa400cThe receipt distinguishes active Python source from compiled vLLM extensions retained from lower image layers. It does not claim that the active Python revision rebuilt every native extension.
Bounded TP4 result
The SparkCache image published four exact 16K contexts, restarted all four ranks, and restored all four requests with exact codewords. Every restored request reported a 100% external prefix hit. Client time was 0.561595–1.582937 seconds; worker cache service was approximately 277–394 ms.
This C4 smoke used complete 16K snapshots. It does not independently prove the separate C8 shared-base result recorded by the historical exact artifact.
Validation
JSON contracts, shell syntax, repository-relative links, release-safety checks, and whitespace checks also pass.
Compatibility and limits
This pull request remains a draft for human review. It updates the existing PR #150 branch and does not merge or close any pull request.