多核时代,Erlang的时代.pdfVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多核时代,Erlang的时代 去年,我们请袁泳先生介绍了Scheme语言;今年,我们再请金山公司技术总监许式伟介绍一下 Erlang。对于程序员来说,尝试新的语言总是令人兴奋的事情。 ■文,许式伟 并行趋势 为常态一样,随着核的增加,线程锁冲突也将成为常态。 免费午餐已经结束。尽管我们可以使用的CPU频率 而这使得本来可以并行执行线程因为锁的关系而实际在 已经越来越高,以至于我们不少人称这是一个“CPU计算 串行执行。为了改善这种情况,在 “共享内存并行模型” 能力过剩的时代”。但是其实事实恰恰相反。CPU性能提 中,有一个很流行的技术,称为“software transactional 升在两年前就开始碰壁,但大多数人到了最近才有所觉察。 memory(事务内存)”。它本质上是一个乐观的锁,在多 大概在2003年初,一路高歌猛进的CPU时钟速度突然急 核下仍然存在性能瓶颈。我们看一组数据 (来自:Lock 刹车。受制于一些物理问题,如散热 (发热量太大且难以 Free Data Structures using STM in Haskel1): 驱散)、功耗 (太高)以及泄漏问题等,时钟速度的提升 已经越来越难。从单个CPU角度来讲,摩尔定律已经不 再适用了。 接下来数年里,新型芯片的性能提升将主要从三个方 面入手,其中仅有一个沿袭是过去的: 1超线程 2 多核 3 缓存 这些趋势看来归纳起来就一句话:并行趋势已经变得 非常明朗,软件在历史性地向并行靠拢。 共享内存并行模型的宿命 随着多核趋势的明朗,对软件来说,这意味着一次巨 Figure l:Unlprocessor Performance 变。多核时代,注定要改变计算机发展历史。在我们还在 努力学习OO方法论时,却不知,一场新的颠覆性的编程 革命到来了。 这场编程革命是什么呢?那就是 “并行编程”。也许 你会说,不就是 “CreateThread和锁”吗,我已经会了。 但这是完全不同的“并行编程”风格,我们可以称之为“无 锁并行编程”,也可以称之为“基于异步消息传递的并行 编程模型”。 在传统的并行模型中,我们通常的做法在线程之间共 享内存,并基于 “锁”技术来进行并发控制。这种编程模 型,我们称之为“共享内存并行模型”。 核的增加导致一个结果,那就是基于传统锁机制实 现的并行,产生线程竞争状态的概率越来越高。这就像 在集群的机器数量到达一定数量后,机器发生宕机会成 Figure 2:Two Processor Performance 2008 O5 1O3 、 个图依次在单核,2核,4核,6核,8核的情况下测试。 这组数据里表明,在单核的情况下,STM的性能和 o 常规锁几乎等同,多核情况下STM确实降低了锁的开销。 o [ 但是,这里面有几个关键点需要注意: [ 1. 无论是常规锁还是STM,做同样的事情的代价随 U 着核个数的增加反而变慢 (随着核的增加,两条曲线都变 l一 得更陡)。这听起来似乎很奇怪,怎么我机器变好了,性 能反而差了? 2. 尽管S

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档