Lustre Community Development in Progress: Difference between revisions

From OpenSFS Wiki
Jump to navigation Jump to search
(→‎List of Lustre Projects: update table with new projects, move completed ones to the end)
Line 19: Line 19:
Should Intel and the interested party disagree, the issue should be raised on [[Community Development Working Group]] [http://lists.opensfs.org/listinfo.cgi/cdwg-opensfs.org mailing list] so that the issue can be discussed by the larger community and final determination made.
Should Intel and the interested party disagree, the issue should be raised on [[Community Development Working Group]] [http://lists.opensfs.org/listinfo.cgi/cdwg-opensfs.org mailing list] so that the issue can be discussed by the larger community and final determination made.


= <span style="color:#ff0000">BELOW TABLE IS NO LONGER IN USE</span> =
= List of features under development =
Features that are currently being developed for future Lustre releases in the Lustre community. These will be eligible for inclusion in future Lustre releases as per the defined processes. Features are not listed in priority or landing order.  Projects not currently under development, or ideas for features, should be listed on the Project Ideas page.
Features that are currently being developed for future Lustre releases in the Lustre community. These will be eligible for inclusion in future Lustre releases as per the defined processes. Features are not listed in priority or landing order.  Projects not currently under development, or ideas for features, should be listed on the Project Ideas page.


Please note that the targeted release information is provided by the developing organization for informational purposes only and is in no way a roadmap commitment until it appears on the roadmap.
Please note that the targeted release information is provided by the developing organization for informational purposes only and is in no way a roadmap commitment until it appears on the [http://lustre.opensfs.org/community-lustre-roadmap/ Lustre Roadmap].


{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
! Feature !! Feature Summary !! Developer !! Contact !! Tracker !! Targeted Release !! Landed Release
! Feature !! Feature Summary !! Developer!! Tracker !! Targeted Release !! Landed Release
|-
|-
| Client module build || Adapt client build and configuration process use vanilla kernel mechanisms. || EMC || . || . || 2.5 || .
| Patchless Server || Remove Lustre kernel patches to allow Lustre servers to be more easily ported to new kernels, and to be built against vendor kernels without changing the vendor kernel RPMs. || Intel || [https://jira.hpdd.intel.com/browse/LU-20 LU-20] || 2.7 || .
|-
|-
| 3.6/FC18 Server Patches || . || ORNL/NRL/Suse/EMC || . || [https://jira.hpdd.intel.com/browse/LU-1812 LU-1812] || 2.5 || 2.5
| End-to-End Data Integrity with T10 || Add a path to pass T10 Protection Information from Lustre clients through to server disks to reduce CPU overhead of multiple checksum calculations. || Xyratex || [https://jira.hpdd.intel.com/browse/LU-2488 LU-2488] [https://jira.hpdd.intel.com/browse/LU-2584 LU-2584] || 2.9 || .
|-
|-
| Patchless Server || Remove Lustre kernel patches to allow Lustre servers to be more easily ported to new kernels, and to be built against vendor kernels without changing the vendor kernel RPMs || Intel || . || [https://jira.hpdd.intel.com/browse/LU-20 LU-20] || 2.7 || .
| LFSCK Phase 3 - DNE consistency || Enhance LFSCK to work with DNE filesystems, including remote directory entries, and OST orphan handling for multiple MDTs. || Intel || [https://jira.hpdd.intel.com/browse/LU-2307 LU-2307] || 2.7 || .
|-
|-
| End-to-End Data Integrity with T10 || Add a path to pass T10 Protection Information from Lustre clients through to server disks || Xyratex || . || [https://jira.hpdd.intel.com/browse/LU-2488 LU-2488] [https://jira.hpdd.intel.com/browse/LU-2584 LU-2584] || 2.8 || .
| DNE Phase IIb || Asynchronous Commit of cross-MDT updates for improved performance.  Remote rename and remote hard link functionality. || Intel || [https://jira.hpdd.intel.com/browse/LU-3534 LU-3534] || 2.7 || .
|-
|-
| Extended Attribute Batching || Allow clients to fetch multiple xattrs in a single RPC for efficiency || Xyratex || . || [https://jira.hpdd.intel.com/browse/LU-549 LU-549] || 2.5 || 2.5
| Layout Enhancement || Add support for multiple layouts on a single file, for File Level Replication, Data on MDT, extent-based layouts, etc. || Intel || [https://jira.hpdd.intel.com/browse/LU-3480 LU-3480] || 2.8 || .
|-
|-
| HSM || Hierarchical Storage Manager to allow Lustre to interface with external tape libraries and automatically and transparently store files from Lustre to an external archive and the reverse. || CEA || . || [https://jira.hpdd.intel.com/browse/LU-3608 LU-3608] || 2.5 || 2.5
| File Level Replication Phase 1 || Solution Architecture and HDL, Exclusive Open, RAID 1 Layout, Layout Modification Method, Read Only RAID 1 || Intel || . || 2.9 || .
|-
|-
| LFSCK Phase 2 - MDT-OST consistency || Traverse all inodes in an MDT and verify their corresponding objects on the OSTs exist. This work is part of the OpenSFS contract awarded to Whamcloud. LFSCK Architecture and Design Docs available soon || Intel || . || [https://jira.hpdd.intel.com/browse/LU-957 LU-957] || 2.5 || 2.6
| File Level Replication Phase 2 || Immediate asynchronous write from client. || Intel || . || 2.10 || .
|-
|-
| LFSCK Phase 3 - DNE consistency || Enhance LFSCK to work with DNE filesystems, including remote directory entries, and OST orphan handling for multiple MDTs || Intel || . || [https://jira.hpdd.intel.com/browse/LU-2307 LU-2307] || 2.7 || .
| Data on MDT || Allow small files to be stored directly on the MDT for reduced RPC count and improved performance. || Intel || . || 2.9 || .
|-
|-
| client-server shared modules cleanup || Clean up Lustre client to facilitate pushing it into upstream Linux kernel. Need to split some server code dependencies from client to avoidmaking extensive server code changes || EMC || . || [https://jira.hpdd.intel.com/browse/LU-1214 LU-1214] [https://jira.hpdd.intel.com/browse/LU-1330 LU-1330] || 2.5 || 2.5/2.6
| Dynamic LNET Config || Introduces a user space script which will read routes from a config file and add those routes to LNET dynamically with the lctl utility. This allows the support of very large routing tables || Intel || [https://jira.hpdd.intel.com/browse/LU-2950 LU-2950] || 2.7 || .
|-
|-
| libcfs cleanup || clean up libcfs to use Linux kernel APIs || EMC || . || [https://jira.hpdd.intel.com/browse/LU-1346 LU-1346] || 2.5 || 2.5/2.6
| Quota for Projects || Allow specifying a "project" or "subtree" identifier for files for accounting to a project, separate from UID/GID. || DDN || [https://jira.hpdd.intel.com/browse/LU-4017 LU-4017] || 2.8 || .
|-
|-
| DNE Phase II || Migration Tool, OUT Handler, OSP Object Cache, Simplify Commit || Intel || . || [https://jira.hpdd.intel.com/browse/LU-3531 LU-3531] || 2.6 || 2.6
| Large Bulk IO || Increase the OST bulk IO maximum size to 16MB or larger for more efficient disk IO submission. || Intel/DDN || . || 2.9 || .
|-
|-
| DNE Phase II || Asynchronous Commit of cross-MDT updates || Intel || . || [https://jira.hpdd.intel.com/browse/LU-3534 LU-3534] || 2.7 || .
| Kerberos Revival || Fix up existing Kerberos code so it is tested working again. || Xyratex || . || 2.8 || .
|-
|-
| Replication Phase 1 || Solution Architecture and HDL, Exclusive Open, RAID 1 Layout, Layout Modification Method, Read Only RAID 1 || Intel || . || . || 2.8 || .
| UID/GID mapping || Map UID/GID for remote client nodes to local UID/GID on the MDS and OSS.  Allows a single Lustre filesystem to be shared across clients with administrative domains. || Indiana University || [https://jira.hpdd.intel.com/browse/LU-3527 LU-3527] || 2.7 || .
|-
|-
| LNET Router Priorities || Adds a parameter to route module parameters which sets a priority number for that route. Routes with the smallest priority number will be favored over ones with larger numbers || Intel || . || [https://jira.hpdd.intel.com/browse/LU-2934 LU-2934] || 2.5 || 2.5
| Shared Key Crypto || Allow node authentication and/or RPC encryption using symmetric shared key crypto with GSSAPI.  Avoids complexity in configuring Kerberos across multiple domains. || Indiana University || [https://jira.hpdd.intel.com/browse/LU-3289 LU-3289] || 2.9 || .
|-
|-
| LNET: Read Routing List from File || Introduces a user space script which will read routes from a config file and add those routes to Lnet dynamically with the lctl utility. This allows the support of very large routing tables || Intel || . || [https://jira.hpdd.intel.com/browse/LU-2950 LU-2950] || 2.7 || .
| 3.6/FC18 Server Patches || . || ORNL/NRL/SuSE/EMC || [https://jira.hpdd.intel.com/browse/LU-1812 LU-1812] || 2.5 || 2.5
|-
|-
| Reduce ldlm_poold Execution Time || Reduce the overhead of the ldlm_poold thread that calculates which locks to expire on the client. || Intel || . || [https://jira.hpdd.intel.com/browse/LU-2924 LU-2924] || 2.5 || 2.5
| Extended Attribute Batching || Allow clients to fetch multiple xattrs in a single RPC for efficiency || Xyratex || [https://jira.hpdd.intel.com/browse/LU-549 LU-549] || 2.5 || 2.5
|-
|-
| Endianness Fixes || Fixes endian and byte-alignment issues in the Lustre codebase. Platforms under consideration for this project are x86 vs Sparc || Intel || . || [https://jira.hpdd.intel.com/browse/LU-3221 LU-3221] || 2.5/2.7 || 2.5
| HSM || Hierarchical Storage Manager to allow Lustre to interface with external tape libraries and automatically and transparently store files from Lustre to an external archive and the reverse. || CEA || [https://jira.hpdd.intel.com/browse/LU-3608 LU-3608] || 2.5 || 2.5
|-
|-
| errno Translation Tables || Add addition of errno translations between architectures with different errno definitions || Intel || . || [https://jira.hpdd.intel.com/browse/LU-2743 LU-2743] || 2.5 || 2.5
| Client in upstream kernel || Include Lustre client in vanilla kernel release. || EMC || . || 2.4 || Linux 3.11
|-
|-
| Unified parameter syntax || Make conf_param and set_param syntax the same; add complete coverage || Xyratex || . || [https://jira.hpdd.intel.com/browse/LU-3155 LU-3155] || 2.5 || 2.5
| Reduce ldlm_poold Execution Time || Reduce the overhead of the ldlm_poold thread that calculates which locks to expire on the client. || Intel || [https://jira.hpdd.intel.com/browse/LU-2924 LU-2924] || 2.5 || 2.5
|-
| LNET Router Priorities || Adds a parameter to route module parameters which sets a priority number for that route. Routes with the smallest priority number will be favored over ones with larger numbers || Intel || [https://jira.hpdd.intel.com/browse/LU-2934 LU-2934] || 2.5 || 2.5
|-
| Endianness Fixes || Fixes endian and byte-alignment issues in the Lustre codebase. Platforms under consideration for this project are x86 vs Sparc || Intel || [https://jira.hpdd.intel.com/browse/LU-3221 LU-3221] || 2.5/2.7 || 2.5/2.7
|-
| errno Translation Tables || Add addition of errno translations between architectures with different errno definitions || Intel ||  [https://jira.hpdd.intel.com/browse/LU-2743 LU-2743] || 2.5 || 2.5
|-
| Unified parameter syntax || Make conf_param and set_param syntax the same; add complete coverage || Xyratex || [https://jira.hpdd.intel.com/browse/LU-3155 LU-3155] || 2.5 || 2.5
|-
| client-server shared modules cleanup || Clean up Lustre client to facilitate pushing it into upstream Linux kernel. Need to split some server code dependencies from client to avoidmaking extensive server code changes || EMC || [https://jira.hpdd.intel.com/browse/LU-1214 LU-1214] [https://jira.hpdd.intel.com/browse/LU-1330 LU-1330] || 2.5 || 2.5/2.6
|-
| libcfs cleanup || clean up libcfs to use Linux kernel APIs || EMC || [https://jira.hpdd.intel.com/browse/LU-1346 LU-1346] || 2.5 || 2.5/2.6
|-
| LFSCK Phase 2 - MDT-OST consistency || Traverse all inodes in an MDT and verify their corresponding objects on the OSTs exist. || Intel || [https://jira.hpdd.intel.com/browse/LU-957 LU-957] || 2.5 || 2.6
|-
| DNE Phase IIa || Migration Tool, OUT Handler, OSP Object Cache, Simplify Commit || Intel || [https://jira.hpdd.intel.com/browse/LU-3531 LU-3531] || 2.6 || 2.6
|}
|}

Revision as of 01:08, 20 March 2014


Lustre 2.6.0 Development Scope

For the Lustre 2.6 development cycle, we are tracking all outstanding work for the release right in Jira. We do so by adding the "Lustre 2.6.0" version string to the "Fix Version/s" field of any ticket that we have scoped to be part of that release. Jira uses the "Fix Version/s" field in a number of ways, including its built-in Road Map, Change Log, and of course Issues pages.

Thanks to use of this field, the Lustre project page in Jira will better reflect the state of development for the next Lustre release. Here are some quick links:

The selection of the initial list of tickets that were scoped for 2.6.0 was made through a the scoping efforts of the OpenSFS Community Development Working Group.

Keep in mind that the list of work is not static. As bugs are discovered, the list will grow. When new Jira tickets are opened for Lustre bug on the master branch, Intel, as part of the work for the Community Tree Development Contract, will make the initial determination of whether the ticket should be added to the scope for Lustre 2.6.0.

If a party feels like a ticket should be added to the Lustre 2.6.0 scope, but Intel did not make that initial determination, a request to have "Lustre 2.6.0" added to the "Fix Version/s" field should be made in the Jira ticket itself.

Should Intel and the interested party disagree, the issue should be raised on Community Development Working Group mailing list so that the issue can be discussed by the larger community and final determination made.

List of features under development

Features that are currently being developed for future Lustre releases in the Lustre community. These will be eligible for inclusion in future Lustre releases as per the defined processes. Features are not listed in priority or landing order. Projects not currently under development, or ideas for features, should be listed on the Project Ideas page.

Please note that the targeted release information is provided by the developing organization for informational purposes only and is in no way a roadmap commitment until it appears on the Lustre Roadmap.

Feature Feature Summary Developer Tracker Targeted Release Landed Release
Patchless Server Remove Lustre kernel patches to allow Lustre servers to be more easily ported to new kernels, and to be built against vendor kernels without changing the vendor kernel RPMs. Intel LU-20 2.7 .
End-to-End Data Integrity with T10 Add a path to pass T10 Protection Information from Lustre clients through to server disks to reduce CPU overhead of multiple checksum calculations. Xyratex LU-2488 LU-2584 2.9 .
LFSCK Phase 3 - DNE consistency Enhance LFSCK to work with DNE filesystems, including remote directory entries, and OST orphan handling for multiple MDTs. Intel LU-2307 2.7 .
DNE Phase IIb Asynchronous Commit of cross-MDT updates for improved performance. Remote rename and remote hard link functionality. Intel LU-3534 2.7 .
Layout Enhancement Add support for multiple layouts on a single file, for File Level Replication, Data on MDT, extent-based layouts, etc. Intel LU-3480 2.8 .
File Level Replication Phase 1 Solution Architecture and HDL, Exclusive Open, RAID 1 Layout, Layout Modification Method, Read Only RAID 1 Intel . 2.9 .
File Level Replication Phase 2 Immediate asynchronous write from client. Intel . 2.10 .
Data on MDT Allow small files to be stored directly on the MDT for reduced RPC count and improved performance. Intel . 2.9 .
Dynamic LNET Config Introduces a user space script which will read routes from a config file and add those routes to LNET dynamically with the lctl utility. This allows the support of very large routing tables Intel LU-2950 2.7 .
Quota for Projects Allow specifying a "project" or "subtree" identifier for files for accounting to a project, separate from UID/GID. DDN LU-4017 2.8 .
Large Bulk IO Increase the OST bulk IO maximum size to 16MB or larger for more efficient disk IO submission. Intel/DDN . 2.9 .
Kerberos Revival Fix up existing Kerberos code so it is tested working again. Xyratex . 2.8 .
UID/GID mapping Map UID/GID for remote client nodes to local UID/GID on the MDS and OSS. Allows a single Lustre filesystem to be shared across clients with administrative domains. Indiana University LU-3527 2.7 .
Shared Key Crypto Allow node authentication and/or RPC encryption using symmetric shared key crypto with GSSAPI. Avoids complexity in configuring Kerberos across multiple domains. Indiana University LU-3289 2.9 .
3.6/FC18 Server Patches . ORNL/NRL/SuSE/EMC LU-1812 2.5 2.5
Extended Attribute Batching Allow clients to fetch multiple xattrs in a single RPC for efficiency Xyratex LU-549 2.5 2.5
HSM Hierarchical Storage Manager to allow Lustre to interface with external tape libraries and automatically and transparently store files from Lustre to an external archive and the reverse. CEA LU-3608 2.5 2.5
Client in upstream kernel Include Lustre client in vanilla kernel release. EMC . 2.4 Linux 3.11
Reduce ldlm_poold Execution Time Reduce the overhead of the ldlm_poold thread that calculates which locks to expire on the client. Intel LU-2924 2.5 2.5
LNET Router Priorities Adds a parameter to route module parameters which sets a priority number for that route. Routes with the smallest priority number will be favored over ones with larger numbers Intel LU-2934 2.5 2.5
Endianness Fixes Fixes endian and byte-alignment issues in the Lustre codebase. Platforms under consideration for this project are x86 vs Sparc Intel LU-3221 2.5/2.7 2.5/2.7
errno Translation Tables Add addition of errno translations between architectures with different errno definitions Intel LU-2743 2.5 2.5
Unified parameter syntax Make conf_param and set_param syntax the same; add complete coverage Xyratex LU-3155 2.5 2.5
client-server shared modules cleanup Clean up Lustre client to facilitate pushing it into upstream Linux kernel. Need to split some server code dependencies from client to avoidmaking extensive server code changes EMC LU-1214 LU-1330 2.5 2.5/2.6
libcfs cleanup clean up libcfs to use Linux kernel APIs EMC LU-1346 2.5 2.5/2.6
LFSCK Phase 2 - MDT-OST consistency Traverse all inodes in an MDT and verify their corresponding objects on the OSTs exist. Intel LU-957 2.5 2.6
DNE Phase IIa Migration Tool, OUT Handler, OSP Object Cache, Simplify Commit Intel LU-3531 2.6 2.6