DragonFly BSD
DragonFly users List (threaded) for 2004-10
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Support for Cluster of SMP (or workstation) in DragonFly


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 14 Oct 2004 10:22:07 -0700 (PDT)

:Thanks very much for your answering, Matt
:
:...
:are installed and should be tightly integrated with the kernel (but not the 
:case). For scalability, it is very important to optimize global 
:synchornization and co-scheduling for parallel applications whose processes 
:may be spawned from hundreds or tens of thousands. I am very intestered in 
:...
:
:one more question(just for discussion, and this may more suitable for the 
:kernel group): is it posibble to organize the os in three level, 
:kernel-level, system-level, user-level(like Minix)? system level is 
:instroduced to address the issues from OS clustering. And all context-switch 
:(or system call) to kernel-level are heavy, but user-system levels are 
:lightweight switch. So in clustering, all cross-box operation(mostly 
:messaging passing) happens between system-level with lightweith context 
:swtich. In this way, we can reduce the performance overhead by removing the 
:context swtich cost to kernel level. System level is used perform basic 
:protection, which is less costly compared with kernel-level protection, and 
:also different from user-land operation without any protection.
:
:Thanks very much
:Noah Yan

    I don't think it is possible to organize the OS in a strict three-level
    hierarchy, at least not have anything efficient when you are done.  The
    primarily issue is that you can't do cache coherency 'in a vacuum'.  That
    is, for cache coherency to work efficiently, *all* the layers have to
    know about it and *all* the layers have to have the ability to 
    pro-actively manipulate cache coherency states.  Thus, even though you
    may have a distinct cache-coherency layer in the OS, the layer isn't
    isolated.

    Also, each major subsystem has different interaction requirements in a
    clustered system.  There is no clean way to separate the required
    functionality out.

    So rather then having distinct layers you instead have lots of subsystem
    pieces integrated together into a whole.  It isn't a jumble, but it isn't
    distinctly separateable into three layers either.

					-Matt
					Matthew Dillon 
					<dillon@xxxxxxxxxxxxx>



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