首页 | 技术文章 | 资料下载 | 资料分类 | 最近更新资料 | 免费注册 | 用户登录 | 会员中心 | 新手上路 | 给我留言
设为主页
收藏本站
联系我们
| 应用产品 | 嵌入式系统 | DSP | 综合电子技术 | 软件开发 | 开发工具
资料搜索:   | 发布资料 | 发表文章 |
当前位置: 文章首页软件开发算法设计→算法的力量(下)
算法的力量(下)
作者:  来源于:  发布时间:2008-9-1 17:29:00

  那么Google是如何解决这些问题的?
    
首先,在网络时代,就算有最好的算法,也要能在并行计算的环境下执行。在Google的数据中心,我们使用的是超大的并行计算机。但传统的并行算法运行时,效率会在增加机器数量后迅速降低,也就是说,十台机器如果有五倍的效果,增加到一千台时也许就只有几十倍的效果。这种事半功倍的代价是没有哪家公司可以负担得起的。而且,在许多并行算法中,只要一个结点犯错误,所有计算都会前功尽弃。
    
那么Google是如何开发出既有效率又能容错的并行计算的呢?
     Google
最资深的计算机科学家Jeff Dean认识到,Google所需的绝大部分数据处理都可以归结为一个简单的并行算法:Map and Reduce(http://labs.google.com/papers/mapreduce.html。这个算法能够在很多种计算中达到相当高的效率,而且是可扩展的(也就是说,一千台机器就算不能达到一千倍的效果,至少也可以达到几百倍的效果)。Map and Reduce的另外一大特色是它可以利用大批廉价的机器组成功能强大的server farm。最后,它的容错性能异常出色,就算一个server farm宕掉一半,整个fram依然能够运行。正是因为这个天才的认识,才有了Map and Reduce算法。借助该算法,Google几乎能无限地增加计算量,与日新月异的互联网应用一同成长。

    
算法并不局限于计算机和网络
    
举一个计算机领域外的例子:在高能物理研究方面,很多实验每秒钟都能几个TB的数据量。但因为处理能力和存储能力的不足,科学家不得不把绝大部分未经处理的数据丢弃掉。可大家要知道,新元素的信息很有可能就藏在我们来不及处理的数据里面。同样的,在其他任何领域里,算法可以改变人类的生活。例如人类基因的研究,就可能因为算法而发明新的医疗方式。在国家安全领域,有效的算法可能避免下一个911的发生。在气象方面,算法可以更好地预测未来天灾的发生,以拯救生命。
   
所以,如果你把计算机的发展放到应用和数据飞速增长的大环境下,你一定会发现;算法的重要性不是在日益减小,而是在日益加强。


[] [返回上一页] [告诉好友] [发表评论] [打 印] [ 字体: ]
上篇文章:算法的力量(上) 
下篇文章:嵌入式系统中文输入法设计方案
∷相关文章∷
· 算法的力量(上)
∷相关软件∷
嵌入开发网下载中心Copyright © 2000-2006 www.embed.com.cn. All Rights Reserved .