zoukankan      html  css  js  c++  java
  • [趣文]单词间那无尽的等待

    计算机性能有点像一个骗局,你肯定在等待下面某个东西:

    • 硬盘
    • CPU
    • 内存
    • 网络

    但是到底室哪一个?你会等多久?在等待的时候你会作什么?这些就各有不同啦。

    你看过电影《Her》 么?如果没有,强烈建议你去看一下。这是一部很好电影,我最喜欢的一幕是AI在描述和人类沟通是多么困难的一件事情:

    It's like I'm reading a book… and it's a book I deeply love. But I'm reading it slowly now. So the words are really far apart and the spaces between the words are almost infinite. I can still feel you… and the words of our story… but it's in this endless space between the words that I'm finding myself now. It's a place that's not of the physical world. It's where everything else is that I didn't even know existed. I love you so much. But this is where I am now. And this who I am now. And I need you to let me go. As much as I want to, I can't live your book any more.

    我好像在阅读一本书,一本我深爱的书。但是现在我读得很慢很慢,于是词语就分散开来,字里行间出现了巨大的空白。我依然能感觉到你,能感觉到那些书写着我们故事的文字。但是我活在那些字句间莫大的空白里,那里不属于物质世界,那里有各种各样的事物,有些我甚至从未听过。我真的很爱你,但我只能活在这里,我也只能是这样的存在。我需要你放我离开,纵有万般不舍,我也无法再活在你的书里了。

    对于Her中每个人整天跟他们的计算机窃窃私语的惊悚场景,我保留一些非常严肃的意见。但其中一些关键场景的包含着一个深刻的事实,之所以我们人类感觉到的瞬间对于计算机来说是”永远”,是因为我们根本不在同一个时间量度上。

    《系统性能:企业和云》中有一个很好多的表格说明了人和机器之间的时间差异是有多么的巨大。把机器时间翻译成人类的秒,得到的对应关系:

    1 CPU 周期 0.3 纳秒 1 秒
    CPU一级缓存访问 0.9 纳秒 3 秒
    CPU二级缓存访问 2.8 纳秒 9 秒
    CPU三级缓存访问 12.9 纳秒 43 秒
    主内存访问 120 纳秒 6 分
    固态硬盘读写 50-150 微秒 2-6 日
    磁盘读写 1-10 毫秒 1-12 月
    因特网: 旧金山 到 纽约 40 毫秒 4 年
    因特网: 旧金山 到 英国 81 毫秒 8 年
    因特网: 旧金山 到 澳大利亚 183 毫秒 19 年
    虚拟操作系统重启 4 秒 423 年
    SCSI 命令超时 30 秒 3000 年
    虚拟硬盘重启 40 秒 4000 年
    物理系统重启 5 分 3 万年

    上述的因特网时间是理想的时间值,如果你去查看《AT&T 美国实时因特网延时表》的话,旧金山到纽约的时间要多余70毫秒。

    AT&T 网络延迟表

    延迟是一个因素,但是另外还需要考虑到带宽的消耗

    说到延迟,伟大的科学家格雷也曾经从一个很有意思的角度解释过这个事情。他说,如果CPU读取寄存器相当于你从你大脑里获取数据的话,那么CPU到硬盘就相当于你从冥王星取数据

    他指的应该是传统的老掉牙的磁盘,那么让我们与时俱进,看看利用当今最牛掰的硬件我们能达到什么样子的地步。

    • 冥王星离地球的距离:46.7 亿英里。
    • 最新最快的磁盘驱动器的性能(49.7 M/s)和最快的固态硬盘(506.8 M/s)相比,大概有10倍的性能提高。
    • 新距离:4670万英里。
    • 地球离木星的距离:5000万英里。

    相对于1999年的需要从冥王星去取数据,现在我们只需要去木星就能够取到数据了.....

    太阳系

    这仅仅是硬盘性能在过去十几年间的提高,处理器、内存还有网络在同时间里有有多大的提高呢?

    对于计算机来说,我们人类完全生活在不同的时间量度上。特别是和地球的地质年份比起来,完全是不成比例的。随着计算机变得越来越快,这个时间鸿沟也会变得越来越大。[EOT]


    感觉作者在用固态硬盘算最新的距离的时候有逻辑错误,他不是应该那1999年的时候的硬盘速度来做比较么?而且作者用的一些数据我也觉得有待商榷,anyway,不管他算得准不准吧,这都不是关键。

    作者用这个很有趣的视角来说明了计算机的时间量度和人类的时间量度有多大的差距,我也是第一次看到这种的比较。但是我觉得这种单纯的对比除了娱乐娱乐没有太大的意义,因为一个时间周期对于CPU和一秒钟对于人类来说的意义是完全不同的。CPU一个周期可以做的事情很少,但是一秒钟里面人类大脑能够做出来的判断则是非常惊人的。

    虽然现在对于大脑的研究还很有限,并不知道大脑内部真正的运作原理(至少我不知道),但是工作的原理肯定是不一样的。就计算能力而言,由于最基本的计算单元和原理就是不一样的所以直接比较人脑和计算机的计算能力没啥意义。

    如果有一天出现了一个能够自我演化的AI算法,它能够进行思考,那么利用CPU惊人的计算能力同时结合互联网上其他的机器那会不会出现黑客帝国中的那一幕呢?想想挺吓人的。

    最后推荐大家去看一下这部电影(《Her》),还是不错的一部电影,是一部温馨而引发人思考的人工智能爱情片。

    原文链接:http://blog.codinghorror.com/the-infinite-space-between-words/

  • 相关阅读:
    Java 9将采用新的版本字符串格式
    Hadoop单机伪分布式
    Hadoop JAVA 开发说明
    Java 批量插入数据(Oracle)
    Myeclipse 的hadoop环境搭建
    [LeetCode] 136. Single Number 单独数
    [LeetCode] 89. Gray Code 格雷码
    [LeetCode] 209. Minimum Size Subarray Sum 最短子数组之和
    [LeetCode] 211. Add and Search Word
    [LeetCode] 152. Maximum Product Subarray 求最大子数组乘积
  • 原文地址:https://www.cnblogs.com/imjustice/p/infinite_space_between_words.html
Copyright © 2011-2022 走看看