Ravenports / ravenadm

Administration tool for Ravenports
http://www.ravenports.com
ISC License
17 stars 3 forks source link

Smart builders/jobs distribution. #3

Open ghost opened 6 years ago

ghost commented 6 years ago

Hi.

It is more a newbie question than a feature "request", and probably is total non-sense.

I was thinking if the amount of entropy generated while building a port could be used to somehow do some smart distribution of the available builders/jobs.

Ie.

Every time a port is built the amount of entropy generated during the process could be somehow automatically stored (not the entropy itself but the amount) in the port (a harsh or something) and updated with the mean every time it is built.

So, later while building ports again, Libreoffice (for instance) and many small ports, in a hypotetical system using 4 builders and 4 jobs, the Libreoffice get (lets say) 3 builders with 5 jobs for each, and the small ports one builder with one jobs.

The objective would be to optimize the processor time at maximum possible.

Thanks!

jrmarino commented 6 years ago

You're basically talking about a scheduler. There are a lot of requirements to be satisfied before a ports starts building. This idea (and the many similar ideas that have come before it) complicate things exponentially.

You can extend the rules, such as: never build flavors of the same port at the same time (might interfere with fetching) or never build "heavy" ports at the same time (e.g. never webkit + libreoffice + llvm50 simultaneously). Possible? perhaps. Worth the effort? Probably not -- as I'm focused on Ravenports now.