DragonFly BSD
DragonFly kernel List (threaded) for 2006-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Cache coherency, clustering, and Kernel virtualization


From: "Thomas E. Spanjaard" <tgen@xxxxxxxxxxxxx>
Date: Sat, 02 Sep 2006 19:45:15 +0000

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@xxxxxxxxxxxxx

Attachment: signature.asc
Description: OpenPGP digital signature



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