linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [0/5] New POHMELFS release.
@ 2008-11-18 19:33 Evgeniy Polyakov
  2008-11-18 19:33 ` [1/5] POHMELFS: documentation Evgeniy Polyakov
  0 siblings, 1 reply; 7+ messages in thread
From: Evgeniy Polyakov @ 2008-11-18 19:33 UTC (permalink / raw)
  To: linux-kernel; +Cc: netdev, linux-fsdevel, Evgeniy Polyakov

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.

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.

This release brings following features:

    * combine locking with inode attribute changes
    * add get/set attrbibute commands into cache coherency protocol
    	(attributes are cached and flushed to the server at a writeback time or
	on demand because of cache coherency protocol)
    * crypto threads pool's cleanup
    * 2.6.27 rebase
    * optimize read/write locking and number of messages
    	needed for cache coherency management
    * debug cleanups
    * bug fixes

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

^ permalink raw reply	[flat|nested] 7+ messages in thread
* [0/5] New POHMELFS release.
@ 2008-12-02 19:30 Evgeniy Polyakov
  2008-12-02 19:30 ` [1/5] POHMELFS: documentation Evgeniy Polyakov
  0 siblings, 1 reply; 7+ messages in thread
From: Evgeniy Polyakov @ 2008-12-02 19:30 UTC (permalink / raw)
  To: linux-kernel; +Cc: netdev, linux-fsdevel, Evgeniy Polyakov

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-12-02 19:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-18 19:33 [0/5] New POHMELFS release Evgeniy Polyakov
2008-11-18 19:33 ` [1/5] POHMELFS: documentation Evgeniy Polyakov
2008-11-18 19:33   ` [2/5] POHMELFS: core functionality Evgeniy Polyakov
2008-11-18 19:33     ` [3/5] POHMELFS: transactions and network Evgeniy Polyakov
2008-11-18 19:33       ` [4/5] POHMELFS: crypto, locking, path and cmd caches Evgeniy Polyakov
2008-11-18 19:33         ` [5/5] POHMELFS: VFS changes and make/config files Evgeniy Polyakov
2008-12-02 19:30 [0/5] New POHMELFS release Evgeniy Polyakov
2008-12-02 19:30 ` [1/5] POHMELFS: documentation Evgeniy Polyakov

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).