第5章云时代的计算技术 面对云时代的新需求,如果沿着冯·诺依曼的计算机体系,同时迫使计算机适应人的沟通习惯(所谓人性化),必然导致越来越复杂的硬件和软件。其中,复杂硬件主要表现为巨大数据中心,其实只是同类服务器简单堆积。尽管数据中心占地面积从足球场扩大到飞机场还有很大上升空间。但是,复杂软件必然引发软件危机,良好的编程和严格的管理能够改善 这种状况,不过上升空间极为狭窄。 为什么?软件是以个人能力为主的人脑的产品,软件危机的本质是挑战人类思维极限,如同运动员追求体能极限,实际上是挑战自然规律,其难度不下于谋求长生不老。实际上,PC时代的大型软件工程本质上不断地扩大资源到应用的距离,违背了自然界最低能量的进化规律。这条恐龙式路线投入和产出不成比例,系统越大效率越低,导致软件在可维护性、可靠性和安全性 方面存在严重隐患。 问题是,我们的目标不是设计最复杂的软件,陷入毫无意义的竞技游戏。我们的使命是面向无限扩展的应用领域,探索算法,解决实际问题。云计算为我们提供了化复杂为简单、拧干传统计算机体系中多余水分的机会。 不难看出,硬件和软件瓶颈已经限制了重大的网络应用,多年来,人们只能寄希望于各种不需要密集计算资源的网络快餐,例如,当前流行的社交网站,如微信、Facebook、微博、Twitter,团购网站Groupon和企业服务网站Salesforce等。尽管这些都是受追捧的好业务,但是,本质上都属于云计算的初级应用,对网络经济贡献不大。 我们的研究发现,过去30年计算机的发展是一个只加不减的过程,因此,不可避免地堆积大量“赘肉”。本书认为,进入云时代,云端计算技术应该突破PC模式,而不是补救。 本书认为,现有的计算机体系背负着两个极其沉重的包袱:第一,多媒体内容;第二,人性化环境。第4章所述的云存储体系已经彻底解除了多媒体内容对计算机的负担。本章论述,只要把人性化操作环境交给终端,不但彻底解除了云中心的第二项沉重负担,而且大大有利于应对“三屏融合”的市场趋势。 事实上,放下上述两大包袱的前提就是跳出冯·诺依曼体系框架。遵循本书提出的云存储和云计算理论,突破当前PC和万能机器的工作模式是快速获取云端巨量运算能力和化解软件危机的绿色手段。 5.1云端计算结构创新 根据冯·诺依曼体系,今天的计算机结构分为硬件和软件两个独立部分。基于神经网络的云端计算技术突破了这个框架,主要包含两项重大创新。 1. 云计算创新之一: 硬件与软件融合 硬件与软件融合成自治体,或者说独立神经元,包括极多线程状态机和异构算法引擎。化解软件危机的措施归结为:把一项复杂任务分解为多项简单任务;通过软件硬化(例如FPGA)高效执行专用算法。 2. 云计算创新之二: 计算与通信融合 用通信模型重建复杂的计算机系统。通过信息处理流水线,并由神经元传导协议,从物理上隔离各个算法引擎,设定通信权限。实质上,在巨幅提升系统效率的前提下,保障系统结构性安全以及植入各类商业模式。 5.2从解构传统数据库到创立非冯诺依曼计算体系 当前各类通用和专用网站大都以数据库为基础,技术大同小异,应用开发流于快餐模式。 云计算带来了计算机基础创新的机会,建立新的理论体系。从大规模应用角度,云计算创新的突破口在于“解构传统数据库”,事实上,就是创立云存储新体系。 神经网络信息中枢彻底打破传统,扬弃了业界推崇的多核CPU和服务器、操作系统、集群和虚拟软件、各类中间件和数据库软件,实际上,从总体上突破了当前的PC模式。取而代之的是多项基础理论和技术创新,包括 神经网络四要素、神经元传导协议、信息处理流水线、极多线程状态机、异构算法引擎、跨平台数据结构,以及按内容分类的信息库文件库和媒体库结构等。事实上,就是落实到“创立非冯诺依曼计算体系”。 什么是PC结构模式?简言之,就是串行处理CPU加上洋葱式层叠堆积的软件。 为了确切说明本系统的宏观架构,有必要与传统计算机系统做深入比较。 如图51所示,当前以PC为基础的计算机系统架构(包括超级计算机)由两个独立部分组成:计算机设备和应用软件。作为通用设备的计算机(包括虚拟机环境),不论如何复杂,在加载应用软件之前,不具备任何实际应用功能。尽管这一系统比原始冯·诺依曼体系已经有很大改进,今天,硬件和软件已经远比当初复杂,但是,从系统分成硬件和软件两个独立的发展部分来看,这一系统没有跳出原始框架,最多是改良的冯·诺依曼体系。 图51传统计算机系统与基于神经网络的云计算系统的比较 5.2.1神经网络结构 从直观上看,基于神经网络的计算机体系没有明显的硬件和软件之分,整个系统由许多独立的算法引擎 (或称神经元)经由传导协议连接而成。实际上,借鉴生理解剖学术语,得名“神经网络”。显然,每个神经元都具备独立运行能力,完成指定的任务,并且组合成任意复杂的系统。更重要的是,神经网络能够在运行过程中调整神经元,定义不断变化的新任务,完成升级和扩容。也就是说,像生物体那样生长和新陈代谢、免疫和自愈。 当前是数据量暴增的时代,存储器带宽和容量制约了计算系统的整体发展,因此,计算围绕存储设计。在数据中心,存储器占据大部分空间。为化解存储瓶颈,本系统依据存储内容性质划分为信息库、文件库和媒体库,并且,统一到跨平台数据结构。 从功能上看,神经元群建立在数据结构基础之上。从结构上看,存储器本身也属于神经元。从宏观上看,这一体系包含两个互相关联又相对独立的子系统:云存储和云计算。 进一步分析,本系统具有三个显著特征:第一,由极多线程状态机统一指挥系统流程和各类神经元,相当于大系统的中央处理 器,或者称广义CPU。当然,从结构上看,该状态机本身也是一个神经元。第二,根据功能定制不同结构的执行装置(不限于PC),或者称异构神经元。第三,连接神经元的传导协议根据地址、具体功能和权限引导数据包通信,不同于传统网络协议仅靠地址导向,造成安全隐患。 为什么需要强调这三个特征? 实际上,就是将一个系统的复杂度分解为三个简单维度,即系统规模、单项神经元设计和系统协调模式。很明显,这三个维度都不需要复杂软件,因此,神经网络自然化解软件危机,为云计算的高级应用创造了发展空间。 不难想象,云计算中心必然全自动运行,不需要个人的操作环境,更不应该迫使计算机适应人类的沟通习惯。计算机和人是两个不同物种,天生没有共同语言。机器听懂人话很美好,但那是为了广泛消费者的具体应用,而不是为软件工程师们提供方便。本系统整体设计的显著特征表现在充分适应计算机固有行为方式,软件工程师应该能听懂计算机的语言,或者说 通信协议。云计算应该以计算机为本,谋求最高性能和最低能耗的设计原则。这一原则与传统PC以人为本相反,效果大不相同。当然,从应用角度,以人为本永远正确,但那是终端的任务,与云端无关,因为终端只需面对一个人,而云端面对百万用户。 本系统通过客户端恢复人性化的操作环境,这里所说的“恢复”可以理解为把机器的高效沟通协议“翻译”成人类熟悉的表达方式。与多媒体数据处理相比,这项翻译工作带给用户终端的运算力负担微不足道。如果面对物联网的简易终端,则根本不需要翻译。 不难看出,基于神经网络的新一代计算机理论具备了完整性、新颖性和实用性。 如前所述,云计算中级阶段的主要任务是对信息深度加工,显然,这加剧了对运算力的压力。在 资源消耗相同的前提下,基于神经网络的计算体系能够提升云端潜在的运算力千倍以上。这些运算力资源的释放,将推动云计算进入高级阶段。因为一旦跨越信息处理范畴,渗透到消费者实时视频应用领域,那么,云端运算力需求还将暴增百万倍,那时,传统计算机系统更加望尘莫及。 5.2.2传统神经网络缺少什么 有趣的是,1956年,就在冯·诺依曼去世的前一年,这位计算机巨匠为耶鲁大学Silliman讲座留下一部未完成的手稿 The Computer and the Brain。在这部手稿中,他已经明确提出人脑和计算机的巨大差异。今天,面对云计算的潜在需求,传统冯·诺依曼结构已经遭遇难以逾越的发展瓶颈。其实,现代仿生学提示,造物主早已指明了计算机的发展方向,那就是神经网络。但是,很可惜,今天的神经网络还远未成熟。 本书认为,当前神经网络不成熟的原因在于理论上有缺陷,根据Simon Haykin的经典著作Neural Network,A Comprehensive Foundation,纵观数十年神经网络的发展,90%以上的研究精力局限在自学习算法和能力训练上,同一个题目反复研究,导致近亲繁殖,以及整体进步不大。因此,必须拓宽神经网络的研究方向,寻找新的突破口。我们看到,人类大脑发育达到谋生能力,必须经过幼儿期不断试错学习和十几年的知识积累。但是,我们设计计算机,尤其是面对用户信息处理,不能容忍试错,也不能等待漫长的学习过程。 本书认为,当前的神经网络理论忽视了不同部位的神经元形态各异,忽视了生物与生俱来的本能,还忽视了生物抵御外来侵扰的免疫和自愈能力。这些能力与大脑的关系尚不清楚,因此,研究神经网络不应局限于大脑,还应该看到整个生物体;不应局限于模仿细节,还应该借鉴宏观的系统能力。实际上,如果知识空白、本能缺乏、难以学习,应该先灌输知识(先验信息)再谈学习。探究生物奥秘的路程尚远,我们不能等待所有谜底都揭开之后再来模仿。尽管多年来不少人提出超越冯·诺依曼的构想,但是基本上只是局部改善,不成系统。本书认为,当前神经网络研究不应该局限于自学习算法,并首次提出神经网络四要素的新理论,包括神经元结构和传导协议、先天本能、免疫和自愈、自学习能力。沿着这一新理论,专用异构神经元取代传统的万能机器,从根本上创立非冯诺依曼云端计算新体系。 图52概括了基于神经网络的非冯诺依曼计算机(智能机器)体系结构,包括设计准则、 独立子系统、理论创新和结构创新,其中结构创新包含8项专利技术。如图52所示,这一云端计算体系充分展示了完整性、新颖性和实用性。很明显,这是从第一台计算机问世以来最大的结构性变革,作为开创云时代的奠基。 图52基于神经网络的非冯诺依曼计算机体系结构 5.3极多线程状态机 图灵发明的有限状态自动机(也称图灵机)奠定了现代计算机的理论基础。当前广为流行的冯·诺依曼计算机体系其实是一种用集中存储程序(软件)方式实现图灵机的结构设计。正如其名称所提示,程序(Program)隐含了完整和连续执行的形态。 本书认为,冯·诺依曼的后人忽略了或者视而不见图灵机的一项重要特征,即状态机不是一个连续程序,而是可以分解成许多无限稳定的断点,即状态。我们知道,计算机的处理速度远高于人类,例如,1s对于人来说是极短的一瞬间,但是,对计算机操作来说是一个很长的历史时期。如果让计算机同时为许多人服务,只需找出图灵机中的那些稳定状态,然后配上适当的索引标记。在每个人操作流程的间隙中,能够轻易插入成千上万其他人的不同服务流程。依据这样的思路,本书提出极多线程状态机,实际上,它是一种用非程序方式多维度扩展图灵机的结构设计,或者说,它无限增加系统复杂度基本不增加编写软件的长度。这是过去30年来软件工程望尘莫及的成果,显然,这是与冯·诺依曼 计算机结构平行的另一种计算机体系。 西谚云,要想吃掉一头大象,只要切成小块即可。实际上,一旦切成小块,就看不出大象的原貌了,也就是说,任何大动物 也都可照此办理,例如,狮子、骆驼等。我们知道,国际公认的ISO 9001品质管理的灵魂是:要做的事必须写在纸上,写在纸上的事必须严格执行。也就是说,任何企业活动(当然指100%的任务)都必须落实到一组流程。同时,任何复杂的程序流程(当然指100%的流程)都可以分解成一组简单状态机。因此,这是一条普遍真理。非冯诺依曼计算机创新了状态机结构,直接通过多维度扩展,实现和替代了大部分复杂的软件功能。其实,任何复杂的软件无非是告诉计算机, 按事先规定的程序指令执行。本设计状态机几乎不用传统软件,或者说,程序不等于语言,因为 结构化信息表同样能告诉执行模块,按事先规定的程序指令操作,与软件等效。 极多线程状态机结构表现为:低熵代码+结构化信息表+先验通信协议。极多线程状态机面向空前强大的云计算中心,改变超大型计算机系统的开发环境,用极简单软件,完成极复杂任务。 请读者注意,极多线程状态机为5.4节信息处理流水线埋下伏笔,实际上,为实现流水线的“工序分解,管理集中”打下坚实的基础。 5.3.1极多线程状态机的工作原理 我们知道,经典状态机有三项基本结构元素,本系统定义为: 1. 触发事件只有三种 这三种触发事件为用户请求、某项任务完成、某个计数或计时到点。触发事件无非是收到一个数据包,主要包含两项信息:“谁”和发生了“什么事”。 2. 动作执行也只有三种 这三种动作执行为回答用户请求、通知某个算法引擎执行某个任务、启动某个计时器。动作执行无非是发送一个数据包,主要包含两项信息:“谁”和要求执行“什么任务”。动作执行可以落实到一小段软件子程序或者硬件算法引擎,取决于动作难度。 3. 状态转移代表了程序流程的中间步骤 状态转移无非是服务器内部一个存储字节,服务器收到一个数据包,其来源“谁”指向一个特定的“状态”。在此状态下,程序流程规定依据不同的触发事件,执行不同的规定动作,并转移到下一个规定的状态。所有操作无须复杂软件,只要一个代码转移表格即可。 5.3.2面向云计算应用环境 面向云计算应用环境要求云端服务器“同时”为“无数多人”提供“无数多种”独立的“任意复杂”的服务。因此,本系统进一步从四个维度扩充上述状态机基本结构。 1. 时间扩展 时间扩展就是在图灵稳定状态之间插入其他不相关流程,或称并发操作能力,取决于运算与存储的协调。 2. 空间扩展 空间扩展就是通过用户信息存储分割,服务极大用户群。云中心能够同时服务无数用户,但状态机在每一个瞬间都只能执行一项任务。为了把随机出现的协议元素归纳到某项特定的服务过程,必须在每个协议元素上标示唯一与该服务相关的记号。本设计以服务申请方的逻辑操作号为索引(Index),确保用户操作具备时间和空间上的唯一性。 3. 功能扩展 功能扩展就是通过流程信息存储分割,提供无数多种不同流程。云中心能够同时提供无数种不同服务,每一种服务的协议过程都由一组互相链接且封闭的状态组成。状态链接表可容纳大量独立状态,由状态入口指针(Pointer)表示一项服务的起始状态。通过不同的入口指针,完成不相关服务的协议过程。 4. 资源扩张 任何处理量超过原子程序的任务,都转移到状态机之外的独立执行机构(算法引擎),例如,复杂的加密算法、搜索引擎、视频内容压缩和智能识别、大容量文件处理和发送等。对于状态机来说,所有任务无非是发送一条操作指令,或者类似复杂度的原子程序。注:原子程序(Atomic Operations)的定义是不可分,或者不可中断的短程序,执行时间一般在神经元每秒操作能力的 10-4~10-3。 实际上,极多线程状态机的核心思想就是把一个复杂系统分解为四个独立维度,在每个维度上 都是一项简单任务。在执行一个维度任务的同时,不影响其他三个维度。进一步分析发现,在上述四个维度上,无论扩展到什么程度,几乎不增加软件复杂度。或者说,无论流程有多复杂,软件永远保持在不可思议的简单水平。 5.4信息处理流水线 “流水线”这个名称今天已经不陌生。100年前,美国汽车大王亨利·福特(Henry Ford)为了应付日益增长的T型车市场需求,对汽车生产流程进行了彻底的分解和优化,创造了前所未有的流水线生产模式。这一颠覆性的变革,直接导致汽车从美国富人的象征转变为大众交通工具。 流水线生产模式带来的直接好处可以归结为两点: 第一,汽车装配从高技能机械师转变为普通工人,甚至雇用了大量的残障人士。 第二,汽车装配品质稳定,人均产量大幅提高,生产周期大幅缩短,带来巨大的经济效益。连续多年,福特一款T型车占据世界汽车销量的1/2以上。 今天,制造业流水线生产模式早已是理所当然。但是,令人费解的是,在高科技的计算机领域居然还在延续原始的行为模式。图53上半部揭开了当前计算机的面纱,我们看到建立在PC模式上洋葱一样层叠堆积的软件结构。这种结构注定成为云时代的发展瓶颈。 图53比较两种计算机工作模式 5.4.1应用软件的价值在哪里 今天的软件精英们用一款软件把持网络应用的全过程,与100多年前手艺精湛的师傅们何等相似。其实,这种洋葱结构的出发点是为了迁就僵化的应用软件,不得不在硬件资源和应用软件之间插入许多与应用不相干的中间层。本书认为,这是典型的舍本求末,作茧自缚。事态还在继续恶化之中,这些脱离应用的中间层越来越复杂,演变成令人生畏的软件工程。事实上,复杂的软件工程浪费大量资源,无助于实际应用,成为社会信息化肌体里的肿瘤。因此,只要不放弃僵化的应用软件结构,就注定了洋葱模式愈演愈烈,最终不可避免地引发恐龙式的巨大数据中心和难以治愈的软件危机,成为云时代的应用瓶颈。 我们有必要保护既有的“应用软件”吗? 错了。真正的价值在于应用,而不是软件。 5.4.2未来的网络应用会更加复杂吗 未来的网络应用会更加复杂吗?完全没有必要。其实,应用本身并不复杂,今天的复杂软件几乎都不是聚焦在应用上。实际上,今天计算机大部分的任务都是多余的。 所谓的信息处理,无非是用计算机执行人为制定的流程。流程就是人类行事规则,人类的生物性决定了流程永远不会复杂,而且进化极为缓慢。君不见,30年前,IBM最早的PC已经具备今天办公软件的基本功能。45年前,美国航空公司的订票流程与今天最新的火车票实名售票流程相差无几。再看几千年前的古罗马奴隶拍卖,到250多年前的苏富比和佳士得拍卖行,再到今天的eBay,常用拍卖流程至今未变。同样,电子商务流程无非是模拟人们司空见惯的购物行为。 我们看到,当用户群体巨大时,其需求会出现很大的趋同性,也就是说,网络普及必然促进资源按价值最大化方向重新排列。实际上,今天互联网的热门应用不过屈指可数。 我们看到,今天计算机已经能识别人脸,但解读表情的能力还不如一个新生婴儿。展望未来,算法还有很大的发展空间。但是,算法不是软件,复杂的算法不代表需要复杂的软件,复杂算法可以由专用的简单软件,或者直接用硬件实现。详见5.5节异构算法引擎。 本书认为,云计算时代不要被那些喜欢玩软件竞技游戏的精英们所绑架,应该重新定义网络应用,重新规划应用软件,抛开既有复杂软件的禁锢,包括操作系统、集群软件、虚拟软件、各类中间件、数据库软件等。我们看到,这些洋葱结构的软件系统与真正的应用毫无关系,因此,某种意义上可以断定,在云计算中心,复杂的软件一定不是好软件。 为什么今天的软件工程如此复杂,还要陷入所谓的软件危机? 本书认为,软件危机是计算机工业误入歧途所致。出路其实很简单,我们只需借鉴亨利·福特的智慧,对计算机应用流程进行彻底分解和优化,不难得到图53下半部分的信息处理流水线,或者说,神经网络。如同汽车制造流水线,由熟练装配工取代手艺高超的师傅,显然,流水线中每道神经元工序的设计不需要前述的复杂软件。我们还能清楚地看到神经元工序中间过程的半成品,实施精细调试和品质管理。 从表面上看,流水线由许多简单工序组成,但是,仔细分析福特流水线,它的关键是强大的后台支撑体系。也就是说,工序分解,管理集中。实际上,5.3节所述的极多线程状态机正是为信息处理流水线量身定制的,具备了超级强大的管理和协同能力。 我们显然可以分享到汽车制造流水线带来的好处,预测到必然的后果:软件危机不复存在,系统运行超级稳定和可靠,系统效率巨幅提升。因此,改变计算机工作模式是快速获取巨量运算能力的绿色途径。凭借高一代的技术优势,不但能够争夺传统市场,重要的是为开辟新市场、进入高级网络应用奠定了基础。试想,手中握有万倍以上资源,俯瞰当今计算机世界,这是一幅有趣的小人国风景画。 5.5异构算法引擎 前面我们谈到了算法不是软件,本节进一步解读流水线中关键的神经元工序,或者说算法引擎。异构算法引擎包含两个独立概念:算法引擎和异构。 5.5.1算法不是软件 算法引擎泛指大处理量的专用设备,任务单纯,聚焦高效率,简化软件,包括典型的多媒体和流媒体库、搜索引擎、加密与解密、第三方数据库采集和挖掘、实时监控识别、人工智能、多媒体加工软件、办公软件等。 显然,未来最大的不确定因素是算法,我们很难预测什么技术是实现某种算法的最佳选择。本书认为,当前很热门的所谓大数据技术,如Hadoop,其实仅仅适合于Map/Reduce之类的批量流式处理算法,用于计算统计匹配的搜索引擎。显然,对于精确计费的电子商务,或者对于未来网络应用主体的实时视频数据处理,就不是一个好方法。事实上,浮点运算、离散余弦变换等算法早已成为一个硬件模块。 实践证明,算法千变万化,例如,高智能家用机器人或者机器宠物通过无线网络连接云端巨大和日益更新的智能库,能够自动感知周边环境,识别主人的行为、手势和表情等,具备个性化和自学习能力。我们知道,为了让消费大众用自然方法指挥机器,背后必须由专业人士花大力气精心设计。千万不要误解为消费大众可以直接设计机器,或者编写软件,如同对着一堆原材料念个咒语,就会自动变成一部汽车。 用一个形象化的比喻来理清软件和算法的定位。缝纫机发明后的一百多年内,大部分家庭都有一台缝纫机,那时,大街小巷中裁缝店林立。如果比作PC时代,缝纫机是PC,裁缝师傅就是软件工程师。后来随着成衣业的发展,家用缝纫机成了古董,传统裁缝师傅不见了,取而代之的是时尚设计师。显然,这些时尚设计并不需要精湛的裁缝手艺。如果成衣业比作云计算, 那么时尚设计就相当于算法。未来计算机世界里还有太多的未解之谜,我们需要发明新的算法,而不是复杂的软件系统。进入云时代,传统软件只是实现算法的手段之一,而且,不是最重要的手段。 今天,由于IT行业发展长期近亲繁殖,思维模式局限在CPU加软件的计算机理论和TCP/IP的互联网理论桎梏中,在宏观上迷失了方向。本书认为,应该花力气探索和发现处理对象的共性规律,避开低效和无目标的通用万能设计,把精力聚焦到少数大规模的专项云计算应用中,例如,专用电子商务或其他专用机器,学会使复杂事情回归简单,把握云计算的应用主体。 5.5.2从试管和白鼠探索软件硬化之路 异构泛指不拘泥于既定架构,量身定做,同样聚焦高效率,避免复杂软件。从“算法不是软件”这个命题,自然引申出异构的算法引擎。 过去的几十年里我们有幸见证了IC芯片、PC和互联网的诞生和成熟过程,还目睹了Bellheads和Netheads两大学派的竞争。自从有了PC和互联网,Netheads感觉像吃了菠菜的大力水手,无所不能。各种高级编程语言把注意力集中在人性化的软件设计过程上,却忽视了随之而来的低效率执行的结果。当前的软件精英们忘记了软件编制永远是少数专业人士干的活,好的软件必须服务消费大众,而不是贪图自己方便;忘记了他们的使命是让计算机完成人类不擅长的任务,而不是迫使计算机按照人的沟通方式办简单的事;忘记了大数量事件的结果比过程重要,舍本求末,引发软件危机。事实上,自然法则总是朝着降低能量消耗的方向发展,Netheads与造物主的行事方式格格不入,他们还没有看到天边已经出现了大片乌云。 从传统PC到所谓的超级计算机,其共同点是由独立硬件和软件组成。也就是说,在经典冯·诺依曼结构的基础上,分别发展出越来越复杂的硬件和软件,形成超级细胞。但是,造物主设计生物体的时候并没有分成CPU和软件两步走,没听说下载一对眼睛软件或者下载一个心脏软件。每个器官都是从细胞发育时就确定功能,例如,视觉细胞和心脏细胞。跟随个体发育成长,细胞数量增加,器官功能完善,但是,细胞结构和复杂度不变。 人类发明CPU和软件成为探索新领域的一种快速见效的工具,或者说,CPU加软件可以当作实验用的试管和 小白鼠。这种工具本质上的串行操作模式,先天注定了效率瓶颈。过去30年,为了弥补串行操作的低效率,促进了芯片资源 的爆炸式发展。与此同时,受多媒体和云计算推动,同样的芯片资源为非传统计算技术开辟了广阔的发展空间。常识告诉我们,对于确定的流程、无限重复使用的程序,一旦掌握了原理和算法,就应该换一种更有效的方法投入实际使用。本书认为,少用软件,不用复杂软件才是创新计算技术的根本。任何相对成型的流程和算法都可以通过软件硬化 或者计算机家电化途径大幅度提高效率。 让我们回顾一下FPGA厂商讨论的他们的产品,当Intel销售第一代Pentium处理器(P1)的时候,最大的单片FPGA可以容纳4个P1。后来Intel销售P4时,最大的单片FPGA可以容纳10个P4。这一现象告诉我们,芯片制造进步的速度超过了人们设计和使用芯片的能力,新一代CPU的设计时间成为运算力的瓶颈。事实上,今天硬件电路已经可以在不停电的前提下远程修改,相对而言,复杂软件程序的修改变得越来越困难。 Netheads的理论基础是摩尔定律,因为CPU加软件方法固有的低效率能够被快速进步的芯片能力所补偿,所以纵容软件精英们肆无忌惮地浪费运算力资源。但是,这种理论只能对线性增长的需求有效。一旦市场需求出现重大跳跃,例如,从文字内容跳到视频,从小系统到云计算,芯片设计和资源捉襟见肘。于是,CPU加软件的方法只能被逼无节制地膨胀,形成恐龙式的巨大数据中心,引发软件危机,同时导致大规模高等级网络应用的瓶颈。 由于实际任务复杂度差异极大,算法引擎设计随任务性质而变,因此自然形成异构的概念,例如 ,廉价嵌入式CPU模块、传统PC和服务器、FPGA硬件模块、由FPGA连接的多CPU组件、由CPU管理的多FPGA组件、包含硬盘阵列的文件和媒体库,甚至包括人工呼叫和鉴别中心。执行模块可位于本地或远程网络连接。系统业务流程与执行模块设计调整无关,甚至,同一任务可由不同类型的算法引擎执行,彻底隔离系统复杂性与执行复杂性。实际上,这就是用通信模型重建计算机系统的优越性。 5.6神经元传导协议 前面我们讨论了云计算创新体系中三个关键要素,本节引入第四要素:神经元传导协议,或者说通信规则。 5.6.1基本协议栈 神经元传导协议的宗旨是“管理”和“开放”,或者说,可管理的开放。实际上,在刚性的游戏规则之内,实现柔性开放,允许用户在规定的权限内行为不受限制,最大限度地灵活支持创新应用。 需要强调的是,在大一统互联网中,网络资源和网络业务是两个独立的协议流程。其中网络资源与用户终端隔离,由服务器和交换机设备执行严格监管。网络业务流程则由用户终端参与执行,甚至可由用户制定规则,完全开放且不受限制。因此,对于善良的消费者来说,看到透明的资源和灵活的业务,完全感觉不到网络设备的监管。对于行为不规矩者(如黑客),大一统互联网的监管措施与用户设备完全隔离,是一道迈不过的铜墙铁壁。 实际上,神经元传导协议与传统网络协议的主要差别在于:传统网络协议仅靠地址导向,难免造成安全隐患;神经元传导协议加入了功能和权限元素,与地址一起参与数据包导向,犹如生物体不同神经分属不同的传导机制。 1. 资源管理流程 神经元传导协议的“管理”体现在严格的资源调配上,用户需要多少带宽和存储资源,网络按需提供。在用户申请的范围之内,严格保证安全和品质,并且精确记账;在申请范围之外,杜绝资源浪费。也就是说,将用户申请的带宽和存储资源限定在刚性管道内,在管道里面保证透明流畅,管道外面没有渗透和泄漏。 大一统互联网的资源管理流程主要包括网络设备即插即用、疆域的扩展和界定、用户号码分配、服务等级登记、账户注册和终端入网等。 2. 业务管理流程 大一统互联网的业务管理流程主要包括网络带宽按需随点、存储空间按需租用、消费者业务按次审核和精确计费。 (1) 神经元传导协议的“开放”体现在用户和服务的普遍原则、协调参与服务的三方如下。 ① 供应方:包括敏感信息库(针对有选择的细分客户)、原创版权内容、增值服务等。 ② 需求方:泛指客户,包括资格(针对不同信息类型的细化资格)和支付(占用资源)。 ③ 资源方:提供网络平台,包括带宽、存储、运算力、代理版权内容等。 (2) 业务管理流程为每次连接都执行一项统一的四步合同。 ① “甲方”(主叫方)审核过程:账户状态、细分权限、登记用户申请信息。 ② “乙方”(被叫或被点节目)审核过程:账户状态、服务提供能力、允许服务的细化资格、确认成交价格、登记服务内容信息。 ③ 服务“提交”过程:服务器退居二线,建立甲、乙方直接连通,并记录服务过程参数。 ④ “买单”过程:服务正常结束,按合同登记结账,并提出对本次服务满意度的评估。若非用户原因造成服务流产,不提交账单。 注意,根据不同服务性质,上述四步统一合同分别有所侧重。  简单开放的免费服务可以省去某些合同内容,简化服务器操作。  敏感信息服务要求严格的认证和权限匹配,这是极多企业共享平台的基本保障。  商业性服务要求严格计费,一般还需配合各类降价套餐和灵活的促销活动。 5.6.2关于信息安全 当前计算机和互联网的安全措施都是被动和暂时的,无辜的消费者被迫承担安全责任,频繁地扫描漏洞和下载补丁。进入云计算,不少厂商适时推出云杀毒和云安全产品,可以想象云病毒和云黑客们的水平跟着水涨船高。各类安全措施无非在玩猫鼠游戏,信息安全如同悬在消费者头上的达摩克利斯之剑,严重干扰了云计算的商业环境。本书的目标不是用复杂硬件和软件“改善”安全性,而是建立“本质”安全体系。 实际上,今天遭遇信息和网络安全问题的根源在于当初发明计算机和互联网时根本没有想到用户中有坏人,或者说,没有预见安全隐患。PC时代的防火墙和杀毒软件以及各种法规和法律,只能事后补救或处罚 已对他人利益造成损害的人。这些措施不能满足社会信息中枢的可控开放模式和安全要求。其实,借助云计算的机会,重新规划计算机和互联网基础理论,建立高枕无忧的安全体系并不困难。 首先,病毒传递必须满足两个条件:第一,用户文件可搭载计算机程序;第二,用户数据和计算机程序同时存放在CPU的存储区。病毒程序寄生在公开文件中,只要用户计算机解读下载的文件,就可能释放病毒。实际上,病毒的根源在于冯·诺依曼计算机结构,突破这种独立CPU加软件的结构是铲除病毒一劳永逸的手段。 其次,网络黑客是另一类安全破坏者。在工商社会里,一旦信息有价,必然有人图谋不轨,任何安全设施都无法对人心设防。因此,严密的安全体系必须针对每个人的每次信息接触。不论公网或专网,把每个人都当作可能的黑客,才能最大限度地堵住受过训练的间谍入侵。实际上,黑客的根源在于IP,未经许可就能向任何地址发送任意数据包,因此,创新网络协议是铲除黑客一劳永逸的手段。 但是,多媒体内容的解读方法繁多,难以排除传统计算机技术。另外,在当前环境下,完全排除IP互联网并不现实。针对这一情况,本书的对策是解构传统数据库,从功能上划分信息库与多媒体库。信息库兼作多媒体库的指挥机构,承担安全责任。其实,信息库只是单方向发送指令至多媒体内容库,没有必要使用和解读多媒体内容,因此,只要信息库安全,就能保障系统安全。信息库本身的安全依赖非冯诺依曼计算体系,每一项操作都必须满足信息开放范围与用户权限范围的多维度匹配。具体落实到神经元传导协议,严格赋予神经元不同的访问权限,杜绝黑客和病毒,确保系统操作的安全和灵活。也就是说,能够在开放的信息中枢,把安全和隐私程度提升到银行金库水平。 显然,与重建互联网相比,在单个信息中枢,抛弃传统数据库软件是微不足道的代价。 关于大一统互联网安全,详见6.8.4节网络安全的充分条件。 5.6.3关于电视、计算机、手机的三屏融合 大一统互联网的界面管理流程主要包括消费者选择和定制网络业务、海量内容的菜单导航系统和搜索引擎、用户文件柜和存储内容的远程管理。 面向消费者的云计算应用,界面设计关乎用户体验,因此非常重要。最近从乔布斯的传记中得知,苹果产品对内部结构、外观和界面设计都一丝不苟,充分表现出乔布斯对细节的追求,精益求精是他成功的注解。 云计算服务必须贯穿于三大市场:手持终端应用(手机和平板计算机)、桌面应用和客厅应用,即所谓的“三屏融合”。本系统的对策是云端统筹提供信息内容,终端独立决定显示方式。一套云流程,终端自动适应,同时服务手持、桌面和客厅。 信息中枢主要面向相对固定的流程,界面设计一般要求简洁易用。尤其对于选项丰富的电子商务内容,如同类商品的性能和价格,一次下载的精简信息(或称“裸信息”)可以临时存储在客户端,分成多个小界面。当客户反复比较时,不必多次下载,加快页面反应。也就是说,为了提高页面的反应速度,同时降低网络流量,神经元传导协议的用户界面显示数据由两部分组成,即“裸信息”和“格式文件”。前者包括随机更新的精简数字和代码,由云端流程产生;后者包括适应不同显示屏幕和艺术风格的细节,一般事先设计完成,由终端自动选定。格式文件一般较大,尽量存储在客户端,避免重复下载。 另外,不同年龄和文化客户群喜爱不同的艺术风格,甚至要求个性化的界面设计,包括融入个人名字和照片。格式文件能够配合多种裸信息显示,客户端自动存储、积累常用格式文件。云端服务器发送用户界面时,首先发送裸信息和适合该客户的格式文件代码。若客户端已经存储该格式的文件,则立即显示界面,否则,自动申请补发。 为了适应多种不同客户端屏幕类型,实际上,“三屏融合”的难点之一是如何适应数倍之多的屏幕大小差异。如果把计算机屏幕显示的内容全部搬到手机,必然导致字体过小,会伤害眼睛。有一种常用方法是采用移动窗口,但是,内容看不全,来回移动很不方便。 未来云计算应用独立屏幕格式设计,共享信息,相同的应用在电视、计算机和手机屏幕上的显示布局可能完全不同。计算机屏幕的显示界面,一次下载后,在手机上分解成多个可快速切换的子屏幕,尤其有利于移动电子商务。