[Slurm] Run collection natively on CPU nodes and support portable publication
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 42/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- python
調査の方向性
Begin by tracing CollectionPlan, the generated collection scripts, the CPU Slurm job entry point, and the host-destination publication path described in the issue. Verify the existing unit, contract, security, formatting, and lint checks, then confirm that collection uses the captured interpreter and runtime bundle, avoids Enroot and client-SQSH, and publishes without overwriting existing destinations on unsupported filesystems.
索引モデルが issue の本文から書いたものです。
説明
Task Summary
Make the zero-GPU collection/merge job run through the submitting Data Designer shared Python environment instead of starting the pinned client SQSH with Enroot.
This removes an unnecessary dependency on Enroot, FUSE, and squashfuse on CPU-only nodes. Collection should have one native execution path, without a mode selector or fallback configuration.
The collection must also complete on filesystems that reject renameat2(RENAME_NOREPLACE) while preserving collision-safe, no-overwrite publication.
Technical Details & Implementation Plan
- Capture the submitting process's absolute Python executable in the immutable
CollectionPlan. - Verify inside the CPU allocation that:
- the interpreter exists and is executable;
- its installed
data-designer-slurmversion matches the resolved run plan; - the collection plan digest matches its persisted bytes;
- the content-addressed runtime bundle matches its recorded digest.
- Extract the pinned runtime bundle into allocation-local scratch and run the collection worker with the captured interpreter.
- Remove collection's client-SQSH, Enroot, container-mount, and container-destination dependencies.
- Operate directly on the profile-authorized host destination.
- When atomic no-replace rename is unsupported, reserve the absent destination with an exclusive private directory and atomically replace that reservation with the completed staging directory.
- Preserve existing collision detection and never use an
exists()followed by an unprotected rename. - Migration compatibility is out of scope because
data-designer-slurmis new and has no users.
Acceptance Criteria
- Collection remains a one-node, zero-GPU CPU Slurm job.
- Generated collection scripts contain no Enroot or client-SQSH invocation.
- There is no execution-mode option or fallback selector.
- The exact Python executable and pinned runtime code are immutable inputs.
- Collection reads and publishes through host paths only.
- Existing destinations are never overwritten.
- Publication succeeds when
RENAME_NOREPLACEreturns an unsupported-filesystem error. - Unit, contract, security, formatting, and lint checks pass.
Investigation / Context
Related work:
- #850 — Slurm epic
- #869 — deterministic CPU collection
- #870 — real-cluster acceptance
- #874 — public Slurm service/profile integration
- #938 — allocation-local Enroot scratch
No existing issue, pull request, branch, or discussion implements native collection or a safe unsupported-filesystem publication fallback.
Dependencies
None.
- 主要言語
- Python
- スター
- 2.3k
- フォーク
- 211
- 平均マージ
- 3日 12時間
- マージ済み PR(30日)
- 45
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NVIDIA-NeMo/DataDesigner のほかの issue
-
task
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
NVIDIA-NeMo/DataDesigner#760 ·
メンテナーはふだん 1 日以内に返信
-
Harden Slurm inference routing, backpressure, and failover対応中かも @nabinchha が 1 日前に担当しました。 オープンtask
NVIDIA-NeMo/DataDesigner#966 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
-
enhancement triaged
難易度 4/5 3〜5日 初心者へのやさしさ 40/100
NVIDIA-NeMo/DataDesigner#956 ·
メンテナーはふだん 1 日以内に返信
-
task
難易度 5/5 1週間以上 初心者へのやさしさ 42/100
NVIDIA-NeMo/DataDesigner#947 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
NVIDIA-NeMo/DataDesigner#946 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
NVIDIA-NeMo/DataDesigner の issue をすべて見る
似ている issue
-
namespace operations
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
EclipseFdn/open-vsx.org#13573 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
collective/icalendar#1854 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
rancher/rancher-ai-agent#412 ·
メンテナーはふだん 6 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
TUDelftGeodesy/DePSI#134 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
HenriquesLab/rxiv-maker#335 ·