[haiku-development] Re: On timeslices and cycles

  • From: Rene Gollent <anevilyak@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 16 Mar 2009 09:19:56 -0500

On Mon, Mar 16, 2009 at 9:10 AM, Christian Packmann
<Christian.Packmann@xxxxxx> wrote:
> Er, I am in control. This is my desktop machine. It just does what I tell it
> to do. Nothing else. Do you accept any other behavior from your computers?
> :-)

Of your computer? Yes. Of some end user running your program (which is
quite likely to be the case in the endless examples of distributed
computing projects previously listed in the thread). No.

> Finally, a sound technical reason against hard affinity. Thank you.
>
> Which only becomes a problem if you run two programs using hard affinity at
> the same time which try to use the same cores/threads. Otherwise the
> scheduler will push the non-bound threads on the idle cores.
>

That's making an enormous assumption about scheduler behavior right
there. You deciding to use hard affinity on a particular thread of
your program does not imply that it should get to monopolize that
core. Especially if the other process in the picture already had soft
affinity for that core and was higher priority than yours, I see no
reason why the scheduler should push it off someplace else.

> How much of a problem this would be in practice is another thing. I assume
> that only a small minority of programs (<0.1%) will ever use hard affinity.
> And by providing information about "occupied" hardware threads, this might
> be alleviated by allowing programs using hard affinity to simply select
> other cores/threads (of which there will be *many* in a few years).
> So, this appears solvable for the most part. And if a user tries to run

That seems questionable. Given that you're not in charge of the cores,
the information you're given about how busy a given set of cores are
is dated by the time you get it, since all of those cores are
executing things at the same time as you. By the time you've decided
which cores look best for you to run on, the situation may have
already changed and your choices rendered invalid. And by your own
admittance just now, only a tiny percentage of programs would
hypothetically even try to use such a feature at all, so I really
don't see it being worth the effort.

Regards,

Rene

Other related posts: