xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Dario Faggioli <dario.faggioli@citrix.com>
To: "Roger Pau Monné" <roger.pau@citrix.com>,
	"Yi Sun" <yi.y.sun@linux.intel.com>
Cc: kevin.tian@intel.com, wei.liu2@citrix.com,
	andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com,
	julien.grall@arm.com, mengxu@cis.upenn.edu, jbeulich@suse.com,
	xen-devel@lists.xenproject.org, chao.p.peng@linux.intel.com,
	dgdegra@tycho.nsa.gov
Subject: Re: [PATCH v3 15/15] docs: add MBA description in docs
Date: Thu, 28 Sep 2017 18:56:07 +0200	[thread overview]
Message-ID: <1506617767.5001.16.camel@citrix.com> (raw)
In-Reply-To: <20170919113724.2pbo3csxzxqwymhv@dhcp-3-128.uk.xensource.com>


[-- Attachment #1.1: Type: text/plain, Size: 3252 bytes --]

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.

http://www.electronics-tutorials.ws/systems/closed-loop-system.html

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!).

http://www.electronics-tutorials.ws/systems/open-loop-system.html


*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
coefficients).

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.

Regards,
Dario
-- 
<<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 #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 127 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

      parent reply	other threads:[~2017-09-28 16:56 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-05  9:32 [PATCH v3 00/15] Enable Memory Bandwidth Allocation in Xen Yi Sun
2017-09-05  9:32 ` [PATCH v3 01/15] docs: create Memory Bandwidth Allocation (MBA) feature document Yi Sun
2017-09-18 17:16   ` Roger Pau Monné
2017-09-19  6:07     ` Jan Beulich
2017-09-20  2:59       ` Yi Sun
2017-09-20  3:06     ` Yi Sun
2017-09-20  8:36       ` Roger Pau Monné
2017-09-20  9:08         ` Yi Sun
2017-09-05  9:32 ` [PATCH v3 02/15] Rename PSR sysctl/domctl interfaces and xsm policy to make them be general Yi Sun
2017-09-19  8:03   ` Roger Pau Monné
2017-09-20  3:12     ` Yi Sun
2017-09-05  9:32 ` [PATCH v3 03/15] x86: rename 'cbm_type' to 'psr_type' to make it general Yi Sun
2017-09-19  8:22   ` Roger Pau Monné
2017-09-05  9:32 ` [PATCH v3 04/15] x86: implement data structure and CPU init flow for MBA Yi Sun
2017-09-19  8:55   ` Roger Pau Monné
2017-09-20  3:22     ` Yi Sun
2017-09-20  7:11       ` Jan Beulich
2017-09-20  7:27         ` Yi Sun
2017-09-05  9:32 ` [PATCH v3 05/15] x86: implement get hw info " Yi Sun
2017-09-19  9:08   ` Roger Pau Monné
2017-09-20  5:05     ` Yi Sun
2017-09-05  9:32 ` [PATCH v3 06/15] x86: implement get value interface " Yi Sun
2017-09-19  9:15   ` Roger Pau Monné
2017-09-20  5:09     ` Yi Sun
2017-09-20  8:43       ` Roger Pau Monné
2017-09-20  9:22         ` Yi Sun
2017-09-20 16:02           ` Wei Liu
2017-09-05  9:32 ` [PATCH v3 07/15] x86: implement set value flow " Yi Sun
2017-09-19  9:57   ` Roger Pau Monné
2017-09-20  5:39     ` Yi Sun
2017-09-05  9:32 ` [PATCH v3 08/15] tools: create general interfaces to support psr allocation features Yi Sun
2017-09-19 10:04   ` Roger Pau Monné
2017-09-20  5:45     ` Yi Sun
2017-09-22  7:01     ` Chao Peng
2017-09-28 16:11       ` Wei Liu
2017-09-05  9:32 ` [PATCH v3 09/15] tools: implement the new libxc get hw info interface Yi Sun
2017-09-19 10:15   ` Roger Pau Monné
2017-09-20  6:13     ` Yi Sun
2017-09-05  9:32 ` [PATCH v3 10/15] tools: implement the new libxl " Yi Sun
2017-09-19 10:28   ` Roger Pau Monné
2017-09-20  6:20     ` Yi Sun
2017-09-05  9:32 ` [PATCH v3 11/15] tools: implement the new xl " Yi Sun
2017-09-19 10:32   ` Roger Pau Monné
2017-09-20  6:23     ` Yi Sun
2017-09-05  9:32 ` [PATCH v3 12/15] tools: rename 'xc_psr_cat_type' to 'xc_psr_type' Yi Sun
2017-09-19 10:34   ` Roger Pau Monné
2017-09-20  6:25     ` Yi Sun
2017-09-05  9:32 ` [PATCH v3 13/15] tools: implement new generic get value interface and MBA get value command Yi Sun
2017-09-19 11:02   ` Roger Pau Monné
2017-09-20  6:46     ` Yi Sun
2017-09-20  8:57       ` Roger Pau Monné
2017-09-20  9:11         ` Yi Sun
2017-09-05  9:32 ` [PATCH v3 14/15] tools: implement new generic set value interface and MBA set " Yi Sun
2017-09-19 11:30   ` Roger Pau Monné
2017-09-20  7:25     ` Yi Sun
2017-09-20 16:10     ` Wei Liu
2017-09-28 16:23       ` Dario Faggioli
2017-09-29 12:58         ` Wei Liu
2017-09-05  9:32 ` [PATCH v3 15/15] docs: add MBA description in docs Yi Sun
2017-09-19 11:37   ` Roger Pau Monné
2017-09-20  7:26     ` Yi Sun
2017-09-28 16:56     ` Dario Faggioli [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1506617767.5001.16.camel@citrix.com \
    --to=dario.faggioli@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=chao.p.peng@linux.intel.com \
    --cc=dgdegra@tycho.nsa.gov \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@arm.com \
    --cc=kevin.tian@intel.com \
    --cc=mengxu@cis.upenn.edu \
    --cc=roger.pau@citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    --cc=yi.y.sun@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).