From: Evgeniy Polyakov <zbr@ioremap.net>
To: linux-kernel@vger.kernel.org
Cc: netdev@vger.kernel.org, linux-fsdevel@vger.kernel.org,
Evgeniy Polyakov <zbr@ioremap.net>
Subject: [0/5] New POHMELFS release.
Date: Tue, 2 Dec 2008 22:30:49 +0300 [thread overview]
Message-ID: <12282462541461-git-send-email-zbr@ioremap.net> (raw)
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@ioremap.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
next reply other threads:[~2008-12-02 19:30 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-02 19:30 Evgeniy Polyakov [this message]
2008-12-02 19:30 ` [1/5] POHMELFS: documentation Evgeniy Polyakov
2008-12-02 19:30 ` [2/5] POHMELFS: core functionality Evgeniy Polyakov
2008-12-02 19:30 ` [3/5] POHMELFS: transactions and network Evgeniy Polyakov
2008-12-02 19:30 ` [4/5] POHMELFS: crypto, locking, path and cmd caches Evgeniy Polyakov
2008-12-02 19:30 ` [5/5] POHMELFS: VFS changes and make/config files Evgeniy Polyakov
-- strict thread matches above, loose matches on Subject: below --
2008-11-18 19:33 [0/5] New POHMELFS release Evgeniy Polyakov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=12282462541461-git-send-email-zbr@ioremap.net \
--to=zbr@ioremap.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).