Re: Would SSI clustering extensions be of interest to kernel community?

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

 



Constantine Gavrilov wrote:
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 would really like to see this code. Is it available on the web some where ?




I am planning on taking the CFS changes. That should bring in clusterwide shared memory too. The way it was done in OpenSSI 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.

Nopage 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.


With the nopage changes CFS also have a token based synchronization mechanism. The token code now works at the granularity of file. But very well can be made to work with file data ranges (range tokens).

To kind of explain how it works with CFS, When you want to map a page you request token server and token server grant
you token. Now somebody when trying to do a write map will result in the above mapped page being unmapped and shipped to the other node. So as long as all are readers there can be multiple nodes sharing the same page.
When one of the node is in writer mode, Then token server will force to unmap the page from  other nodes when ever there
is a page access.

All these code is opensourced as a part of OpenSSI project. BTW I am only saying that the code at www.openssi.org may be
of interest to you. -aneesh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux