210 likes | 462 Views
カラム指向型データベース向けハードウェアキャッシュ機構の検討. 濱田 耀彦 (1) 松谷 宏紀 (1)(2)(3) ( 1 ) 慶應義塾大学 (2) JST さきがけ (3) 国立 情報学 研究所. ICT における トレンド : ビッグデータとグリーン化. IT 機器の省電力化をこれまで以上に推し進めなければ、電力がビッグデータ利活用の 大きな足かせ に なる 制限 : IT 機器の省電力化はすでにやり尽くされている データセンターでは、コモディティ機(コスト効率重視)が多用 そもそも回路の 電源電圧はもう下げられない.
E N D
カラム指向型データベース向けハードウェアキャッシュ機構の検討カラム指向型データベース向けハードウェアキャッシュ機構の検討 濱田 耀彦(1)松谷 宏紀(1)(2)(3) (1)慶應義塾大学 (2)JST さきがけ (3)国立情報学研究所
ICT におけるトレンド: ビッグデータとグリーン化 • IT 機器の省電力化をこれまで以上に推し進めなければ、電力がビッグデータ利活用の大きな足かせになる • 制限: IT 機器の省電力化はすでにやり尽くされている • データセンターでは、コモディティ機(コスト効率重視)が多用 • そもそも回路の電源電圧はもう下げられない Green datacenters Big data: the next oil 地球温暖化防止の観点、経済面(データセンター運用コスト)から消費電力の削減は必須 データの蓄積・利活用によってさまざまなイノベーションが期待 9000 [EB] Sensor Amortized CAPEX OPEX Information explosion 6000 Social media 3000 Power use Power cooling Voice Servers Enterprise 2005 2010 2015 IT 機器の増強へ作用(電力増) IT 機器の省電力化への要求
ICT におけるトレンド: ビッグデータとグリーン化 • IT 機器の省電力化をこれまで以上に推し進めなければ、電力がビッグデータ利活用の大きな足かせになる • 制限: IT 機器の省電力化はすでにやり尽くされている • データセンターでは、コモディティ機(コスト効率重視)が多用 • そもそも回路の電源電圧はもう下げられない Green datacenters Big data: the next oil 地球温暖化防止の観点、経済面(データセンター運用コスト)から消費電力の削減は必須 データの蓄積・利活用によってさまざまなイノベーションが期待 9000 [EB] Sensor Amortized CAPEX OPEX Information explosion 本研究では、ビッグデータ利活用の要であるデータベース(構造型ストレージ)をハードウェア化することによって、スループット性能を維持しつつ、多数のサーバを専用ハードウェアに置き換え、コストと電力効率の向上を狙う 6000 Social media 3000 Power use Power cooling Voice Servers Enterprise 2005 2010 2015 IT 機器の増強へ作用(電力増) IT 機器の省電力化への要求
構造型ストレージ: データ構造の点から分類 構造型ストレージは、水平スケーラビリティに優れるが得手不得手がある(特定用途特化型) … Row Key Column Family 1 Column Family 2 Hiro MongoDB { _id : ObjectId(0), name : Risa, tel : 1234 } { _id : ObjectID(1), name : Shinpei, mail : kato@x.jp} Risa ドキュメント 指向型 Aya HBase, BigTable Schema-less DB カラム指向型 Neo4j Memcached Shinpei Jiro グラフ型 キーバリュー ストア型 Key Value Ken Yuko Shopping cart,User profile, Session, etc Customer social graph Taro
構造型ストレージ: データ構造の点から分類 構造型ストレージは、水平スケーラビリティに優れるが得手不得手がある(特定用途特化型) … Row Key Column Family 1 Column Family 2 Hiro MongoDB { _id : ObjectId(0), name : Risa, tel : 1234 } { _id : ObjectID(1), name : Shinpei, mail : kato@x.jp} Risa ドキュメント 指向型 本研究では、 構造型ストレージのうち、 キーバリューストア型と カラム指向型を ハードウェアで高速化する Aya HBase, BigTable Schema-less DB カラム指向型 Neo4j Memcached Shinpei Jiro グラフ型 キーバリュー ストア型 Key Value Ken Yuko Shopping cart,User profile, Session, etc Customer social graph Taro
本発表の概要: カラム指向型 DB アクセラレータ • RDBMSに比べると処理はシンプル(例: KVS) • I/O ネックなので、通信と計算の「密結合」が有利 10GbE 10GbE FPGA 10GbE 10GbE Graph processing using Hardware-based table management Many cores or GPUs Binary JSON Parallel algorithm
目標: FPGA+40GbEを用いたカラム指向DBキャッシュ • 各種NOSQLのCRUD操作をFPGA上にハード化 • 40GbEネットワークとDB HWを直結(I/Oネック) NOSQLサーバ NOSQLサーバのキャッシュ層 10GbE 10GbE FPGA 10GbE Request & Reply 10GbE Scan table startRowstopRow Graph processing using Hardware-based table management Many cores or GPUs Binary JSON Parallel algorithm
目標: FPGA+40GbEを用いたカラム指向DBキャッシュ • 各種NOSQLのCRUD操作をFPGA上にハード化 • 40GbEネットワークとDB HWを直結(I/Oネック) HBaseサーバ群 カメラ画像の リアルタイム解析 Put table 0101+age 28 Put table 0101+gender M … 通行人年齢 性別、時間 通行人年齢 性別、時間 沖電気RESCAT 通行人年齢 性別、時間
目標: FPGA+40GbEを用いたカラム指向DBキャッシュ • 各種NOSQLのCRUD操作をFPGA上にハード化 • 40GbEネットワークとDB HWを直結(I/Oネック) HBaseサーバ群 HBaseキャッシュ Scan table startRowstopRow Cached Results Graph processing using Hardware-based table management Many cores or GPUs Binary JSON Parallel algorithm
カラム指向型 DB の構造: Flat-Wide 型 松谷 住所 Email 所属役職 濱田 住所 Email 所属役職 田村 住所 Email 所属役職
カラム指向 DB: Flat-Wide 型 vs. Tall-Narrow 型 Flat-Wide 型とTall-Narrow 型は相互に変形可能 松谷 住所 Email 所属役職 濱田 住所 Email 所属役職 Flat-Wide 型 Tall-Narrow 型
カラム指向 DB: Flat-Wide 型 vs. Tall-Narrow 型 Flat-Wide 型とTall-Narrow 型は相互に変形可能 松谷 住所 Email 所属役職 本研究では、カラム指向型データベースの Flat-Wide 型と Tall-Narrow 型の両方に対応するが、 内部的にはハードウェア処理に向く Tall-Narrow 型に変形して処理する 濱田 住所 Email 所属役職 Flat-Wide 型 Tall-Narrow 型
カラム指向型 DB キャッシュ: 動作概要 HBase Cache (HBC) HBase Cache(HBC)では参照頻度の 高いデータをホストメモリにキャッシュ HBaseサーバ群 本物(HBaseサーバ)は全 Row を保持
カラム指向型 DB キャッシュ: 動作概要 Cached HBase Cache(HBC)は一部の Row のみ、ホストメモリにキャッシュ Cached Cached 本物(HBaseサーバ)は全 Row を保持
カラム指向型 DB キャッシュ: アプリの例 • 短文投稿サービスの例 • 各 Row ID • 「User ID」+「投稿日時」 • ID、投稿日時でソート済み • 各 Row データ • 短文(256Byte) • よく参照されるのは、 • あるユーザの最新○○件 • キャッシュポリシー • 人気ユーザの投稿をキャッシュ • そのユーザの最新64Row分
カラム指向型 DB キャッシュ: キャッシュ構造 • キャッシュポリシー • 人気ユーザの投稿をキャッシュ(ダイレクトマップ方式) • その投稿者の最新64 Row 分(=1ブロック) FIFO buffer (64 entry) User #104 User #108 User #101 User #102
HBaseの処理時間(scan 要求) • 行サイズ 256Byte • スキャン範囲(Row 数)は 1 ~ 1,000,000 Rows 382 sec マシン環境: Intel Xeon E5-1620 @3.7GHz, 128G RAM 40 sec 8 sec 2 sec
HBC の処理時間(scan 要求) • 行サイズ 256Byte • スキャン範囲(Row 数)は 1 ~ 1,000,000 Rows 2720 msec キャッシュに 100% ヒットすると仮定 272 msec ※見積根拠は 次スライドで説明 27 msec 3 msec
HBC の処理時間(scan 要求)見積根拠 • 実装環境 • NetFPGA 10G(Virtex-5 TX240T) • Xilinx ISE 13.4 • DMA 転送回路 • ホストメモリ NetFPGA10G • スループット: 105MByte / sec • 転送遅延: 約 2 cycle / Byte • HBC タグ比較回路 • キャッシュヒットor ミス判定 • 動作周波数 221MHz • HBC バス幅 • 64-bit(= Row当たり 32-cycle) HBase Cache (HBC) 10GbE x4 Virtex-5
キャッシュヒット率を考慮した性能見積もり • ヒット率 0%、25%、50%、75%、90%、100% • ミス時はソフトウェア処理(通信時間は含まない) 0% 25% 50% 75% 90% 100%
まとめ: カラム指向型 DB アクセラレータ • カラム指向型データベース • I/O ネックなので、通信と計算の「密結合」が有利 • 40GbE 搭載 FPGA ボードを用いた HW キャッシュ • ブロック単位で特定範囲をキャッシュ • 短文投稿サイトの例: 人気ユーザの最新64件を保持 • 今回は性能見積のみ 現在、設計実装中 HBase Cache(HBC) HBase サーバ 10GbE x4 Virtex-5