On Tuesday 17 May 2005 21:41, Joe Batt wrote:
> On Tue, 2005-05-17 at 21:21 +0100, Paul Brook wrote:
> > > What inter processor synchronization issues are there?  Could you take
> > > this a step further and use processes on different machines for each
> > > processor? (There are many shared memory implementations to choose
> > > from.)  Are there so many resources shared
> > > between the CPUs to make this a ridiculous proposition?
> >
> > Baically most SMP/shared memory systems assume very low latency
> > communication between CPUs and memory. For example on opteron systems
> > remote memory latency is of the order of 200 cpu cycles. Typical ethernet
> > latency is several million cycles.
>
> But how often will the virtual CPUs need the same page and is there any
> other shared resource other than memory?  I don't know how independent
> each CPU is.  Though in side discussions, everyone agrees with you, I
> haven't seen numbers to convince my gut.  If page only needs to be
> faulted back and forth every couple million cycles, then it might work.

Everything but the cpu (and possibly the APIC) is shared. This is why big SMP 
systems cost orders of magnitude more than a similar size cluster.

One of the biggest sources of contention is probably going to be kernel 
spinlocks. Every time the kernel needs to acquire a spinlock that page will 
need to be faulted across to that CPU.

> > Cool. Any chance you're going to make these changes publicly available?
>
> It was a Java implementation for a customer.  Not my property and not
> integrated with any free software.

Oh! I thought you'd implemented SH support for qemu :-)

Paul


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to