gpg12 opened a new pull request, #7388: URL: https://github.com/apache/hbase/pull/7388
## Description This PR introduces RISC-V Vector (RVV) optimizations to Apache HBase to significantly improve performance on RISC-V platforms. The optimizations target three critical areas: 1. **LZ4 Compression/Decompression** - Vectorized hash computation and dictionary operations 2. **BloomFilter Operations** - Parallel bit manipulation and batch processing 3. **Scan Query Operations** - Vectorized byte comparisons and prefix matching ## Key Features - JNI integration with native C implementations using RVV intrinsics - Conditional compilation ensuring compatibility with non-RISC-V platforms - Runtime detection with graceful fallback mechanisms - Comprehensive test coverage and performance benchmarks - Backward compatibility maintained for existing deployments ### Core Design Principles 1. **Conditional Compilation**: Use `#if defined(__riscv) && defined(__riscv_vector)` to ensure RVV code only compiles on supported platforms 2. **Runtime Detection**: Implement graceful fallback when RVV is unavailable 3. **Backward Compatibility**: No impact on existing deployments or non-RISC-V platforms 4. **Performance Monitoring**: Built-in metrics collection and performance analysis ### JNI Integration Strategy The implementation uses JNI to call native C functions that utilize RISC-V vector instructions for: - Vectorized memory operations (memcmp, memcpy) - Parallel hash computation for BloomFilter operations - Batch processing for improved throughput Closes #HBASE-29658 -- 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]
