<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:31:23 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-10026] Client-side data compression</title>
                <link>https://jira.whamcloud.com/browse/LU-10026</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>

&lt;p&gt;Due to the increasing gap between computational speed, network speed and storage capacity, it has become necessary to investigate data reduction techniques. Storage systems have become a significant part of the total cost of ownership due to the increased amount of storage devices, their associated acquisition cost and energy consumption.&lt;/p&gt;

&lt;p&gt;Ultimately, we are aiming for compression support in Lustre at multiple levels:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Client-side compression allows using the available network and storage capacity more efficiently,&lt;/li&gt;
	&lt;li&gt;Client hints empower applications to provide information useful for compression and&lt;/li&gt;
	&lt;li&gt;Adaptive compression makes it possible to choose appropriate settings depending on performance metrics and projected benefits.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Compression will be completely transparent to the applications because it will be performed by the client and/or server on their behalf. However, it will be possible for users to tune Lustre&apos;s behavior to obtain the best performance/compression/etc. When using client-side compression, the single stream performance bottleneck will directly benefit from the compression. Initial studies have shown that a compression ratio of 1.5 can be achieved for scientific data using lz4.&lt;/p&gt;</description>
                <environment></environment>
        <key id="48446">LU-10026</key>
            <summary>Client-side data compression</summary>
                <type id="2" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11311&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="ablagodarenko">Artem Blagodarenko</assignee>
                                    <reporter username="adilger">Andreas Dilger</reporter>
                        <labels>
                            <label>patch</label>
                    </labels>
                <created>Sat, 23 Sep 2017 08:01:41 +0000</created>
                <updated>Wed, 25 Oct 2023 18:08:49 +0000</updated>
                                                            <fixVersion>Lustre 2.17.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>12</watches>
                                                                            <comments>
                            <comment id="215432" author="gerrit" created="Wed, 6 Dec 2017 13:22:13 +0000"  >&lt;p&gt;Anna Fuchs (anna.fuchs@informatik.uni-hamburg.de) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/30393&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/30393&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10026&quot; title=&quot;Client-side data compression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10026&quot;&gt;LU-10026&lt;/a&gt;: WIP: client-side compression (write path)&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: bc288aebb2d07df8d931a7a0a30e188659380473&lt;/p&gt;</comment>
                            <comment id="215456" author="fuchs" created="Wed, 6 Dec 2017 17:29:55 +0000"  >&lt;p&gt;The patch contains a first version of application-transparent client-side compression (write path).&lt;/p&gt;

&lt;p&gt;The data is compressed on the client, transferred compressed over&lt;br/&gt;
 the network and decompressed on the object server side. It reaches the&lt;br/&gt;
 ZFS-backend unmodified and is stored like it was never touched.&lt;/p&gt;

&lt;p&gt;The current version works with clients and object servers built&lt;br/&gt;
 with configure option --enable-compression. It supports only new file&lt;br/&gt;
 writes, not modifying of existing ones.&lt;/p&gt;

&lt;p&gt;The size of compression pool is currently static. For test purposes, please, change cmp_pool_init(number_of_buffers, size_of_buffer_in_kb) to an appropriate size in osc/osc_request.c:osc_init() and target/tgt_main.c:tgt_mod_init(). Also, set ppchunk (pages per chunk) in osc_request.c:calc_chunks() to a desired value for testing. See TODO 20.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Approach:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Compression is introduced on the client side just before the data transfer happens. &lt;br/&gt;
 The potential RPC is split into chunks. The chunk size is at least 1 page and at most &lt;br/&gt;
 as large as the preset ZFS record size. In general, chunking is based on stripes.&lt;/p&gt;

&lt;p&gt;Every chunk is compressed separately and currently serially. Parallel compression within&lt;br/&gt;
 one RPC is generally possible, but is not prioritized due to already parallel processing &lt;br/&gt;
 of RPCs. All compressed chunks are concatenated without any gaps in between and sent as 1&lt;br/&gt;
 RPC over the network. Every chunk is forced to be a separate network I/O buffer. If a chunk&lt;br/&gt;
 could not be compressed for any uncritical reasons (random data), it stays uncompressed at &lt;br/&gt;
 the beginning, end or between other potentially compressed chunks in a stripe.&lt;/p&gt;

&lt;p&gt;In this version, the data is supposed to be decompressed on the server. In future version it &lt;br/&gt;
 could be passed through the server layers and be persisted compressed on the ZFS-backend. &lt;br/&gt;
 However, to decompress the data and deliver it to the application, one needs to know at least&lt;br/&gt;
 which algorithm has been used and, in the most cases, how large the compressed data is and how&lt;br/&gt;
 large it was. We differ here between physical size (actual byte exact size in memory, compressed) &lt;br/&gt;
 and the logical size (application view, uncompressed). This information must not be lost after &lt;br/&gt;
 compression and is currently present in two places. Also see TODOs for storing compressed data.&lt;/p&gt;

&lt;p&gt;On the one side, it is the chunk descriptor. There exists 1 chunk descriptor per chunk. This &lt;br/&gt;
 descriptor is to be sent as part of the RPC (together with the body, ioobject, niobuf) before&lt;br/&gt;
 the transfer. For comfort reasons, it currently contains more information than necessary (see &lt;br/&gt;
 comments in code), but could be shrunk to fewer fields. Based on that information, every chunk &lt;br/&gt;
 can be decompressed on the server-side. Very important to notice is that some algorithms like &lt;br/&gt;
 lz4 require the byte-exact size of compressed data for decompression.&lt;/p&gt;

&lt;p&gt;If the data is supposed to be stored compressed, we still need that information to be present. &lt;br/&gt;
 ZFS, which supports its own compression, can already remember the rounded physical size and its &lt;br/&gt;
 own compression algorithms. This list is to be extended by a value, which indicates external &lt;br/&gt;
 compression (&quot;data has been compressed by Lustre, don&apos;t touch it&quot;). The actually used compression &lt;br/&gt;
 algorithm and the byte-exact sizes have to be stored as a data header before the actual data. &lt;br/&gt;
 There exists a header for every compressed chunk. Uncompressed or incompressible chunks do not &lt;br/&gt;
 have any header and are marked as not externally compressed in ZFS. The size of this header &lt;br/&gt;
 defines the file layout for compressed data and should not be ever changed for compatibility &lt;br/&gt;
 reasons in the future. The code for this already exists (and is included in the patch) but is&lt;br/&gt;
 currently not necessary since data is decompressed by the server.&lt;/p&gt;

&lt;p&gt;The read path in not affected in this version and the data is read like in an unpatched build.&lt;/p&gt;

&lt;p&gt;It is not planned to compress any data transfer between clients and MDSs. &lt;br/&gt;
 The MDS will be involved only for configuration and further settings.&lt;/p&gt;

&lt;p&gt;This version supports only lz4.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Technical details:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Compression forces the use of at least one additional memory buffer for de-/compressed data. &lt;br/&gt;
 Algorithms like lz4 can handle only contiguous memory buffers for in- and output. The data &lt;br/&gt;
 in Lustre is accessible page-wise; the pages are commonly not contiguous. Therefore, the original data &lt;br/&gt;
 has to be first copied into temporary contiguous buffers. This fact increases the memory usage&lt;br/&gt;
 and forces additional copies. To keep the memory usage minimal, this version uses one temporary &lt;br/&gt;
 buffer for one chunk (src) and a second large buffer for the output. The output (dst) buffer is &lt;br/&gt;
 as large as the original data size (page_count). Also see TODOs for page-based compression.&lt;/p&gt;

&lt;p&gt;Compression process (client-side). Mainly in osc_request.c:compressed_osc_brw_prep_request:&lt;/p&gt;

&lt;p&gt;1. Input data array (pga), page_count many pages. &lt;br/&gt;
 2. Calculate chunks, from 1 page to zfs_record_size large&lt;br/&gt;
 3. Prepare 1 src-buffer (sizeof chunk) and many dst-buffesr (sizeof logical_page_count in total)&lt;br/&gt;
 4. Copy chunk into src-buffer&lt;br/&gt;
 5. Compress src-buffer to dst&lt;span class=&quot;error&quot;&gt;&amp;#91;chunk&amp;#93;&lt;/span&gt; buffer. &lt;br/&gt;
 6. Continue composing output data array (cpga) from dst (no additional copy!). &lt;br/&gt;
 Skip gaps in dst, compressed chunks are consecutively. If chunk was compressible, write a header before compressed data. If chunk was incompressible, use pga pages, write no header and release dst&lt;span class=&quot;error&quot;&gt;&amp;#91;uncompressible_chunk&amp;#93;&lt;/span&gt; immediately&lt;br/&gt;
 7. Repeat 4 + 5 for all chunks&lt;br/&gt;
 8. Release src-buffer.&lt;br/&gt;
 9. Build request with cpga. &lt;br/&gt;
 10. Transfer cpga.&lt;br/&gt;
 11. After request successfully finished, release compressed pages, try to release uncompressed pages (see TODOs).&lt;/p&gt;

&lt;p&gt;Transfer. Main changes in tgt_handler.c:tgt_brw_write_compressed:&lt;/p&gt;

&lt;p&gt;1. Receive RPC. &lt;br/&gt;
 2. Prepare remote network buffers for compressed data, recognize physical sizes&lt;br/&gt;
 3. Prepare local network buffers for decompressed data, recognize logical sizes&lt;br/&gt;
 4. Build bulk descriptor with local network buffers, but physical sizes&lt;br/&gt;
 5. Receive compressed (physical size) data into local network buffers&lt;br/&gt;
 6. Decompress data from and to local network buffers (see next section)&lt;br/&gt;
 7. Commit decompressed data to the backend&lt;/p&gt;

&lt;p&gt;Decompression process (server-side). Main changes in tgt_handler.c:tgt_brw_write_compressed:&lt;/p&gt;

&lt;p&gt;1. Input data in lnb&lt;span class=&quot;error&quot;&gt;&amp;#91;logical_page_count&amp;#93;&lt;/span&gt; array. &lt;br/&gt;
 2. Prepare 1 src-buffer (sizeof chunk) and many dst-buffers (sizeof logical_page_count in total)&lt;br/&gt;
 3. If input chunk is not contiguous, copy chunk from lnb into src-buffer&lt;br/&gt;
 4. Decompress src-buffer into dst&lt;span class=&quot;error&quot;&gt;&amp;#91;chunk&amp;#93;&lt;/span&gt; buffer. &lt;br/&gt;
 5. When the chunk was not compressible, still need to copy src to dst. &lt;br/&gt;
 6. Repeat 3-5 for every chunk. &lt;br/&gt;
 7. Copy complete dst to local buffers. &lt;br/&gt;
 8. Release src and dst-buffers.&lt;/p&gt;

&lt;p&gt;Since memory allocation (especially contiguous) in the kernel is not only expensive, but also not&lt;br/&gt;
 always possible, we have introduced an exclusive memory pool for compression. This module is &lt;br/&gt;
 initialized at system start, when the osc and the target modules are inserted. At that time most of &lt;br/&gt;
 the kernel memory is hopefully not in use and we should have the best chances to get big contiguous &lt;br/&gt;
 memory blocks.&lt;/p&gt;

&lt;p&gt;The buffers can be loaned from pool only in fixed size. Once you request a smaller buffer, you would &lt;br/&gt;
 get the bigger fixed size buffer. When you try to request a larger buffer, the request will fail.&lt;/p&gt;

&lt;p&gt;The current state is work in progress. There is a long list of things to be done. Some of them are &lt;br/&gt;
 already in progress, some need to be discussed until we can proceed with the development.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;TODOs:&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;1. Style check (checkpatch.pl)&lt;/p&gt;

&lt;p&gt;2. The compression pool already provides the ability to loan several buffers atomically to prevent deadlocks&lt;br/&gt;
 for large parallel requests. It needs some few fixes for releasing those buffers.&lt;/p&gt;

&lt;p&gt;3. Discuss whether the chunk descriptor can be present even if the build was configured without compression. Otherwise, isolate everything that affects compression.&lt;/p&gt;

&lt;p&gt;4. Add/improve error handling. Check return values on failure and prepare fallbacks. Add debugging messages.&lt;/p&gt;

&lt;p&gt;5. The header size within the data should be discussed.&lt;/p&gt;

&lt;p&gt;6. Refactoring and merging duplicated functions into original ones as far as possible (compressed_osc_brw_prep_request, tgt_brw_write_compressed, osd_bufs_get_compressed_write, etc.)&lt;/p&gt;

&lt;p&gt;7. Shrink chunk descriptor to really necessary values, since it is sent over the network&lt;/p&gt;

&lt;p&gt;8. Add read path.&lt;/p&gt;

&lt;p&gt;9. Currently there are no compatibility checks for the compression feature. The current version is based on the &lt;br/&gt;
 2.10+ state. Clients and object servers have to be configured with enabled compression. The MDS is in this version&lt;br/&gt;
 not affected by compression and might be just compatible with unpatched 2.10 version. For the future, is also has to&lt;br/&gt;
 support compression.&lt;/p&gt;

&lt;p&gt;10. Mixing of different algos of the same type should be possible chunk-wise to enable more flexibility for the future features.&lt;/p&gt;

&lt;p&gt;11. Currently, compression is only controlled via the configuration setting --enable-compression when building.&lt;br/&gt;
 We plan to enable/disable it additionally and dynamically (lctl, lfs, /proc).&lt;/p&gt;

&lt;p&gt;12. Expand compression feature to store the data compressed.&lt;/p&gt;

&lt;p&gt;13. Release original pga-pages on the client. See comments in osc_request.c:osc_release_cppga&lt;/p&gt;

&lt;p&gt;14. Memory summary on the server might not recognize all the used memory. See comments in ofd_io.c:ofd_preprw_write_compressed&lt;/p&gt;

&lt;p&gt;15. Minor TODOs in the code comments&lt;/p&gt;

&lt;p&gt;16. Write compression tests (build and functionality) for Gerrit&lt;/p&gt;

&lt;p&gt;17. Support read-modify-write.&lt;/p&gt;

&lt;p&gt;18. In the near future we will support an algorithm than can handle page arrays as in- and output (pga-able) instead of contiguous buffers (cbuf-able). &lt;br/&gt;
 We will not need to allocate so many buffers and make additional copies.&lt;/p&gt;

&lt;p&gt;19. We should restrict mixing of cbuf-able and pga-able algorithms. In theory, mixing all algorithm for every chunk is possible, in practice it results &lt;br/&gt;
 in complex code and potentially not very smart use of resources. Maybe restrict to one type (cbuf-able of page-able) per file.&lt;/p&gt;

&lt;p&gt;20. Get/set correct values for &lt;br/&gt;
 &#8211; compression threshold: max(short IO, x)&lt;br/&gt;
 &#8211; chunk size: get from ZFS&lt;br/&gt;
 &#8211; compression pool size: allocate MAX(32, number_of_cpus)*default_RPC_size large pool with record-size sized contiguous chunks&lt;br/&gt;
 &#8211; for future: algorithm (certain one, quick one, best compression ratio, etc.), policy (force, dynamic, etc.) via ladvise&lt;/p&gt;

&lt;p&gt;21. Dynamic decision making for compression usage, algorithms, strategy, etc.&lt;/p&gt;

&lt;p&gt;Further, see the project description and updated information at &lt;a href=&quot;http://wiki.lustre.org/Enhanced_Adaptive_Compression_in_Lustre&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://wiki.lustre.org/Enhanced_Adaptive_Compression_in_Lustre&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="245288" author="gerrit" created="Fri, 5 Apr 2019 14:51:47 +0000"  >&lt;p&gt;Anna Fuchs (anna.fuchs@informatik.uni-hamburg.de) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/34603&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34603&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10026&quot; title=&quot;Client-side data compression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10026&quot;&gt;LU-10026&lt;/a&gt;: Configuration for compression support and lz4 module backport&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 3599c495bb2a430d780ecdd0459270a1c9463820&lt;/p&gt;</comment>
                            <comment id="245290" author="fuchs" created="Fri, 5 Apr 2019 14:56:48 +0000"  >&lt;p&gt;We have taken care of some of the todos and split up the feature into multiple patches.&lt;/p&gt;

&lt;p&gt;The first of the series adds compression support to the build system and a backport for the lz4 module needed for kernel version &amp;lt;3.11.&lt;/p&gt;

&lt;p&gt;The remaining patches will follow soon and add support for the page buffer pool, basic data structures, client-side compression and server-side handling.&lt;/p&gt;</comment>
                            <comment id="245635" author="gerrit" created="Fri, 12 Apr 2019 11:17:44 +0000"  >&lt;p&gt;Anna Fuchs (anna.fuchs@informatik.uni-hamburg.de) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/34649&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34649&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10026&quot; title=&quot;Client-side data compression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10026&quot;&gt;LU-10026&lt;/a&gt;: Page buffer pool for compression&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 2446a55b697d744d7f503ce6c1ae9c17ca6d0bd2&lt;/p&gt;</comment>
                            <comment id="245654" author="gerrit" created="Fri, 12 Apr 2019 15:24:58 +0000"  >&lt;p&gt;&lt;del&gt;Anna Fuchs (anna.fuchs@informatik.uni-hamburg.de) uploaded a new patch:&lt;/del&gt; &lt;a href=&quot;https://review.whamcloud.com/34650&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34650&lt;/a&gt;&lt;br/&gt;
&lt;del&gt;Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10026&quot; title=&quot;Client-side data compression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10026&quot;&gt;LU-10026&lt;/a&gt;: Prepare structures for compression&lt;/del&gt;&lt;br/&gt;
&lt;del&gt;Project: fs/lustre-release&lt;/del&gt;&lt;br/&gt;
&lt;del&gt;Branch: master&lt;/del&gt;&lt;br/&gt;
&lt;del&gt;Current Patch Set: 1&lt;/del&gt;&lt;br/&gt;
&lt;del&gt;Commit: 9e39536b65f078d5f2dc3d2455b020451c35ea33&lt;/del&gt;&lt;br/&gt;
(duplicate with 34651)&lt;/p&gt;</comment>
                            <comment id="245655" author="gerrit" created="Fri, 12 Apr 2019 15:25:35 +0000"  >&lt;p&gt;Anna Fuchs (anna.fuchs@informatik.uni-hamburg.de) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/34651&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34651&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10026&quot; title=&quot;Client-side data compression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10026&quot;&gt;LU-10026&lt;/a&gt;: Prepare structures for compression&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 8170c9d07f38e0ead8dfd0db99e380d9691aaf03&lt;/p&gt;</comment>
                            <comment id="246739" author="gerrit" created="Mon, 6 May 2019 12:27:49 +0000"  >&lt;p&gt;Anna Fuchs (anna.fuchs@informatik.uni-hamburg.de) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/34810&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34810&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10026&quot; title=&quot;Client-side data compression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10026&quot;&gt;LU-10026&lt;/a&gt;: Compress data on client with lz4, send compressed over&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: c216f2445d829e776ed8db1fe25eb71ee22091bb&lt;/p&gt;</comment>
                            <comment id="246860" author="gerrit" created="Wed, 8 May 2019 19:05:40 +0000"  >&lt;p&gt;Anna Fuchs (anna.fuchs@informatik.uni-hamburg.de) uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/34831&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/34831&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10026&quot; title=&quot;Client-side data compression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10026&quot;&gt;LU-10026&lt;/a&gt;: Decompress data by server (previously compressed by client) and&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 59b59c6ff201119bc6eb43af5ae280b30a6a4869&lt;/p&gt;</comment>
                            <comment id="337601" author="sebastien" created="Mon, 13 Jun 2022 09:20:02 +0000"  >&lt;p&gt;&lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/attachment/44027/44027_intel_hub_isc17.pdf&quot; title=&quot;intel_hub_isc17.pdf attached to LU-10026&quot;&gt;intel_hub_isc17.pdf&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; is the initial description of work to be done.&lt;br/&gt;
&lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/attachment/44028/44028_ipcc_12_17.pdf&quot; title=&quot;ipcc_12_17.pdf attached to LU-10026&quot;&gt;ipcc_12_17.pdf&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; is the status as of December 2017.&lt;/p&gt;</comment>
                            <comment id="355529" author="adilger" created="Wed, 7 Dec 2022 15:57:41 +0000"  >&lt;p&gt;Hi Anna, Michael, Matt,&lt;br/&gt;
I&apos;m wondering if any of you could share some &quot;real&quot; data input files for testing compression effectiveness, rather than just using e.g. the Linux or Lustre source tree for input?  It doesn&apos;t need to be huge, tens of MB to single GB is enough, but small parts of it would be included directly into the Lustre source tree for regression testing, so it should be freely available/redistributable.  I&apos;m sure there are e.g. weather or CFD or other datasets that can be downloaded, I just don&apos;t know where to look for them.&lt;/p&gt;</comment>
                            <comment id="355861" author="adilger" created="Fri, 9 Dec 2022 14:33:15 +0000"  >&lt;p&gt;Links from Anna with publicly available data:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.earthdata.nasa.gov/eosdis/daacs&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.earthdata.nasa.gov/eosdis/daacs&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://github.com/pangeo-data/WeatherBench&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/pangeo-data/WeatherBench&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="372816" author="gerrit" created="Fri, 19 May 2023 07:04:02 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/49170/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/49170/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10026&quot; title=&quot;Client-side data compression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10026&quot;&gt;LU-10026&lt;/a&gt; csdc: reserve layout bits for compress component&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 570d76dc3fd677357d76187ba718e339dd695788&lt;/p&gt;</comment>
                            <comment id="382912" author="gerrit" created="Fri, 18 Aug 2023 03:19:42 +0000"  >&lt;p&gt;&quot;Zhenyu Xu &amp;lt;bobijam@hotmail.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/51978&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/51978&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10026&quot; title=&quot;Client-side data compression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10026&quot;&gt;LU-10026&lt;/a&gt; csdc: DoM pattern could be a combined value&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 12f9b0d34cd172374133b159236b8d2c8bc14652&lt;/p&gt;</comment>
                            <comment id="384903" author="gerrit" created="Wed, 6 Sep 2023 06:22:32 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/51978/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/51978/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10026&quot; title=&quot;Client-side data compression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10026&quot;&gt;LU-10026&lt;/a&gt; csdc: DoM pattern could be a combined value&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: bb0cc84fbed51e006bfac230dada426bfac4f500&lt;/p&gt;</comment>
                            <comment id="388025" author="gerrit" created="Tue, 3 Oct 2023 22:36:27 +0000"  >&lt;p&gt;&quot;Sarah Liu &amp;lt;sarah@whamcloud.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/52572&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/52572&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10026&quot; title=&quot;Client-side data compression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10026&quot;&gt;LU-10026&lt;/a&gt; tests: Fix sanity test_56ab for CSDC&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 1ce661dd56fb4b6ecc9e909805c6101bbd9c3161&lt;/p&gt;</comment>
                            <comment id="390589" author="gerrit" created="Wed, 25 Oct 2023 18:08:49 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/52572/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/52572/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-10026&quot; title=&quot;Client-side data compression&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-10026&quot;&gt;LU-10026&lt;/a&gt; tests: Fix sanity test_56ab for CSDC&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 4fc8ca3325d2eb49d8342eb943e3a17932f24517&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="71788">LU-16085</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="76134">LU-16837</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="28344" name="BGI-Intel-QAT-Performance-2016-09.pdf" size="499644" author="adilger" created="Sat, 23 Sep 2017 08:01:37 +0000"/>
                            <attachment id="28343" name="LAD2016-compression_kuhn.pdf" size="1407121" author="adilger" created="Sat, 23 Sep 2017 08:01:38 +0000"/>
                            <attachment id="43779" name="Lustre-client-compression-poster_ISC17.pdf" size="435317" author="adilger" created="Wed, 25 May 2022 01:42:14 +0000"/>
                            <attachment id="47171" name="compression-lz4-chunksize.png" size="91713" author="adilger" created="Wed, 7 Dec 2022 15:58:21 +0000"/>
                            <attachment id="44027" name="intel_hub_isc17.pdf" size="277720" author="sebastien" created="Mon, 13 Jun 2022 09:19:50 +0000"/>
                            <attachment id="44028" name="ipcc_12_17.pdf" size="434578" author="sebastien" created="Mon, 13 Jun 2022 09:19:54 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzzkpj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>