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

Re: [Xen-devel] Multiple priviliged domains

  • To: John L Griffin <jlg@xxxxxxxxxx>
  • From: Bin Ren <bin.ren@xxxxxxxxx>
  • Date: Sun, 19 Dec 2004 17:05:08 +0000
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Sun, 19 Dec 2004 17:06:18 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=K/AFJAiTdfeiUACeJgRXhvu1oRejIpoPSKDxV5ktvQsRSsU6me7ebYhevGgDiS0sKZeHs8E7oO+OAf3MKDGAVsrQLRCzRxClXSakV93TBFH/tILsoF2yrEX+AR9Axz+BrZv7E0YSMByYX5x5su6C4UAX6RcGB/FBlB4PC9ANbx4=
  • List-id: List for Xen developers <xen-devel.lists.sourceforge.net>

On Sun, 19 Dec 2004 00:52:54 -0500, John L Griffin <jlg@xxxxxxxxxx> wrote:

> 1. What is the model for allocating processor time to Domain-0?  Based on
> my read of the Xen docs to date, I would expect it to [at least be
> intended to] have an unbounded priority share of the total processing
> resources, with some attempt at allocating unprivileged-domain-specific
> processing (e.g., handling I/O or memory allocation requests) to the
> requesting unprivileged domain.  Along these lines, should there be a
> parameterizable configuration file for Domain-0?

Current schedulers in Xen don't treat Dom0 differently. In current
model, Dom0 plays two major roles: provides a control console for
user-interaction; provides I/O handling for other domains. These two
roles have different or even conflicting scheduling requirement: the
former is response time; the latter is I/O throughput and latency.
Ideally, we should put the two parts in two privileged domains and let
the scheduler treat them differently. This leads to your next question
about multiple privileged domains.

> 2. Have there been discussions about allowing multiple simultaneous
> privileged domains, among which the physical resources are split?  Or
> perhaps "semiprivileged" domains -- for example, a domain that handles all
> the I/O requests to a particular storage device, or alternatively handles
> all the I/O requests for a particular class/subset of unprivileged
> domains?  I envision a desire for a master control partition (with
> priority resource allocation) that forms the root of a hierarchical domain
> structure, under which one or more I/O partitions execute.  (I recall
> reading about this sort of design in one of the older VMM papers, or
> perhaps a recent Denali paper?)

I agree that multiple privleged domains make resource management both
conceptually and structurally clearer. So far, very vey few people
actually do that, for several reasons:
(1) It requires non-trivial changes to Xend, which people either don't
bother to hack or can't.
(2) With multiple privileged domains, the domain context switch
overhead can seriously decrease performance. It makes little sense on
current uni- or dual-processors.
(3) Managing multiple privilged domains is surely less easy than
managing one big Dom0.

Surprisingly enough, it's my phd topic at cambridge to do all above.
I've offloaded the entire tcp/ip stack to a privilged domain that's
shared by all others. My next step is to introduce the Makefile
changes, Xend changes to support multiple privilged domains (i.e. put
Xend, NIC device drivers, disk device drivers, tcp/ip stack in
different privileged domains). Then I'll investigate how to schedule
all the domains on multi-core chips. Mark Williamson has experiences
in putting NIC and disk device drivers into privliged domains. I'll
consult him when questions arise.

- Bin

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. 
Xen-devel mailing list



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