由erlang语言,兼谈并行计算、分布式存储.pptVIP

由erlang语言,兼谈并行计算、分布式存储.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
引言1 传说中的当当技术运营部 动辄上T;比如当当网运营的机器总数、数据库数量、用户数量,都成快速增长的趋势 传说中的IP-Tracking 据不完全统计,每月6-8亿条数据 传说中的ebay 从几十台短短几年内增长到数万台,成爆炸性增长 引言2 超线程技术 Hyper-Threading,HT 逻辑处理器:超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,从而兼容多线程操作系统和软件,提高处理器的性能。 OS的支持(Linux 对称多处理(SMP)内核都支持超线程、windows从XP之后也支持) 2009年,Intel新一代顶级处理器Core i7也支持超线程技术,超线程技术令Core i7可以由四核模拟出八核 多核 物理处理器 上多核时代,市场上从双核到4核、甚至8核;国外的实验室中已经应用到32核 网络 局域网内百兆-千兆;google使用的是光纤 引言3 未来2-5年 16核CPU*8个超线程/每CPU;如果再乘以10台机器的集群 = ? 如果那时候你还不了解并行计算或分布式计算? 分布式计算、并行编程1 并行算法设计- Ian Foster的四步并行算法设计过程(1995) 1 划分 - 划分是将计算和数据进行分片的过程 2 通信 3 聚集与映射-聚集是为改善性能或简化编程而将任务合并为最大,聚集的目标之一是降低通信开销,映射是将任务分配到处理器 4 分析 分布式计算、并行编程3 c++并行计算类库 VS2010 提供了 Parallel Patterns Library (PPL ) boost中asio 低端IO编程和网络库、interprocess 进程间通信库 intel TBB(Threading Building Blocks)类库 针对多核并行计算 分布式计算、并行编程4 1. #includeiostream 2. #includetbb/task_scheduler_init.h 3. #includetbb/blocked_range.h 4. #includetbb/parallel_reduce.h 5. 6. using namespace std; 7. using namespace tbb; 8. 9. class MinObject{ 10. float *arr_; 11. public: 12. float minValue; 13. int minIdx; 14. MinObject(float *arr); 15. MinObject(MinObject other,split); 16. void operator()(const blocked_rangesize_t range); 17. void join(MinObject other); 18. }; 19. 20. MinObject::MinObject(float *arr):arr_(arr),minValue(0),minIdx(0){} 21. 22. MinObject::MinObject(MinObject other,split):arr_(other.arr_),minValue(0),minIdx(0){} 23. 24. void 25. MinObject::operator()(const blocked_rangesize_t range){ 26. minIdx=range.begin(); 27. minValue=arr_[minIdx]; 28. for(size_t i=range.begin();i!=range.end();++i) 29. if(minValuearr_[i]){ 30. minIdx=i; 31. minValue=arr_[i]; 32. } 33. } 34. 35. 函数式编程1 相较於OOP是往真实世界的方向进行抽象,FP却是往数学的方向进行抽象。 /cn/fp 著名的函数式编程语言:LISP F# erlang 函数式编程2 特点1 纯函数式的程序没有变量和副作用 解释:函数式运算元,在函数内保存数据,函数内的运算对

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档