DragonFly kernel List (threaded) for 2003-07
Re: MESI Caching work start (was Re: caching and userapi)
:> 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?
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?