Skip to content

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

Merged
Baunsgaard merged 2 commits into
apache:mainfrom
Baunsgaard:split/federatedAnalyzer
Jun 15, 2026
Merged

[BWARE] Track more compressed-friendly ops in FederatedWorkloadAnalyzer#2481
Baunsgaard merged 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
@Baunsgaard

Copy link
Copy Markdown
Contributor Author

Hey @christinadionysio ,

I have seen this error before for the CI of Scuro, where the machine runs out of disk space, maybe you want to take a look at the logs?

@Baunsgaard Baunsgaard merged commit ee69e51 into apache:main Jun 15, 2026
53 of 54 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in SystemDS PR Queue Jun 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant