All of lore.kernel.org
 help / color / mirror / Atom feed
From: Diwaker Gupta <diwakergupta@gmail.com>
To: xen-devel@lists.sourceforge.net
Subject: atropos scheduler broken
Date: Mon, 25 Oct 2004 11:08:18 -0700	[thread overview]
Message-ID: <1b0b4557041025110861e4e9bb@mail.gmail.com> (raw)

Hi everyone,

I've been playing around with the atropos scheduler last couple of
days, and I'm quite convinced that it *does not* enforce the soft real
time guarantees. Maybe I'm using the wrong parameters or something, so
let me describe my experiment:

o first I create 2 VMs -- VM1 and VM2
o then I change their atropos params as follows:
$ xm atropos 1 10 100 1 1
$ xm atropos 2 70 100 1 1
Ideally, this should guarantee that VM1 gets 10ns of CPU time every
100ns, and VM2 gets 70ns every 100ns, and that any left over CPU time
will be shared between the 2.

o after this I write a simple program that computes fibonacci numbers
using naive recursion to eat away all the CPU, and loops around
indefinitely. Programs in both VMs are identical, and I start them
within seconds of each other.

o I take reading from xm list a few seconds after the programs start,
as my base reference:
                                                      CPU-TIME
VM1                1       63    0  -----    173.5    9601
VM2                2       63    0  -----     10.9    9602

o Thereafter I take readings every few seconds. The abosolute values
of CPU time are not that important, if the *rate* at which CPU time
increases in both the VMs can reflect the atropos scheduling, that is
just as well.

Here are some of the subsequent readings:
VM1                1       63    0  -----    178.0    9601
VM2                2       63    0  -----     15.4    9602

VM1                1       63    0  -----    216.9    9601
VM2                2       63    0  -----     54.1    9602

VM1                1       63    0  -----    308.4    9601
VM2                2       63    0  -----    145.3    9602

VM1                1       63    0  -----    428.4    9601
VM2                2       63    0  -----    265.1    9602

As can be seen, the CPU times of both VMs are increasing at almost
*identical* rates. If the atropos params were working, VM2's cpu time
should have been increasing a lot faster.

Has anyone had this problem before? I'll start looking at the code,
but since I'm not familiar with Xen's scheduling code, it might be a
while. In the meanwhile if anyone has any pointers, it will be great.

TIA
-- 
Diwaker Gupta
http://resolute.ucsd.edu/diwaker


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl

             reply	other threads:[~2004-10-25 18:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-25 18:08 Diwaker Gupta [this message]
2004-10-26  7:36 ` atropos scheduler broken Steven Hand
2004-10-26  9:01   ` Ian Pratt
2004-10-26 16:45   ` Mark A. Williamson
2004-10-26 18:10     ` Diwaker Gupta

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=1b0b4557041025110861e4e9bb@mail.gmail.com \
    --to=diwakergupta@gmail.com \
    --cc=xen-devel@lists.sourceforge.net \
    /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 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.