Submit Search
Moving computation to the data (1)
•
74 likes
•
22,328 views
K
Kazunori Sato
Follow
1 of 50
Download now
Downloaded 84 times
More Related Content
Moving computation to the data (1)
1.
Moving Computation to the
Data @kazunori_279
2.
自己紹介 @kazunori_279 ● クラウドやビッグデータ関連の仕事 ○ appengine
ja night管理人 ● HDL歴は数か月 ○ DE0で勉強中。やっと4bit CPUが動いた ○ FPGAエクストリームコンピューティング(勉強会)始めま した
3.
Disclaimer ● 専門外なので見当違いなこと書いてるかも ● 個人の研究であり、私の雇用主とは関係ありま せん ●
引用した図には引用元のリンクが張ってありま す
4.
アジェンダ ● ● ● ● ● ● なぜFPGAが気になるか Moving Computation to
the Data 最近の業界動向 金融分野はさらに先に進んでいた そしてMemcached+FPGAが熱い なぜMemcachedはFPGA実装で速くなる?
5.
FPGAエクストリーム コンピューティング
6.
なぜFPGAが 気になるかというと...
7.
ノイマンがボトルネックだから 皆さん順番にディスク →メモリ→キャッシュ→レジスタってコ ピーしてきてくださいね どんな大きいデータも 64bitずつ計算してるしOSさんも忙しい からあと何1000クロックか待っててね ノイマン型CPU 頭の回転は速いが どう考えても ここがネックだろ...
8.
アプリ屋だってワイヤードロジックで 並列処理したい! CPUやOSを介さず1024並列で ワイヤスピードで処理してます(キリッ ...とか言ってみたい
9.
FPGAのコモディティ化による 破壊的イノベーション ● いまやリコンフィギャラブルコン ピューティングが1万円で ○ CPUもOSもTCPもとばしてFPGAでア プリ処理を書ける ○
アプリ開発者がアプリごとに専用ハード 設計できる時代に ○ しかも自宅で ○ これってMakerムーブメントだ ○ 昔の8bitマイコンみたい
10.
FPGAは電力性能比がケタ違いに高い ● 大規模データセンターでは電力性能比 がネック ○ データセンターに供給可能な電力量には限り がある ○
例えば、1か所につき数MW程度 ○ データセンターが提供できる処理能力は サーバーの電力性能比によって大きく左右さ れる
11.
しかしアプリ処理のフルFPGA実装は ハードルが高い...
12.
CPUとFPGAの適材適所がキモ ややこしいロジックはCPUで ● ● ● ストリーミングの前処理 認証、OLTP、トランザクション セッション管理、例外処理、UI/CLI/API 大量・並列処理はFPGAで ● ● ● ● CPUやOSを経ないストリーミング、RDMA ログ集計、パース、ウィンドウ処理 ソート、ジョイン、マージ、パターンマッチング メディア配信・画像処理・数値演算・暗号化 →ARM+FPGA混載コアがおもしろい ● Xilinx Zynq ●
Altera SoC ● 既存アプリの一部分のみアクセラレーションできる
13.
ARM+FPGAが データセンターにやってくる
14.
CPUとFPGAはどう連携するか? ↓ Moving Computation to
the Data
15.
Alteraいわく: (計算機にデータを持っていくのではなくて) データのある場所に計算を持っていく
16.
データのある場所で計算する データのあるストレージやネットワークに計算させよう そんな事例が増えている:Violin Memory, IBM
Netezza, HFT...
17.
従来型のアーキテクチャ: 「ビッグデータ」の時代なのに、 あいかわらず細切れにしてCPU で逐次処理って...
18.
新しいアーキテクチャ: 低コスト・大容量化したFPGA で、アプリ処理できるインテリ ジェントなI/Oを実装
19.
Edge-Heavy Dataに似てる
20.
Moving Computation to
the Data っぽい最近の業界動向
21.
IBM Netezza: ストレージ層のFPGAで 大規模データのフィルタリング
22.
XilinxによるZynqデモ:OpenCVの動画処理を ARM+FPGAで100倍高速化 CPUではカクカクな処理がFPGA連携時はヌルヌルに(1:30あたり)
23.
HPの次世代サーバMoonshot SRC Computerと連携しFPGA搭載
24.
IBM POWER8のCAPI: 外部FPGA/ASICと高速キャッシュ同期
25.
Seagateのkey/value Ethernet drive HDD/SSDがそのままKey
Value Storeに...! ● CPU/OS/TCPのオーバーヘッドなし
26.
金融分野のHFTやHPCは さらに先に進んでいた
27.
FPGAスイッチArista 7124FXによる High Frequency
Trading High Frequency TradingのFPGA化 ● 数msの遅れが数千万、数億規模の 損失を生む ● FPGA搭載NICでトレーディング ○ ○ TCPや取引アルゴリズムのFPGA実装 CPU/OSを介さず低遅延を保証 ● FPGA搭載アプリケーションスイッチ Arista 7124FX ○ 株価がサーバーに届く前にスイッチが株の 売り買い
28.
取引アルゴリズムはx86で オーダー執行はFPGAで
29.
株価のパケットが届き終わる前に オーダーのパケットを送り始める(怖 執行条件に合致しなければ最後に チェックサムずらしてパケットを破棄。市場 データ到着から25 nsで発注完了。 投機市場だけに投機実行ってことか
30.
JP Morgan+Maxelerによる 債権リスク評価専用FPGAクラスタ ● 40台で処理時間を8時間から4分に短縮
31.
JP Morgan+Maxelerによる 債権リスク評価専用FPGAクラスタ “FPGAを使うことで数100段といった非常 に深い演算パイプラインと、とても細かい 粒度での並列化によるストリーム・コン ピューティングを実現できるからだ。これに より、CPUに比べ数100倍のスループット を得られるケースもある。”
32.
そして Memcached+FPGA が熱い
33.
ConveyのMemcachedアプライアンス ● 2013年9月発表
34.
ConveyのMemcachedアプライアンス x86とFPGAのハイブリッド
35.
ConveyのMemcachedアプライアンス x86サーバーの7倍のスループット、遅延は1/5
36.
ConveyのFPGAマシン 他にもいろいろ速い ● ゲノム解析 ● グラフ ●
文字列の編集距離 ● 文字列の近似検索
37.
なぜMemcachedは FPGA実装で速くなるか?
38.
Memcached+FPGAの論文が増えた ● An FPGA
memcached appliance ○ HP Labs, Univ. of Massachusetts Lowell ○ FPGA '13 ○ 内容:FPGAでMemcachedを実装してみた ● Achieving 10Gbps Line-rate Key-value Stores with FPGAs ○ Xilinx, ETH Zurich ○ HotCloud '13 ○ 内容:実効レート10GbpsのMemcached(白目
39.
Memcached+FPGAの論文が増えた ● Thin Servers
with Smart Pipes: Designing SoC Accelerators for Memcached ○ HP Labs, Facebook, ARM, Univ. of Michigan ○ ISCA 2013 ○ 内容:FPGAとCPUによるハイブリッド実装の提案 HPとFacebookとARM!
40.
x86上のMemcachedの ボトルネックを探る ● 100台のMemcachedクライアントと5種類の負荷を再現 ○ ○ ○ ○ ○ 固定サイズ(128B) マイクロブログ(平均1KB) Wiki(平均2.8KB) サムネイル(平均25KB) FriendFeed(MULTI-GET) ● テスト対象サーバー ○ ○ Xeonベースのハイエンドサーバー ■
2.25GHz x 6コアXeon/12GBメモリ/10GbE NIC Atomベースの低消費電力サーバー ■ 1.6GHz x 2コアAtom/4GBメモリ/10GbE NIC
41.
ボトルネックその1:命令キャッシュ ● ● 命令キャッシュのボトルネック ○ SPEC CPU
2006 integerベンチマークとの比較では、Memcachedでは最 大15倍も低い。これはLinuxカーネルとネットワークスタックのコード量の大 きさによるものである ITLBのボトルネック ○ AtomではITLBの不足によりミス率がXeonに比べてきわめて高い
42.
ボトルネックその2:分岐予測の失敗 ● 分岐予測の失敗によるボトルネック ○ マイクロブログにおける実行時間の大きい上位50個の関数のうち、予測失 敗率が10%以上のもののリスト。TCPスタック、デバイスレイヤ、NICドライ バなど。プロトコルの複雑さ、同期時の競合発生などの理由により分岐が 不規則であり予測が困難
43.
Memcachedのボトルネック ● ボトルネックの原因は「OSカーネル、ネットワーク・スタック、 NICドライバのコードの長さ」 ○ ○ 命令ストリームのボトルネックが発生 仮にスループットがリニアにスケールしたとしても、1GbE帯域を使い切るに は6コア、10GbEでは64コアのXeonが必要
44.
CPU+FPGAによるボトルネック解消: TSSP: Thin Server,
Smart Pipe ● 複雑な処理はソフトウェア(Thin Server)で ● 簡単・大容量処理はハードウェア(Smart Pipes)で
45.
TSSPによるMemcachedの実装 ● MemcachedのGETをSoC上でハードウェア実装する ○ ○ MemcachedのGET/SET比は最大30:1、GETは全体の97%を占める。 ハードウェアで実装の困難な複雑な機能はソフトウェアでカバーする GETにはUDPを使い、SETにはTCPを使う。Memcachedはそもそもベスト エフォートな使い方なのでUDPで問題ない ● ハッシュテーブル検索とKVSを分け、前者はハードで効率 的に実行 ○ デコードされたリクエスト中のキー情報はハッシュテーブル検索ハードに渡 される
46.
ハッシュテーブル実装 ● ● KVを保存するメモリ領域の管理はソフトウェアで ハッシュテーブル管理はハードで
47.
性能評価 ● ● MemcachedのFPGA実装(冒頭の論文)を用い、GETのみハードで実装 ○ Altera DE4
(Stratix IV 530 FPGA), 4GB DDR2 x 2, GbE x 4 この既存実装での評価結果を元に、Zynq上でTSSPを実装した場合の電力性 能比を推量。Xeonの6倍、Atomの16倍を見込んでいる
48.
まとめ
49.
まとめ ● ARM+FPGAのコモディティ化のインパクト ○ しかしFPGA開発のコストは高い ○
CPUとFPGAの適材適所が焦点に ● Moving Computation to the Data ○ データのある場所で計算する、というパラダイム ○ Thin Server, Smart Pipes ● FPGAがデータセンタにやってくる ○ Memcached/MapReduceアプライアンス ○ データベース/KVS ○ … and more!
50.
Questions?
Download