[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3 15/15] docs: add MBA description in docs

On Tue, 2017-09-19 at 12:37 +0100, Roger Pau Monné wrote:
> On Tue, Sep 05, 2017 at 05:32:37PM +0800, Yi Sun wrote:
> > 
> > --- a/docs/man/xl.pod.1.in
> > +++ b/docs/man/xl.pod.1.in
> > @@ -1798,6 +1798,40 @@ processed.
> >  
> >  =back
> >  
> > +=head2 Memory Bandwidth Allocation
> > +
> > +Intel Skylake and later server platforms offer capabilities to
> > configure and
> > +make use of the Memory Bandwidth Allocation (MBA) mechanisms,
> > which provides
> > +OS/VMMs the ability to slow misbehaving apps/VMs or create
> > advanced closed-loop
> I don't get the 'closed-loop' thing again, but that might just be me
> since I'm not a native speaker.
> > +control system via exposing control over a credit-based throttling
> > mechanism.
It goes together with 'control system'. In fact, 'closed-loop control
system' is a concept from control theory (or system automation, or
system theory... I've head it called in all these ways).

It's when you want to control a system, or a process, and you do it by
enclosing it in a "loop" in such a way that the n+1-th input to the
process is influenced by the n-th output of the process itself. It's
also called 'feedback-loop' or 'feedback-based control system'.

Basically, you usually read/measure/sense the n-th output of the
process, you compare it with some 'desired' value, and you use --as the
process' n+1-th input-- some indication of how different the measured
value was from the desired value.


Alternatively, you have 'open-loop control systems', where there is no
sensing of the output, and no feedback mechanism that would correct the
input according to how things are actually going (i.e., someone says,
there is no control!).


*I guess* what this means, in this context, is that, with both MBA and
MBM, you can build a piece of software that, given a desired memory
bandwidth usage, for a certain domain, sets MBA accordingly, then
monitors what the domain is actually getting, and use the difference
between that and the desired value to drive the new value to be set,
using MBA again. Like, if it's getting less, give it _some_ more, if
it's getting more, give it _some_ less (where both the _some_-s are

Ideally, after initial spikes and fluctuations (which depends on the
coefficients, and on which one can do math, still using control theory
concepts), happening, e.g., when the workload inside the VM changes,
the bandwidth utilization will settle at the desired point.

All that being said, I'd say that either more details are given (or a
link is put here, pointing to a whitepaper or in general a place where
a full description of the solution can be found), or it's probably
better to drop the 'close-loop' reference, and explain how MBA can be
useful in another way.

<<This happens because I choose it to happen!>> (Raistlin Majere)
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

Attachment: signature.asc
Description: This is a digitally signed message part

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.