On Sun, 16 Oct 2016 21:40:59 +0200
Luca Abeni <luca.ab...@unitn.it> wrote:
> On Mon, 10 Oct 2016 13:08:18 +0200
> Peter Zijlstra <pet...@infradead.org> wrote:
> > On Mon, Oct 10, 2016 at 12:15:58PM +0200, Peter Zijlstra wrote:
> > > However, I think there's a third alternative. I have memories of a
> > > paper from UNC (I'd have to dig through the site to see if I can
> > > still find it) where they argue that for a hierarchical (G-)FIFO
> > > you should use minimal concurrency, that is run the minimal number
> > > of (v)cpu servers.
> > >
> > > This would mean we give a single CBS parameter and carve out the
> > > minimal number (of max CBS) (v)cpu that fit in that.
> > >
> > > I'm just not sure how the random affinity crap works out for that,
> > > if we have the (v)cpu servers migratable in the G-EDF and migrate
> > > to whatever is demanded by the task at runtime it might work, but
> > > who knows.. Analysis would be needed I think.
> > Hurm,.. thinking slightly more on this, this ends up being a DL task
> > with random affinity, which is problematic IIRC.
> Yes, there currently is no existing schedulability analysis for
> multi-processor EDF with random affinities (as far as I know)
Correction: it looks like I was wrong, and the schedulability of
multi-processor EDF with arbitrary affinities has already been analysed
A. Gujarati, F. Cerqueira, and B. Brandenburg, “Multiprocessor
Real-Time Scheduling with Arbitrary Processor Affinities: From Practice
to Theory”, Real- Time Systems, Volume 51, Issue 4, pp. 440–483.
Springer Verlag, 2015
Thanks to Giuseppe Lipari for pointing me to this paper.
So, having DL tasks with arbitrary affinities is not a big problem from
the theoretical point of view... The only issue is that the
utilisation-based admission test that is currently implemented in the
kernel does not work (and given the complexity of the analysis I think
it is better not to perform it in the kernel :)
> but I
> think we can at least have a look at developing this kind of analysis.
> Giuseppe, what do you think?