• このエントリーをはてなブックマークに追加

今なら、継続入会で月額会員費が1ヶ月分無料!

フルパワーで加速するGPUの咆哮を聞け!最先端GPUでPostgreSQLを20倍高速化!?
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

フルパワーで加速するGPUの咆哮を聞け!最先端GPUでPostgreSQLを20倍高速化!?

2014-06-16 09:25
  • 2
  • 1
253ea56d829697b60893d5f1a45fcd9c541a271b

 GPUってあるだろ?

 グラフィックス・プロセッシング・ユニット。

 コンピュータの中で最も高速な部品はなんといってもGPUだ。
 
 たとえばnViditaの最新SoCであるTegra K1。
 CPU部は単精度で73.6ギガFLOPS(フロップス)、だがGPU部は364.8ギガFLOPSだ。

 これが30万円する最新のGPUボード、GeForce GTX TITAN Zになると、なんとびっくり、8テラFLOPSだ。

 これはIntelの最高級IA-64チップ、Xeon ES-2687Wの198.4ギガFLOPSを大きく上回る。
 Core i7は92ギガFLOPSに過ぎない。

 ちなみにかつて数億円したスーパーコンピュータ、Cray-2はわずか1.9ギガFLOPSに過ぎず、今のコンピュータがどれだけ速いか窺い知れる。JAMSTECの地球シミュレータは131テラFLOPSだが、追いつかれるのは時間の問題だろう。地球シミュレータは、109ギガFLOPS×8コアのユニットを160台つないで今の性能を達しているのに対し、GTX TITAN Zは理論上、わずか17台のPCで地球シミュレータと同程度の計算能力を獲得してしまう。地球シミュレータの開発費600億円に対し、TITAN Zは30万円だから、同程度の計算能力を得るのにPC部を+10万円として、680万円で地球シミュレータと同程度の計算能力を得ることになる。・・・・とはいえこれはFLOPS値のみを評価するかなり大雑把な計算であって、実際の地球シミュレータでもちいられる浮動小数点数とPC向けGPUが扱う浮動小数点数は精度が違うので単純な比較はできないが。


 ただ、ほんの数年前に600億したものと似たようなものが、680万円になるほどの進化を続けている、ということは事実だ。nVidiaが本気を出してスパコンを作ろうと思えば簡単だろう。実際、2012年にオークリッジ研究所のTitanはnVidiaのTesla K20X GPUアクセラレータを採用し、世界最速のスパコンとなった。ここで培われたノウハウが、GeFroceやTegra K1にも活かされているわけだ。あたかもポルシェやフェラーリ、HONDAやBMWがF1で培った技術を市販車に応用するかの如くだ。


 そうした秘密の全てはGPUコアにある。
 Tegra K1のGPUコアは192コア。対してCPUコアは2コアしかない。
 GeForece GTX TITAN Zは5760コアを持つ。まさに化物だ。




 これだけ高く突出した計算能力が一体何に使われているかと言えば、ただひたすら、リアルなグラフィックスを表示するために使われているというわけだ。要するにゲームのためだ。ゲームこそ最も負荷の高いパーソナルコンピューティングのジャンルだからだ。

 しかしたいていのアプリケーションは、有り余るGPUパワーを持て余す。そこでGPUの計算能力をグラフィックス以外の用途にも使おうという時代がやって来た。ゲーム内のパーティクルや物理シミュレーションがGPU上で行われるのはもはや常識だ。


 しかしどちらも、ゲームのために使われるということでは大きな違いがない。nVidiaの社長によるTITAN Zのプレゼンを見てもそうだ。


 一秒間に8兆回の浮動小数点数計算能力を有した最先端のチップの使用目的がゲームだけというのはいかにも勿体ない。


 そう考えるのはごく自然なことで、GPUのトップメーカーであるnVidiaはCUDA(クーダ)というアイデアを導入してきた。

 CUDAは、この獰猛な野獣のような計算機械であるGPUを手なずけ、プログラマの思うがままに操るための鞭のようなものだ。

 プログラマはCUDAを利用して、生まれながらにグラフィックスを処理することしか知らないGPUを、新しい計算世界へと開眼させる。


 ところがこのCUDAの利用目的が、いまいちピンとこない。

 CUDAを使っていかにCPUのふりをしようとも、GPUはCPUではない。
 GPUに積まれるコアは、あくまでもグラフィックスに最適化された計算能力であって、CPUと同じように扱えるわけではない。


 従ってCPUが処理するような普段のプログラム・・・たとえばWebブラウザだとか表計算ソフトだとかメーラーだとかがCUDAによって高速化する・・・などということもない。


 最先端のゲームを走らせないPCに搭載されたGPUは、檻の中で眠れる獅子だ。
 いつか出番を待っている。自らに与えられた計算能力を最大限に発揮し、無数の電子が亜光速で回路を駆け巡るその日を待ち、じっと息を潜めているのである。


 そのGPUに、一条の光を当てる存在が現れた。


 データベース管理システム・・・通称DBMS。
 今やWebサイトの運営には欠かせないシステムであり、同時に最も大きいボトルネックとなるシステム。それがデータベースだ。


 もしそのデータベースにGPUの能力を活用できたら・・・?


 そのアイデアそのものは新しいものではない。
 だが、思いつくのと実際にやるのとでは天と地の差がある。


 それを実際にやってしまうプログラマーが現れた。


ca997e34d5f28bafe97d2a0617f61282aeef10c7


 MySQLと人気を二分するオープンソースのデータベース管理システム、PostgreSQL(ポストグレス)をGPUによって高速化する、PG-Strom(ピージー・ストロム)だ。しかも日本人の手によって開発されている。


 まさに地獄のチューナー。彼らの作るそのGPUコードは、まるで狂おしく、身をよじるように走るという・・・!!!


 公式サイトによると、とあるクエリーの処理が、CPUのみでは7秒かかっていた処理を、PG-StromでGPUを活用するとわずか0.17秒で処理できた、という記述がある。


 これは一体どういうことなのか?
 もし本当にこのPG-Stromを使うだけで全てのDBMSの処理が高速化するのであれば、GPUを使わないなんて勿体ない。なぜならたいていのサーバーマシンにも、PCと共通したCPU+GPUチップが搭載されているからだ。つまり全世界のコンピュータシステムの中には、GPUという黒い宝石が眠っているのである。

 しかしもちろん、向き不向きがあるだろうし、どんなクエリーが向いていて、どんなデータは向いていないのか、それぞれ特徴があるだろう。


 ということで、今夜8時からの電脳空間カウボーイズZZの生放送では、PG-Stromの開発者二名をお招きして開発の経緯から有効な活用法、今後の展望までをお伝えする。

【ニコ生(2014/06/16 20:00開始)】夏のGPU緊急特番!電脳空間カウボーイズZZ ゲストはPG-Strom開発者、海外浩平氏、T Kashiwagi氏!

 お見逃しなく!

 


チャンネル会員ならもっと楽しめる!
  • 会員限定の新着記事が読み放題!※1
  • 動画や生放送などの追加コンテンツが見放題!※2
    • ※1、入会月以降の記事が対象になります。
    • ※2、チャンネルによって、見放題になるコンテンツは異なります。
ブログイメージ
電脳ヒッチハイクガイド
更新頻度: 毎週月曜日
最終更新日:
チャンネル月額: ¥1,080 (税込)

チャンネルに入会して購読

×
GPUが何なのか知らない俺が注目するのは「GPUがコンピューターで最も重要」、「その実態を明瞭に説明した画像」

特筆的な性能を発揮するGPUの凄さが全然伝わらない画像に消沈
24ヶ月前
×
>>1
最も重要とは言ってないでしょ「もっとも高速」って言ってるだけで
で、GPUの凄さが伝わる映像ってのは、そもそもオフライン(ムービー)で動くべきものがリアルタイムで動くというだけなので画像で伝わる分けないよね。ちなみに冒頭の絵は、それこそ超凄いCG理論を次々産み出した旧東大西田研究室(http://nishitalab.org)のCGなのでそれ見てすごさが解らない人はたぶん何見てもわからないと思います。あしからず
24ヶ月前
コメントを書く
コメントをするには、
ログインして下さい。