sevanthi-suvarna opened a new pull request, #3052: URL: https://github.com/apache/cassandra/pull/3052
This PR adds a new compressor to accelerate compress/decompress operations using Intel® IAA hardware. This new feature is added for [CASSANDRA-19268.](https://issues.apache.org/jira/browse/CASSANDRA-19268) ### **Details:** QPLCompressor is a new compressor, which accelerates Cassandra to perform compress/decompress operations using Intel® In-Memory Analytics Accelerator ([Intel® IAA](https://cdrdv2.intel.com/v1/dl/getContent/721858)) . Its relies on open source [qpl-java](https://github.com/intel/qpl-java) library , which is available in [Maven Central](https://central.sonatype.com/artifact/com.intel.qpl/qpl-java/1.0.0). QPLCompressor can be set up for per-table compression, similar to how we enable other compression algorithms in Cassandra (ex: ZstdCompressor). For this new compressor, we performed microbenchmark on Cassandra version 4.1.1 using NoSQLBench. ### **Configuring QPLCompressor at table level:** CREATE TABLE users (user_id varchar PRIMARY KEY, first varchar, last varchar, age int) WITH compression = {'class': 'QPLCompressor'}; ### **QPLCompressor supports followings advanced options:** **execution_path**(default hardware): Specifies whether operation should be executed on the IAA hardware or emulated in software. And operation will fall back to software when hardware is not present. Currently supported options: hardware and software. For more information on execution path, please refer [here](https://javadoc.io/doc/com.intel.qpl/qpl-java/latest/com/intel/qpl/QPLUtils.ExecutionPaths.html). **compressor_level**(default 1): User can set any of these [supported](https://intel.github.io/qpl/documentation/dev_ref_docs/c_ref/c_common_definitions.html?highlight=compression_level#c.qpl_compression_levels) compression levels. **retry_count**(default 0): This option determines how long QPLCompressor should retry compress/decompress operations if hardware is busy. **Example:** CREATE TABLE users (user_id varchar PRIMARY KEY, first varchar, last varchar, age int) WITH compression = {'class': 'QPLCompressor', 'execution_path':'hardware','compressor_level':'1', 'retry_count':'1'}; -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

