Please see inline...
Aneesh Kumar K.V wrote:
I am interested in seeing the changes. I am right now working on getting parts of OpenSSI (www.openssi.org)
changes merged upstream. Bruce Walker of the OpenSSI project have a design of implementing cluster wide procs. The
same doc can be found on www.openssi.org website. The paper talks about how to implement cluster wide proccess model
without requiring home/deputy concept. But yes it require some core kernel changes. But should be Conditionally enabled
like selinux. So overhead for non cluster users should be nill.
I am personally not interested in making intrusive kernel changes even if it yields in true "single-system image". I want very small changes (preferrably none).
Regarding my work you can see the status here
http://git.openssi.org/~kvaneesh/gitweb.cgi?p=ci-to-linus.git;a=summary
It only gets the ICS changes. That means it introduce a transport independent kernel cluster framework. Right now it supports two interconnect IPV4 and infiniband verbs.
We also have transport abstraction layer and transport plugins for TCP/IP, SDP (Infiniband and possibly others), and SCI (Dolphin).
I am planning on taking the CFS changes. That should bring in clusterwide shared memory too. The way it was done in OpenSSINopage will be called if there is no pte. That means, with just nopage you cannot implement RO-RW transition. If you use nopage only, you cannot have multiple readers, because you cannot invalidate all other readers if one reader goes read-write. Thus nopage allows single reader or single writer whle the page fault hook allows multiple readers and single writer.
was to hook a new nopage() function for CFS so that when we page fault, we bring the pages from other node.So i am not sure whether
one need a VM hook for getting clusterwide shared memory. But without seeing the code i am clueless.