WARNING: This is the _old_ Lustre wiki, and it is in the process of being retired. The information found here is all likely to be out of date. Please search the new wiki for more up to date information.
Lustre 1.8: Difference between revisions
Line 5: | Line 5: | ||
==Adaptive Timeouts== | ==Adaptive Timeouts== | ||
Adaptive Timeouts causes servers to track actual RPC completion times, and to report estimated completion times for future RPCs back to clients. | Adaptive Timeouts causes servers to track actual RPC completion times, and to report estimated completion times for future RPCs back to clients. Clients use these estimates to set their future RPC timeout values. If server request processing slows down for any reason, the RPC completion estimates increase, and the clients allow more time for RPC completion. | ||
If RPCs queued on the server approach their timeouts, then the server sends an early reply to the client, telling the client to allow more time. In this manner, clients avoid RPC timeouts and disconnect/reconnect cycles. Conversely, as a server speeds up, RPC timeout values decrease, allowing faster detection of non-responsive servers and faster attempts to reconnect to a server's failover partner. | If RPCs queued on the server approach their timeouts, then the server sends an early reply to the client, telling the client to allow more time. In this manner, clients avoid RPC timeouts and disconnect/reconnect cycles. Conversely, as a server speeds up, RPC timeout values decrease, allowing faster detection of non-responsive servers and faster attempts to reconnect to a server's failover partner. |
Revision as of 19:53, 10 November 2008
<< placeholder for Lustre 1.8 page >>
Lustre 1.8 introduces several robust new features.
Adaptive Timeouts
Adaptive Timeouts causes servers to track actual RPC completion times, and to report estimated completion times for future RPCs back to clients. Clients use these estimates to set their future RPC timeout values. If server request processing slows down for any reason, the RPC completion estimates increase, and the clients allow more time for RPC completion.
If RPCs queued on the server approach their timeouts, then the server sends an early reply to the client, telling the client to allow more time. In this manner, clients avoid RPC timeouts and disconnect/reconnect cycles. Conversely, as a server speeds up, RPC timeout values decrease, allowing faster detection of non-responsive servers and faster attempts to reconnect to a server's failover partner.
Why should I upgrade to Lustre 1.8 to get it?
In Lustre 1.8, adaptive timeouts are enabled, by default.
Additional Resources
For more information about Adaptive Timeouts, see:
OSS Read Cache
The OSS read cache feature provides read-only caching of data on an OSS. It uses a regular Linux pagecache to store the data. OSS read cache improves Lustre performance when several clients access the same data set, and the data fits the OSS cache (which can occupy most of the available memory). The overhead of OSS read cache is insignificant on modern CPUs, and cache misses do not negatively impact performance compared to Lustre releases before OSS read cache was available.
Why should I upgrade to Lustre 1.8 to get it?
OSS read cache can improve Lustre performance, and offers these benefits:
- Allows OSTs to cache read data more frequently
- Improves repeated reads to network speeds vs. disk speeds
- Provides the building block for OST write cache (small write aggregation)
Additional Resources
For more information on OSS read cache, see:
- << x-ref to 1-pager >>
- << x-ref to feature test plan >>
OST Pools
The OST pools feature enables you to specify and manage a group of OSTs for file striping purposes. For instance, a group of local OSTs could be defined for faster access; a group of higher-performance OSTs could be defined for premium users; a group of non-RAID OSTs could be defined for scratch files; or groups of OSTs could be defined for particular file types.
Pools are defined by the system administrator, using regular Lustre tools (lctl). Pool usage is specified and stored along with other striping information (e.g., stripe count, stripe size) for directories or individual files (lfs setstripe or llapi_create_file). Traditional automated OST selection optimizations (QOS) occur within a pool (e.g., free-space leveling within the pool). OSTs can be added or removed from a pool at any time (and existing files always remain in place and available.)
OST pools characteristics include:
- An OST can be associated with multiple pools
- No ordering of OSTs is implied or defined within a pool
- OST membership in a pool can change over time
Why should I upgrade to Lustre 1.8 to get it?
OST pools offers these benefits:
- Easier disk usage policy implementation for administrators
- Hardware can be more closely optimized for particular usage patterns
- Human-readable stripe mappings
Additional Resources
For more information on OST pools, see:
- << x-ref to 1-pager >>
Version-Based Recovery
Version-based Recovery (VBR) improves the robustness of client recovery operations and allows Lustre to recover, even if multiple clients fail at the same time as the server. With VBR, recovery is more flexible; not all clients are evicted if some miss recovery, and a missed client may try to recover after the server recovery window.
Why should I upgrade to Lustre 1.8 to get it?
VBR functionality in Lustre 1.8 allows more flexible recovery after a failure. In previous Lustre releases, recovery would stop if a client was missing and the remaining clients would be evicted. With VBR, the recovery will continue even if some clients are missed, and the missed clients may try to recover later. With VBR, Lustre clients may successfully recover in various scenarios.
VBR offers these benefits:
- Improves the robustness of client recovery operations
- Allows Lustre recovery to work even if multiple clients fail at the same time as the server, if the remaining clients are working independently
- Provides a building block for disconnected client operations
Additional Resources
For more information on VBR, see:
- << x-ref to 1-pager >>
- << BZ feature tracking >>