ビッグデータ時代のFPGAの使い方 How to use FPGA in the age of Bigdata NEC システムプラットフォーム研究所長 中村 祐一 講師自己紹介 ▌名前: 中村祐一、博士(工学)(2007年早稲田大学) 日本電気株式会社 システムプラットフォーム研究所 国立情報学研究所客員教授 ▌これまで研究してきたもの システムLSI、組込みソフトの開発環境 •地球環境シミュレータ、各種液晶TV用LSI, 携帯電話用 LSI 超高速光通信向け信号処理 メニコアシステム、ソフトウエアの並列化、コア間接 続アーキテクチャ © NEC 3 Corporation 2015 Page 3 © NEC Corporation 2015 NECって何の会社? ▌「カフェで後ろの女子集団の会話聞こえてきた。『カレシがぁ、なん かぁ、日本電気?とかいう電気屋に就職するとか言っててぇ、そこらの電 気屋とか有り得なくない?』えっ」 ▌うん、だからぁ、それで昨日メールで別れるって送ってその後着拒したぁ www」 ▌「就職先が、仮にそこらの電気屋だとして、それで別れたりするもんなん ですねえ。愛というより、有望株狙いの玉の輿交際だったのでしょうか。 それにしては女性側が知識なさすぎな気も」 ▌NECの公式アカウント(@NEC_ad)も反応し、こうツイートしていた。 「なぜか弊社が今話題の模様。多くの人にどんな会社か知っていただける よう精進します。。」「NECは正式名称『日本電気(にっぽんでんき)株 式会社』っていいます」 4 © NEC Corporation 2015 NECの歴史 Satellite Communication World 1st TV broadcast among US and Japan provided J.F. Kennedy assassination(1963) TV broadcasts of 18th Olympiad in Tokyo (1964) Carbon-nanotube NEC discovered a unique graphite crystal (1991) Hayabusa (satellite) Succeeded in bringing asteroid samples back to Earth (2010) Semiconductor World top share(1985~1991) Terminated(2010) Super Computer “The Earth Simulator”, the world‘s fastest super computer(2002∼2004) SX-ACE(2014) Biometrics NEC's NeoFace® Facial Recognition Technology Ranks First in NIST Testing for Third Consecutive Time (2014) http://www.nec.com/en/global/solutions/safety/face_recognition/NeoFaceWatch.htm http://showa.mainichi.jp/news/1963/11/post-aa6e.htmll 5 © NEC Corporation 2015 The Earth in 2050 6 © NEC Corporation 2015 その結果、社会には課題がいっぱい Safer Cities & Public Services Sustainable Earth Lifeline Infrastructure Solve the Social Problems Quality of Life Communicati on Work Style Industry EcoSystem ICT is only the key to solve the problems. 7 © NEC Corporation 2015 社会価値=課題を解決すること Society/ People Social Value Innovations Social Value Creation Source of values generated by ICT Real time Big Data 8 © NEC Corporation 2015 Dynamic SDN Cloud Remote Cyber Security 課題=個人の快適と社会の最適のせめぎあい For innovation of social infrastructure, high performance computer platform is required to satisfy total social optimality and individual hospitality Novel information communication networks Total social optimality Power Traffic Water Optimized operations Railway network Power transmission network Optimized allocation of CPU/NW resources Water transmission network Road network Aggregation and utilization of various sensor information scattered on infrastructures Individual hospitality 9 © NEC Corporation 2015 東京オリンピックの観戦では? Comfortable space for 100,000 individual visitors to a stadium is provided and the safety and security at the whole event are guaranteed Individual hospitality Evacuation of 100,000 people within 15 minutes Anticipation of requests Easy transfer Search for lost children Total optimality Optimization of the whole stadium: Simulation Transfer guidance Avoiding Human tracking congestion Direction to guards Real-time processing Seat availability, location, event information and realistic sensation Comfortable communication environment 10 © NEC Corporation 2015 Collection of edge information Data collection Preprocessin g Predicting congestion Machine learning Search for lost children, blacklist check, distribution Data management of security guards, logistics planning 将来の水道は? It is achieved to efficiently use water which is a limited resource, to secure lifelines anytime, to significantly reduce the power consumption for the water management. Non-suspended Total optimality Optimal pressure control and reducing the lifelines Individual hospitality power consumption for the water management Lifeline: supplying clean tap water on your demand every time. We have to compute as fast as possible. Sensors Simulation Individual valve control Arterial valve Repair works control Edge information: Collection of edge information Total planning of the water usage Time Machine learning 11 © NEC Corporation 2015 Predictive control Water demand Flow Data collection Preprocessing 0 00001 Static control Pressure Dynamic control Data management Time 将来の交通は? Urban traffic is totally optimized by combining autonomous automobile driving and global information gathered from numerous automobiles Individual hospitality Automated driving to the destination with safe Control to avoid traffic jams within one minute after an accident Simulation Planning to avoid traffic jams Autonomous driving The total optimization of urban traffic flows We have to Individual handle huge data. Response within 10ms Real-time processing routing/speed control Information on individual automobiles Destination Speed Social/environmental information Weather 12 Total optimality Ongoing events © NEC Corporation 2015 Collection of edge information Data collection Preprocessing Predicting the location of traffic jams Machine learning Data management 速いことはよいことだ ▌Fast operation can change the world. From “visualization” to “prevention” Severance video application Analyzing in 1 hour Specify Criminal We could capture him. Visualization Analyzing in 1 min Specify the sign of crime We can prevent crime Prevention(Control) Key Device of the various kinds, fast process High performance Computing 13 © NEC Corporation 2015 Bigdata age ▌データサイズの増加 http://jp.fujitsu.com/platform/server/advantages/special/jokun/04-eternus/ より引用 14 © NEC Corporation 2015 Data Analysis ▌PoS Point of Sales 販売時点情報管理 バーコードの発明と低価格のコンピュータで急速 に広がった ▌売上個数の管理 売上の総数 品切れの管理 1日の売り上げ 万引きの影響 ▌当日の天気や、購入者の年齢などの情報 を入力する場合も 15 © NEC Corporation 2015 “Bigdata Analysis” Seven Cafe(日経新聞Web 7/24) ▌PBブランドの缶コーヒーの投入 年間約295億杯 セブンカフェの大ヒット 缶コーヒーの消費低迷 • 7-11 シェア 6.4% ▐ セブンカフェの影響で缶コーヒー が売れないに違いない? ▐ ところが、Nanacoの購入履歴で、 ビッグデータ分析をしてみた ら・・・。 セブンカフェ PoSでは売上個数のみ 16 © NEC Corporation 2015 Example of 7-11 ▌データ解析の結果 1. セブンカフェの購入者は、他のコー ヒー飲料に比べて女性の比率が高く、 若い世代と年配の世代が多い 2. 缶コーヒーの購入者は、30代と40代 男性の比率が高い 3. 缶コーヒー購入者の78.6%は男性 4. セブンカフェ購入者の約4割は、今ま でコーヒー飲料を買ったことがな かった人であり 5. セブンカフェ購入者の約2割はチルド コーヒーを買っていた人、同じく約2 割は缶コーヒーを買っていた人、同 じく20.8%はチルドと缶の両方を 買っていた人 6. セブンカフェをほぼ毎日購入してい る人の96.5%は、継続して缶コー ヒーを飲んでいるが、たまにセブン カフェを飲むライトユーザーの59% は缶コーヒーを買わなくなった 17 © NEC Corporation 2015 30-40 years old men buy Can. Example of 7-11 by using nanaco ▌セブンカフェと缶コーヒーの購入者はあまり重なっていない ▌セブンカフェは新たなユーザの掘り起し これまでファストフードやコーヒーショップでコーヒーを飲んでいた人 ▌セブンカフェを飲んでいる人は缶コーヒーも飲んでいる セブンカフェが缶コーヒーの売り上げを下げたのではない There is no relationship between “Seven Café” and Can Coffee ワールドセブンブレンドの投入 18 © NEC Corporation 2015 New Can Coffee ▌過去にPBブランドの缶コーヒーで失敗 ▌缶コーヒーを購入する決め手のアンケート ブランド55%, 味65.6%, 価格39.7% ▌ブランド重要:サントリーのBOSSと手を組んだ ▌缶コーヒーの飲まれ方:ドライバー、冬のカイロがわり ▌金の食パン 消費者は価格よりも品質を求めるとい調査結果に基づく 発売4か月で1500万個、購入者の五割はコンビニで食パンを購入したこ とがない ▌糖類50%オフの「ワールドセブンブレンド 微糖」は月間500万本近く売 れる ▌オリジナルと微糖で年間200万ケース(6000万本)を見込んでいたが、 微糖だけで楽々達成する勢い Cheap, but brand value with good taste 19 © NEC Corporation 2015 Why Bigdata? Unstructured Data ▌リゾートホテルの予約 ガッツリ系の夕食 立地条件や空き室、料金その他の条件 満足しました (集合知)からホテルを絞り込み ★★★ 顧客の声をネットで拾ってどこに予約 を入れるか決める • ポイントが高い=自分の望むホテルでは ない • クチコミの年代、クチコミ主の好みなど を解析して、自分の参考になる意見を選 ぶ • ★よりも、口コミなどの意見が重要 朝食がこってり系ばかりで イマイチでした ★ もっと可愛くして 10歳代女性 ★ クチコミ 信じられないくら 平均★★ い安いのに豪華。 ★★★ 内装が落ち着きませ んでした。もうすこし 高くでもいいので豪華 温泉がよかった な雰囲気のほうがい (20歳代男性) いです。(60歳代) ★ ★★★ 20歳前半の男性にとってこのリゾート ホテルはお勧めか? コメントを書いた人の分類や★の数などで分類ができているのなら簡単な話 コメントの内容が宝の山=価値ある情報 20 © NEC Corporation 2015 Verify Whole Sentences 情報の利用者によって 必要な情報が異なる 文章に隠された重要情報 21 © NEC Corporation 2015 Data Size is Increasing, Why? インターネットの普及に伴い情報流通量は爆発的に増加 スマートフォンやセンサーの普及など今後も情報は膨れ上がる ■2025年、社会の情報量は 06年の200倍に爆発! 〔グリーンIT協議会〕 メディアを通じて流通する情報量の推移 ビット数 (×1017) 80000 60000 0 インターネット 映像/画像 テレビ・ラジオ ソーシャルメディア等 フィジカルデータの増加 消費されない 情報の割合 99.4 % 流通した情報量 40000 20000 センサメディア情報 消費された情報量 1998 2000 2002 2004 非構造化されたデータ 利用されて いない情報 2006 2008 ブログ・SNSのコメント 口コミやログ Rating ログ情報 人手による構造化データ 【出典】[総務省] 我が国の情報流通量の計量と情報通信市場動向の分析に関する 調査研究結果(平成20年度) ―情報流通インデックスの計量― きちんと整理されてない大量情報の中に「宝の山=Valuable data」が存在!? 22 © NEC Corporation 2015 では、どう整理するか? → 難しい Structured Unstructured Physical より大きな計算機パワーが必要 23 © NEC Corporation 2015 コンピュータの利用形態: 1950 トランジスタ化→集積化→微細化(ムーアの法則) 1.5年から2年で必ず性能が倍になる=投資の重要性、金持ちの勝ち! 24 © NEC Corporation 2015 ところが計算機の進化は頭打ち Limit of Moor's law: more transistors != higher performance Limit of Moor's low Single-core(increasing Hz) Power wall Single core performance already hit a peak Multicore/Manycore (increasing # of cores) Dark Silicon Hetero Computing (use of accelerators) http://www.gotw.ca/publications/concurrency-ddj.htm http://newsroom.intel.com/docs/DOC-3126 http://www.nvidia.com/object/io_1238654717841.html 25 © NEC Corporation 2015 ムーア法則の限界 ポスト・ムーア時代 脳型 アーキテクチャ 対コスト・対電力性能 (Log) ・システム・アーキテクチャの見直し ・非ノイマン型の採用 クラウド ムーア時代 ノイマン型が前提 非ノイマン エッジ デバイス 3次元化の限界 3次元化 コア数の限界 メニコア マルチコア 周波数の限界 CPU 2010 26 © NEC Corporation 2015 2020 カギはヘテロコンピューティング Hetero of general-purpose Neumann and high efficient non Neumann approaches brain level performance Perfor mance C : CPU Neumann+Neumann Neumann Neumann Hetero M : Manycore A : Aurora Limit of Moor's law → ~4GHz C CPU+FPGA C F CPU+Vector C V CPU+GPGPU C G 2core C C C © NEC Corporation 2015 Cluster Wall of Neumann Hetero 4core C C C C Homo Wall of dark silicon → (Total power limit in a chip) Double cores per two years 2005 27 with register data transfer CPU+Manycore C M F : FPGA CPU 1GHz (Xeon) C Neumann+ non Neumann Hetero with memory access G : GPGPU 2GHz Super Distributed 2010 time ヘテロ=組み合わせること、では何と何を組み合わせるか? The selection of processing engines according to the required processing characteristics shall be optimized to further enhance the computing performance Serial processing of modest data Number of cores >1000 processing units Automated financial transaction Streaming events Automated financial transaction Packet analysis Dedicated Ultra real-time LSI g Video p processing (FPGA, ASIC) Many-core 100 cores 50 cores Massively stored data 10 cores Device embedded 100Mops 28 © NEC Corporation 2015 Micro servers (Atom/ARM) 1Gops Delivery system Video codec DNA/numerical analysis Drug discovery, genes CPU (Xeon) Vector engines Atom/ARM servers Web servers Next-generation codec (HEVC) Video analysis Surveillance video Video search Feature matching Biometrics Gene search (Intel Xeon Phi, GPGPU) Calculation specific Face detection General-purpose I/O bottleneck 10Gops 100Gops Machine learning Matrix computation Simulation Concurrent control Collective processing of huge data Core performance マルチコアプロセッサの導入 ▌予備知識: 消費電力 消費電力Pは電圧の自乗に比例 • P=α×CL×Vdd2×f + N×I× Vdd (Vdd:電源電圧 りの平均リーク電力) α:動作率 CL:負荷容量 f:動作周波数、N:ゲート数、I: ゲートあた • 前項が動作時電力で支配的 • コンデンサ(プロセッサはコンデンサにモデル化)の電力 例: 1.2V 1GHz PC/組込みシステムにおけるCPUコア数の 増加 P動作 = 1×1.22 × 1 = 1.44 リークは同等 例:0.8V 500MHz コア コア 消費電力 66%削減 (ハンデつき) P動作 = 2×0.82 × 0.5 = 0.64 SW並列化が必須 コア数 コア HW改良で性能向上 Picochip Tilera ClearSpeed Niagara Power, etc. ARM MPCore V850E2MN4 消費電力と発熱でシングルコアでは 実装不可能 周波数を落とすと 電圧を下げられる 一方、ソフトウエアの並列化(分割、排他、同期)などの難易度が高い。 29 © NEC Corporation 2015 時間の並列化 30 © NEC Corporation 2015 並列化のイメージ:14人での1万羽のつるの折りかた ▌作成プロセスは1から14まで 順番を無視した並列化は不可能 ▌8番9番11番あたりのふくろを作って潰 すあたりが難しい ▌並列化の手法 1. 2. 14人で1プロセスごとに分担並列化 • バケツリレー方式 • 8番9番10番が面倒なので流れ作業が 止まる? 一人一人で1番から14番までのプロ セスを担当して並列か? • • 3. 一人715羽分担 一人でいろいろな作業をするので効 率悪いかも? 面倒そうな8番、9番、10番は2人づ つ1番から3番で1人、4番と5番は1 人で並列流れ作業 • 個別作業で熟練の技が生きるかも? いろいろな並列化手法 31 © NEC Corporation 2015 スマホだってマルチコア ▌AppleはiPhone4s, iPad2(A5)からデュアルコア化 ▌Iphone6s(A9)から4コア化 初代iPad, iPhone4向け シングルコア A4 32 © NEC Corporation 2015 iPhone5S A7 ノイマン型の計算機:ソフトの並列化 ▌CPU/GPGPU/Manycore/Vector:Serial program is divided to fit the processing units .......... ........ .......... ............ .......... ....... ... ...... ............ .......... .... .......... .... GPGPU・ Manycore CPU Serial Program .......... ........... ........ ........ .......... ............ ............ ..... .......... ............. ....... ........... ... ...... ........... ............ ........ .......... ............ .... ..... .......... ............. .... ........... .......... .... .......... ..... Parallel Processing .......... ........... ........ ........ .......... ........ ............ ......... .......... ....... ......... ... ...... ...... ............ ............. .......... .......... .... .......... ........ .... .......... .......... .... Parallel Processing .......... ........ .......... ............ .......... ......... ....... ... ...... ............ .......... .... .......... .... .......... .... loop iterations ......... ......... ......... iterations are processed in parallel ......... ......... Size of a core=Program complexity Some Complex Selection of the best engine for higher application performance Transaction Processing Biometrics DB 33 Vector Processor © NEC Corporation 2015 Image Processing Many Simple Physics Simulation (Matrix operation) Performance Improvement by Selecting Optimal Processing Engines The 100 times better performance than general-purpose processors can be achieved by selecting optimal processing engines and leveraging their performance Separation processing of huge data Collective processing of huge data Biometrics Earthquake simulation The best processing engines in the best applications Many-core processing engines By limiting the use to specific processes, the performance far exceeds generalpurpose processors DB Processing 100 performance 100x performance by using many-core 15 1 CPU Vector 10 Manycore © NEC Corporation 2015 CPU 100 Processing performance Vector Collective processing of huge data 1 Many-core Generalpurpose Vector processing engines processors 34 Separation processing of huge data 100x performance by using vector Example (1/3): Manycore ▌Manycore Accelerator Many number of simple cores(ex:80 cores) ▌Example:Intel Xeon Phi series core core core core core core core core core core core core core core core core core core core core core core core core Memory Programmer can use an accelerator as a standalone node with multiple cores • OS(Linux) is running on an accelerator. Programmer can run a whole program on it. Programmer can also use it to run specific parts of a program by using dedicated compiler #pragma offload target(mic) #pragma omp parallel for for( i=0; i< N; i++) { … } 35 © NEC Corporation 2015 use of accelerator loop parallelization using OpenMP API data transfer can be written in a pragma Example (2/3): GPGPU ▌GPGPU (General-purpose computing on graphics processing units) GPU: Processor for graphics. Widely used in standard PC First application: real-time 3D graphics Difficult: communication among CPU, GPGPU and Memory ▌Example: NVIDIA CUDA __global__ void Add(float* A, float* B, float* C) { int i = threadIdx.x; C[i] = A[i] + B[i]; } int main() { ... Add<<<1, N>>>(A, B, C); ... } GPU Kernel GPU Kernel invocation with N threads From CUDA C Programming Guide Version 7.5 36 © NEC Corporation 2015 適用例: 大規模施設監視に向けた顔検出 ▌スタジアムなど多数の人物が集まる場所の監視システム向けリアルタイム 顔検出 数百人の顔を同時に1秒以下で検出 入力画像 顔候補検出 顔候補評価 結果出力 処理の 流れ 処理時間 逐次版 (汎用サーバ) 高並列化版 (メニーコア システム※) コア コア コア コア 1個のコアで 逐次実行 数十秒 コア コア コア コア コア コア コア コア コア コア コア コア コア コア コア コア コア コア コア コア コア コア コア コア 百個以上のコ アで並列実行 1秒以下 ※ Express 5800/HR120b-1 に Intel® Xeon Phi™ コプロセッサーを2基搭載 37 © NEC Corporation 2015 コンピュータの基本構成 コンピュータ中枢部 演算部 データの流れ 制御信号の流れ 入力部 記憶部 制御部 38 © NEC Corporation 2015 出力部 プロセッサ メモリ プログラムに従って メモリと演算器が 頻繁にアクセス しながら計算 (1演算あたり3回) 演算器 (X=A+B) ハードウエアロジック (ASIC) プログラムは回路で表現 非ノイマン型 し、原則メモリを利用しな い 可変化 HW 回路 プログラム • プログラムを変更することに より様々な機能を実現 • メモリへのアクセスがボトル ネック (Aurora:メモリアクセスを効率化 した究極ノイマン型プロセッサ) • • • • • プログラムをハードウエア化 効率よく実行 ノイマン比100‐1000倍 設計難易度高 プログラムの変更が困難 入力A 入力B 出力 FPGA 39 HW 回路 プログラム ノイマン型 ノイマン型,非ノイマン型(ハードウエアロジック,FPGA)の構造的違い 0 0 1 1 0 1 0 1 0 0 0 1 プログラムを表現する ハードウエアを、 可変真理値表=メモリ で表現 © NEC Corporation 2015 • プログラムの変更が容易 • 動作周波数がハードウエア ロジックの1/10、消費電力も 10倍 • ノイマン比、10‐100倍程度 非ノイマンの計算機:FPGA ▌FPGA (Field-Programmable Gate Array) HW that users can program its HW logic Network card with FPGA(FPGA-NIC), CPU with FPGA(Intel announced) Microsoft, Baidu, and etc. use it for bigdata applications. Very high speed with fine grain logic level parallelism. But very difficult programming with special knowledge of HW logic design これまで非ノイマン型の計算機は書き換えができなかったが FPGAは書き換え可能えあることにより、計算機的利用が進んだ FPGA= Field-Programmable Gate Array writable logic element (CLB) HTG Xilinx Virtex6 PCIe Gen2/SFP+/USB 3.0DevBoard http://hitechglobal.com/Boards/Virtex6_PCIExpress_Board.htm 40 © NEC Corporation 2015 SW view of non von Neumann architecture ▌FPGA:flexible processing unit difficult to use MS, JP-Morgan, and Baidu use FPGA for bigdata processing and machine learning Area: Large ........... Power: High ........ FPGA ............ Speed: High Multiple patterns of division ........... ........ ............ ......... ........ ........... ........ .. ........... t ........... .......... ........ .......... ............ .......... ....... ... ...... ............ .......... .... .......... .... .......... .... .......... ..... ........... ........... ........ ............ Performance depends on a pattern of division Difficult to design ....... ............ ....... ............ Serial Program 41 Parallel Processing © NEC Corporation 2015 ....... .......... ........ .......... .... .......... Parallel Processing Area: Small Power: Low Speed: Low t FPGAの書き換えの概念 CPU/DSP ビット・ストリーム・ファイル 外部記憶 メディア (プログラムメモリ) B Q C PA D R FLASHメモリ ROM CPU DSP ネットワーク AD DA Xilinx FPGA DDRメモリ システム・コンポーネント プログラムのダウンロードと同じ 42 © NEC Corporation 2015 ロジックセルの内容 SRAMロジックセル Flip Flop LUT A AA A 3 21 0 10 10 00 10 A0 A1 A2 A3 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 01 01 00 0 01 00 00 01 01 00 0 01 1 00 01 01 10 アドレス SRAM デコード部 データ Look Up Table 43 © NEC Corporation 2015 D Q Clock 4入力AND 4入力XOR FPGA アーキテクチャ概念図 IOB 部接 配線 CLB クロックネットワーク 18Kb Dual Port Block RAM JTAGバウンダリ スキャン回路 SRAM コンフィギュレーションメモリ 44 © NEC Corporation 2015 S RAM SRAM SRAM SR AM S RAM S RAM SRAM SRAM SR AM S RAM S RAM SRAM SRAM SR AM S RAM S RAM SRAM SRAM SR AM S RAM S RAM SRAM SRAM SR AM S RAM S RAM SRAM SRAM SR AM S RAM S RAM SRAM SRAM SR AM S RAM S RAM SRAM SRAM SR AM S RAM 18K B18K RAMB RAM 18 x 18 18K B18K RAM AMB RAM 18 x 18 18K B18K RAMB RAM 18 x 18 18K B18K RAM AMB RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 18K B RAM 18 x 18 PowerPC 18x18乗算器 DSP48 Virtex-II Pro チップレイアウト IOB SirDes CLB 45 © NEC Corporation 2015 Power PC BRAM デジタルクロックマネージャ 暗号回路 例えば全加算器をFPGAで構成する場合 a F b 全加算器 F = /a*b + a*/b G=a*b G a 0 0 1 1 b 0 1 0 1 F 0 1 1 0 G 0 0 0 1 a 00 0 01 0 10 1 11 0 b 46 © NEC Corporation 2015 00 0 01 1 10 0 11 0 00 0 01 0 10 0 11 1 00 0 01 1 10 1 11 1 F G FPGAでの機能のカスタマイズ FPGA PCのBIOSをバージョンアップする感覚で 何度もハードの機能を書き換えられる 設計データ/ 変更可能 半導体製造 トランジスタの 作りこみ 配線 製造 テスト 機器 組み込み 設計データ システムLSI 47 © NEC Corporation 2015 ここで設計データを FIXしないといけない 並列化する処理の単位による性能差 良い点 悪い点 FPGA ▐電力が圧倒的に小さい ▐負荷の高い処理も実現可能 ▐開発コストと期間大 ▐設計変更が困難 100-1000行 ▐開発コストが安い、開発期間短い ▐電力が比較的大きい ▐設計変更容易 ▐メモリ管理が難しい 演算レベル並列化の消費電力評価(GPGPU比) 16% A. Papakonstantinou, K. Gururaj, J. Stratton, D. Chen, J. Cong, and W.M. Hwu, "FCUDA: Enabling Efficient Compilation of CUDA Kernels onto FPGAs,“ Proceedings of IEEE Symposium on Application Specific Processors, July 2009. 12% 8% 状況に応じて最適な 実装方法を選ぶ 48 © NEC Corporation 2015 4% 0% FPGA/ASICはビッグデータ処理の低消費電力化が可能 1. 匿名認証ASIC (新しい電子署名の一種) 高速・低電力 演算並列回路 複雑な アルゴリズム (>10,000行) - 高速サーバ(150W) 上のソフトと同等速度 (0.1秒) - 低消費電力 (0.4W以下) NEC Develops LSI that Protects Security and Privacy” http://www.nec.co.jp/press/en/1004/0903.html 2. リアルタイム顔検出/認証 FPGAプロトタイプ マクロアーキテクチャの 基礎データを取得 - 高速サーバ(150W) 上のソフトと同等速度 (VGA で30fps) - 低消費電力 (0.5W以下) NEC's Face Recognition Technologies Ranked No.1 by the NIST in All Participating Categories” http://www.nec.co.jp/press/en/1001/2001.html 49 © NEC Corporation 2015 MicrosoftのBing検索エンジン ▌検索エンジン Bing サーバー1台につき1個のFPGA を用意 これらを合計1632台束ねてク ラスターを構成 FPGA上のハードワイヤード回 路でパイプライン処理するこ とで、ページランク処理のス ループットを2倍に増加 消費電力1/5に削減 2015年初頭にBingの本番シス テムに投入 Baidu、Dwangoも動画検索な どに利用予定 • • • • 50 パイプラインの1段目のFPGAでは特徴抽出 2∼3段目では特徴抽出後の特徴量の組み合わせである FFE(free-form expression)処理(プロセッサ実装) 4段目ではスコアリングエンジンの効率を高める圧縮処理 5∼7段目では機械学習後のスコアリングモデルの保持 © NEC Corporation 2015 金融におけるアルゴリズム取引 金融:JP.モルガン 金融:NASDAQ デリバティブのリスク計算のシミュレーションを高速化 2012年8月にNASDAQは相場報道の一部をFPGA化 NASDAQ 証券会社 FPGA (10/40Gb) http://web.stanford.edu/class/ee380/Abstracts/110511-slides.pdf http://www.nasdaqtrader.com/content/Productsservices/trading/CoLo/10G_colo_factshee 51 © NEC Corporation 2015 金融のアルゴリズム取引 ▌ 株取引:差額で儲ける商売 安く買って、高く売る(50円で買って100円で売る) • 人の株を勝手に売って、安くなったらこっそり買い戻す(100円で売って、50円で買い戻す) ▌ 大手証券会社はアルゴリズムで取引をしている 相場師のヤマカンは個人投資家のみ 多数の数学者を雇用(成績悪いとすぐクビ) ▌ 様々な情報を用いて、株の売り買いをするアルゴリズムを開発 そのノウハウは門外不出だが、人間の考えることはたいてい似ているので、各社の売買は同じような挙動を 示すことが多い(シミュレーションを繰り返すので似てくる) ▌ よって、アルゴリズムの処理スピードが儲けに直結 1ドル120円突破 和 出来高(万株) 100 80 10:00 52 11:00 © NEC Corporation 2015 12:00時間 取引アルゴリズムの例: 1ドルが120円となったとき、 複数会社の株の出来高(売買数) の二乗の和がある数値を超えたら → その会社の株は売り 高速処理の重要性 数ミリ秒(1/1,000秒)単位の遅延が利益に直結 100ミリ秒の遅延が致命的 取引利益 (%) 99% 100ミリ秒の遅延で 90% 立会取引と同等に 0% 5 10 100 最速プレーヤーからの遅延(ms) 金融処理における遅延と利益損失の関係 ※ http://www.tabbgroup.com/PublicationDetail.aspx?PublicationID=346の 情報に基づき、独自試算 53 © NEC Corporation 2015 1ミリ秒の遅延短縮で 年$100Mの利益増加 A 1-millisecond advantage in trading applications can be worth $100 million a year to a major brokerage firm, by one estimate. The fastest systems, running from traders' desks to exchange data centers, can execute transactions in a few milliseconds— ... (中略) ... We needed to create a product more designed for that kind of volume of data flow.” Wall Street's Quest To Process Data At The Speed Of Light, April 2007. http://www.informationweek.com/wall-streets-quest-to-process-data-atth/199200297?pgno=1 FPGAの書き換え機能の利用 代表的な取引戦略 分類 スタ ティック 戦略 戦略名 ベンチマーク 型 VWAP TWAP 出来高 市場動向に応じて取引戦略を変更しなければ 利益を最大化できない MOC ダイナ ミック戦 略 コスト型 IS ベンチマーク 型 POV コスト型 AS 参加型 iceberg D-MOC 時間 pegging pirce inline 機会発見型 wait & pounce switch 杉原, “取引コストの削減をめぐる市場参加者の取り組み: アルゴリズム取引と代替市場の活用”,日本銀行金融研究所、2010 Page 54 54Page 54 © NEC Corporation 2015 マーケットが 穏やかな時 マーケットが 急変した時 戦略A 戦略B FPGAの書き換え機能の利用 取引戦略を日々更新しなければ 利益を最大化できない 取引戦略は数日で陳腐化 日々のブラッシュアップが必要 Last and most important, this code has a limited shelf life, ...(略)... While a prop desk's high level trading strategy may be consistent over time, the micro-level strategies are constantly altered ̶ growing stale after a few days if not sooner 企業がこれまで考えもしなかったことや、 これまで不可能だと思っていたことを 実現できる、そんなIT(情報技術)が 続々と登場している。背景にあるのは、 「ビッグデータ」の台頭だ。 …(略)… ルールを洗練するには、過去のデータ を分析してブラッシュアップする試行錯 誤 が欠かせない。 …(略)… The Real Story of Trading Software Espionage, July 2009. http://www.advancedtrading.com/algorithms/218401501 FPGAを書き換えて対応 55 © NEC Corporation 2015 「現実世界の変化をつかむ「CEP」、応用範囲広がる」、日経コンピュータ http://itpro.nikkeibp.co.jp/article/Active/20111221/377190/ 2012/02/16 証券取引システムにおける効果の一例 東証からの時価情報をもとに日経平均をリアルタイムに計算 ソフトウェアより先に売買判断が可能に 東証 日経平均 計算 実装 リアルタイム 時価情報 リアルタイム日経平均 (円) 3.3倍高速 Time (us) 56 処理アルゴリズムが変更されたらFPGAを書き換え © NEC Corporation 2015 動画配信の例 ドワンゴ(ニコ動)も 課題は設計技術 動画配信の高速化にFPGAを利用 「ニコニコ動画」などを手掛けるドワンゴ は、配信システムの高速化などに向けて FPGAやASICによる高速化の検討に乗り出 す。ハードウエアによるトランスコーダー などの開発を狙い、論理回路設計の経験が あるハードウエア技術者の募集を開始した。 (中略) トランスコードなどを行うICは既に市販の ASSP品が多くあるが、ハード技術者を雇用 しFPGA/ASICを開発するということはドワ ンゴ独自の要件があるとみられる。 ニコニコ動画をFPGA/ASICで高速化、ネット企業のドワンゴがハード技術者を募集 2014/11/28 http://techon.nikkeibp.co.jp/article/NEWS/20141128/391400/?n_cid=nbpte 電力効率が高く、高性能といいこ とづくめに見えるFPGAだが、課題も ある。それが開発・デバッグ環境だ。 C言語のプログラムから論理回路を出 力する高位合成ツールや、GPUで生 まれた並列演算向けのプラット フォーム「OpenCL」をFPGA向けに 利用できるようにするツールなどが 整備されつつある。 ただし、現状ではMicrosoft社を 含めて多くのネット企業が、C言語 ベースでなく、論理回路設計のスキ ルがある技術者を雇用してFPGAを設 計している。 日経エレクトロニクス 2014年11月10日号 33ページより引用 設計のカギはスケジューリングによる演算の割り当てと順序づけ ビル・ゲイツ=どうやってプログラミングできる? Page 57 57 © NEC Corporation 2015 (参考) FPGA向けの株価アルゴリズム取引コンパイラ 株式のアルゴリズム取引に好適な回路の生成技術 アルゴリズム取引の データベース処理 SQL アルゴリズム取引記述 に使われるDB言語 SQL-FPGAコンパイラ 分類処理回路生成 計算処理 C言語 Page 58 58 ウィンドウ処理回路生成 ・ 「関数の正規表現」回路化技術 ・ コンテキスト共有回路化技術 一致処理回路生成 → 最適アーキテクチャの自動生成 C言語 C言語からの回路設計 ツール © NEC Corporation 2015 ツール最適化機能 ・自動パイプライン ・スケジューリング (将来像):例えば、カメラ映像から1秒で対応する防犯システム ▌カメラの映像から特定の人物を即座に発見、追尾 迷子、ブラックリスト(フーリガン・テロリスト等) ▌秒レベルで処理することで、人物の移動に対応できるシステ ムを構築することが可能 SNSの情報と照合 カメラ映像 多数の顔を同時検出 収集 特定の人物と照合 発見→ 警備員へ指示 カメラの制御 分析 制御 ボストンのマラソンテロは防げる! 並列化技術で従来の警備技術を破壊 59 © NEC Corporation 2015 Evolution of Computer Architecture Hetero of general-purpose Neumann and high efficient non Neumann approaches brain level performance Perfor mance C : CPU Neumann+Neumann Neumann Neumann Hetero M : Manycore A : Aurora Limit of Moor's law → ~4GHz C CPU+FPGA+Analog C F C A CPU+Vector C V CPU+GPGPU C G 2core C C C © NEC Corporation 2015 Cluster Wall of Neumann Hetero 4core C C C C Homo Wall of dark silicon → (Total power limit in a chip) Double cores per two years 2005 60 with register data transfer CPU+Manycore C M F : FPGA CPU 1GHz (Xeon) C Neumann+ non Neumann Hetero with memory access G : GPGPU 2GHz Super Distributed 2010 time Problem Toward Efficient Real World System Real world = Mixture of distributed many types of devices Smart Water System Multi-layer Hetero Device Edge Computing Edge Edge Edge Sensor Actuators Sensor Sensor Hetero IoT Devices Affinity of Real World and Distributed Hetero ・Optimization of function allocation onto distributed computer resources ・Optimization of execution order of functions Providing efficient solutions 61 © NEC Corporation 2015 Distributed System Many Sensors, Actuators, Computers Like Human Power Consumption=20-25W Left Brain ・Logic ・Calculation ・Formulation Right Brain ・Inspiration ・Recognition ・Associative memory ・Implicit knowledge Combine and Collaborate Ex) IBM Watson 200,000W FPGA-> Analog Exact and fast calculation Handling huge data 62 © NEC Corporation 2015 Contribute human society by being polite and attentive to detail with low power. おまけ:企業理念(Corporate Vision) に共感できる? ▌採用のポイント 入社を希望する理由=企業理念 に合致するか? 企業理念の読み込みが必要 ▌企業理念は企業のWebページで見れる ▌Do you feel sympathy with a corporate vision? 日本だけではなく Googleも企業理念の 重要性を説明 Page 64 64 © NEC Corporation 2015 企業理念の読みほどき ▌感動をもたらし、好奇心を刺激 ▌テクノロジー、コンテンツ、サービス ▌商品、体験、文化 ▌新たな感動 Page 65 65 © NEC Corporation 2015
© Copyright 2024 Paperzz