Skip to content

[BWARE] Track more compressed-friendly ops in FederatedWorkloadAnalyzer#2481

Open
Baunsgaard wants to merge 2 commits into
apache:mainfrom
Baunsgaard:split/federatedAnalyzer
Open

[BWARE] Track more compressed-friendly ops in FederatedWorkloadAnalyzer#2481
Baunsgaard wants to merge 2 commits into
apache:mainfrom
Baunsgaard:split/federatedAnalyzer

Conversation

@Baunsgaard

Copy link
Copy Markdown
Contributor

Extends the federated workload counter so that compression decisions account for additional instruction shapes beyond AggregateBinary.

  • Pass the right-hand column count to incOverlappingDecompressions so the cost model reflects the actual decompression size rather than counting a single column
  • Count MMChainCPInstruction as one LMM and one RMM contribution per invocation
  • Count AggregateUnaryCPInstruction: when reducing columns with a sum/mean operator, treat it as a dict-op (compression-friendly); otherwise count it as a decompression
  • Minor formatting cleanup in compressRun

@codecov

codecov Bot commented Jun 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.42%. Comparing base (88c26e2) to head (89f7059).
⚠️ Report is 12 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #2481      +/-   ##
============================================
+ Coverage     71.37%   71.42%   +0.04%     
- Complexity    48749    48830      +81     
============================================
  Files          1571     1572       +1     
  Lines        188912   189109     +197     
  Branches      37067    37106      +39     
============================================
+ Hits         134845   135064     +219     
+ Misses        43601    43579      -22     
  Partials      10466    10466              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Extends the federated workload counter so that compression decisions
account for additional instruction shapes beyond AggregateBinary.

- Pass the right-hand column count to incOverlappingDecompressions
  so the cost model reflects the actual decompression size rather
  than counting a single column
- Count MMChainCPInstruction as one LMM and one RMM contribution per
  invocation
- Count AggregateUnaryCPInstruction: when reducing columns with a
  sum/mean operator, treat it as a dict-op (compression-friendly);
  otherwise count it as a decompression
- Minor formatting cleanup in compressRun
Cover the instruction-shape branches in incrementWorkload that drive
federated compression decisions, which previously had no direct tests:

- AggregateBinary: RMM/LMM counting, overlapping-decompress sizing by the
  right-hand column count, and the validSize row/column guards
- MMChain: one LMM and one RMM contribution per invocation
- AggregateUnary: dict-op vs decompression classification across
  ReduceAll/ReduceRow/ReduceCol with sum, mean, product, and max operators
- Instance-level dispatch and compressRun threshold behavior, asserting
  async compression materializes when the cost model would compress
@Baunsgaard Baunsgaard force-pushed the split/federatedAnalyzer branch from eb81e3b to 89f7059 Compare June 9, 2026 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant