Skip to content

feat: Implement TensorCast broadcast tree materialization#172

Open
FernanDAlumin wants to merge 49 commits into
mainfrom
runze/broadcast-weight
Open

feat: Implement TensorCast broadcast tree materialization#172
FernanDAlumin wants to merge 49 commits into
mainfrom
runze/broadcast-weight

Conversation

@FernanDAlumin
Copy link
Copy Markdown
Collaborator

Summary

  • Add control-plane broadcast session support for tree-based TensorCast weight dissemination, including global-store state, RPC/service wiring, schema updates, API context propagation, and generated Python package init files.
  • Propagate broadcast/transport hints through SDK, daemon materialization, store ingestion, and transport routing so replicas can be materialized through broadcast tree edges.
  • Harden broadcast lifecycle behavior around stale edges, replay exhaustion, cancelled advancement, parent eligibility, no-lease materialization, and heartbeat timeout handling.

Test Plan

  • PYTHONPATH=/data/tot/tensorcast:/data/tot/tensorcast/proto/gen/python /data/tot/.venv/bin/python -m pytest tests/python/global_store/test_broadcast_service.py
    • 12 passed
  • git diff --check
  • Attempted bazel test //daemon:grpc_service_impl_no_lease_materialize_test
    • Build/analyze completed, but local runtime failed with cudaErrorInsufficientDriver: CUDA driver version is insufficient for CUDA runtime version.

zhou-yuhan and others added 30 commits April 26, 2026 16:21
- Thread activated HOST_SHARED stable-backing refs and keepalives through source spans and segmented put-side communicator exports.
- Add stable-backed lightweight source-view keys that preserve the existing BatchPayloadCommunicatorSource schema while splitting view-key cleanup from stable chunk MR ownership.
- Teach READ_PLAN_REQUEST admission to resolve stable-backed source views on the requested rail through StableLocalBackingState::ensure_chunk(), bypassing broker-owned raw tensor registration.
- Validate with targeted daemon/communicator tests, tensorcast daemon build, and the share-remote SGLang replay showing stable_backing_view exports with cached-token hits intact
  - Add missing TYPE_CHECKING imports in tensorcast/__init__.py for names
    exposed via _LAZY_ATTRS so they satisfy __all__
  - Restructure broadcast transport claim with try/except/else so pyright
    narrows replica/edge as non-None on the success path
  - Pass transport_request_id and transport_scheduling_group as typed
    named arguments instead of via dict[str, object] **kwargs to match
    materialize_by_artifact_id_v2 overloads
  Add  after the  guard so
  strict type checkers can narrow  to
  non-optional inside the try/finally bodies. Resolves 22 union-attr
  errors in broadcast_repository.py.
@FernanDAlumin FernanDAlumin changed the title Implement TensorCast broadcast tree materialization feat: Implement TensorCast broadcast tree materialization May 6, 2026
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.

2 participants