We were talking today about your fine FUSE implementation for PVFS.
There is considerable interest that that would be a good direction
for the VFS interface. The main motivation is to switch to
"standard" kernel approaches to reduce the maintenance overhead by
having an out-of-tree kernel module.
There are some concerns about performance and consistency semantics
that maybe you can help us understand:
- All data is copied through a character device between kernel
and fuse application. Is there a way to avoid this?
- Kernel does operations at page cache size granularity (4k).
PVFS servers really want to see larger operations. Is there
some way to get the total VFS operation size instead of
having the IO chunked up like this? Direct IO?
- Kernel will use the page cache. This isn't done in the
current pvfs kernel module to avoid false sharing and cases like
having data sit on one client but not visible by another. Is
there a way to avoid the page cache? Direct IO again? Some way to
force it on even if app doesn't say O_DIRECT?
One alternate approach would be to add some sort of consistency
protocol in pvfs-fuse where a VFS close operation would toss data
out of the page cache, or some such.
Any thoughts you had on this would be appreciated.
-- Pete
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers