Open mulerm opened 8 months ago
@backslasht , @dblock as well
Did #122 implement what's in this RFC? (Can it be closed?)
Did #122 implement what's in this RFC? (Can it be closed?)
@dblock I don't think this can be closed. Hardware-accelerated compression has been implemented, but they are distinct codecs, which means the indexes cannot be used on hardware that doesn't support the acceleration. However, the codecs themselves are technically compatible with the existing the best_compression
and default
codecs. I think there is a valid feature request to make the behavior such that the hardware-accelerated version will be used if running on hardware the supports it, otherwise fallback to the software implementation. The big caveat is that we have to guarantee that the different implementations are in fact 100% interoperable.
PR https://github.com/opensearch-project/custom-codecs/pull/122 introduced hardware-accelerated compression, leveraging Intel (R) QAT technology, for DEFLATE and LZ4 compression algorithms. The implementation uses the Qat-Java library to interact with the QAT hardware.
The PR also introduced two additional values for
index-codec
:qat_deflate
andqat_lz4
. Both codecs are compatible with their corresponding software counterparts,best_compression
anddefault
respectively, but do not override them (at least for the time being).The new setting
index.codec.qatmode
defines two modes of execution. Ahardware
mode exclusively uses QAT while anauto
mode may fallback and use a software implementation in cases where hardware resources are not available.Another approach that could be taken is to override
best_compression
anddefault
such that, in systems where the hardware is available, hardware acceleration is used.The purpose of this RFC is to initiate a discussion on the pros and cons this last approach.
@reta @sarthakaggarwal97 @wbeckler @andrross