[opensuse-buildservice] Scheduler logic
Hi, I have an own OBS installation at home, running on a dual core (thus having two workers) and sometimes I add the notebook for 'more power' (one more worker). The PC starts 2x x86_64 workers and the notebook starts one i586 worker. Unfortunately, so it seems, the scheduler is not to nice behaving in this case. Often I see packages evenly waiting for both platforms, but the scheduler (or whatever task) feeds i586 packages to the x86_64 workers... thus having sooner no i586 packages left and keeping the last worker idle... It would be better in this case if the i586 would get the i586 tasks, x86_64 the 64bit tasks and only when the 64bits are done, those 'help' the i586 pile up.. Can this be achieved somehow? Like always building the 'highest architecture' available first? Dominique --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On 2008-02-26 16:20:42 +0100, Dominique Leuenberger wrote:
I have an own OBS installation at home, running on a dual core (thus having two workers) and sometimes I add the notebook for 'more power' (one more worker). The PC starts 2x x86_64 workers and the notebook starts one i586 worker.
Unfortunately, so it seems, the scheduler is not to nice behaving in this case. Often I see packages evenly waiting for both platforms, but the scheduler (or whatever task) feeds i586 packages to the x86_64 workers... thus having sooner no i586 packages left and keeping the last worker idle...
It would be better in this case if the i586 would get the i586 tasks, x86_64 the 64bit tasks and only when the 64bits are done, those 'help' the i586 pile up..
Can this be achieved somehow? Like always building the 'highest architecture' available first?
and in our setup it would lead to x86_64 is done but i586 waits for ages. the obs uses x86_64 buildhosts mainly. -- openSUSE - SUSE Linux is my linux openSUSE is good for you www.opensuse.org --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On 2/26/2008 at 17:36, Marcus Rueckert <darix@opensu.se> wrote: On 2008-02-26 16:20:42 +0100, Dominique Leuenberger wrote: It would be better in this case if the i586 would get the i586 tasks, x86_64 the 64bit tasks and only when the 64bits are done, those 'help' the i586 pile up..
Can this be achieved somehow? Like always building the 'highest architecture' available first?
and in our setup it would lead to x86_64 is done but i586 waits for ages. the obs uses x86_64 buildhosts mainly.
Indeed... so we need even more logic ;) maybe 'probability' of how many workers per architecture are there available.. and thus schedule it different (or just a config flag, like best arch per worker first) Dominique --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
On Tue, 26 Feb 2008, Marcus Rueckert wrote:
On 2008-02-26 16:20:42 +0100, Dominique Leuenberger wrote:
I have an own OBS installation at home, running on a dual core (thus having two workers) and sometimes I add the notebook for 'more power' (one more worker). The PC starts 2x x86_64 workers and the notebook starts one i586 worker.
Unfortunately, so it seems, the scheduler is not to nice behaving in this case. Often I see packages evenly waiting for both platforms, but the scheduler (or whatever task) feeds i586 packages to the x86_64 workers... thus having sooner no i586 packages left and keeping the last worker idle...
It would be better in this case if the i586 would get the i586 tasks, x86_64 the 64bit tasks and only when the 64bits are done, those 'help' the i586 pile up..
Can this be achieved somehow? Like always building the 'highest architecture' available first?
and in our setup it would lead to x86_64 is done but i586 waits for ages. the obs uses x86_64 buildhosts mainly.
Count the x86_64 hosts, count the i586 hosts. Now count the number of packages waiting. With these 4 it should be pretty easy to assign the jobs. Goal should be that both queues have the same number of packages to do. Essentially if I think about it, you only need the number of packages to do. Feed i586 to x86_64 if numtodo_i586 > numtodo_x86_64 else feed x86_84 to x86_64. How is it currently done? Ciao -- http://www.dstoecker.eu/ (PGP key available) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-buildservice+help@opensuse.org
participants (3)
-
Dirk Stoecker
-
Dominique Leuenberger
-
Marcus Rueckert