Skip to content

Confirming #682 on POSIX/local_fs (FUSE) llama3-8b: ~17% checkpoint save regression from fork→forkserver (#650) #695

Description

@Victor-SongZhh

Corroborating #682 with an independent reproduction on different hardware. Please treat as a duplicate/confirmation of #682.

Summary

We independently reproduce the #682 checkpoint save regression on llama3-8b, POSIX / local_fs (a FUSE-backed POSIX filesystem over a single storage node). On latest main (3.0.34, DLIO 59f9480) the writer subprocess uses forkserver (PR #650); our save throughput drops ~17% vs our pre-#650 (fork) result, with load far less affected — matching #682's writer-subprocess root cause.

Data

Phase pre-#650 (fork) 3.0.34 (forkserver, #650) Δ
save 4.89 GiB/s 4.05 GiB/s (4.348 GB/s) −17.2%
load 5.61 GiB/s 5.26 GiB/s (5.646 GB/s) −6.3%

Environment

  • Model/mode: llama3-8b, checkpointing, num_checkpoints_write=10, num_processes=8, single client host.
  • Storage-under-test: a FUSE-backed POSIX filesystem, storage_type: local_fs (POSIX), o_direct: false, fsync: true.
  • Client: r5n.24xlarge (96 vCPU, 768 GB). Worker: i3en.12xlarge. AWS us-west-1.
  • Tool: mlpstorage main @ 3.0.34; DLIO pinned 59f9480 (forkserver) vs prior f6796ed (fork).

Root cause (same as #682)

PR #650 (db4e4f4) applied forkserver unconditionally, including the backend='file' / local_fs path that never had the Tokio-fork deadlock #642 was fixing. A conditional context (fork for file-mode, forkserver only for the object-store path) would restore file-mode throughput.

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