On Oct 14, 2009, at 8:05 PM, Roman Shaposhnik wrote:
And how does one deal with heterogeneous cores and complex on chip
interconnect topologies?
Good question. Do they have to be heterogeneous? My oppinion is that
the
future of big multicore will be more Cell-like.
They don't have to be, but that is part of both the multikernel and
satellite kernel vision.
There's no real evdence that single kernels do well with hundreds
of real
cores (as opposed to hw threads) - in fact most of the data I've
seen is to
the contrary.
Agreed. But then, again, you don't really want a kernel for anything
but message
passing in such an architecture (the other function of the kernel --
multiplexing
I/O is only needed on selected few cores) at which point it really
becomes a
misnomer to even call it a kernel -- a thin hypervisor perhaps...
If you look at the core of Barrelfish, you'll see that this is
essentially what they are doing -- essentially using an extremely
small microkernel (like L4) that's very
efficient at various forms of message passing. That's the only thing
that is duplicated on the various cores. The services themselves can
be distributed
and/or replicated as appropriate (although their approach favors
replication) -- it all depends on the characteristics of the workload.
-eric