90 likes | 197 Views
Uncompressing a Projection Index in CUDA. Eduardo Gutarra Velez. Introduction & Motivation. The projection index supports thread-level parallelism and therefore could potentially make good use of a GPU.
E N D
Uncompressing a Projection Index in CUDA Eduardo Gutarra Velez
Introduction & Motivation • The projection index supports thread-level parallelism and therefore could potentially make good use of a GPU. • However, most of the time spent when doing query evaluation on projection indexes, is spent in transferring data from the CPU to the GPU • A common approach to improve on this problem is to reduce the size of the data that needs to be transferred. • Compression could be a good way to reduce the size of data.
The Project • A compressed projection index will be used. • The compression method is RLE (Run Length Encoding) • For this to be effective the following assumptions must be made: • The data in the projection index is previously sorted • The projection index is created on a column that is not unique.
The Project • The Index will be transferred compressed to the GPU • It will then be uncompressed in the GPU using a parallel prefix sum algorithm. CPU GPU • A3B1C7 • A3B1C7 • AAABCCCCCCC
How Prefix Sum will be applied • Many uses for prefix sum but our use will be to uncompress a previously compressed index, that will be sent to memory. • A3B1C7 • AAABCCCCCCC • Source:
References • Gosink, L., Kesheng Wu, E. Wes Bethel, John D. Owens, Kenneth I. Joy: Data Parallel Bin-Based Indexing for Answering Queries on Multi-core Architectures. SSDBM 2009: 110-129 • Gosink, L., E. Wes Bethel, John D. Owens, Kenneth I. Joy. Bin-Hash Indexing: A Parallel GPU-Based Method For Fast Query Processing. IDAV (2008) • Wu, K., Otoo, E., Shoshani, A.: On the performance of bitmap indices for high cardinality attributes. In: Proc. of VLDB, pp. 24–35 (2004) • O’Neil, P.E., Quass, D.: Improved query performance with variant indexes. In: Proc. of SIGMOD, pp. 38–49 (1997)