Scaling

3,429 views

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,429
On SlideShare
0
From Embeds
0
Number of Embeds
1,503
Actions
Shares
0
Downloads
25
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Scaling

  1. 1. Scaling? Cybozu Labs, Inc. Kazuho Oku
  2. 2. What is Scaling? <ul><li>「スケール」とはどういうことなのか </li></ul><ul><li>自分の過去を振り返った値をピックアップ </li></ul><ul><ul><li>details may vary </li></ul></ul>2009 年 9 月 25 日 Scaling?
  3. 3. 演算速度 <ul><li>ムーアの法則 </li></ul><ul><ul><li>18 ヶ月〜 24 ヶ月でトランジスタの集積度は 2 倍になる </li></ul></ul><ul><ul><li>Gordon E. Moore, Founder of Intel Corporation </li></ul></ul><ul><li>1989 年 : 80286 @ 12MHz / 1MB </li></ul><ul><ul><li>2 MIPS? </li></ul></ul><ul><li>2009 年 : Core 2 Quad @ 3GHz / 4GB </li></ul><ul><ul><li>60,000 MIPS? </li></ul></ul>2009 年 9 月 25 日 Scaling?
  4. 4. 2010 年には 20GHz? <ul><li>http://pc.watch.impress.co.jp/docs/2003/1105/intel.htm </li></ul>2009 年 9 月 25 日 Scaling?
  5. 5. フラッシュメモリ <ul><li>ファンの法則 </li></ul><ul><ul><li>フラッシュメモリの容量は 12 ヶ月で 2 倍 </li></ul></ul><ul><ul><li>黄昌圭 Samsung Electronics 社長 </li></ul></ul><ul><li>1998 年 : 4-8MB (MemoryStick 発売時 ) </li></ul><ul><li>2009 年 : 1-32GB (SD カード ) </li></ul>2009 年 9 月 25 日 Scaling?
  6. 6. HDD <ul><li>1989 年 : 40MB </li></ul><ul><li>2009 年 : 500GB </li></ul>2009 年 9 月 25 日 Scaling?
  7. 7. インターネット回線 <ul><li>1999 年 : 56Kbps-128Kbps (ADSL 直前 ) </li></ul><ul><li>2009 年 : 1.5Mbps-100Mbps </li></ul>2009 年 9 月 25 日 Scaling?
  8. 8. スケールしないものもある <ul><li>HDD のレイテンシ </li></ul><ul><ul><li>≒ 回転数 </li></ul></ul><ul><ul><li>20 年で約 ½ </li></ul></ul><ul><li>インターネットのレイテンシ </li></ul><ul><ul><li>東京〜サンフランシスコは約 8,300km </li></ul></ul><ul><ul><li>光の速度で 55msec (RTT) </li></ul></ul>2009 年 9 月 25 日 Scaling?
  9. 9. 4Gbps って速いの ? 2009 年 9 月 25 日 Scaling?
  10. 10. ¥ 4,350- のハブでも 12Gbps <ul><li>「スイッチング・ファブリック 12Gbps 」 </li></ul><ul><ul><li>4Gbps なら¥ 1,450- </li></ul></ul>2009 年 9 月 25 日 Scaling?
  11. 11. Perl で書いた HTTP サーバで 10Gbps <ul><li>Plack::Impl::Standalone::Prefork </li></ul><ul><ul><li>HTTP パーサ部分は C </li></ul></ul><ul><ul><li>ベンチマーク条件 </li></ul></ul><ul><ul><ul><li>linux 2.8.27 (x86_64; Core 2 Quad @ 3GHz) </li></ul></ul></ul><ul><ul><ul><li>約 2MB の画像を HTTP GET </li></ul></ul></ul>2009 年 9 月 25 日 Scaling?
  12. 12. HDD からランダムリードなら ... <ul><li>HDD から平均 1KB のデータをランダムリードしているなら </li></ul><ul><ul><li>0.5Gbytes/sec ÷ 1024bytes ÷ 240io-ops./sec </li></ul></ul><ul><ul><li> = 約 2,000 台 </li></ul></ul>2009 年 9 月 25 日 Scaling?
  13. 13. 遅いのは HDD? <ul><li>HDD にアクセスするソフトウェア </li></ul><ul><ul><li>RDBMS </li></ul></ul><ul><ul><li>ファイルストレージ </li></ul></ul><ul><li>SSD は部分的解決策 </li></ul><ul><ul><li>問題点は価格 </li></ul></ul><ul><li>他に CPU intensive な処理もある </li></ul><ul><ul><li>例 : XML のパース </li></ul></ul>2009 年 9 月 25 日 Scaling?
  14. 14. なぜ「スケールアウト」が流行るのか <ul><li>スケールアウトは 2000 年代のトレンド </li></ul><ul><ul><li>ソフトウェア製品からソフトウェアサービスへ </li></ul></ul><ul><ul><li>マスメディアからコミュニケーションツールへ </li></ul></ul><ul><ul><ul><li>例 : Yahoo! vs. Mixi </li></ul></ul></ul><ul><ul><li>多人数間の、疎なソーシャルグラフ </li></ul></ul><ul><ul><ul><li>ユーザーが 1,000 万人いても、友達は 100 人とか </li></ul></ul></ul><ul><ul><ul><li>規模は増大したが、グラフは疎になった </li></ul></ul></ul><ul><li>↓ </li></ul><ul><li>( 従来よりも ) スケールアウトが容易な課題 </li></ul>2009 年 9 月 25 日 Scaling?
  15. 15. 代表的な「スケールアウト」技術 <ul><li>RDB Sharding </li></ul><ul><li>MapReduce / Hadoop </li></ul><ul><ul><li>もしくは Web クローラ等 </li></ul></ul><ul><li>KVS </li></ul><ul><ul><li>memcached, Flare, kumofs, ... </li></ul></ul><ul><li>Message Queue </li></ul><ul><ul><li>ActiveMQ, AMQP, Q4M, ... </li></ul></ul>2009 年 9 月 25 日 Scaling?
  16. 16. 3 層構成 <ul><li>HTTP サーバ </li></ul><ul><ul><li>静的コンテンツのハンドリング </li></ul></ul><ul><ul><li>アプリケーションサーバへの中継 </li></ul></ul><ul><li>アプリケーションサーバ </li></ul><ul><ul><li>プログラマの作業をここに集中 </li></ul></ul><ul><ul><li>生産性の高さが重要 </li></ul></ul><ul><li>ストレージ </li></ul><ul><ul><li>RDBMS, memcached, MQ, ... </li></ul></ul>2009 年 9 月 25 日 Scaling?
  17. 17. 「スケールアップ」の逆襲 <ul><li>規模の拡大 vs. ムーアの法則 </li></ul>2009 年 9 月 25 日 Scaling?

×