16

云计算,数字网络的转型

那里没有时间。序列不同于时间。

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

朱利安·毕格罗,1999年

“在战后的那些年,任何时候你去参观现代大型计算机,总会发现有人在研究冲击波的问题,”德裔美国天体物理学家马丁·史瓦西回忆说,在第二次世界大战爆发时,他仍然被美国陆军列为敌国公民,“如果你要问他们为什么做这个,回答始终都是冯·诺依曼向他们介绍的。因此,他们成为冯·诺依曼走过现代计算机这片风景的足迹。”

热核武器与完全通用机器

史瓦西被分配到阿伯丁试验场。在那里,他研究了新型“巨型炸弹”武器的效果。这种武器采用常规炸药作为燃料,由于炸药的规模,以致大部分伤害都由冲击波,而非由炸弹碎片本身造成。正是这个问题最先将冯·诺依曼吸引到了阿伯丁,它也预示了核武器的效果。在冯·诺依曼到达之前,据史瓦西所说:“我们经历了不可思议的斗争。即便是数日的争论和苦思,也没人能够真正弄清楚,我们应该如何明确地告诉工程师需要的是什么。”冯·诺依曼的解决方案是,让工程师建造一台机器,它可以执行数量有限的简单指令,然后让数学家和物理学家们根据需要使用这些指令组装程序,而不必再麻烦工程师。史瓦西说:“你立刻就能知道怎样编写语句序列,以解决任何特定的问题。”他同时强调:“1943年年初,我们是多么愚蠢。到了1944年,一切又显得多么简单和直接。”无论这一做法源自何处,是冯·诺依曼将它传到了阿伯丁。

8年后,1943年的高爆“巨型炸弹”发展成为热核武器,而ENIAC和Colos-sus也发展成为完全通用机器,但是交流思想仍然停留在螺旋桨驱动的道格拉斯DC-3型飞机的速度。1952年1月,高等研究院计算机正处于初步测试阶段,冯·诺依曼从加利福尼亚飞往佛罗里达州可可(Cocoa,靠近卡纳维拉尔角[Cape Canav-eral],后来的肯尼迪角[Cape Kennedy])参加由空军官员和约60位科学顾问组成的会议。这次会议是随着美国航空研究与发展司令部(Air Research and Develop-ment Command)的设立而发起的。冯·诺依曼已经同意帮助司令部建立一个数学顾问团。

当时,绝密项目Vista对核武器在欧洲防御中的作用所做的报告刚刚被公开。该报告与奥本海默的观点一致,却与其空军赞助者的意见相反。报告认为,无论从道德上还是军事上来说,战术核武器瞄准军事战场都比瞄准平民更好。奥本海默对Vista报告的影响力导致他的忠诚审查被撤销。他的这种影响力和他对热核武器的公开怀疑一样强烈。军方和科学家之间达成了一种心照不宣的共识,即军方不会指挥科学家如何做科学,科学家们也不指挥军方怎样去使用炸弹。奥本海默已经出界了。

冯·诺依曼首先搭乘DC-4从旧金山飞往俄克拉何马州塔尔萨市(Tulsa),这次旅程“只需要三轮,转两次飞机:埃尔帕索(El Paso)和达拉斯(Dallas)”。从塔尔萨到可可为第一轮,搭乘DC-3分别在马斯科吉(Muskogee)、沃斯堡(Fort Worth)、德克萨肯纳(Texarkana)、什里夫波特(Shreveport)各个站停靠,再在新奥尔良站换乘。接着是第二轮,搭乘洛克希德公司(Lockheed)“北极星号”(Lodestar)潜艇分别在莫比尔(Mobile)、彭萨科拉(Peasacola)、巴拿马城停靠,再在坦帕(Tampa)转机。然后就是最后一轮到奥兰多(Orlando),也是搭乘“北极星号”潜艇,最后乘坐一辆空军的车到“大而破旧的”印第安河酒店。返回时,他可以搭乘一架军用飞机到华盛顿,然后坐火车回普林斯顿。在华盛顿,他发现原子能委员会的委员们“想要讨论一些关于冲击波的问题”,而回到研究院时,他发现计算机看上去“相当不错”,尽管每天会出现一定的“瞬变和故障”。

炸弹引发的热核反应在数十亿分之一秒内完成,而恒星的热核反应则要持续数十亿年。这两种时间尺度都超越了人类的理解范围,却是MANIAC可以解决的。战争结束后,马丁·史瓦西开始使用台式计算器和穿孔卡片制表设备研究恒星演化的问题,他将1938年贝特的理论与洛斯阿拉莫斯发展的技术相结合,以计算辐射不透明度和状态方程。史瓦西解释说:“要解答特定恒星在其生命过程中特定时间的状态需要两三个月,尽管是在新沃森科学计算实验室(Watson Scientific Computing Laboratory)的协助下。”这个实验室是IBM建在哥伦比亚大学的。“必要的数值计算量大得惊人,”1946年12月初,他向苏布拉马尼扬·钱德拉塞卡(Subrahmanyan Chandrasekhar)报告,“我刚刚找到了对流核的解决方案。然而,IBM实验室刚刚开始在新式中继乘法器上整合辐射包层的17个必要的解……我担心到圣诞节时,数值计算工作还远未能完成。”

MANIAC上的恒星与冲击波计算

1950年,冯·诺依曼和戈德斯坦邀请史瓦西换用MANIAC。恒星演化之所以能吸引冯·诺依曼,是因为“它的研究对象可以被观察到,但不能进行实验”,也因为其结果可以与已知类型的恒星所观测到的、不同阶段的特征进行比较。史瓦西解释道:“突然之间,人们有希望计算个别恒星的演化序列了,有希望将观测到的恒星与不同恒星的相同或不同演化阶段进行比较了。”这将为数值模型是否适合提供直接的检验。气象学家必须接受每一个天气系统都不同且观察结果只能收集一次,而天文学家却可以仰望夜空,在不同星系存在的过程,随时观察它们每一个阶段的状态。“观测到的大量恒星都归入了一定的模式,”史瓦西说,“我们可以计算恒星的年龄了。”

冯·诺依曼为此提供了使用机器的时间,并派赫德维格·塞尔伯格(Hedvig Selberg,昵称是赫迪[Hedi])进行协助。塞尔伯格成为史瓦西恒星演化工作的拍档。塞尔伯格1919年出生于特兰西瓦尼亚的特尔古穆列什(Targu Mures, Transylvania)。父亲是一名家具制造商,在大萧条时期破产。她在科罗日瓦大学(University of Kolozsvar)上学时,就曾当过数学家庭教师帮忙养家。大学毕业时,她以名列前茅的成绩获得了与硕士相当的学位。之后,她在萨图马雷县(Satu Mare)的一所犹太高中教数学和物理,直到1944年6月,她全家被驱逐到奥斯维辛市(Auschwitz)。作为家中唯一的幸存者,她逃到了斯堪的纳维亚半岛,1947年8月与挪威数论学家阿特勒·塞尔伯格结婚,9月来到普林斯顿。她的教师证书没有得到新泽西州的认可。1950年9月,就在她计划去哥伦比亚大学攻读数学博士学位时,冯·诺依曼向她提供了一个电子计算机项目的职位,薪金是每月300美元。“她爱这个新领域的工作,也为加入这一激动人心的历史发展进程感到幸运,”她的女儿英格丽德(Ingrid)说,“这让她能够运用自己的数学和物理学知识,以及她的智慧和对细节的关注。”

赫迪·塞尔伯格陪伴MANIAC度过了它的整个生命过程,从第一次氢弹的计算,到最后恒星演化模型的运行。正是通用机器终结了MANIAC的历史。“我一直不了解晚上在电子计算机项目上运行的氢弹研究。”英格丽德说,然而,据弗里曼·戴森说,“赫迪称计算机大多数时间都在计算炸弹”。如果工程师或原子能委员会的小伙子在机器日志上留下问题,答案往往是“H.S.”。

1953年12月11日,她在机器日志上写道:“除了‘1’外,无法加载任何东西,甚至空白卡片显示的也全是‘1’。”“除了这个,机器运作正常,”她在下一个条目中写道,“机器背面的继电器(我们把火柴放进去的那个)看起来不错。”她还长时间独自看管这台机器。1954年11月19日至20日夜晚12:09,她写道:“今晚,A/cond运行状况不太好,结了很厚的冰。”当晚下班前,她补充道:“但是温度逐渐降低,我要给巴里塞利留言:如果温度降到-30℃,就要把它关闭。”

史瓦西和塞尔伯格开始从恒星演化早期阶段的简单模型入手,当时那颗恒星正处于静态和热平衡,且内部温度恰到好处,氢气燃烧产生能量的速度正好通过表面辐射来弥补损失。最终,核心的氢转化成氦,氢的燃烧区域移动更远并向外扩散。氦核质量增加,规模却在收缩,而恒星整体的亮度和半径却在变大,变为一颗红巨星,再燃烧10亿年左右的时间后,将成为一颗白矮星。

随着恒星走向成熟,其行为也变得越来越复杂。对流导致各层间的混合,氦的嬗变产生了一系列更大的元素,它们不断变化的不透明度产生的重要影响,与辐射不透明度对泰勒-乌拉姆炸弹的可行性影响相同。史瓦西和塞尔伯格解释道:“整个系统为计算不透明度、能源产生等加入了各种补充方程,而辐射、对流和简并状态之间的区别,无疑是我们在计算机上处理过的、最复杂的系统。”这些模型在当时都是非常超前的。天文学家约翰·巴赫恰勒(John Bahcall)说:“唯一遗憾的是,直到冯·德依曼离开我们很久以后,我才懂得他早期的研究是多么深刻和有见地,这些研究对他的意见和问题是多么有启发。”他在20年后将数值模拟又带回了普林斯顿高等研究院。“但他是那种永远不说‘如果你回头看看我1956年的文章,你会发现我是计算了原始加热丰度(primordial heating abundance)’的人。那不是他的风格。他从未提过自己的工作成就。”

史瓦西的计算构成了宇宙气象学:终结所有无限预测的无限预测。“那么,我们是居住在成熟的银河星系,它已经将一般的质量永远转化为恒星,并且已经消耗掉所有燃料的1/4了吗?”1957年,他提出:“我们是不是已经来不及见证银河系的变迁,却仍然来得及看到在永远变成白矮星之前所有演化阶段的恒星呢?”

1953年,有5组不同的问题在MANIAC上运行,根据不同的时间尺度,它们分别是:(1)核爆炸,以微秒为单位;(2)冲击和爆炸波,从微秒到分钟;(3)气象学,从几分钟到数年;(4)生物进化,从数年到数百万年;(5)恒星演化,从数百万年到数十亿年。所有这一切都在5千字节的存储器中运行,按照我们现在将音乐压缩到MP3的速度,它足以存储约半秒的音频。

这些时间尺度从约10-8秒(核爆炸中中子的寿命)跨越到1017秒(太阳的寿命)。这个范围的中间落在104和105秒,约8个小时,正好也是人类能够直接理解的时间范围的中间(从0.3秒的一眨眼功夫,到相当于30亿秒的90多年的寿命)。

在这5组问题中,冲击波是冯·诺依曼的“初恋”,也是最贴近他心意的。他对这个主题有直观的感受,单靠计算是不够的。考虑到星际空间中气体云的碰撞产生的冲击波行为,他在1949年解释说:“人们通过数学推理发现的一种解法是否真的出现在大自然……这相当困难和模糊。我们差不多要完全凭借物理直觉来寻找它……对于任何派生出来的解法,根本没有把握说它是必须存在的。”

冲击波是当速度或时间尺度不相符时,由物体间或物体和介质间,或者两种介质间的碰撞,或介质内部的突发性转变产生的。如果速度差大于信息的局部速度,就会产生一个间断。航空器超过音速产生的音爆就是一个典型的例子。这种扰动可能是猛烈爆炸的爆轰波前锋,比如子弹射出枪口、陨石穿越大气层、核武器爆炸,或两股星际气体的碰撞。

冲击波甚至可以由两个宇宙间的碰撞或新宇宙的爆炸产生,这被用来描述数字宇宙与我们所处的宇宙之间,以我们难以适应的速度相碰撞而产生的间断。冯·诺依曼向斯坦·乌拉姆解释道:“技术的不断加速发展和人类生活模式的改变,似乎接近了人类历史上一些重要的奇点。”

我们想要哪一种无穷

在我们的世界中,我们用时钟测量时间,计算机也有一个“时钟速度”,但是管理数字宇宙的时钟和管理我们这个世界的时间有很大不同。在数字宇宙中,时钟的存在是为了让存储在存储器(作为空间中的结构)中的比特和通过代码(作为时间上的序列)沟通的比特之间的转换同步。相比衡量时间的工具,它们更倾向于调节逸出意义上的时钟。

“高等研究院的计算机器是非同步的;也就是说,基本切换之间的决策和这些决策的执行是根据序列启动的,而不是以时间为自变量进行参照,”1949年,毕格罗向莫里斯·威尔克斯(Maurice Wilkes)解释道,后者成功地让剑桥大学的延迟存储计算机EDSAC先于研究院机器投入运行,“因此,时间不能作为信息位置的索引,而由计数器读数来充当。这些计数器本身由基本事件驱动。”

“它是一个开和关(二进制门)的大型系统,”50年后,毕格罗重申,“没有时钟。你不需要时钟,只需要计数器。计数器和时钟之间有一个区别。时钟记录时间。现代通用计算机记录事件。”这种区别将我们的世界和数字宇宙区分开来,也是保留下来的为数不多的区别之一。

从千周到兆周再到千兆周的提速,甚至比时钟速度显示这种名义上的增长更快,正如专用图形处理器这样的设备能直接实现编码序列和存储器结构之间的转换,而无须等待中央时钟逐步将转换同步化。无论我们多么频繁地重置自己的时钟,使之与不断增长的计算机速度相匹配,我们永远都无法跟上。数字宇宙中利用异步处理的代码,将在我们的世界迅速向前移动。

30年前,为人际间的通信开发的网络适应了机器之间的通信。短短几年间,我们从通过语音网络传送数据转变到了通过数据网络传输语音。数十亿美元的投入,化为了横跨六大洲、三大洋的电缆和遍布全球的光纤网络。1991年,当这项作业达到高峰时,光纤以超过每小时8000千米的速度在全球铺开,是音速的9倍:9马赫。

因为安装一捆光纤的成本和一束的成本差不多,所以埋下了日后严重产能过剩的隐患。15年后,新一代的公司(包括谷歌)开始廉价购买“暗光纤”6,等待着它们物有所值的时机出现。随着光交换(optical switching)变得越来越便宜,暗光纤正在被点亮。“最后一千米”的问题,即如何在无须单独连接成本的情况下连接到单个设备,已经随着无限设备的出现迎刃而解。同时,我们又开始铺线了。2011年,光纤的全球产量达到20马赫(24000千米/小时),勉强满足了需求。

在填充这个网络的计算机中,大部分处理周期将被浪费。大部分时间,大多数处理器都在等待指令。正如毕格罗解释的那样,即使是在一台活跃的处理器中,大多数计算元件也都是在等待下一件要做的事情。从所有能力来看,全球的计算机可能是人类建造的效率最低的机器。计算机只是表面上包含少量指令,而实际上99.9%都是空的。

对于争夺计算资源的数字有机体,这个机会有无可抵挡的诱惑。向虚拟机器(优化处理周期分配)和云计算(优化存储分配)的转变标志着将平时被浪费的资源利用起来这一转型的开始。代码正在变成多细胞生物,而单独处理器和单独存储器之间的界限也逐渐模糊。

1941年,当朱利安·毕格罗和诺伯特·维纳为理想预言者制定准则时,最终的准则是:应通过正常化观测目标的参考系(移动目标的未来位置)来做出预测,强调其根本对称性和行为的不变性,否则就会错误地转化成地面观测者的参照系。由于这个原因,在我们的世界这个参考系中,对数字宇宙的未来做出预测非常困难。据我们所知,在数字宇宙中不存在时间的概念。我们有的只是延迟函数,它们只能在非数字时间里前进。

虽然1951年产生的代码数量激增,但其本质并没有改变。它们是自我复制数字(源自原始指令码表)的共生体,被赋予了有限、基本的能力,就像一组基本氨基酸(以及多聚核苷酸、蛋白质和由此发展出来的其他一切物质)源自有限核苷酸序列表。如谷歌这样庞大、复杂的组织映射着整个数字宇宙状态,所借助的编码也是由第一代蒙特卡洛编码转变而来。当年,克拉拉·冯·诺依曼一边抽着从洛斯阿拉莫斯国家实验室美国军中福利商店带来的好彩香烟,一边写下了这些蒙特卡洛编码。

1951年,高等研究院计算机投入运作前后,斯坦·乌拉姆给约翰·冯·诺依曼发去一张未注明日期的纸条,他想知道一个纯粹的数字宇宙能否捕捉到我们在自己的宇宙中看到的一些进化过程。他设想了一个无限二维矩阵,其中图灵完备的数字生物(在两个维度上运作,与巴里塞利的一维杂交遗传字符串不同)将争夺资源并且逐渐进化。乌拉姆还建议将数字模型换一个方向——向后推,考虑他所说的“‘创世前夜’时间和空间产生”的问题。

在数字宇宙中进化的生物将和我们有很大的区别。对于我们来说,它们进化的速度似乎越来越快;但对它们自己来说,我们的进化似乎在它们被创造出来的那一刻起就已经开始减速了,一如我们的宇宙似乎在大爆炸之后突然开始冷却。乌拉姆的猜测是正确的。我们的时代正成为某种生物的“创世前夜”。

“大自然正在玩的游戏似乎难以言传,”1966年,乌拉姆在一次谈话中提到,“不同的物种进行竞争,我们知道如何定义淘汰:当一个物种完全灭绝,它明显就被淘汰了。然而,定义胜利就要困难得多了,因为许多物种同时共存,这种状态可能会无限期地存在;在某种意义上,人类认为自己遥遥领先于禽类,这种想法也将被允许无限期地存在。”

冯·诺依曼的首篇个人论文《超限序数的介绍》(On the Introduction of Transf-nite Numbers)发表于1923年,当时他19岁。在这篇论文中,冯·诺依曼阐明了如何以一致的标准区分不同的、无穷的问题,却没有对此进行解答,这个问题和乌拉姆的问题有着密切联系:我们想要哪一种无穷呢?