Skip to content
Snippets Groups Projects

Change HltPackedDataWriter compression method

Merged Lucas Meyer Garcia requested to merge tune_compression_packedDataWriter into master
All threads resolved!

Currently, HltDataPackedWriter uses the LZMA-6 algorithm to compress data. However, the ZSTD-5 algorithm is more efficient for this application.

Local testing showed that, compared to LZMA-6, ZSTD-5 reduces the execution time of HltDataPackedWriter by a factor of 5 while increasing the compressed buffer size by only 6%.

This is similar to what is shown in slide 10 of this presentation.

FYI @sstahl @rmatev

Edited by Lucas Meyer Garcia

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Lucas Meyer Garcia marked this merge request as draft

    marked this merge request as draft

  • Lucas Meyer Garcia changed the description

    changed the description

  • Lucas Meyer Garcia changed the description

    changed the description

    • Resolved by Lucas Meyer Garcia

      you forgot one small thing:

      diff --git a/Hlt/HltDAQ/src/component/HltPackedData.h b/Hlt/HltDAQ/src/component/HltPackedData.h
      index b5b32785a..6916f26f2 100644
      --- a/Hlt/HltDAQ/src/component/HltPackedData.h
      +++ b/Hlt/HltDAQ/src/component/HltPackedData.h
      @@ -64,7 +64,7 @@ namespace LHCb::Hlt::PackedData {
             sv.remove_prefix( 1 );
             sv.remove_suffix( 1 );
           };
      -    constexpr auto algs = std::array{Compression::NoCompression, Compression::ZLIB, Compression::LZMA};
      +    constexpr auto algs = std::array{Compression::NoCompression, Compression::ZLIB, Compression::LZMA, Compression::LZ4, Compression::ZSTD};
           auto           i    = std::find_if( algs.begin(), algs.end(), [sv]( auto a ) { return sv == toString( a ); } );
           if ( i == algs.end() ) return StatusCode::FAILURE;
           c = *i;

      i.e. parse should be able to actually parse the values you added ;-)

  • added 1 commit

    • 5cee89ff - Change HltPackedDataWriter compression method.

    Compare with previous version

  • added 1 commit

    • b1c9ca98 - Change HltPackedDataWriter compression method.

    Compare with previous version

  • Lucas Meyer Garcia resolved all threads

    resolved all threads

  • Lucas Meyer Garcia resolved all threads

    resolved all threads

  • Lucas Meyer Garcia marked this merge request as ready

    marked this merge request as ready

  • Lucas Meyer Garcia changed the description

    changed the description

  • Rosen Matev approved this merge request

    approved this merge request

  • @rangel This is ready for testing.

  • Edited by Software for LHCb
  • Christoph Hasse assigned to @lmeyerga and unassigned @rangel

    assigned to @lmeyerga and unassigned @rangel

  • added 1 commit

    • 3ee85d3a - Change HltPackedDataWriter compression method.

    Compare with previous version

  • Lucas Meyer Garcia resolved all threads

    resolved all threads

  • Lucas Meyer Garcia assigned to @rangel and unassigned @lmeyerga

    assigned to @rangel and unassigned @lmeyerga

  • Murilo Santana Rangel resolved all threads

    resolved all threads

  • Gerhard Raven approved this merge request

    approved this merge request

  • Christoph Hasse resolved all threads

    resolved all threads

  • Christoph Hasse mentioned in commit 084b0bc6

    mentioned in commit 084b0bc6

  • Sascha Stahl mentioned in issue Moore#349

    mentioned in issue Moore#349

  • Please register or sign in to reply
    Loading