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