注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

gmd20的个人空间

// 编程和生活

 
 
 

日志

 
 

cpu内存访问速度,磁盘和网络速度,所有人都应该知道的数字  

2012-05-11 10:21:45|  分类: 程序设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
google 工程师Jeff Dean 首先在他关于分布式系统的ppt文档列出来的,到处被引用的很多。

1纳秒等于10亿分之一秒,= 10 ^ -9 秒 
-----------------------------------------------------------
Numbers Everyone Should Know
L1 cache reference                             0.5 ns
Branch mispredict                              5 ns
L2 cache reference                             7 ns
Mutex lock/unlock                            100 ns
Main memory reference                        100 ns
Compress 1K bytes with Zippy              10,000 ns
Send 2K bytes over 1 Gbps network         20,000 ns
Read 1 MB sequentially from memory       250,000 ns
Round trip within same datacenter        500,000 ns
Disk seek                             10,000,000 ns
Read 1 MB sequentially from network   10,000,000 ns
Read 1 MB sequentially from disk      30,000,000 ns
Send packet CA->Netherlands->CA      150,000,000 ns
---------------------------------------------------------------
后面举了一个利用上面数值来估算某个服务的需要的大概时间,
Back of the Envelope Calculations
How long to generate image results page (30 thumbnails)?
Design 1: Read serially, thumbnail 256K images on the fly
30 seeks * 10 ms/seek + 30 * 256K / 30 MB/s = 560 ms
Design 2: Issue reads in parallel:
10 ms/seek + 256K read / 30 MB/s = 18 ms
(Ignores variance, so really more like 30-60 ms, probably)
Lots of variations:
– caching (single images?  whole sets of thumbnails?)
– pre-computing thumbnails
– …
Back of the envelope helps identify most promising…
--------------------------------------------------------------------------
How long to quicksort 1 GB of 4 byte numbers?
Comparisons: lots of unpredictable branches
log(2^28) passes over 2^28 numbers = ~2^33 comparisons
~1/2 will mispredict, so 2^32 mispredicts * 5 ns/mispredict = 21 secs
Memory bandwidth: mostly sequential streaming
2^30 bytes * 28 passes = 28 GB.  Memory BW is ~4 GB/s, so ~7 secs
So, it should take ~30 seconds to sort 1 GB on one CPU
------------------------------------------------------------------------------
  评论这张
 
阅读(799)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017