Suche senden
Hochladen
Ad tech 20121030
•
Als KEY, PDF herunterladen
•
25 gefällt mir
•
3,894 views
A
ajiyoshi
Folgen
Diashow-Anzeige
Melden
Teilen
Diashow-Anzeige
Melden
Teilen
1 von 43
Jetzt herunterladen
Empfohlen
MT東京-09 Movable Type Meetup JSON
MT東京-09 Movable Type Meetup JSON
bitpart
Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014
Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014
bitpart
20140903 Movable Type Seminar
20140903 Movable Type Seminar
Six Apart
20140908 Movable Type Seminar
20140908 Movable Type Seminar
Six Apart
Movable Type as a Playground
Movable Type as a Playground
Taku AMANO
Word camptokyo2012セッション資料
Word camptokyo2012セッション資料
horike37
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
Katsuhisa Ogawa
DrupalとWEB高速化 CDNについて
DrupalとWEB高速化 CDNについて
Katsuhisa Ogawa
Empfohlen
MT東京-09 Movable Type Meetup JSON
MT東京-09 Movable Type Meetup JSON
bitpart
Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014
Movable Type Meetup JSON - MTDDC Meetup TOKYO 2014
bitpart
20140903 Movable Type Seminar
20140903 Movable Type Seminar
Six Apart
20140908 Movable Type Seminar
20140908 Movable Type Seminar
Six Apart
Movable Type as a Playground
Movable Type as a Playground
Taku AMANO
Word camptokyo2012セッション資料
Word camptokyo2012セッション資料
horike37
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
CDNで高速化!Drupal認証ユーザーむけページキャッシュ設定
Katsuhisa Ogawa
DrupalとWEB高速化 CDNについて
DrupalとWEB高速化 CDNについて
Katsuhisa Ogawa
VIOPS - 現役高校生が実装するSkip Graph with Erlang
VIOPS - 現役高校生が実装するSkip Graph with Erlang
Chijiwa Daiki
Freeで始めるゲームcg
Freeで始めるゲームcg
masasann
Ad tech 勉強会 20140115
Ad tech 勉強会 20140115
ajiyoshi
忍者AdMaxによる収益最大化
忍者AdMaxによる収益最大化
webthink
Ruby使いのためのScalaのススメ
Ruby使いのためのScalaのススメ
Ouka Yuka
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
Eiji Shinohara
東急ハンズのクラウドデザインパターン アーキテクチャー編
東急ハンズのクラウドデザインパターン アーキテクチャー編
一成 田部井
JP_Chaosmap 2013 Autumn
JP_Chaosmap 2013 Autumn
Hiroshi Kondo
Global AWS AdTech use-cases
Global AWS AdTech use-cases
Eiji Shinohara
メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門
メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門
Shoho Kozawa
AWSを活用したリアルタイム広告の入札・配信・ログ解析 #hcj13w
AWSを活用したリアルタイム広告の入札・配信・ログ解析 #hcj13w
Takahiro Yasuda
ブラックボックスなアドテクを機械学習で推理してみた Short ver
ブラックボックスなアドテクを機械学習で推理してみた Short ver
尚行 坂井
「YDNの広告のCTRをオンライン学習で予測してみた」#yjdsw4
「YDNの広告のCTRをオンライン学習で予測してみた」#yjdsw4
Yahoo!デベロッパーネットワーク
Real world erlang
Real world erlang
ajiyoshi
Production Services with Gentoo Linux on SAKURA Cloud
Production Services with Gentoo Linux on SAKURA Cloud
Hidenori Matsuki
Rtb30min
Rtb30min
Daisuke Yamazaki
P1様 dsp spire_111218
P1様 dsp spire_111218
Kenta Arai
Rtbマネタイズセミナー@(20120324、abc2012)資料
Rtbマネタイズセミナー@(20120324、abc2012)資料
Hiroki Morishima
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
Riakmeetup2forupload
Riakmeetup2forupload
Tatsuro Hisamori
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
h2so5
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報
モノビット エンジン
Weitere ähnliche Inhalte
Andere mochten auch
VIOPS - 現役高校生が実装するSkip Graph with Erlang
VIOPS - 現役高校生が実装するSkip Graph with Erlang
Chijiwa Daiki
Freeで始めるゲームcg
Freeで始めるゲームcg
masasann
Ad tech 勉強会 20140115
Ad tech 勉強会 20140115
ajiyoshi
忍者AdMaxによる収益最大化
忍者AdMaxによる収益最大化
webthink
Ruby使いのためのScalaのススメ
Ruby使いのためのScalaのススメ
Ouka Yuka
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
Eiji Shinohara
東急ハンズのクラウドデザインパターン アーキテクチャー編
東急ハンズのクラウドデザインパターン アーキテクチャー編
一成 田部井
JP_Chaosmap 2013 Autumn
JP_Chaosmap 2013 Autumn
Hiroshi Kondo
Global AWS AdTech use-cases
Global AWS AdTech use-cases
Eiji Shinohara
メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門
メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門
Shoho Kozawa
AWSを活用したリアルタイム広告の入札・配信・ログ解析 #hcj13w
AWSを活用したリアルタイム広告の入札・配信・ログ解析 #hcj13w
Takahiro Yasuda
ブラックボックスなアドテクを機械学習で推理してみた Short ver
ブラックボックスなアドテクを機械学習で推理してみた Short ver
尚行 坂井
「YDNの広告のCTRをオンライン学習で予測してみた」#yjdsw4
「YDNの広告のCTRをオンライン学習で予測してみた」#yjdsw4
Yahoo!デベロッパーネットワーク
Andere mochten auch
(13)
VIOPS - 現役高校生が実装するSkip Graph with Erlang
VIOPS - 現役高校生が実装するSkip Graph with Erlang
Freeで始めるゲームcg
Freeで始めるゲームcg
Ad tech 勉強会 20140115
Ad tech 勉強会 20140115
忍者AdMaxによる収益最大化
忍者AdMaxによる収益最大化
Ruby使いのためのScalaのススメ
Ruby使いのためのScalaのススメ
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
[要約] Building a Real-Time Bidding Platform on AWS #AWSAdTechJP
東急ハンズのクラウドデザインパターン アーキテクチャー編
東急ハンズのクラウドデザインパターン アーキテクチャー編
JP_Chaosmap 2013 Autumn
JP_Chaosmap 2013 Autumn
Global AWS AdTech use-cases
Global AWS AdTech use-cases
メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門
メディアマネタイズは次の世界へ。プライベートマーケットプレイス超入門
AWSを活用したリアルタイム広告の入札・配信・ログ解析 #hcj13w
AWSを活用したリアルタイム広告の入札・配信・ログ解析 #hcj13w
ブラックボックスなアドテクを機械学習で推理してみた Short ver
ブラックボックスなアドテクを機械学習で推理してみた Short ver
「YDNの広告のCTRをオンライン学習で予測してみた」#yjdsw4
「YDNの広告のCTRをオンライン学習で予測してみた」#yjdsw4
Ähnlich wie Ad tech 20121030
Real world erlang
Real world erlang
ajiyoshi
Production Services with Gentoo Linux on SAKURA Cloud
Production Services with Gentoo Linux on SAKURA Cloud
Hidenori Matsuki
Rtb30min
Rtb30min
Daisuke Yamazaki
P1様 dsp spire_111218
P1様 dsp spire_111218
Kenta Arai
Rtbマネタイズセミナー@(20120324、abc2012)資料
Rtbマネタイズセミナー@(20120324、abc2012)資料
Hiroki Morishima
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
mganeko
Riakmeetup2forupload
Riakmeetup2forupload
Tatsuro Hisamori
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
h2so5
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報
モノビット エンジン
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議
Shinra_Technologies
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
Tatsuro Hisamori
デブサミ2013【15-C-6】5msの中身を公開!~ネット広告配信と支える職人達~
デブサミ2013【15-C-6】5msの中身を公開!~ネット広告配信と支える職人達~
Developers Summit
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 - モノビットエンジン - GTMF 2018 O...
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 - モノビットエンジン - GTMF 2018 O...
Game Tools & Middleware Forum
Adstir説明資料ver3.2(2012年9月5日)
Adstir説明資料ver3.2(2012年9月5日)
AdStir
WebRTC SFU Mediasoup Sample update
WebRTC SFU Mediasoup Sample update
mganeko
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
MPSoCのPLの性能について
MPSoCのPLの性能について
marsee101
Fluentd meetup #2
Fluentd meetup #2
Tomohiro Ikeda
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Developers Summit
Vrodeo agenda 200930
Vrodeo agenda 200930
Junji Nishihara
Ähnlich wie Ad tech 20121030
(20)
Real world erlang
Real world erlang
Production Services with Gentoo Linux on SAKURA Cloud
Production Services with Gentoo Linux on SAKURA Cloud
Rtb30min
Rtb30min
P1様 dsp spire_111218
P1様 dsp spire_111218
Rtbマネタイズセミナー@(20120324、abc2012)資料
Rtbマネタイズセミナー@(20120324、abc2012)資料
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
Riakmeetup2forupload
Riakmeetup2forupload
DXライブラリでMMO作ったよ!
DXライブラリでMMO作ったよ!
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報
シンラ・テクノロジー第2回クラウドゲーム開発者会議
シンラ・テクノロジー第2回クラウドゲーム開発者会議
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
デブサミ2013【15-C-6】5msの中身を公開!~ネット広告配信と支える職人達~
デブサミ2013【15-C-6】5msの中身を公開!~ネット広告配信と支える職人達~
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 - モノビットエンジン - GTMF 2018 O...
VRライブ・コミュニケーションサービス「バーチャルキャスト」でのモノビットエンジンの採用事例と最新情報 - モノビットエンジン - GTMF 2018 O...
Adstir説明資料ver3.2(2012年9月5日)
Adstir説明資料ver3.2(2012年9月5日)
WebRTC SFU Mediasoup Sample update
WebRTC SFU Mediasoup Sample update
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
MPSoCのPLの性能について
MPSoCのPLの性能について
Fluentd meetup #2
Fluentd meetup #2
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
Vrodeo agenda 200930
Vrodeo agenda 200930
Ad tech 20121030
1.
ErlangによるSSP側RTB
@ajiyoshi from adingo
2.
広告 HERE!
3.
RTB • Real Time
Bidding • ご存知のとおり、広告の価格をリアル タイムのオークションで決める仕組み
4.
広告リクエスト
媒体側 広告 Browser サーバ (SSP)
5.
Bid リクエスト
媒体側 広告 Browser サーバ 広告主側 (SSP) 広告サーバ (DSP)
6.
Bid
10 媒体側 広告 20 Browser サーバ 広告主側 (SSP) 30 広告サーバ (DSP) 15
7.
オークション
10 媒体側 広告 20 Browser サーバ 広告主側 (SSP) 30 広告サーバ (DSP) 15 ※generally “second price auction” second highest bid price will be the contract price
8.
勝者の広告を表示
10 媒体側 広告 20 Browser サーバ 広告主側 (SSP) 30 広告サーバ (DSP) 15
9.
問題 • これを作るとして、どう設計するか
10.
cf. DSP • http://d.hatena.ne.jp/yamaz/20111026
• RTB用のADサーバこそ最強である必 要がある件
11.
cf. DSP • 全SSP分のbidリクエストを受けきるパ
ワーが必要 • 普通のadサーバとして非常に強力であ る必要がある
12.
SSP • 100億RTB imp
x DSP10社 → 1000億bid • 外部ネットワークアクセス • ラック内ではない • 同じL2にぶら下がるわけでもない • 普通のadサーバならやりたくない
13.
要件 • 堅牢であること • 高速であること
• < 100msec (可能なら) • ネットワークIOでブロックしないこと • 適切なタイムアウト処理(超重要)
14.
IOでブロックしない • マルチスレッド、マルチプロセス • IO多重化
• select epoll libeioなど • IO多重化+イベントドリブン • libevなど
15.
タイムアウトはお ですか
16.
タイムアウト(curl) • CURLOPT_CONNECTTIMEOUT • CURLOPT_CONNECTTIMEOUT_MS •
CURLOPT_TIMEOUT • CURLOPT_TIMEOUT_MS
17.
なにそれ怖い
18.
タイムアウト •
CURLOPT_TIMEOUT_MS • cURL 関数の実行にかけられる最大のミ リ秒数。 システムの標準の名前解決を 使うように libcurl をビルドしている場合 は、 接続のタイムアウトは秒単位の精 度となり、最小のタイムアウトは 1 秒と なります。
19.
なにそれも怖い
20.
タイムアウト処理 •
個別の接続 • socket APIはコネクションと転送のタイムアウ トが別… • 処理全体 • 処理全体でのタイムアウトを記述するのはよ くある言語だと結構ツラい • リクエスト毎に監視用のスレッドを立て る? • signalを飛ばす?
21.
選択肢 • libev や
libeio などを使ってCで書く • node.js (内部でlibev libeio を使用) • 軽量プロセスを持つ言語(Erlangなど)
22.
Cで書く • pros •
動作が早い
23.
Cで書く • cons •
メモリリークが怖い • マルチスレッドは地獄(特に保守) • タイムアウト処理の記述が地獄
24.
node.jsを使う • pros •
イベントループやIO多重化を自分で書 かなくていい • メモリ解放を自分で書かなくていい
25.
node.jsを使う •
cons • コールバック地獄 • シングルスレッド • タイムアウトは結局地獄 • 枯れていない • 頻繁なバージョンアップ
26.
Erlang • pros •
軽量プロセス • 枯れている&安定している • 記述が超楽 • まさにこのためにあるような言語
27.
Erlang • cons •
Erlangを使える技術者が少ない
28.
Erlang
29.
Erlang • エリクソンの研究所で開発された言語 • 1998年にオープンソース化 •
軽量プロセスを持つ関数型言語 • TwitterやHerokuなどが使用してたり • もちろんエリクソンも使用
30.
Erlangの利点(1) • 軽量プロセス •
ユーザプロセス • コンテキストスイッチが高速 • 1プロセスに最低309ワードのメモリ • プロセス毎のGC • アクター同士のメッセージパッシング
31.
Erlangの利点(2) • 再代入がない •
副作用+マルチスレッド=地獄 • 各プロセスは資源を共有しない
32.
Erlangの利点(3) • タイムアウトの実装が超楽 •
プロセスが軽量なので監視プロセス をリクエスト毎に作っても楽勝 • 単にメッセージ受信にタイムアウトを 設定するだけでもよい
33.
Erlangの性能 http://dsas.blog.klab.org/archives/51993306.html
TCP echo サーバの秒間処理数
34.
klabの人の考察 しかし、CPU負荷をモニタリングしていると、thread版はほんの少し速いだ けなのにCPUを200% 使いきっており、CPU負荷のうちでも sys
が多い状況 になっていました。これは、ネイティブスレッドの コンテキストスイッチ の負荷だと思います。 なので、最速TCPサーバーの条件とは、基本的にネイティブスレッドではな く軽量なユーザーランド スレッドかイベント駆動方式で接続の多重化を行 いつつ、なおかつ複数コアを利用するために コア数程度のネイティブス レッドかプロセスを利用するという物になると思います。
35.
やってみた • RTB処理専用のdaemonをErlangで実装 •
既存システムはErlangでないので • 既存システムからリクエストを受けて オークション結果を返す • 処理全体で120msecタイムアウト
36.
性能 • 約30億 bid/月 •
約1.1億 bid/日(8月の実績) • ピーク時 約5000 bid/秒 • ※サンプリングによる概算
37.
タイムアウト フロントエンドの応答時間分布(両対数)
38.
堅牢性 • メモリリークは特に観測されていない • ボトルネックも特になし •
VMを含むクラッシュも今の所なし • ソースコードわずか2400行 • Cだったら何万行になるか…
39.
要件(再掲) •
堅牢であること→OK • 高速であること→OK • ネットワークIOでブロックしないこと →OK(軽量プロセスで解決) • 適切なタイムアウト処理(超重要) →OK(軽量プロセスで解決)
40.
ロバートと私はともによくLispを知っていて、私達の直観を覆すようないかなる 理由も見当た らなかった。他の誰もがC++やPerlを使っていることは知っていた。 でもそれは私達には何の 意味もないことだった。もし、他の誰もが使っているからと
いう理由で技術を選ぶなら、 Windowsを走らせておけばいいのさ。 技術を選択する時は、他の人がどうやっているかなんて 無視して、 何が最適かを見極めることだけを考えるべきだ。 特にベンチャー企業ではそうだ。大企業では、他の大企業がやっているのと 同じようなこと をしていても良い。ベンチャーは他のベンチャーと同じことを やっていてはいけない。このこ とに、ベンチャー企業の中に居てさえ 気付いていない人が多いんじゃないかと思う。 平均的な大企業は年に10%成長する。だから、あなたが大企業を経営していて、 他の大企業が やっているのと全く同じようにやっていれば、 やはり年に10%くらいの成長が期待できるだろ う。 もちろん、同じ論理はベンチャー企業にも成り立つ。 もしあなたが平均的なベンチャー企業 と同じことをやっていれば、 平均的な成長率が期待できる。問題は、だ。ベンチャー企業の 平均的な成長とは、 すなわち、潰れてしまうということだ。ベンチャー企業の生存率は50%よ りはるかに 小さい。したがって、ベンチャーをやるなら何か変わったことをしなければなら ない。 そうでなければ、困ったことになる。
41.
普通の奴らの上をいけ http://practical-scheme.net/trans/beating-the-averages-j.html
42.
cf. adgear trader •
http://ferd.ca/rtb-where-erlang-blooms.html
43.
まとめ • Erlangかわいい • 細かいIO処理を大量に捌く用途に最適 •
それでいて堅牢
Hinweis der Redaktion
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Jetzt herunterladen