layout | title | nav_order | parent |
---|---|---|---|
page |
IAA Support in Velox Backend |
1 |
Getting-Started |
Similar to Intel® QAT, Gluten supports using Intel® In-memory Analytics Accelerator (IAA, also called IAX) for data compression during Spark Shuffle. It benefits from IAA Hardware-based acceleration on compression/decompression, and uses Gzip as compression format for higher compression ratio to reduce the pressure on disks and network transmission.
This feature is based on Intel® QPL.
Gluten will internally build and link to a specific version of QPL library, but extra environment setup is still required. Please refer to QPL Installation Guide to install dependencies and configure accelerators.
This step is required if your application is running as Non-root user. Create a group for the users who have privilege to use IAA, and grant group iaa read/write access to the IAA Work-Queues.
sudo groupadd iaa
sudo usermod -aG iaa username # need to relogin
sudo chgrp -R iaa /dev/iax
sudo chmod -R g+rw /dev/iax
After the set-up, you can now build Gluten with QAT. Below command is used to enable this feature
cd /path/to/gluten
## The script builds four jars for spark 3.2.2, 3.3.1, 3.4.3 and 3.5.1.
./dev/buildbundle-veloxbe.sh --enable_iaa=ON
- To enable QAT at run-time, first make sure you have configured the IAA Work-Queues correctly, and the file permissions of /dev/iax/wqX.0 are correct.
sudo ls -l /dev/iax
The output should be like:
total 0
crw-rw---- 1 root iaa 509, 0 Apr 5 18:54 wq1.0
crw-rw---- 1 root iaa 509, 5 Apr 5 18:54 wq11.0
crw-rw---- 1 root iaa 509, 6 Apr 5 18:54 wq13.0
crw-rw---- 1 root iaa 509, 7 Apr 5 18:54 wq15.0
crw-rw---- 1 root iaa 509, 1 Apr 5 18:54 wq3.0
crw-rw---- 1 root iaa 509, 2 Apr 5 18:54 wq5.0
crw-rw---- 1 root iaa 509, 3 Apr 5 18:54 wq7.0
crw-rw---- 1 root iaa 509, 4 Apr 5 18:54 wq9.0
- Extra Gluten configurations are required when starting Spark application
--conf spark.gluten.sql.columnar.shuffle.codec=gzip
--conf spark.gluten.sql.columnar.shuffle.codecBackend=iaa
Intel® IAA Enabling Guide
Check out the Intel® In-Memory Analytics Accelerator (Intel® IAA) Enabling Guide
Intel® QPL Documentation
Check out the Intel® Query Processing Library (Intel® QPL) Documentation