著者:株式会社日立製作所 藤本様 (日立様の承諾を得て公開しております)
© Hitachi, Ltd. 2018. All rights reserved.株式会社 日立製作所 研究開発グループデジタルテクノロジーイノベーションセンタ藤本 和久2018/2/17FPGAによる大規模データ処理の高速化
View Slide
© Hitachi, Ltd. 2018. All rights reserved.本日の内容1. ⼤規模データ処理の動向と課題2. FPGAによるHadoopのデータ処理エンジンの⾼速化3. FPGAによるアニーリングマシンの実現
© Hitachi, Ltd. 2018. All rights reserved.1. ⼤規模データ処理の動向と課題
© Hitachi, Ltd. 2018. All rights reserved.1-1 大規模データ処理のアプリ群BigData解析やAI/MLは、OSSを組合わせて分散並列処理システムで実⾏データソースWebデータ売上情報など構造化データ(業務RDB)センサデータシステムログ音声画像非構造データデータ収集 ビックデータ蓄積 データ分析Apache Manifold CFApache NutchクローラApache SqoopTalendデータロードApache KafkaApache FlumeFluentd収集Apache SparkStreamingApache StormEsperDrools FusionJubatusCEPApache Hadoop HDFSCephGlusterFSLustreElasticSearchデータ蓄積ファイルシステムApache HadoopMapReduce/YARNApache MesosApache SparkApache Tez並列分散処理TensorFlowCaffeMLib,など機械学習MIT KerberosOpenLDAPセキュリティ/認証インメモリDG/分散KVSApache CassandraApache HbaseInfinispanMongoDBRedisRiak定型業務RDBDWH/マートレスDBMySQLPostgreSQL※商用DB(著名なOSSはない)分析用データ解析ツールPython, R言語統計解析PentahoJasperReportBI/BAツールApache DrillApache HiveApache Spark SQLApache Impala準リアルタイムクエリApache Sqoopデータロード高速化キャッシュ/スケールアウトインメモリDBVoltDB* OSS: Open Source Software
© Hitachi, Ltd. 2018. All rights reserved.1-2 大規模データ処理の課題分析データ量の増大分析の高速化サーバ導入コスト電気代管理コスト分析スピード分析データ量サーバを増やしたい現状のシステム規模TCO limitTCOを減らしたい* TCO: Total Cost of Ownership (ITシステムの導入、維持・管理などにかかる総費用)ユーザニーズ
© Hitachi, Ltd. 2018. All rights reserved.2. FPGAによるHadoopのデータ処理エンジン⾼速化
© Hitachi, Ltd. 2018. All rights reserved.2-1 データ分析のニーズビッグデータを分析し,意思決定に活用するニーズの高まり① データ規模・種別:大規模化,多様化(構造,半構造,非構造)• Data lakeに格納し,マートレスで分析 ⇒ Hadoop系分散データ処理基盤② データ分析の形態:レポーティング(バッチ処理)から、インタラクティブへ• ニアリアルタイムのデータ分析が必要 ⇒ 低レイテンシ,⾼速なデータ処理③ データ処理基盤:データベースアクセス(クエリ)の標準I/F活用• RDBMSと同じI/F ⇒ SQLが⾼利便性
© Hitachi, Ltd. 2018. All rights reserved. 72-2 分散DBエンジン(SQL on Hadoop)の普及標準SQL I/Fでアクセスし、インタラクティブな分析を提供する分散DBエンジン(SQL on Hadoop)が普及出展: DB-Engines Ranking http://db-engines.com/en/ranking_trend図 DB-Engines Ranking(主要SQL on Hadoopを抜粋)Spark SQLDrillHiveImpalaDBランキング スコアJan2013 Jan2014 Jan2015 Jan2016 Jan2017SQL onSQL onSQL onSQL on HadoopHadoopHadoopHadoopJan2018HDFSSparkYARNHiveSparkSQLMapMapReduceDrill(MapR)データ処理層リソース管理層データストア層MapRFSMapRFSクエリ処理層 ImpalaSQL onSQL onSQL onSQL on HadoopHadoopHadoopHadoop
© Hitachi, Ltd. 2018. All rights reserved.2-3 データ分析システムのボトルネック8ストレージ: 磁気ディスク(HDD)に代わり、フラッシュストレージが普及データベース: テーブルフォーマットが、ローストアからカラムストアに変化⇒ データ分析のボトルネックが、ストレージ(I/O)からCPUに移動CPUネックのため、インメモリDBにおいてもボトルネックは解消不可*1 カラムストアDBは列単位のデータ操作に最適化した実装.補足1参照サーバストレージ性能向上x10 – x100HDDローストア DB(分析用DB)データ読み出し量1/30ボトルネックCPUメモリ従来 現在~将来サーバストレージカラムストアDB*1(分析用DB)データ圧縮率の向上: 1/3必要カラムだけの読み出し:1/10ストレージのトータルの性能向上x300 - x3,000CPUメモリボトルネックFlashSSDSSDSSDSSD
© Hitachi, Ltd. 2018. All rights reserved.2-4 FPGAによるデータ分析処理の高速化9FPGAはSQL on Hadoop配下で動作し、ユーザからは⾒えないScan/Filter, Group by, Aggregationを、並列・パイプライン処理して高速化データ量を1/100〜1/10,000に削減して、ソフトウェア処理に渡す⇒ リソース(CPU、ネットワーク)利⽤率の緩和データレイクHadoop分散ストレージSQL on Hadoop(分散DBエンジン)・・・分析ツールクエリ(SQL)データ量を1/100 から 1/10,000 に削減DBテーブルFPGASSD FPGASSDPCIeSSDDBテーブルキーテクノロジー: 並列処理、パイプライン処理FPGA(DBFPGA(DBFPGA(DBFPGA(DBアクセラレータアクセラレータアクセラレータアクセラレータ))))DataDataDataDataFilterFilterFilterFilterScan/Scan/Scan/Scan/FilterFilterFilterFilterAgregationAgregationAgregationAgregation
© Hitachi, Ltd. 2018. All rights reserved.2-5 FPGAアクセラレータ効果例: デモ10ニューヨーク市のタクシー運⾏データの分析 (データ:256GB 15億⾏のテーブル)アクセラレータの有無による分析時間の比較 (分散DBエンジン: Apache Drill)分析時間短縮: 数分 ⇒ 数秒* FHV: For Hire Vehicle(Lyft, etc)
© Hitachi, Ltd. 2018. All rights reserved.2-6 SQL on Hadoop-アクセラレータ連携における課題11① OSS毎のアクセラレータ連携機能の作り込み工数大② 様々なデータタイプをサポートするOSS-DB標準フォーマットへの対応データレイクQuery(SQL)Impala SparkSQL Drill要開発部分FPGA連携FPGA連携FPGA連携FPGA連携・・・① 毎のアクセラレータの作り込み工数大① OSS毎のアクセラレータ連携機能の作り込み工数大分析ツールHadoop分散ストレージDBテーブル(Apache Parquet)② 様々なデータタイプをサポートするOSS の標準フォーマットへの対応② 様々なデータタイプをサポートするOSS-DBの標準フォーマットへの対応*1 Apache Parquet: 標準カラムDBテーブルフォーマット.補足3参照FPGASSD FPGASSD FPGASSD
© Hitachi, Ltd. 2018. All rights reserved.2-7 課題を解決するコア技術12① 連携機能モジュールをプラグイン化② 様々なデータ形式をFPGA回路で直接処理Beforeクエリ分散DBエンジンCPUデータSSD・・・・・・数100サーバ必要Hadoop分散データ処理基盤分析ツールAfter分散DBエンジン① プラグインクエリデータ② 多様なデータ形式同等性能を数サーバで実現Hadoop分散データ処理基盤分析ツールSSDI/F2017/11/14ニュースリリース 「OSSベースでのビッグデータ分析を最大100倍に高速化する技術を開発」http://www.hitachi.co.jp/rd/news/2017/1114.htmlFPGAデータ
© Hitachi, Ltd. 2018. All rights reserved.Drillのソフトウェアスタック2-8 OSS連携プラグイン13連携機能モジュールのインタフェースをOSSのAPIに合せるCPUに最適化された処理⼿順をFPGA内での並列処理⼿順に変換After分散DBエンジン処理命令データ同等性能を数サーバで実現Hadoopデータ処理基盤分析ツールI/FSQL ParserQuery OptimizerExecution EngineApache CalciteSQL Queryクエリプラン最適化ルールAPIプラグインデータ処理⼿順変換FPGA Driver① プラグイン② 多様なデータ形式SSD処理手順データ処理手順FPGA
© Hitachi, Ltd. 2018. All rights reserved.2-9 OSS-DB標準フォーマット(Parquet)への対応14多種データ形式対応デコーダでデータをデコードデコードされた可変⻑データを、効率的にパッキングして並列処理する回路After分散DBエンジンプラグインデータ処理手順変換処理命令データ同等性能を数サーバで実現Hadoopデータ処理基盤分析ツールI/FSSD② 多様なデータ形式データ処理手順FPGAFPGA回路上の処理集約回路検索回路出⼒回路Optimized Parallelismデータ⼊⼒回路解析回路様々なタイプ、サイズのデータIntegerString DateString Time・・・
© Hitachi, Ltd. 2018. All rights reserved. 15① プラグインが、Scan(/Filter),Groupby,AggregationをFPGAにオフロード② データをSSDから直接読み出すことにより、CPUでのScanオーバーヘッドを解消③ FPGA内で、上記処理を並列&パイプライン実⾏、結果をDBエンジンに返す2222----10101010 アーキテクチャアーキテクチャアーキテクチャアーキテクチャSlave NodeSlave NodeNodeSQL-on-Hadoop(分散DBエンジン)メインメモリ分析ツールHDFS on SSDデータ(インメモリフォーマット)データ処理結果データリクエストデータリクエストデータ3-FilterAggre-Aggre-gationFPGAプラグインFPGA DriverFPGA Driverクエリ(SQL)1I/F2Scan(/Filter),Groupby,Aggregationクエリ処理⼿順
© Hitachi, Ltd. 2018. All rights reserved. 16分析ツール: Pentaho Business Analytics分散DBエンジン: Apache DrillFPGAカード: Nallatech P385A, SSD:Intel P3700 800GB2-11 プロトタイプのシステム構成HDFS分析要求Cent OS 7.3・Cent OS 7.3・CDH 5.11.0- HDFS Name Node- Hive・Pentaho Business Analytics- Simba Drill JDBC driver・・・・FPGA middleware/driver・Cent OS 7.3・CDH 5.11.0- HDFS Data Node- ZooKeeper・Apache Drill 1.10- FPGA Plugin for Drill・・・・FPGA middleware/driverFPGA FPGA FPGASSD SSD SSD
© Hitachi, Ltd. 2018. All rights reserved.2-12 ベンチマーク17プロトタイプシステムにて、TPC-Hベンチマークによる性能を比較FPGAはQ1クエリで最大78倍、Q6クエリで最大19倍。⇒Aggregationの多いQ1クエリのほうが、FPGA並列処理の効果が出る020406080100120140Q01Drill SparkSQL Impala FPGA accel.020406080100120Q06Drill SparkSQL Impala FPGA accel.評価条件:ワーカノードサーバのスペックCPU: Xeon E5-2640 v4 2sockets([email protected])Memory: 128GBNIC: 10GBASE-TCDH 5.11.0 (Hadoop Hadoop 2.6.0, Impala 2.8.0, +Spark 2.1.0)、Drill 1.10データセットは、SF100(およそ100GB/600M⾏)のlineitem表。(ただし、impalaはDATE型非サポートのため一部カラムをTIMESTAMP型に変更)クエリを数回実⾏してウォームアップした後に、3回計測した平均値を記載FPGA FPGAImpalaSparkSQLDrillDrill SparkSQL ImpalaM lines/sec・node M lines/sec・node
© Hitachi, Ltd. 2018. All rights reserved.2-13 ユーザメリット: コスト,電力削減効果の一例18同等性能を実現するクラスター規模で、コストと消費電⼒を⽐較FPGAアクセラレータ適用により性能が向上し,必要ノード数が削減トータルのシステムコストと消費電⼒削減が期待できる前提条件:• 対象データサイズ毎に、TPC-H/Q1を10秒間で処理するのに必要なクラスター規模で⽐較• 20core CPU/サーバ、サーバ当たり1FPGAボード、1NVMe-SSD搭載0.00.20.40.60.81.01.21.41.61.80.0TB 64.0TB 128.0TB 192.0TB 256.0TBシステムコスト($M)分析データサイズあたりシステムコスト分析データサイズ (TB)TPC-H Q1 実⾏時間:10秒05101520253035400.0TB 64.0TB 128.0TB 192.0TB 256.0TB消費電⼒(KW)分析データサイズあたり消費電⼒分析データサイズ (TB)TPC-H Q1 実⾏時間:10秒
© Hitachi, Ltd. 2018. All rights reserved.3. FPGAによるアニーリングマシンの実現
© Hitachi, Ltd. 2018. All rights reserved.3-1 最適化の必要性交通渋滞の解消 物流コスト最小化 エネルギー安定供給分野 交通システム サプライチェーン 電力送電網課題最適化対象入力パラメータ制御パラメータ最適化問題計算量交通量、移動コスト交通状況各車の目的地信号、各車最大フロー・最短経路2n回: nは制御対象のパラメータ数総移動コスト拠点間の移動コスト移動経路巡回セールスマン蓄電量、等発電・消費電力量経路容量発電量、流路最大フロー膨大なパラメータ数に対するシステム最適化が必要「組合せ最適化問題」は計算量が膨⼤となる
© Hitachi, Ltd. 2018. All rights reserved.3-2 計算手法の革新による組合せ最適化の加速問題規模計算時間・消費電⼒指数関数的爆発!従来型コンピュータノイマン型本提案:アニーリングマシンによる改善1,000,000パラメータアニーリングマシン非ノイマン型計算手法の革新による劇的な改善最適化問題の計算コストは指数関数的に増大複雑で大規模化する社会システムに従来手法を適用するのは困難
© Hitachi, Ltd. 2018. All rights reserved.3-3 アニーリングマシンの原理組合せ最適化問題をイジングモデルへマッピングイジングモデルでエネルギー最低の状態を探索し、もとの最適化問題にもどして最適化問題の解を探索イジングモデル: 個々のスピンの向き(上または下)が、スピン間の相互作用により安定状態(=エネルギーが低い状態)に遷移するのを計算するモデルσ13つの要素で構成①スピン①スピン①スピン①スピン (σi) ②②②②相互作用係数相互作用係数相互作用係数相互作用係数 (Jij)③バイアス係数③バイアス係数③バイアス係数③バイアス係数 (hi)σ2 σ3σ4 σ5σ6σ7σ8σ9エネルギー最適状態J12J14J47h2h3h7h4: 上: 下最適化問題の解法に利⽤スピンの状態jjjjijiijhJH σσσ ∑∑ −−=,
© Hitachi, Ltd. 2018. All rights reserved.3-4 さまざまな実装のアニーリングマシン富士通 D-Wave NTT(ImPACT) ⽇⽴方式シミュレーティドアニーリング(改)量⼦アニーリング光パラメトロンCMOSアニーリング実装 FPGA超伝導量⼦ビットレーザー発振器半導体CMOSFPGA消費電⼒ ?×15kW(冷却)〇 ◎集積度 2017年 1k 2k 2k20k(大規模化可能)サイズ サーバサイズ冷凍機(部屋の規模)サーバサイズ チップ動作温度 〇室温×低温(-273℃)〇室温 〇室温解精度 ? ○ ? △SQA優位性・特徴 ・製品化済・クラウド化済・クラウド化済・温度変化に弱い・低価格・エッジ・クラウド対応半導体/FPGAによる実装でエッジ・クラウドに搭載可能な低電⼒・スケーラビリティ・小型化・室温動作・低コスト化を実現
© Hitachi, Ltd. 2018. All rights reserved.3-5 FPGA版アニーリングマシンを用いたデモ2. ドローン通信順序最適化1. 無線基地局の周波数割り当て 3. 通信網の堅牢性確保4. 画像修復 6. 画像ノイズ除去8. コミュニティのコア検出7. 施設配置 9. 機械学習(ブースティング)5. 爆発物探知の高速化検出検出検出検出さまざまなアプリ適用に向けたデモを実施
© Hitachi, Ltd. 2018. All rights reserved.3-6 第3世代 FPGA版アニーリングマシンの性能量⼦アニーリングマシンと同等の性能スケーラビリティでさらに大規模の問題がターゲット従来手法(Simulated annealing)では計算時間がかかりすぎて解けない問題規模を狙う50問題規模 (スピン数)5,000計算時間 (s)5001µ1m D-Wave (量⼦アニーリングマシン)(2017)Simulated annealing(ソフト)解精度 100%11k1M1G50,000 500,000解精度 99.5%解精度 100%⽇⽴(CMOSアニーリングマシン)解精度 100%
© Hitachi, Ltd. 2018. All rights reserved.3-7 アニーリングマシンの強化学習への適用ニューラルネットワーク+DQN ボルツマンマシン(アニーリングマシン)+FERLDQN FERL訓練数 30,000 300時間 / 訓練 1 100Back propagation(DQN)平衡状態の期待値計算(FERL)⇒ 複数回サンプリングニューラルネットワーク:・ 学習に用いられるネットワーク・ 入力層から出力層にむけて信号が伝播・ 訓練回数を2桁削減できる可能性あり入力層出力層入力層出力層ボルツマンマシン:・ 接続されたノードが相互作用をするネットワーク(イジングモデルと同型)・ 信号は双方向に伝わるFERL: Free Energy Reinforcement Learningアニーリングマシンをボルツマンマシンとして利⽤してニューラルネットワークを置換、強化学習の訓練回数を約2桁削減(1QBit社)第3世代FPGA版プロトタイプ(32x4層)で同等の効果を確認A. Levit et al., “Free-Energy-based Reinforcement Learning Using a Quantum Processor,” Theory of QuantumComputation, Communication and Cryptography TCQ 2017.DQN: deep Q-network
© Hitachi, Ltd. 2018. All rights reserved.Disclaimer27• The contents of this presentation are based onearly research results.• This presentation does not reflect any product planor business plan.• All information is provided as is, with no warrantiesor guarantees.
© Hitachi, Ltd. 2018. All rights reserved.END28MicrosoftおよびSQL Serverは、米国Microsoft Corporationの米国及びその他の国における登録商標または商標です。Oracle、NySQLは、Oracle Corporation及びその子会社、関連会社の米国及びその他の国における登録商標です。DB2は、米国International Business Machines Corp.の米国及びその他の国における登録商標です。PostgreSQLは、PostgreSQLの米国およびその他の国における商標です。SASは、米国およびその他の国における米国SAS Institute Inc.の登録商標または商標です。Qlikは、QlikTech International ABの商標または登録商標です。Tableauは、Tableau Software Inc.の商標または登録商標です。、Apache、Hadoop、Hadoop MapReduce、Hadoop HDSFは、Apache Software Foundationの米国及びその他の国における登録商標または商標です。、HIVE、Spark、 Impala、Drill、Parquetは、Apache Software Foundationの米国及びその他の国における登録商標または商標です。