work balancing for parallel builds?
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
(copied from http://www.haskell.org/pipermail/haskell-cafe/2014-April/113687.html)
I am curious about the method used by cabal-install to distribute the
compilation on several jobs (cores).
By looking at the OS process list, I often see that initally, and at several
times later, all cores are busy, but then there are states where only one
job is running. That's presumably because all future compilations depend on
this single job.
Does cabal's scheduler take into account anything else besides the actual
depencency relation - e.g., something about expected duration of
compilations? (And would it help?)
http://www.haskell.org/pipermail/haskell-cafe/2014-April/113691.html
> Does cabal's scheduler take into account anything else besides the actual
> depencency relation - e.g., something about expected duration of
> compilations?
No, it doesn't.
Contributor guide
Research direction
The issue does not identify files, tests, or a scheduler entry point. Begin by locating cabal-install's parallel build scheduler and its dependency-graph handling, then determine whether compilation-duration estimates are available and define how improved work balancing would be evaluated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100