Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Scaling

3,551 views

Published on

Published in: Technology
  • Be the first to comment

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?

×