Skip to content

[WIP] [CIP-20] Dynamically adjust partition write parallelism - #3260

Closed
ErikFang wants to merge 4 commits into
apache:mainfrom
ErikFang:dynamically-adjust-partition-write-parallelism
Closed

ErikFang wants to merge 4 commits into
apache:mainfrom
ErikFang:dynamically-adjust-partition-write-parallelism

Conversation

@ErikFang

@ErikFang ErikFang commented May 14, 2025 •

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

enhance celeborn to

  1. allow shuffle client to write to one partition with multiple partition locations parallelly
  2. allow lifecycle manager to detect parallel level for each partition by partition splitting frequency

CIP-20: Dynamically optimize shuffle write parallelism
https://docs.google.com/document/d/1CqFswIOP5nR8Cy2THo8tELOwVxUf0ZP_8pDjaYj2HGc/edit?usp=sharing

Why are the changes needed?

TBD

Does this PR introduce any user-facing change?

TBD

How was this patch tested?

TBD

@SteNicholas
SteNicholas force-pushed the main branch 2 times, most recently from 5590ef0 to 0dffcf6 Compare May 26, 2025 09:57
@github-actions

Copy link
Copy Markdown

This PR is stale because it has been open 20 days with no activity. Remove stale label or comment or this will be closed in 10 days.

@github-actions github-actions Bot added the stale label Jun 22, 2025
@ErikFang

Copy link
Copy Markdown
Contributor Author

CIP document updated

@github-actions github-actions Bot removed the stale label Jun 29, 2025
@github-actions

Copy link
Copy Markdown

This PR is stale because it has been open 20 days with no activity. Remove stale label or comment or this will be closed in 10 days.

@github-actions

Copy link
Copy Markdown

This PR is stale because it has been open 20 days with no activity. Remove stale label or comment or this will be closed in 10 days.

@github-actions github-actions Bot added the stale label Aug 11, 2025
@github-actions

Copy link
Copy Markdown

This issue was closed because it has been staled for 10 days with no activity.

@github-actions github-actions Bot closed this Aug 22, 2025
@RexXiong RexXiong reopened this Aug 22, 2025
@github-actions github-actions Bot removed the stale label Aug 23, 2025
@turboFei turboFei changed the title [WIP] Dynamically adjust partition write parallelism [WIP] [CIP-20] Dynamically adjust partition write parallelism Sep 1, 2025
@github-actions

Copy link
Copy Markdown

This PR is stale because it has been open 20 days with no activity. Remove stale label or comment or this will be closed in 10 days.

@github-actions github-actions Bot added the stale label Sep 22, 2025
@github-actions

github-actions Bot commented Oct 3, 2025

Copy link
Copy Markdown

This issue was closed because it has been staled for 10 days with no activity.

@github-actions github-actions Bot closed this Oct 3, 2025
@SteNicholas SteNicholas reopened this Nov 25, 2025
@SteNicholas SteNicholas removed the stale label Nov 25, 2025
@github-actions

github-actions Bot commented Jan 7, 2026

Copy link
Copy Markdown

This PR is stale because it has been open 20 days with no activity. Remove stale label or comment or this will be closed in 10 days.

@github-actions github-actions Bot added the stale label Jan 7, 2026
@github-actions

Copy link
Copy Markdown

This issue was closed because it has been staled for 10 days with no activity.

@github-actions github-actions Bot closed this Jan 18, 2026
@turboFei turboFei reopened this Feb 13, 2026
@turboFei turboFei removed the stale label Feb 13, 2026
@github-actions

github-actions Bot commented Mar 6, 2026

Copy link
Copy Markdown

This PR is stale because it has been open 20 days with no activity. Remove stale label or comment or this will be closed in 10 days.

@github-actions github-actions Bot added stale and removed stale labels Mar 6, 2026
@github-actions

github-actions Bot commented Apr 2, 2026

Copy link
Copy Markdown

This PR is stale because it has been open 20 days with no activity. Remove stale label or comment or this will be closed in 10 days.

@github-actions github-actions Bot added the stale label Apr 2, 2026
@github-actions

Copy link
Copy Markdown

This issue was closed because it has been staled for 10 days with no activity.

@github-actions github-actions Bot closed this Apr 13, 2026
yew1eb added a commit to yew1eb/celeborn that referenced this pull request Aug 9, 2026
…nd refocus design doc on CIP-20

Rename the parallel-write feature to adaptivePartitionWriteParallelism:
- celeborn.client.shuffle.adaptivePartitionWriteParallelism.enabled /
  .maxLocations / .hotWindow (config keys, constants, getters, locals)
- ChangePartitionManagerParallelWriteSuite renamed to
  ChangePartitionManagerAdaptiveParallelismSuite
- Regenerate docs/configuration/client.md

Rewrite the design doc: drop the Uniffle introduction, add a deep
analysis of CIP-20 / PR apache#3260 based on its actual code (event-count x
assumed-bytes rate signal vs our measured fillTime; the static
expectedWorkerSpeed magic number; epoch-semantics reuse and its
invasive fallout; closed by stale bot without technical rejection),
and rebuild the comparison as a two-way table against CIP-20 only.
Remove dynamic-write-parallelism-comparison.md accordingly.

Compile, spotless and the config-docs golden check pass.
yew1eb added a commit to yew1eb/celeborn that referenced this pull request Aug 26, 2026
…nd refocus design doc on CIP-20

Rename the parallel-write feature to adaptivePartitionWriteParallelism:
- celeborn.client.shuffle.adaptivePartitionWriteParallelism.enabled /
  .maxLocations / .hotWindow (config keys, constants, getters, locals)
- ChangePartitionManagerParallelWriteSuite renamed to
  ChangePartitionManagerAdaptiveParallelismSuite
- Regenerate docs/configuration/client.md

Rewrite the design doc: drop the Uniffle introduction, add a deep
analysis of CIP-20 / PR apache#3260 based on its actual code (event-count x
assumed-bytes rate signal vs our measured fillTime; the static
expectedWorkerSpeed magic number; epoch-semantics reuse and its
invasive fallout; closed by stale bot without technical rejection),
and rebuild the comparison as a two-way table against CIP-20 only.
Remove dynamic-write-parallelism-comparison.md accordingly.

Compile, spotless and the config-docs golden check pass.
@yew1eb

yew1eb commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Hi @ErikFang @mridulm @turboFei @RexXiong — I've been working on the same problem and have submitted CIP-24 (#3843), which shares the goal of adaptive partition write parallelism but takes a different approach to the control loop (LifecycleManager measures actual fill time per location rather than estimating from event counts, and the active set is propagated through the existing revive RPC). Your earlier work on CIP-20 was a valuable reference for this design.

The proposal is under discussion on dev@: https://lists.apache.org/thread/fvy5jor59mxqp15v8xq2d5xw64yb71gs — would love to hear your thoughts there or on the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants