Skip to content

perf(io): add busy-wait completion mode and numpy batch-transfer mars…#444

Open
TianDi101 wants to merge 3 commits into
mainfrom
perf/io-busy-wait-numpy
Open

perf(io): add busy-wait completion mode and numpy batch-transfer mars…#444
TianDi101 wants to merge 3 commits into
mainfrom
perf/io-busy-wait-numpy

Conversation

@TianDi101

Copy link
Copy Markdown
Collaborator

…haling

WaitBusy() spins on the completion flag instead of blocking on the condition variable, trading a CPU core for lower wakeup latency. BatchRead/BatchWrite now accept numpy arrays for offsets/sizes, avoiding per-element Python-list conversion. Benchmark gains --busy-wait, --post-batch-size, --warmup-iters flags and separate launch/transfer latency reporting.

Motivation

Technical Details

Test Plan

Test Result

Submission Checklist

25337 and others added 2 commits July 23, 2026 03:44
…haling

WaitBusy() spins on the completion flag instead of blocking on the
condition variable, trading a CPU core for lower wakeup latency.
BatchRead/BatchWrite now accept numpy arrays for offsets/sizes,
avoiding per-element Python-list conversion. Benchmark gains
--busy-wait, --post-batch-size, --warmup-iters flags and separate
launch/transfer latency reporting.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
@TianDi101
TianDi101 force-pushed the perf/io-busy-wait-numpy branch from a5d44cd to bf3078f Compare July 23, 2026 03:44
…_once actually uses

_validate_rdma() unconditionally assumed the strided (buffer_size+1)
offset layout whenever --batch-contiguous was off, but that layout is
only ever used by run_batch_once() (--enable-batch-transfer). The
default path, run_single_once(), always issues transfers at contiguous
offsets (buffer_size * i) regardless of --batch-contiguous, causing
spurious AssertionErrors on batch_contiguous=False runs with batch > 1
even though the RDMA transfer itself succeeded.

Gate the strided comparison on self.enable_batch_transfer and add a
branch for the non-batched, non-contiguous-flag case that compares
against the contiguous prefix that was actually transferred.
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