MESI Caching work start (was Re: caching and userapi)

Matthew Dillon dillon at apollo.backplane.com
Fri Jul 18 11:42:42 PDT 2003


:> 
:>     Ah.  Oh.  *THAT* caching.  *THAT* caching is the MESI caching model
:>     for object data!  It's pretty sophisticated but as a first incremental
:>     step it represents implementing shared/exclusive ranged offset 'locks'
:>     on VM Objects, like this (this is just my guess at the initial API,
:>     all comments, ideas, and discussion is welcome!):
:> 
:
:I may be taking this a step too far, but I had a random thought ...
:
:At least on the surface, one of the major challenges of a clustered file
:system performance is buffer cache coherency. Do you think that the
:dragonfly model of cache coherency could cleanly extend to that?
:
:					-Kip

    Absolutely.  That's the ultimate goal.  I see nothing preventing us
    from extending it to the buffer cache (actually the VM page cache is
    what it would be extended to).  We might not be able to extend it all
    the way to mmap() but we could get close enough that another model
    could take over for mmap().

    That's the carrot.  If one can make mmap() fully cache coherent between
    machines one would be able to run just about any multi-threaded program
    in a clustered environment without the need for special libraries or 
    hacks.  Of course, it might not be *efficient*, it would depend on how
    the program was written, but it would be almost entirely transparent.

    And if we could make the mechanism robust that sort of clustering could
    be made to work across internet links, in a large scale WAN environment.
    Supercomputing power cheap!

    Not a bad goal, eh?

					-Matt
					Matthew Dillon 
					<dillon at xxxxxxxxxxxxx>





More information about the Kernel mailing list