ソフトとかハードとか
関係ございません
株式会社マイクロアド

佐藤由紀

http://engineer.microad.jp/strawberry/
はじめに
森は、海の恋人
1989年に宮城県気仙沼で始まった活動
漁民が山で広葉樹の植林を行う
なぜ漁民が山で?
↓
豊かな海を作るには
豊かな森が必要
マングース導入の失敗
ハブ駆除のため奄美大島にマングースを導入
↓
ハブは駆除されず
ウサギ等の固有種が減少
まとめると

海は海、山は山、と別々に考えず

ハブとマングースだけを
入れた檻の中だけを考えず

山が良くなれば海が良くなると
全体として考える

せめて、島全体まで考える
部分最適解と全体最適解は異なる
これは、自然科学における常識

システムの世界でも同じでは?
ひとつの表現として・・・

システムは
「ソフトウェア」
「ハードウェア」
「ネットワーク」
で構成される
ということができる
ソフトウェア=アプリケーション/ミドルウェア。

ハードウェア=OS/サーバ
アプリケーションエンジニア
ソフトウェア

ハードウェア

サーバエンジニア

ネットワーク
ネットワークエンジニア

スペシャリスト
ソフトウェア

アプリケーションエンジニア

ハードウェア

サーバエンジニア

ネットワーク

セクショナリズム
ネットワークエンジニア と混同?

スペシャリスト
そろそろ、
ソフトかハードか
フロントエンドかバックエンドか
そんなセクショナリズムを
打破しませんか?
この提言のため、
FPGAをwebサービスへ導入
することの可能性についてお話します
本日の流れ
一.FPGAとは
二.FPGAとの出会い
三.使い道の可能性
四.FPGA導入への第一歩
一、FPGAとは
一.FPGAとは
Field-Programmable Gate Array
現場で
内部処理を書き換え可能な
論理回路チップ
一.FPGAとは
データウェアハウス(Netezza)
 液晶ディスプレイの制御
 超音波診断のリアルタイム表示
 高速ネットワーク処理(ルータ等)


などに使われる、夢のチップ!
FPGA評価キットのボード

FPGA
ソフトウェア

FPGA

ハードウェア

実現できる機能

ネットワーク

モデルが簡易すぎ、わかりにくい再構築 ⇒ ⇒
レイヤ

機能

ソフトウェア
ハードウェア
ネットワーク
FPGA
ソフトウェア機能も
ハードウェア機能も
ネットワーク機能も
実現可能
ソフトウェア、ハードウェア、ネットワーク
の機能を実現できるFPGA

誰が扱うの?
アプリケーションエンジニア?
そんな議論は
サーバエンジニア?
不毛だとは
ネットワークエンジニア?
思いませんか?
もう一度・・・
そろそろ、
ソフトかハードか
フロントエンドかバックエンドか
そんなセクショナリズムを
打破しませんか?
二、FPGAとの出会い
MicroAdにて
2011年に導入したNetezzaに
FPGAが利用されている事から
その有用性を知る

Netezzaは、
アプライアンスの
データウェアハウス
通常のデータウェアハウス
select/insert

Netezza
select/insert
<専用>

ネットワークコントローラ

特定処理の
ためだけに
最適化
されている

<汎用>
きめ細かに

多種多様な

CPU

事ができる...
通常の反応

反射

(CPU的)

(FPGA的)

③脳【判断/指示】
①刺激

①刺激

②脊髄

②脊髄
【既定の動作を指示】

FPGAは反射の際の脊髄のように、
瞬時に既定の動作を行う
大量のデータを用い、高速化が
必要な処理にFPGAを活用できる
↓

MicroAdのシステムと
特徴が合致!
三、使い道の可能性
MicroAdのご紹介
自社でプラットフォームシステムを開
発し、広告配信事業を行う会社
広告をオークション形式で配信
100円
主催

参加system

system

A

参加system
30円
Webユーザ

B
オークション参加システム
「広告を見る人」

人 × 広告主サイト
相性

「表示ページ」

“どの広告”を
“いくら”で
入札するかを
決定

広告 × 配信ページ
相性

人 × デモグラ情報
性別、居住地域、年代

人 × 広告閲覧回数
...
MicroAdのシステムの特徴
大量リクエスト(60億件/日)に対し
 大量データ(10億件を10セット)を参照し
 高速にレスポンス(5ミリ秒)する


FPGAが使えるかも?!
使い道の可能性
大量リクエストのフィルタリング/正規化/
処理の分岐
 参照する大量データのKVSとして


妄想
オークション処理全てをFPGA上で
実現できたら、すごく面白いかもしれない
状況
昨年12月より検証開始し、2014年夏に
は一部導入予定。

検証は、こんな場所で実施しています
GARAGE
東京湾付近某所
小休止
小休止:StormとHBaseの活用事例
StormとHbaseを活用したシステムを
開発し、2013年9月より稼働

実現機能:
メインプロダクト
に搭載した、
新しいリターゲティング機能
リターゲティングとは
再来訪を促す広告配信手法
(1)広告主サイト訪問
成約

(4)再来訪

(2)離脱

(3)追跡

他のサイトで広告を掲載

サイトを離れる
MicroAdのリターゲティングの変遷
初代
【リリース時期】2007年
【特徴】細やかなリタゲ設定が可能

二代目
【リリース時期】2011年
【特徴】リアルタイム性を向上

三代目
【リリース時期】2013年
【特徴】最も細やかなリタゲ設定...
三代目リターゲティングの特徴(1)
“細やかなリタゲ設定”とは
設定の一例(ファッションECサイトの例)

A)女性服のページに
三か月以内に5回~9回
B)子供服のページに
昨年の11月に2回以上

5回~9回
三か月前

現在

2回以上
...
処理時に参照するデータの量
細やかな
設定を実現
3
6
5
日
分

1日分

3時間分

初
代

二
代
目

三
代
目
三代目リターゲティングの特徴(2)
“50ミリ秒でのデータ反映”
広告主サイトに訪問
した瞬間(50ms)
データが反映される
↓
直後から、
その広告主の広告が
配信される

(1)広告主
サイト訪問

(2)離脱

(3)追跡
データ反映タイムラグ

リアルタイム化
を実現

2
4
時
間
2時間
初
代

二
代
目

50ミリ秒
三
代
目
基盤となるミドルウェアの変遷
初代

二代目

三代目

MapReduce Hive
データ
集計・反映
データ蓄積 HDFS,MySQL HDFS

Storm

広告配信時 MySQL
参照データ

KyotoTycoon

KyotoT...
システム構成の概要
※数値は2014年2月1日時点

120億件
(300GB)

6,000QPS
(3億件/日)

Storm

KyotoTycoon

4.4億件


運用のポイント


MQに余裕を持たせることで、Stormや

HBaseのメンテナンスがしやすい
 Zabbixで各種統計情報を取得し、パ
フォーマンス解析に活用


現状の課題
 キャッシュ破棄等で、HBaseのパフォー

マ...
四.FPGA導入への第一歩
必要な知識・スキル
ソフトウェア

1. HDL(ハードウェア定義言語)
2. FPGAの仕組み

ハードウェア

3. 論理電子回路

ネットワーク
この二つが分かっていれば、
「論理電子回路」はとても簡単です
1.

2.

論理演算(AND,OR・・・)
2進数計算

→調べてみてください
あとは、入門キット(20,000円~)を購入し、
HDLでコーディング/コンパイル

できたけど・・・
さっきの妄想を実現するには程遠い
次はもうちょっと本格的な評価キットを購入
し、新たなコーディング

ここまで出来れば、FPGAの扱いはOK!
参考:本格的なアプローチ
1.

回路設計
→回路CADのスキルも必要

2.

パターン設計
→アナログ/デジタル回路のスキルも必要

3.
4.

基板/部品組み立ての発注
HDLでコーディング/コンパイル

※実は、アプライアンス製品を買...
最後にもう一度・・・
そろそろ、
ソフトかハードか
フロントエンドかバックエンドか
そんなセクショナリズムを
打破しませんか?
ありがとうございました

株式会社マイクロアド

佐藤由紀

http://engineer.microad.jp/strawberry/
ソフトとかハードとか関係ございません
ソフトとかハードとか関係ございません
Upcoming SlideShare
Loading in...5
×

ソフトとかハードとか関係ございません

8,299

Published on

Developers Summit 2014(デブサミ2014) 佐藤由紀 発表資料

Published in: Technology

ソフトとかハードとか関係ございません

  1. 1. ソフトとかハードとか 関係ございません 株式会社マイクロアド 佐藤由紀 http://engineer.microad.jp/strawberry/
  2. 2. はじめに
  3. 3. 森は、海の恋人 1989年に宮城県気仙沼で始まった活動 漁民が山で広葉樹の植林を行う なぜ漁民が山で? ↓ 豊かな海を作るには 豊かな森が必要
  4. 4. マングース導入の失敗 ハブ駆除のため奄美大島にマングースを導入 ↓ ハブは駆除されず ウサギ等の固有種が減少
  5. 5. まとめると 海は海、山は山、と別々に考えず ハブとマングースだけを 入れた檻の中だけを考えず 山が良くなれば海が良くなると 全体として考える せめて、島全体まで考える
  6. 6. 部分最適解と全体最適解は異なる これは、自然科学における常識 システムの世界でも同じでは?
  7. 7. ひとつの表現として・・・ システムは 「ソフトウェア」 「ハードウェア」 「ネットワーク」 で構成される ということができる ソフトウェア=アプリケーション/ミドルウェア。 ハードウェア=OS/サーバ
  8. 8. アプリケーションエンジニア ソフトウェア ハードウェア サーバエンジニア ネットワーク ネットワークエンジニア スペシャリスト
  9. 9. ソフトウェア アプリケーションエンジニア ハードウェア サーバエンジニア ネットワーク セクショナリズム ネットワークエンジニア と混同? スペシャリスト
  10. 10. そろそろ、 ソフトかハードか フロントエンドかバックエンドか そんなセクショナリズムを 打破しませんか?
  11. 11. この提言のため、 FPGAをwebサービスへ導入 することの可能性についてお話します
  12. 12. 本日の流れ 一.FPGAとは 二.FPGAとの出会い 三.使い道の可能性 四.FPGA導入への第一歩
  13. 13. 一、FPGAとは
  14. 14. 一.FPGAとは Field-Programmable Gate Array 現場で 内部処理を書き換え可能な 論理回路チップ
  15. 15. 一.FPGAとは データウェアハウス(Netezza)  液晶ディスプレイの制御  超音波診断のリアルタイム表示  高速ネットワーク処理(ルータ等)  などに使われる、夢のチップ!
  16. 16. FPGA評価キットのボード FPGA
  17. 17. ソフトウェア FPGA ハードウェア 実現できる機能 ネットワーク モデルが簡易すぎ、わかりにくい再構築 ⇒ ⇒
  18. 18. レイヤ 機能 ソフトウェア ハードウェア ネットワーク
  19. 19. FPGA ソフトウェア機能も ハードウェア機能も ネットワーク機能も 実現可能
  20. 20. ソフトウェア、ハードウェア、ネットワーク の機能を実現できるFPGA 誰が扱うの? アプリケーションエンジニア? そんな議論は サーバエンジニア? 不毛だとは ネットワークエンジニア? 思いませんか?
  21. 21. もう一度・・・ そろそろ、 ソフトかハードか フロントエンドかバックエンドか そんなセクショナリズムを 打破しませんか?
  22. 22. 二、FPGAとの出会い
  23. 23. MicroAdにて 2011年に導入したNetezzaに FPGAが利用されている事から その有用性を知る Netezzaは、 アプライアンスの データウェアハウス
  24. 24. 通常のデータウェアハウス select/insert Netezza select/insert <専用> ネットワークコントローラ 特定処理の ためだけに 最適化 されている <汎用> きめ細かに 多種多様な CPU 事ができる OS FPGA FPGA メモリ コントローラ メモリ SATA コントローラ HDD メモリ HDD
  25. 25. 通常の反応 反射 (CPU的) (FPGA的) ③脳【判断/指示】 ①刺激 ①刺激 ②脊髄 ②脊髄 【既定の動作を指示】 FPGAは反射の際の脊髄のように、 瞬時に既定の動作を行う
  26. 26. 大量のデータを用い、高速化が 必要な処理にFPGAを活用できる ↓ MicroAdのシステムと 特徴が合致!
  27. 27. 三、使い道の可能性
  28. 28. MicroAdのご紹介 自社でプラットフォームシステムを開 発し、広告配信事業を行う会社 広告をオークション形式で配信 100円 主催 参加system system A 参加system 30円 Webユーザ B
  29. 29. オークション参加システム 「広告を見る人」 人 × 広告主サイト 相性 「表示ページ」 “どの広告”を “いくら”で 入札するかを 決定 広告 × 配信ページ 相性 人 × デモグラ情報 性別、居住地域、年代 人 × 広告閲覧回数 どの広告を何回見たか 等・・・
  30. 30. MicroAdのシステムの特徴 大量リクエスト(60億件/日)に対し  大量データ(10億件を10セット)を参照し  高速にレスポンス(5ミリ秒)する  FPGAが使えるかも?!
  31. 31. 使い道の可能性 大量リクエストのフィルタリング/正規化/ 処理の分岐  参照する大量データのKVSとして  妄想 オークション処理全てをFPGA上で 実現できたら、すごく面白いかもしれない
  32. 32. 状況 昨年12月より検証開始し、2014年夏に は一部導入予定。 検証は、こんな場所で実施しています
  33. 33. GARAGE
  34. 34. 東京湾付近某所
  35. 35. 小休止
  36. 36. 小休止:StormとHBaseの活用事例 StormとHbaseを活用したシステムを 開発し、2013年9月より稼働 実現機能: メインプロダクト に搭載した、 新しいリターゲティング機能
  37. 37. リターゲティングとは 再来訪を促す広告配信手法 (1)広告主サイト訪問 成約 (4)再来訪 (2)離脱 (3)追跡 他のサイトで広告を掲載 サイトを離れる
  38. 38. MicroAdのリターゲティングの変遷 初代 【リリース時期】2007年 【特徴】細やかなリタゲ設定が可能 二代目 【リリース時期】2011年 【特徴】リアルタイム性を向上 三代目 【リリース時期】2013年 【特徴】最も細やかなリタゲ設定ができ、 その上、リアルタイム(50ミリ秒) なデータ反映を実現
  39. 39. 三代目リターゲティングの特徴(1) “細やかなリタゲ設定”とは 設定の一例(ファッションECサイトの例) A)女性服のページに 三か月以内に5回~9回 B)子供服のページに 昨年の11月に2回以上 5回~9回 三か月前 現在 2回以上 11/1 11/30 C)二か月以内に購入 二か月前 「A and B not C」や「A and B and C」などの指定が可能 (もっと細やかな設定も可能) 現在
  40. 40. 処理時に参照するデータの量 細やかな 設定を実現 3 6 5 日 分 1日分 3時間分 初 代 二 代 目 三 代 目
  41. 41. 三代目リターゲティングの特徴(2) “50ミリ秒でのデータ反映” 広告主サイトに訪問 した瞬間(50ms) データが反映される ↓ 直後から、 その広告主の広告が 配信される (1)広告主 サイト訪問 (2)離脱 (3)追跡
  42. 42. データ反映タイムラグ リアルタイム化 を実現 2 4 時 間 2時間 初 代 二 代 目 50ミリ秒 三 代 目
  43. 43. 基盤となるミドルウェアの変遷 初代 二代目 三代目 MapReduce Hive データ 集計・反映 データ蓄積 HDFS,MySQL HDFS Storm 広告配信時 MySQL 参照データ KyotoTycoon KyotoTycoon HBase
  44. 44. システム構成の概要 ※数値は2014年2月1日時点 120億件 (300GB) 6,000QPS (3億件/日) Storm KyotoTycoon 4.4億件
  45. 45.  運用のポイント  MQに余裕を持たせることで、Stormや HBaseのメンテナンスがしやすい  Zabbixで各種統計情報を取得し、パ フォーマンス解析に活用  現状の課題  キャッシュ破棄等で、HBaseのパフォー マンスが劣化するタイミングがある
  46. 46. 四.FPGA導入への第一歩
  47. 47. 必要な知識・スキル ソフトウェア 1. HDL(ハードウェア定義言語) 2. FPGAの仕組み ハードウェア 3. 論理電子回路 ネットワーク
  48. 48. この二つが分かっていれば、 「論理電子回路」はとても簡単です 1. 2. 論理演算(AND,OR・・・) 2進数計算 →調べてみてください
  49. 49. あとは、入門キット(20,000円~)を購入し、 HDLでコーディング/コンパイル できたけど・・・ さっきの妄想を実現するには程遠い
  50. 50. 次はもうちょっと本格的な評価キットを購入 し、新たなコーディング ここまで出来れば、FPGAの扱いはOK!
  51. 51. 参考:本格的なアプローチ 1. 回路設計 →回路CADのスキルも必要 2. パターン設計 →アナログ/デジタル回路のスキルも必要 3. 4. 基板/部品組み立ての発注 HDLでコーディング/コンパイル ※実は、アプライアンス製品を買っちゃう方 法もありますよ。
  52. 52. 最後にもう一度・・・ そろそろ、 ソフトかハードか フロントエンドかバックエンドか そんなセクショナリズムを 打破しませんか?
  53. 53. ありがとうございました 株式会社マイクロアド 佐藤由紀 http://engineer.microad.jp/strawberry/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×