Cache coherency, clustering, and Kernel virtualization
Thomas E. Spanjaard
tgen at netphreax.net
Sat Sep 2 12:48:39 PDT 2006
Matthew Dillon wrote:
Consider what we want to accomplish. We want to be able to cut up
system resources and link them into 'clusters', with the whole mess
tied together on the internet. Originally I envisioned cutting up
memory, disk, and cpu resources and connecting them to a cluster
individually, but now I believe what we need to do is connect an
entire kernel to the cluster and basically operate as a single system
image.
Imho, the ideal situation would be a NUMA SSI cluster.
Now consider the problem of tying an entire kernel into an internet-based
cluster. Does that sound like something that would be 'safe' to
integrate into your real kernel? NO WAY! It is virtually impossible
to 'secure' a kernel which is operating as a single system image in
a cluster of machines connected together via the internet.
You're right, but clustering 'over the internet' (more popularly, global
grids) is something that is a typical userspace thing, where you don't
even need things like NUMA. The tasks you use a global grid for are
wholly different from a SSI cluster, and I don't think you want to run
an SSI cluster over the internet with all the latency and insecurity
involved.
What we do is we make it so a DragonFly kernel can be compiled and run
as a userland application running under the real DragonFly kernel. As
a userland application the virtual kernel can be completely firewalled
off from the rest of the system. The virtual kernel can then be
associated with the 'cluster', and managing controlling memory, cpu,
and disk resources is a whole lot easier when you have an entire kernel
as your funnel into the real system's resources. If you want to tie
into multiple clusters you just create multiple virtual kernels! More
to the point, the technology could be used to partition off major
services and EVEN USER LOGINS(!) on a large machine.
This is hardly the logical step forward beyond SMP, and does nothing to
make proper use of consumer-level NUMA equipment (AMDs Athlon64/Opteron
family of processors for example), I don't see multiple virtual kernels
work in a NUMA system. Or do you intend to not neglect this class of
machines? :)
Cheers,
--
Thomas E. Spanjaard
tgen at xxxxxxxxxxxxx
Attachment:
signature.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgp00000.pgp
Type: application/octet-stream
Size: 186 bytes
Desc: "Description: OpenPGP digital signature"
URL: <http://lists.dragonflybsd.org/pipermail/kernel/attachments/20060902/97eb0135/attachment-0020.obj>
More information about the Kernel
mailing list