GPU-based SQL 資料庫 - 顯卡

Una avatar
By Una
at 2016-08-04T16:16

Table of Contents

想請教有沒有人有使用GPU加速SQL速度的經驗

雖然我還沒實作,但以下是我的猜測
(Centos 7, C++, CUDA in C++, MariaDB, CPU八核心)

﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍

程式的執行是由int main開始

接著併發一千個cuda thread, parse 「mysqlcppconn」 lib給每個thread

(mysqlcppconn 是一個mysql寫給C++ lib, mariadb也可用)

每個thread單獨連接mariadb,mariadb不設thread pool,也就是one thread per connection

cuda thread 執行完query, 返回結果給int main

﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍


根據我的猜測,以下這幾點是不是正確的呢?

1. mariadb的query 執行一樣是CPU,不管是直接c++呼叫,還是從一千個cuda thread

2. 根據1, 只是一千個query在CPU一直task switch

另外,上網查GPU-based的SQL, 好像SQLite目前有支援GPU執行

https://www.cs.virginia.edu/~skadron/Papers/bakkum_sqlite_gpgpu10.pdf

http://wscg.zcu.cz/wscg2014/Short%5CK17-full.pdf

我還沒時間仔細看,但直接看結論,似乎SQLite可以真正作到

把「SQLite」包在每個cuda thread,真的是同時執行一千個sql query

而不是還要透過CPU一層

希望可以聽到有經驗的人的分享,謝謝

--
Tags: 顯卡

All Comments

Emily avatar
By Emily
at 2016-08-06T05:37
DB可以用udf把資料丟到cuda排序
Regina avatar
By Regina
at 2016-08-09T08:54
等你測試@@因為我覺得用in memory DB解決I/O bound或簡化
Bennie avatar
By Bennie
at 2016-08-13T02:27
改用NOSQL。資料庫bound不太容易在CPU吧
Hazel avatar
By Hazel
at 2016-08-16T16:09
小弟拙見 參考看看 就我所知,cuda thread計算能力不比
CPU 純粹是靠數量多撐起來的效能,那差別可能像國小跟大
Irma avatar
By Irma
at 2016-08-21T01:02
學生的程度,因為我並不清楚sql query真正在處理什麼
Dinah avatar
By Dinah
at 2016-08-24T23:38
但是可以預見的應該是很多條件判斷式,這對cuda thread
來說是很難的事,速度會很慢 我猜應該是這個原因所以做
Kyle avatar
By Kyle
at 2016-08-28T01:02
的人很少,基本上gpgpu做的運算都是非常簡單的運算才會
快得起來的
Anonymous avatar
By Anonymous
at 2016-08-28T02:29
我會認為如果同時有大量sql squery的需求才做這種研究
要想透過GPU加速,你可能要先試試看單個cuda thread的
Oscar avatar
By Oscar
at 2016-09-01T06:52
我印象中GPGPU能執行的任務有滿大的限制
Odelette avatar
By Odelette
at 2016-09-04T21:31
response time有多久,可以接受再繼續做會好一點
Isabella avatar
By Isabella
at 2016-09-06T02:20
GPGPU另外一個瓶頸在PCI-E的頻寬,除非資料量夠大也夠平
Oscar avatar
By Oscar
at 2016-09-06T14:25
行化,不然最簡單算上資料從記憶體複製到GPU,在用cuda
thread處理,這時間應該會是一個考量的點
Olive avatar
By Olive
at 2016-09-10T12:19
一點拙見 參考看看 如果有錯誤的地方還請指正
Eden avatar
By Eden
at 2016-09-11T08:46
我跟樓上想法差不多,補充一下,運算都簡單的話代表資料庫
Lydia avatar
By Lydia
at 2016-09-12T03:34
不複雜,那瓶頸改用NOSQL就能改善很多;複雜的話,GPGPU並
不會比CPU更適合。所以我很好奇到底哪種情境會適合SQL。
Jacob avatar
By Jacob
at 2016-09-16T05:10
全文檢索?我覺得建metadata可能幫助比較大
Kyle avatar
By Kyle
at 2016-09-18T16:42
但是你想想,上千萬筆同時被query又沒索引,bound一定是在
Adele avatar
By Adele
at 2016-09-23T03:52
Disk而不會是運算單元阿。
Rebecca avatar
By Rebecca
at 2016-09-25T12:32
我是覺得可以參考SAP HANA full text search
Hamiltion avatar
By Hamiltion
at 2016-09-26T00:57
提一點想法 你提到很簡單的query,但就是資料量很多
Ursula avatar
By Ursula
at 2016-09-30T18:39
多是多少?比GPU的記憶體還多嗎?如果是的話,會卡PCI-E
一般GPU最多好像就12GB 應該很容易超過?
Olivia avatar
By Olivia
at 2016-10-04T12:02
那假設沒超過好了,我依舊認為雖然你認為簡單的操作,
對CUDA thread來說應該是很難的事
Hedy avatar
By Hedy
at 2016-10-05T13:47
那如果以上都不考慮,先從簡單的等分資料就可以開始做吧

Nvidia Titan X Pascal GP102 評測總匯

Kristin avatar
By Kristin
at 2016-08-03T20:20
※ [本文轉錄自 PC_Shopping 看板 #1NeU5pbH ] 作者: levis139 (levis139) 看板: PC_Shopping 標題: [情報] Nvidia Titan X Pascal GP102 評測總匯 時間: Wed Aug 3 20:20:00 2016 Nvidia ...

R9-270 2K15

Elizabeth avatar
By Elizabeth
at 2016-08-03T17:54
各位前輩好 前幾天買到了R9-270,但是裝上去後跑2K15卻非常的頓。 我爬文看有些人甚至可以全開,我之前的GTX460也跑得很順。 想請問有可能是哪些原因嗎? 我有用DDU清過之後再灌驅動,版本是16.7.3 我的配備是: CPU:I5-2400 MB:Asrock H61M/U3S3 V ...

舊顯卡是否可直上

Dora avatar
By Dora
at 2016-08-03T17:18
確定顯示卡壞了,是PCIE的7600GT, 因為只是想暫時找個堪用的,下個月 才要組套新的,於是在家中找到: http://m.imgur.com/xOARRAe (青雲FX5700LEU) 可是針腳覺得和7600GT不一樣,查了 發現是AGP(4x?),可以直接插在這塊 板子嗎:http:// ...

fluid motion可以串流去遠端嗎?

Donna avatar
By Donna
at 2016-08-03T14:52
如提 想要知道能否可以在有A卡的PC上補幀後,串流給遠端的機器看呢? 在外頭用筆電看沒有60fps好痛苦... - ...

單純文書上網看影片顯卡選擇

Joe avatar
By Joe
at 2016-08-03T14:01
半年前小弟組了一台電腦 原本是想組來打電動,組了一張GTX 970 無奈年輕已經離我遠去... 找不回打電動的熱血衝動阿 所以想說趁著970還有點肉的時候把它賣掉 買一張便宜堪用的顯卡回來用就好了 希望板上的大大能給我些建議 目前是有看到GT210/610/710 但不是很清楚差別(大概都很便宜 ...