Benchmarking CUDA database performance
Hi guys! I have used CUDPP and Thrust to implement several basic database operations such as filter, joins and sorts. I have run some benchmarks to compare the performance of my SQL operations with that of major database vendors. I decided to use TPC-H bencmark tests Q1 and Q3 on a scale 100 which means that the database size is about 100 GB. Setup (taken from TPC-H web site) : System 1 : Sybase IQ 15.1 ESD#1 Single Application Server SunFire X4270 with 2 Intel Xeon 5570 2.93 GHz Quad Core processors 120 GB memory 1x 146GB SAS internal disk (10K RPM) 8 x 32GB internal SSDs Cost : $61,217.99 USD System 2 : Microsoft SQL Server 2008 Enterprise x64 Processors : 2x 2.93 GHz Quad Core Intel X5570 Cores : 8 Threads : 16 Memory : 144 GB OS Disk Drives : 2x 72 GB 15K rpm SFF SAS Disk Controllers : 4x Smart Array P410, 1x Smart Array P411 Disks : 12x 60GB SSD SATA SFF Total Disk Storage: 864 GB Cost : $54,859 USD System 3 ( My PC ) Alenka DB ( CUDPP + Thrust) - github.com/antonmks/Alenka Processor : 2.6 GHz Intel G620 Disk : 1 x WDC 2 TB 1 x 120GB Vertex3 SSD NVidia GTX 580 3GB gpu Cost : $843.00 Q1 : filter and group by ops Q3 : join, group by and sort ops Results of Q1 and Q3 : System 1 - 35.2 and 7.2 System 2 - 42.3 and 4.3 System 3 - 9.5 and 5.3 Please notice that results for System1 and System2 are published on TPC-H web site in a top 10 results in a 100GB category. So the conclusion is that combination of GTX580 GPU and CUDPP and Thrust libraries is capable of outperforming expensive servers and powerful databases. Thanks for reading ! Anton antonmks@gmail.com
Hi guys!
I have used CUDPP and Thrust to implement several basic database operations such as filter, joins and sorts.
I have run some benchmarks to compare the performance of my SQL operations with that of major database vendors.
I decided to use TPC-H bencmark tests Q1 and Q3 on a scale 100 which means that the database size is about 100 GB.

Setup (taken from TPC-H web site) :

System 1 :
Sybase IQ 15.1 ESD#1 Single Application Server
SunFire X4270 with
2 Intel Xeon 5570 2.93 GHz Quad Core processors
120 GB memory
1x 146GB SAS internal disk (10K RPM)
8 x 32GB internal SSDs
Cost : $61,217.99 USD

System 2 :
Microsoft SQL Server 2008 Enterprise x64
Processors : 2x 2.93 GHz Quad Core Intel X5570
Cores : 8
Threads : 16
Memory : 144 GB
OS Disk Drives : 2x 72 GB 15K rpm SFF SAS
Disk Controllers : 4x Smart Array P410, 1x Smart Array P411
Disks : 12x 60GB SSD SATA SFF
Total Disk Storage: 864 GB
Cost : $54,859 USD

System 3 ( My PC )
Alenka DB ( CUDPP + Thrust) - github.com/antonmks/Alenka
Processor : 2.6 GHz Intel G620
Disk : 1 x WDC 2 TB
1 x 120GB Vertex3 SSD
NVidia GTX 580 3GB gpu
Cost : $843.00

Q1 : filter and group by ops
Q3 : join, group by and sort ops


Results of Q1 and Q3 :

System 1 - 35.2 and 7.2
System 2 - 42.3 and 4.3
System 3 - 9.5 and 5.3

Please notice that results for System1 and System2 are published on TPC-H web site in a top 10 results in a 100GB category.

So the conclusion is that combination of GTX580 GPU and CUDPP and Thrust libraries is capable of outperforming expensive servers and powerful databases.
Thanks for reading !

Anton
antonmks@gmail.com

#1
Posted 11/16/2012 11:26 AM   
Nice work Anton. What's stopping you from running all of TPC-H?
Nice work Anton. What's stopping you from running all of TPC-H?

#2
Posted 11/16/2012 10:56 PM   
Thank you Gregory. Running all TPC-H would require quite a bit of work, including implementing antijoins and operators like 'exists' as well as support for add/update/delete operations. Doing all of this would probably make sense if someone would actually use the program, but right now it is more of a research project, just to see if it is possible to outperform commercial databases.
Thank you Gregory.
Running all TPC-H would require quite a bit of work, including implementing antijoins and operators like 'exists' as well as support for add/update/delete operations.
Doing all of this would probably make sense if someone would actually use the program, but right now it is more of a research project, just to see if it is possible to outperform commercial databases.

#3
Posted 11/17/2012 05:49 AM   
Cool stuff :) Anton - what does the numbers in the results stand for? ms?
Cool stuff :)
Anton - what does the numbers in the results stand for? ms?

#4
Posted 11/17/2012 07:30 AM   
Unfortunately those numbers are seconds :-)
Unfortunately those numbers are seconds :-)

#5
Posted 11/17/2012 07:44 AM   
Scroll To Top