SlideShare a Scribd company logo
1 of 55
Download to read offline
ソフトとかハードとか
関係ございません
株式会社マイクロアド

佐藤由紀

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

事ができる

OS

FPGA
FPGA
メモリ
コントローラ

メモリ

SATA
コントローラ

HDD

メモリ

HDD
通常の反応

反射

(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年
【特徴】最も細やかなリタゲ設定ができ、
その上、リアルタイム(50ミリ秒)
なデータ反映を実現
三代目リターゲティングの特徴(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」などの指定が可能
(もっと細やかな設定も可能)

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

1日分

3時間分

初
代

二
代
目

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

(1)広告主
サイト訪問

(2)離脱

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

リアルタイム化
を実現

2
4
時
間
2時間
初
代

二
代
目

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

二代目

三代目

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

Storm

広告配信時 MySQL
参照データ

KyotoTycoon

KyotoTycoon

HBase
システム構成の概要
※数値は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/

More Related Content

More from MicroAd, Inc.(Engineer)

More from MicroAd, Inc.(Engineer) (20)

Chromeの3rd Party Cookie廃止とインターネット広告への影響
Chromeの3rd Party Cookie廃止とインターネット広告への影響Chromeの3rd Party Cookie廃止とインターネット広告への影響
Chromeの3rd Party Cookie廃止とインターネット広告への影響
 
ベアメタルで実現するSpark&Trino on K8sなデータ基盤
ベアメタルで実現するSpark&Trino on K8sなデータ基盤ベアメタルで実現するSpark&Trino on K8sなデータ基盤
ベアメタルで実現するSpark&Trino on K8sなデータ基盤
 
DDD&Scalaで作られたプロダクトはその後どうなったか?(Current state of products made with DDD & Scala)
DDD&Scalaで作られたプロダクトはその後どうなったか?(Current state of products made with DDD & Scala)DDD&Scalaで作られたプロダクトはその後どうなったか?(Current state of products made with DDD & Scala)
DDD&Scalaで作られたプロダクトはその後どうなったか?(Current state of products made with DDD & Scala)
 
InternetWeek2022 - インターネット広告の羅針盤
InternetWeek2022 - インターネット広告の羅針盤InternetWeek2022 - インターネット広告の羅針盤
InternetWeek2022 - インターネット広告の羅針盤
 
マイクロアドにおけるデータストアの使い分け
マイクロアドにおけるデータストアの使い分けマイクロアドにおけるデータストアの使い分け
マイクロアドにおけるデータストアの使い分け
 
データセンターネットワークの構成について
データセンターネットワークの構成についてデータセンターネットワークの構成について
データセンターネットワークの構成について
 
インフラ領域の技術スタックや業務内容について紹介
インフラ領域の技術スタックや業務内容について紹介インフラ領域の技術スタックや業務内容について紹介
インフラ領域の技術スタックや業務内容について紹介
 
RTBにおける機械学習の活用事例
RTBにおける機械学習の活用事例RTBにおける機械学習の活用事例
RTBにおける機械学習の活用事例
 
アドテクを支える基盤 〜10Tバイト/日のビッグデータを処理する〜
アドテクを支える基盤 〜10Tバイト/日のビッグデータを処理する〜アドテクを支える基盤 〜10Tバイト/日のビッグデータを処理する〜
アドテクを支える基盤 〜10Tバイト/日のビッグデータを処理する〜
 
アドテクを支える技術 〜1日40億リクエストを捌くには〜
アドテクを支える技術 〜1日40億リクエストを捌くには〜アドテクを支える技術 〜1日40億リクエストを捌くには〜
アドテクを支える技術 〜1日40億リクエストを捌くには〜
 
アドテクに機械学習を組み込むための推論の高速化
アドテクに機械学習を組み込むための推論の高速化アドテクに機械学習を組み込むための推論の高速化
アドテクに機械学習を組み込むための推論の高速化
 
マイクロアドのデータ基盤について アドテクを支える基盤〜10Tバイト/日のビッグデータを処理する〜
マイクロアドのデータ基盤について アドテクを支える基盤〜10Tバイト/日のビッグデータを処理する〜マイクロアドのデータ基盤について アドテクを支える基盤〜10Tバイト/日のビッグデータを処理する〜
マイクロアドのデータ基盤について アドテクを支える基盤〜10Tバイト/日のビッグデータを処理する〜
 
アドテクを支える技術 〜1日40億リクエストを捌くには〜
アドテクを支える技術 〜1日40億リクエストを捌くには〜アドテクを支える技術 〜1日40億リクエストを捌くには〜
アドテクを支える技術 〜1日40億リクエストを捌くには〜
 
RTBにおける機械学習の活用事例
RTBにおける機械学習の活用事例RTBにおける機械学習の活用事例
RTBにおける機械学習の活用事例
 
社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -
社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -
社内問い合わせ&申請・承認業務の 管理方法 - Jira Service Management 事例紹介 -
 
Digdagを用いた大規模広告配信ログデータの加工と運用
Digdagを用いた大規模広告配信ログデータの加工と運用Digdagを用いた大規模広告配信ログデータの加工と運用
Digdagを用いた大規模広告配信ログデータの加工と運用
 
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
これから機械学習エンジニアとして戦っていくみなさんへ ~MLOps というマインドセットについて~
 
インターネット広告の概要とシステム設計
インターネット広告の概要とシステム設計インターネット広告の概要とシステム設計
インターネット広告の概要とシステム設計
 
アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング
アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング
アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング
 
Cumulus Linuxを導入したワケ
Cumulus Linuxを導入したワケCumulus Linuxを導入したワケ
Cumulus Linuxを導入したワケ
 

Recently uploaded

Recently uploaded (12)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 

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