Skip to content

Integrating Schedule-Aware Heuristics for Targeted Task Duplication - #70

Open
jasonlopez5 wants to merge 15 commits into
ANRGUSC:feature/duplicatingfrom
jasonlopez5:feature/duplication-heuristics
Open

Integrating Schedule-Aware Heuristics for Targeted Task Duplication#70
jasonlopez5 wants to merge 15 commits into
ANRGUSC:feature/duplicatingfrom
jasonlopez5:feature/duplication-heuristics

Conversation

@jasonlopez5

Copy link
Copy Markdown

Summary

Builds on the existing task duplication framework by introducing schedule-aware heuristics for targeted task duplication. The heuristics evaluate workflow and schedule information to identify duplication candidates and generate duplication plans for HEFT and CPoP.

Additionally, this adds an experiment framework for evaluating the heuristics on both random DAGs and WfCommons workflows. It also updates the duplication tests to match the current duplication implementation and improves WfCommons workflow generation.

Type of change

  • Bug fix
  • New feature (other)
  • Refactor / maintenance

Checklist

  • Branched off main and up to date with it (no conflicts)
  • uv run pytest tests/ --timeout=120 passes locally
  • uv run mypy src/saga --ignore-missing-imports is clean
  • uv run ruff check src/saga and uv run ruff format --check src/saga are clean
  • New or changed behavior is covered by tests
  • Public functions/classes are typed and documented in the existing docstring style
  • No stray files, debug prints, unintended pyproject.toml/uv.lock changes, or version bump

Tests

  • Updated tests/test_duplication.py to reflect the targeted duplication implementation.

Notes for reviewers

Targeted Duplication

This extends the framework with schedule-aware heuristics that create duplication plans.

  • HEFT and CPoP continue to make their normal scheduling decisions.
  • The heuristic framework evaluates a baseline schedule, scores tasks, and generates a duplication plan specifying which tasks should be duplicated and their target processors.
  • HEFT and CPoP then execute that duplication plan while preserving their existing scheduling logic.

Experiments

Added an experiment framework for evaluating the heuristics.

  • Supports both random graph and WfCommons experiments.
  • Includes brute-force evaluation for comparing heuristic-selected duplication plans against exhaustive search.
  • Added analysis plots for makespan ratio analysis and heuristic validation.

WfCommons

Updated WfCommons workflow generation by:

  • Integrating WfCommons v1.5 edge weights.
  • Correcting synthetic source/sink edge weights.

CPoP

  • Corrected downward_rank() so task computation cost is no longer counted twice for both the upward and downward rank calculations, ensuring correct identification of the critical-path.

@jasonlopez5 jasonlopez5 reopened this Aug 14, 2026
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