All of lore.kernel.org
 help / color / mirror / Atom feed
* BVT scheduler settings examples
@ 2005-02-01 13:02 Lukas Kubin
  2005-02-01 13:30 ` Grzegorz Milos
  0 siblings, 1 reply; 4+ messages in thread
From: Lukas Kubin @ 2005-02-01 13:02 UTC (permalink / raw)
  To: xen-devel


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

Are there any examples of bvt scheduler parameters usage?
If I understand it right, bvt provides me with option to scale domain's 
CPU usage. Eg. I have 2 (non-zero) domains pinned to the same CPU. Can I 
assign eg. 30% of CPU time to domain 1 and 70% to domain 2? (I mean in 
peaks when both domains are not idle and require the CPU time)
If yes, how should I build the "xm bvt" command? I tried to only set the 
  MCUADV value, but "xm" requires all parameters to be present. I don't 
know what values should I set to the others, so any example would help.

Thank you.

lukas

[-- Attachment #1.2: kubin.vcf --]
[-- Type: text/x-vcard, Size: 303 bytes --]

begin:vcard
fn:Lukas Kubin
n:Kubin;Lukas
org:Silesian University in Opava;Department of Information Technologies
adr:;;Univerzitni namesti 1934/3;Karvina;;73340;Czech Republic
email;internet:kubin@opf.slu.cz
title:Network administrator
tel;work:+420596398275
x-mozilla-html:FALSE
version:2.1
end:vcard


[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/x-pkcs7-signature, Size: 2650 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: BVT scheduler settings examples
  2005-02-01 13:02 BVT scheduler settings examples Lukas Kubin
@ 2005-02-01 13:30 ` Grzegorz Milos
       [not found]   ` <017801c50895$1a66ef30$4601a8c0@cpx>
  2005-03-19 14:59   ` Phil Carinhas
  0 siblings, 2 replies; 4+ messages in thread
From: Grzegorz Milos @ 2005-02-01 13:30 UTC (permalink / raw)
  To: xen-devel

> Are there any examples of bvt scheduler parameters usage?

Not to my knowledge. We should document such things, but this is a bit time 
taking.

> If I understand it right, bvt provides me with option to scale domain's
> CPU usage. Eg. I have 2 (non-zero) domains pinned to the same CPU. Can I
> assign eg. 30% of CPU time to domain 1 and 70% to domain 2? (I mean in
> peaks when both domains are not idle and require the CPU time)

Right. BVT supports weights.

> If yes, how should I build the "xm bvt" command? I tried to only set the
>   MCUADV value, but "xm" requires all parameters to be present. I don't
> know what values should I set to the others, so any example would help.

Ok, so here is small explanation and a few examples:
xm bvt takes the following arguments:
DOM - domain id
MCUADV - inverse of weight. Therefore if you want to give more CPU decrease 
MCUADV
WARPBACK - boolean, enables domain to execute before other domains after 
waking up, decreases lattency, useful for driver domains
WARPVALUE - the bigger the value the greater number of domais will be 
preempted
WARPL - if warpback is enabled, limit the time that it is enabled for 
WARPU - after warping was disabled by WARPL enable it again after WAPRU

So if you want 30/70 you can do the following:
xm bvt 1 47 0 0 0 0
xm bvt 2 20 0 0 0 0
(since 47/20 ~= 2.33  and 70/30=2.33)
the MCUADV is integer, so in order to increase the granurality you can give 
bigger values. Only the relative value matters.

You can read more about BVT here:
http://citeseer.ist.psu.edu/407687.html

Any more questions. I am happy to help.

Cheers
Gregor


-- 
Quidquid latine dictum sit, altum viditur --- Anon


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: BVT scheduler settings examples
       [not found]   ` <017801c50895$1a66ef30$4601a8c0@cpx>
@ 2005-02-02 14:46     ` Grzegorz Milos
  0 siblings, 0 replies; 4+ messages in thread
From: Grzegorz Milos @ 2005-02-02 14:46 UTC (permalink / raw)
  To: xen-devel

> > Ok, so here is small explanation and a few examples:
> > xm bvt takes the following arguments:
> > DOM - domain id
> > MCUADV - inverse of weight. Therefore if you want to give more CPU
> > decrease
> > MCUADV
> > WARPBACK - boolean, enables domain to execute before other domains after
> > waking up, decreases lattency, useful for driver domains
> > WARPVALUE - the bigger the value the greater number of domais will be
> > preempted
> > WARPL - if warpback is enabled, limit the time that it is enabled for
> > WARPU - after warping was disabled by WARPL enable it again after WAPRU
> >
> > So if you want 30/70 you can do the following:
> > xm bvt 1 47 0 0 0 0
> > xm bvt 2 20 0 0 0 0
> > (since 47/20 ~= 2.33  and 70/30=2.33)
> > the MCUADV is integer, so in order to increase the granurality you can
> > give
> > bigger values. Only the relative value matters.
>
> This is VERY useful information. I didn't even know WARPBACK was boolean.
> My question relates to cpu_weight parameter.  I understand that MCUADV is
> 10 / cpu_weight.  This means a cpu_weight of 1 is a BVT MCIADV of 10.  but

Yes. It is defined as such in tools/libxc/xc_domain.c you can always change it 
there if necessary. 

> 20 is 0.5.  xm bvt will only accept whole numbers as input, so really for

Right.

> cpu_weight you are limited to use 1 -> 10 only.

Ok, so it breakes down like this:
If you give cpu_weight parameter to xm create (either by defining it in the 
config file or supplying it as command line parameter) floating point values 
are accepted (so in order to get MCUADV of 20 use 0.5)
In order to change scheduling parameters later you have to use xm bvt call. 
Now, xm bvt takes MCUADV as its parameter. So you will type:
xm bvt domID 20 something something something
Note that this is already inversed, and therefore it only accepts integers.

All this is a bit confusing. The reason is that cpu_weight is supposed to work 
with all schedulers that support weights. The tools will then translate the 
cpu_weight parameter to a scheduler specific parameter(s). Look at the above 
mentioned:
tools/libxc/xc_domain.c xc_domain_setcpuweight() 


> Does anyone have a good example of BVT values for domain0 to make sure it
> is rarely, if ever, starved for CPU?  I guess WARPBACK needs to be turned
> on, but from those examples i'm unsure of proper settings.

BVT will guarantee that it will never be starved (all sane schedulers do 
that). But you right - you do want to have dom0 getting cpu quickly after 
waking up. To get this to work set WARPBACK to 1, and WARPVALUE to some 
positive integer. It would be good if somebody finally did some test how the 
WARPVALUE affects the performance (you will find some clues in the paper 
given below). It does not make sense to set warp limits. This is just a 
mechanism to stop warping domains from using too much CPU, but we trust dom0 
not to do it anyway (if you decided to set the limits they are measured in 
ns).


Hope this helps.

Gregor
> > You can read more about BVT here:
> > http://citeseer.ist.psu.edu/407687.html
> >
> > Any more questions. I am happy to help.
> >
> > Cheers
> > Gregor
> >
> >
> > --
> > Quidquid latine dictum sit, altum viditur --- Anon
> >
> >
> > -------------------------------------------------------
> > This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
> > Tool for open source databases. Create drag-&-drop reports. Save time
> > by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
> > Download a FREE copy at http://www.intelliview.com/go/osdn_nl
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/xen-devel

-- 
Quidquid latine dictum sit, altum viditur --- Anon


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: BVT scheduler settings examples
  2005-02-01 13:30 ` Grzegorz Milos
       [not found]   ` <017801c50895$1a66ef30$4601a8c0@cpx>
@ 2005-03-19 14:59   ` Phil Carinhas
  1 sibling, 0 replies; 4+ messages in thread
From: Phil Carinhas @ 2005-03-19 14:59 UTC (permalink / raw)
  To: xen-devel

On Tue, Feb 01, 2005 at 01:30:32PM +0000, Grzegorz Milos wrote:
> > Are there any examples of bvt scheduler parameters usage?
> 
> Not to my knowledge. We should document such things, but this is a bit time 
> taking.
.....
> Any more questions. I am happy to help.
 Gregor
    
   What would be the appropriate place to put the bvt commands
 for startup? In each domain's config file?

 Also, would anyone have a complex examples of scheduler configuration
 that involves warp use with BVT? Thanks,

-Phil Carinhas
--
 .--------------------------------------------------------.
 | Dr. Philip A. Carinhas       | pac(at)fortuitous.com   |
 | Fortuitous Technologies Inc. | http://fortuitous.com   |
 `--------------------------------------------------------'


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-03-19 14:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-02-01 13:02 BVT scheduler settings examples Lukas Kubin
2005-02-01 13:30 ` Grzegorz Milos
     [not found]   ` <017801c50895$1a66ef30$4601a8c0@cpx>
2005-02-02 14:46     ` Grzegorz Milos
2005-03-19 14:59   ` Phil Carinhas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.