Offloading data encryption to GPU in database systems
Graphics processing units have proved their capability for general-purpose computing in many research areas. In this paper, we propose the mechanism and implementation of a database system that encrypts and decrypts data by using GPU. The proposed mechanism is mainly designed for database systems that require data encryption and decryption to support high security level. The outsourced database systems or database cloud service could be a good candidate for our system. By exploiting the computation capability of GPU, we achieve not only a fast encryption and decryption time per operation, but also a higher overall performance of a database system by offloading computation to GPU. Moreover, the proposed system includes a mechanism which can decide whether to offload computation to GPU or not for more performance gain. We implemented the AES algorithm based on CUDA framework and integrate with MySQL, a commodity database system. Our evaluation demonstrates that the encryption and decryption on GPU show eight times better performance compared to that on CPU when the data size is 16MB and the performance gain is proportional to the data size. We also show that the proposed system alleviates the utilization of CPU, and the overall performance of the database system is improved by offloading heavy encrypting and decrypting computation to GPU.
encryption gpu database computation offloading