xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Dario Faggioli <dario.faggioli@citrix.com>
To: Andrii Anisov <andrii_anisov@epam.com>, Meng Xu <mengxu@cis.upenn.edu>
Cc: xumengpanda@gmail.com, xen-devel@lists.xen.org
Subject: Re: [PATCH v2 0/5] Towards work-conserving RTDS
Date: Mon, 2 Oct 2017 19:04:52 +0200	[thread overview]
Message-ID: <1506963892.6216.72.camel@citrix.com> (raw)
In-Reply-To: <ec27fb70-9f61-3e15-1db5-f3fa1760873b@epam.com>


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

On Mon, 2017-10-02 at 17:38 +0300, Andrii Anisov wrote:
> Hello Meng Xu and Dario,
> 
Hi,

> On 01.09.17 18:58, Meng Xu wrote:
> > This series of patches make RTDS scheduler work-conserving
> > without breaking real-time guarantees.
> > VCPUs with extratime flag set can get extra time
> > from the unreserved system resource.
> > System administrators can decide which VCPUs have extratime flag
> > set.
> 
> As I understand from threads and the code, the work conserving
> algorithm 
> is quite simplistic and will prefer a vcpu with greater utilization.
> 
>  From our side we are looking for a bit different solution. I.e., in
> the 
> same cpupool, running vcpus eager for RT characteristics under EDF 
> conditions, and share the rest of resources between non-rt vcpus
> (i.e. 
> in a credit manner).
> Possible use-case could be a system with a domain hunger for
> resources, 
> but not critical (some infotainment system) and an RT domain
> utilizing 
> at most 20% of a single CPU core. Having a SoC with 4 cores, 
> partitioning would be a significant resources wasting for described 
> scenario.
> 
IMO, this is interesting, but I think the proper way to achieve
something like this is not modify RTDS to also contain something like
Credit, nor to modify Credit to also contain something like RTDS.

The idea I have in mind to serve the use case you're describing is as
follows. Right now, a cpupool can only have a scheduler. If it's RTDS,
all the domains are scheduler with RTDS, if it's Credit, all the
domains are scheduled with Credit, etc.

My idea would be to allow a stack of schedulers in a cpupool.
Basically, you'd configure a cpupool with sched="rtds,credit2" and then
you specify, for each domain, what scheduler you want it to use.

The end result would be that, in the example above, domains scheduler
with Credit2 would run in the time left free by the domains scheduler
by RTDS. E.g., if you have a cpupool with only 1 CPU, an RTDS domain
with P=100,B=20, an RTDS domain with P=1000,B=40, and two Credit2
domains, one with weight 256 and the other with weight 512. Then, the
two RTDS domains will get 20% and 40% of the CPU, while the two Credit2
domains will share the remaining 40% (the one with w=512 getting twice
as much as the one with w=256).

This is kind of similar with what Linux does with scheduling classes,
but even more flexible.

I am not working on implementing this right now, because I'm busy with
other things, but I would like to do that at some point. And if you're
up for helping, that would be great! :-)

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: 833 bytes --]

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

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

  reply	other threads:[~2017-10-02 17:04 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-01 15:58 [PATCH v2 0/5] Towards work-conserving RTDS Meng Xu
2017-09-01 15:58 ` [PATCH v2 1/5] xen:rtds: towards work conserving RTDS Meng Xu
2017-09-14  1:06   ` Dario Faggioli
2017-09-15 15:38     ` Meng Xu
2017-09-01 15:58 ` [PATCH v2 2/5] libxl: enable per-VCPU extratime flag for RTDS Meng Xu
2017-09-01 16:03   ` Meng Xu
2017-09-14  0:16     ` Dario Faggioli
2017-09-15 16:01       ` Meng Xu
2017-09-19  9:23         ` Dario Faggioli
2017-10-09 16:08           ` Meng Xu
2017-09-14  0:12   ` Dario Faggioli
2017-09-01 15:58 ` [PATCH v2 3/5] xl: " Meng Xu
2017-09-14  0:51   ` Dario Faggioli
2017-10-09 16:13     ` Meng Xu
2017-10-09 17:19       ` Dario Faggioli
2017-09-14  0:58   ` Dario Faggioli
2017-09-01 15:58 ` [PATCH v2 4/5] xentrace: " Meng Xu
2017-09-14  0:55   ` Dario Faggioli
2017-09-01 15:58 ` [PATCH v2 5/5] docs: " Meng Xu
2017-09-14  0:59   ` Dario Faggioli
2017-09-13 10:28 ` [PATCH v2 0/5] Towards work-conserving RTDS Wei Liu
2017-09-13 10:42   ` Dario Faggioli
2017-10-02 14:38 ` Andrii Anisov
2017-10-02 17:04   ` Dario Faggioli [this message]
2017-10-02 19:18     ` Meng Xu

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=1506963892.6216.72.camel@citrix.com \
    --to=dario.faggioli@citrix.com \
    --cc=andrii_anisov@epam.com \
    --cc=mengxu@cis.upenn.edu \
    --cc=xen-devel@lists.xen.org \
    --cc=xumengpanda@gmail.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).