ビッグデータ時代のFPGAの使い方 How to use FPGA in the age of

ビッグデータ時代の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