|
|
|
|
|
|
|
|
|
|
xen-users
RE: [Xen-users] Xen and distributing memory
On 26 Feb 2007 at 13:38, Petersson, Mats wrote:
>
>
> > -----Original Message-----
> > From: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
> > [mailto:xen-users-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of
> > Ulrich Windl
> > Sent: 22 February 2007 08:31
> > To: xen-users@xxxxxxxxxxxxxxxxxxx
> > Subject: Re: [Xen-users] Xen and distributing memory
> >
> > On 21 Feb 2007 at 11:11, Marduk wrote:
> >
> > [...]
> > > I'm trying to understand how Xen's memory balloon driver works.
> > [...]
> >
> > That reminds me of: Should XEN maintain multiple memory zones
> > for NUMA, and then
> > extend the memory interface to request memory from a specific
> > memory zone? I think
> > recent Linux kernels can even migrate memory pages from one
> > zone to another
> > (probably if a process has a sub-optimal page allocated, are
> > more suitable page
> > can be assigned instead).
>
> At present Xen doesn't support NUMA, but there's been work (patches have
> been submitted but not accepted) to support different memory regions
> (zones or whatever one might call them) for different locations in the
> machine.
>
> The first step of this would be to give limited set of processors "local
> memory" when assigning domain-memory.
>
> A step further would be to extend the information to give the guest-OS
> information abuout which socket has which areas of memory, so that the
> kernel can have a good idea of where to allocate memory. Of course, this
> doesn't solve all problemns. Someone (Emmanuel Ackaroy(sp?) I think)
> gave the following example: one process starts, allocating a large chunk
> of memory, fills this memory with data and spawns another 3 processes,
> doing some heavy calculation work on the previously allocated memory.
> Without direct interfaces to allocate memory to a particular processor,
> it's not possible for the OS to allocate that memory correctly... :-(
The strategy would be to allocate the memory for the CPU requesting it. Then
the
children would default to run on the same CPU because of the shared memory. The
master process would be fine with heavy computation. The question is which
memory
would the children get? If they get memory from another zone, the scheduling
preference would be to use a CPU more local to that memory than the current
one.
That's what I understood.
>
> Of course, a further complication is if we have 2 VCPU's but 4
> physically viable CPU's in the system. Which CPU's memory do we allocate
> to which processor?
Assuming that every virtual CPU is physical in the end, CPU-local RAM should be
allocated. That requires that the kernel do know a bit more about the hardware
in
Dom0. More than now...
Regards,
Ulrich
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|
|
|
|
|