Fast computation of database operations using graphics processors
read more
Citations
Mars: a MapReduce framework on graphics processors
GPUTeraSort: high performance graphics co-processor sorting for large database management
Accelerating SQL database operations on a GPU with CUDA
PTask: operating system abstractions to manage GPUs as compute devices
A memory model for scientific algorithms on graphics processors
References
Sparse matrix solvers on the GPU: conjugate gradients and multigrid
Cg: a system for programming graphics hardware in a C-like language
Ray tracing on programmable graphics hardware
Fast computation of generalized Voronoi diagrams using graphics hardware
DBMSs on a Modern Processor: Where Does Time Go?
Related Papers (5)
Frequently Asked Questions (17)
Q2. What have the authors stated for future works in "Fast computation of database operations using graphics processors" ?
This number is expected to increase in the future. There are many avenues for future work. The authors also plan to design GPU-based algorithms for queries on more complicated data types in the context of spatial and temporal databases and perform continuous queries over streams using GPUs. As the instruction sets of fragment programs improve, the running time of many of their algorithms will further decrease.
Q3. What is the current trend of database architecture?
As the current trend of database architecture moves from disk-based system towards main-memory databases, applications have become increasingly computation- and memorybound.
Q4. How was the implementation of each operation redesigned?
To utilize the efficiency of pipelining and parallelism that a vector processor provides, the implementation of each operation was redesigned for increasing the vectorization rate and the vector length.
Q5. What is the recent development of GPUs?
GPUs have become programmable, allowing a user to write fragment programs that are executed on pixel processing engines.
Q6. How many pixels can be processed at a 450 MHz processor?
The graphics processor has 256MB of video memory with a memory data rate of 950MHz and can process upto 8 pixels at processor clock rate of 450 MHz.
Q7. How do the authors achieve significant performance improvement over CPU-based implementations?
The authors show that algorithms for semi-linear and selection queries map very well to GPUs and the authors are able to obtain significant performance improvement over CPU-based implementations.
Q8. Why is the GPU not able to copy large databases into memory?
due to the limited video memory, the authors may notbe able to copy very large databases (with tens of millions of records) into GPU memory.
Q9. What are the two major components of a desktop computer?
In fact, the two major computational components of a desktop computer system are its main central processing unit (CPU) and its (GPU).
Q10. What is the way to measure the traffic patterns in the census database?
For their benchmarks, the authors have used a database consisting of TCP/IP data for monitoring traffic patterns in local area network and wide area network and a census database [6] consisting of monthly income information.
Q11. What are the roles of CPUs and GPUs in computing?
As graphics hardware becomes increasingly programmable and powerful, the roles of CPUs and GPUs in computing are being redefined.
Q12. Why is it difficult to perform comparisons between CPU-based and GPU-based algorithms?
Due to different clock rates and instruction sets, it is difficult to perform explicit comparisons between CPU-based and GPU-based algorithms.
Q13. How many processors are available for fragment programs?
The performance of these algorithms depends on the instruction sets available for fragment programs, the number of fragment processors, and the underlying clock rate of the GPU.
Q14. What are the main operations used for building complex database queries?
These operations are widely used as fundamental primitives for building complex database queries and for supporting on-line analytic processing (OLAP) and data mining procedures.
Q15. How many times have they sped up on intersection joins?
Their experiments on graphics processors indicate a speedup of nearly 5 times on intersection joins and within-distance joins when compared against their software implementation.
Q16. What is the speedup in the KthLargest() algorithm?
Given the GPU clock rate and the number of pixel processing engines, the authors can estimate the time taken to perform KthLargest() under some assumptions.
Q17. How can the authors perform a comparison between an attribute and a constant?
The authors can implement a comparison between an attribute “tex” and a constant “d” by using the depth test functionality of graphics hardware.