06年时孟严写过一篇很有意思的"MapReduce, the free lunch is not over ?", 其中提到了C++大师Herb Sutter的文章,因为CPU主频的进一步发展受到制约,我们已经不能像从前几个时代那样期待软件性能可以随着CPU的性能水涨船高,从而,"The free lunch is over" 我们将不得不基于有限的CPU主频来应对日趋复杂的应用,唯一解决之道就是改变我们的编程模型,面向多核多CPU甚至多机的硬件架构来实现并行运算,这个过程可以称为Concurrent Programming.

但是包括分布式运算在内的Concurrent Programming, 并不容易实现。我们在开发CIC内部的分布式文本存储和索引引擎时,对此也深有体会。其中对编程思维最大的冲击是:单机的软件开发,大部分时间可以很放心的假设所有的硬件都是正常工作的,譬如你的CPU不会突然挂掉,硬盘不会有坏道,内存不是购自奸商等等;但是放在一个分布式的环境中,这一切假设都不成立了,不正常才是正常。借助一个简单的概率公式来演示,如果一台机器的可靠性是99%,那么包含100台这样机器的分布式系统,其中有那么几台出状况的概率 就飙升到了63.4%(1-99%^100),更不要提还有网络设备可能造成的故障。这样恶劣的环境里,你要考虑计算的同步还有事务性,资源的调度,数据的安全性和冗余,系统整体的容错...... 如果未来每一个程序员写任何程序都要考虑这些情景,那么各位CSDN版上兄弟姐妹就要提早教育自己的孩子,珍惜生命,远离编程。

好在孟严在文中给出免费午餐延续的另一可能,即Google的"集群 - Googel Cluster,分布式文件系统 - GFS,分布式计算环境 - MapReduce,分布式结构化存储 - BigTable"等等。 只是这些优秀的技术,一直都是Google公司内部的盛宴,外人只有眼馋的份儿,好在还有开源的Hadoop 可以一定程度弥补大家的缺憾。不过对于很多公司来说,即便是配置Hadoop,也不是易事一件,此外还要考虑购买机器,网络带宽等等。

Google新近推出的App Engine, 往免费的方向更近了一步(借用开源软件的术语,这里的free,是free beer的free,而非free speech的free)。App Engine的 Blog 上对其特性有如下描述

  • 动态的Web 服务
  • 由Google Bigtable 和 GFS 支撑的存储系统
  • Automatic scaling and load balancing
  • Google APIs for authenticating users and sending email
  • Fully featured local development environment

看看,从帐户管理,到有负载均衡的Web服务,到分布式存储后台,Google一揽子都替你做好了,同时还有相当慷慨的资源配额策略,譬如任何应用可以免费使用500M的存储空间,每天上下各10G的网络流量。

作为商业公司,Google此举当然不是搞慈善,免费午餐的背后,是叫人不得不佩服的Google思维及相应高超的实现能力,用免费的平台来吸引各类数据和应用,再用统一的权限管理来粘合所有应用,把一个个小团体的疆界打通,连成更大的团体。Google的Jeff Huber 去年说,“关于哪个平台获胜的争论可以休矣,Web已经赢了, The Web is The Platform." 我们CIC前年在讨论互联网的趋势时提出的“Internet is THE Community”,也是类似的意思。于是我们看到Open Social,也看到了最近的App Engine。

参考文章:http://www.infoq.com/cn/news/2008/04/google-app-engine-simplifies-web

Google的免费午餐相关推荐

  1. 中国互联网经历过哪些大事件?

    备份一下 省的被删除 答 何谓大事件? 我理解,那些当时轰动一时,铺天盖地的事,或许是个大事. 但是,真正能称得上大事件的,一定是那种若干年后,才发现草蛇灰线伏脉千里的痕迹,最终酝酿成一个巨大能量,但 ...

  2. 细观Google全面大揭秘

    加利福尼亚州山景城(Mountain View)谷歌公司(Google,下称谷歌)总部有一个43号大楼,该建筑的中央大屏幕上显示着一个与谷歌地球(Google Earth)相仿的世界地图,一个转动的地 ...

  3. 昨日关注:Herb Sutter:告别免费午餐时代,迎接20年来最大编程变革

    2005-1-1 Herb Sutter:告别免费午餐时代,迎接20年来最大编程变革 # Herb Sutter指出,现在的程序员对效率.伸缩性.吞吐量等性能指标相当忽视,很多性能问题都仰仗越来越快的 ...

  4. Goslate: Free Google Translate API

    Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...

  5. Google财富传奇

    Google财富传奇 财富传奇:Google两青年6年创富300亿美元 由车房办公室至市值估计达2340亿港元的互联网搜寻器巨擘,Google在短短6年间,不但成为全球最受欢迎的互联网搜寻器,更演变为 ...

  6. 消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法

    消除安卓SDK更新时的"https://dl-ssl.google.com refused"异常的方法 消除安卓SDK更新时的"https://dl-ssl.google ...

  7. 2018 Google kickstart Problem A. Planet Distance

    题目描述 Small dataset 3 ≤ N ≤ 30. Large dataset 3 ≤ N ≤ 1000.input 2 5 1 2 2 3 3 4 2 4 5 3 3 1 2 3 2 1 ...

  8. Google Colab 免费GPU服务器使用教程 挂载云端硬盘

    一.前言 二.Google Colab特征 三.开始使用 3.1在谷歌云盘上创建文件夹 3.2创建Colaboratory 3.3创建完成 四.设置GPU运行 五.运行.py文件 5.1安装必要库 5 ...

  9. Google Colab——用谷歌免费GPU跑你的深度学习代码

    Google Colab简介 Google Colaboratory是谷歌开放的一款研究工具,主要用于机器学习的开发和研究.这款工具现在可以免费使用,但是不是永久免费暂时还不确定.Google Col ...

最新文章

  1. btf-raft共识算法_了解Raft共识算法:学术文章摘要
  2. OpenFeign 全方位讲解
  3. ncbi查找目的基因序列_基于PrimerBank和NCBI数据库的引物查找与设计
  4. “主要的编程范型”及其语言特性关系(多图)
  5. C++代码片段(四)萃取模板类的模板参数类型
  6. escilpe mysql,wordpress函数esc_sql()用法示例
  7. ElementUI-学生管理系统后台实例
  8. MSN Message协议分析
  9. oracel vm 安装windows server 2012报错Error 0x000000C4
  10. 华为无线网卡无服务器,联通华为无线上网卡连接时连接被终止解决方法 - 小众知识...
  11. 安装ecshop php,如何安装ECSHOP?
  12. 二维码在线生成接口API
  13. vb外部调用autocad_VB调用AutoCAD.ppt
  14. 全国各地迎来降雪,我们准备了五件发热好物,让你暖暖度过这个寒冬 | 钛空实测
  15. VS Code、Atom、​Sublime Text:谁才是真正的编辑器之王?
  16. Java实现企业微信回调配置
  17. Eureka源码-double check单例模式运用
  18. jasper report 子报表中嵌套子报表
  19. UI设计培训技术教程之字体排版规则
  20. 赛扬处理器_J4015处理器!品铂新款X10上市!_IT业界行情

热门文章

  1. 贿赂囚犯 Bribe the prisoners (动态规划)
  2. 你领证了吗?各地2022上半年软考证书发放中...
  3. python正则表达式取中间字符串_正则表达式如何获取中间字符串
  4. 面向万物智联的应用框架的思考和探索(上)
  5. javascript实现输出打印九九乘法表、水仙花数、
  6. SOFA Weekly|可信基础设施技术分论坛、Layotto 社区会议回顾与预告、社区本周贡献...
  7. 一键连接校园网络(论文下载神器)
  8. 苏州服务器渠道销售额,国内排名第二!华为确定卖掉X86服务器业务,或由苏州国资委接盘...
  9. 电脑的的load是什么意思?
  10. 红楼梦 各版本及资料