[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <12282462541461-git-send-email-zbr@ioremap.net>
Date: Tue, 2 Dec 2008 22:30:49 +0300
From: Evgeniy Polyakov <zbr@...emap.net>
To: linux-kernel@...r.kernel.org
Cc: netdev@...r.kernel.org, linux-fsdevel@...r.kernel.org,
Evgeniy Polyakov <zbr@...emap.net>
Subject: [0/5] New POHMELFS release.
Hello.
This is a new release of the POHMEL filesystem.
POHMELFS stands for Parallel Optimized Host Message Exchange Layered File System.
This is a high performance network filesystem with local coherent cache of data
and metadata. Its main goal is distributed parallel processing of data.
Network filesystem is a client transport.
POHMELFS protocol was proven to be superior to NFS in lots
(if not all, then it is in a roadmap) operations [3].
Basic POHMELFS features:
* Local coherent cache for data and metadata. (Byte-range) locking. Locks were
prepared to be byte-range, but since all Linux filesystems lock the whole
inode, it was decided to lock the whole object during writing. Actual messages
are being sent for locking/cache coherency protocol are byte-range, but because
the whole inode is locked, lock is cached, so range actually is equal to the
inode size. One can simultaneously write into the same page via different offsets
from different client, and every time file will be coherent on all clients which
do it and on the server itself.
* Completely async processing of all events (hard and symlinks are the only exceptions)
including object creation and data reading and writing.
* Flexible object architecture optimized for network processing. Ability to create long
pathes to object and remove arbitrary huge directories in single network command.
* High performance is one of the main design goals.
* Very fast and scalable multithreaded userspace server. Being in userspace it works
with any underlying filesystem and still is much faster than async in-kernel NFS one.
* Transactions support. Full failover for all operations. Resending transactions to
different servers on timeout or error.
* Client is able to switch between different servers
(if one goes down, client automatically reconnects to second and so on).
* Client parallel extensions: ability to write to multiple servers and
balance reading between them.
* Client dynamic server reconfiguration: ability to add/remove servers from
working set in run-time.
* Strong authentification and possible data encryption in network channel.
* Extended attributes support.
* Read-only mounts, ability to limit maximum size of the exported directory.
This release brings following features:
* Optimize locking commands (combine them with inode information update)
* Added root capabilities (split from crypto handshake which settles crypto
algorithms used by client and server). This allows to send filesystem
statistics from the server.
* Read-only and xattrs server extensions. Xattrs processing optimization
when they are not supported by server.
* bug fixes
* extended email documentation
Signed-off-by: Evgeniy Polyakov <zbr@...emap.net>
1. POHMELFS homepage
http://www.ioremap.net/projects/pohmelfs
2. GIT trees.
http://www.ioremap.net/cgi-bin/gitweb.cgi
3. POHMELFS vs NFS benchmarks.
http://tservice.net.ru/~s0mbre/blog/devel/fs/2008_06_13_1.html
(POHMELFS cbc(aes)+hmac(sha1) vs plain NFS)
http://tservice.net.ru/~s0mbre/blog/devel/fs/2008_07_07.html
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists