挑战it的12个难题有哪些?
吉姆·格雷--伯克利大学博士,德国斯图加特大学博士,美国国家工程院院士。1998年度图灵奖获得者,著名的数据库专家,数据库和交换处理系统领域的领头人,当今世界上最大的网络数据库项目——微软公司terraserveres计划的筹划人。
1999年5月4日,在亚特兰大举行的acm会议上,吉姆·格雷接受了图灵奖并发表了题为“what next?——a dozen remaining it problems”的图灵奖演说,纵论了信息技术今后应解决的12个方向性研究课题。
这12个研究目标并非完全是格雷的个人看法,它们代表了众多计算机科学家和信息学家的意见,有很广泛的代表性,非常值得我们重视。
过去的几十年中,信息产业一直以指数方式增长:摩尔预言半导体每18个月翻一番;1995年,格里特(george glider)预言网络带宽将以每年3倍的速度增长,这个预言看来保守了,带宽的拓展速度比他预言的还要快。
当然,指数式增长不会没有尽头,总会出现某种情况限制这种增长,但对信息产业而言,由于不断有新的发明克服接踵而至的障碍,所以始终保持着加速发展的势头。信息产业这种加速发展的情况,意味着它在不断地重新定义自身:10年以前完全不可能做到的事,现在变得十分容易了,10年以后又将与目前大不相同。
1.可伸缩性:设计一个软件和硬件体系结构,能将规模扩大到10 6。这意味着,一个应用系统的存储和处理能力可以自动增加一百万倍,即通过增加资源能更快地工作,或在同样的时间里完成规模大10 6倍的工作。
我的大部分工作是受约翰·科克(john cocke,1987年图灵奖获得者,risc概念的首创者)所描述的可伸缩性目标所激发起来的。这个目标就是设计一个软件和硬件体系结构,使它能无限制地提高性能。但是,系统总会受资金、功率或空间的限制,因此较为现实的目标就是要实现由一个到成百万个节点的系统,为同样的问题工作。
实现可伸缩性导致了对大型计算机系统的所有方面的研究。通过增加模块使系统升级,由每个模块去完成整个工作中的一小部分。随着系统的升级,数据和计算不过是调度到新的模块中去。当一个模块失效时,由另外的模块加以屏蔽并继续提供服务。这种自动管理、容错及分布负载仍然是目前具有挑战性的问题。
几年来,可伸缩性的研究进展惊人,目前已有很多这样的系统,其中大部分来自互联网。
互联网是世界级规模的计算机系统,具有1亿个节点,并且每年还在规模上加倍。人们担心无法控制网络和服务器的增长,我认为应当对协议和网络工程进行更多的研究。另一方面,巨型服务器迅速发展,一些公司已经推出了每天能处理10亿个事务的系统。如何管理这些巨大的簇是一个相当严峻的问题。这种可伸缩系统的自动化目前仅仅实现了一部分。实际上,几乎所有的大型机都需要一个专门的管理系统。
在下个十年里,解决可伸缩性问题将变得更为迫切。新型计算机的体系结构将会实现在单个芯片上有多重处理流,因此每块处理器芯片将是一个对称的多处理机(smp)。另外一个趋势是在微电子机械系统(mems)中引入处理器。这种价格仅为10美元的mems将具有传感器、反应装置,并且可在板上进行处理,在数目多达一百万个的mems系统上进行编程是极具挑战性的。
2. 图灵测试:构造一个计算机系统使它至少能有30%的时间赢得模仿游戏。
图灵测试基于一种3个人玩的模仿游戏。图灵关于这个测试的原文很值得仔细研读一下,他写道:“我相信大约有50年的时间就可能实现这种计算机,它的存储能力是现有计算机的10 9倍,使得它能在玩模仿游戏时能够让一个讯问者在5分钟内做出正确判断的机会平均不到70%。最初的问题,‘机器能思考吗?’,我认为太无意义了,不值得讨论。但我相信在本世纪结束时,由于各种情况的改变,人们在谈论机器智能时就不会遭到反驳了。”
在过去的50年里,计算机在图灵测试方面已经取得巨大的进步,计算机已初步具有简单的大脑存储和计算能力。现在,机器智能成为很多科学家共同奋斗的目标,计算机几乎已经可以帮助人们进行所有的设计,如概念提娶模拟仿真、生产制造、测试和评估。但其中,计算机还只是充当工具和合作者而非智能机器。这类计算机并没有产生新的概念,它们只是执行静态程序,很少具有适应性或学习能力。即使在最好的事例中,也要预先建立好结构,使参数能自动地按照环境形成优化设置。这是适应,但不是学习新事物。所以,目前的超级计算机软件和数据库在下一个十年里也不会通过图灵测试。这里需要一些与现在完全不同的想法。
我们还遇到了一个难题:基因染色体和大脑是如何工作的。对此,我们没有一丝线索,找到有关答案将是一个极好的长期研究目标。
3. 语音到文本:能像一个本地人那样去听。
4. 文本到语音:能像一个本地人那样讲话。
5. 像人一样看:能识别物体和动作。
在图灵测试中还隐含着两个困难而富有挑战性的问题:(1)像人一样读和理解;(2)像人一样思考和写。这两个问题和图灵测试本身一样困难。
目前,我们已经在另外3个稍容易一些的问题方面取得了很大进展,它们是:计算机听和理解自然语言、音乐和其它声响。现在,将语音转化为文本的系统已经达到了实用的程度,当然这得益于更快并且更便宜的计算机,也得益于对语言的深入理解方面有了更好的算法、字典、词法分析器和语义网络。这个领域正在稳步发展,错误率每年下降10%,在不限定词汇、经过一定训练的说话者连续讲话时能够达到95%的单词识别率。目前,计算机比大多数人能更好地理解英语,许多盲人、听力不好和丧失听力的人也开始使用语音到文本的转化系统进行阅读、听和打字。
今天,已经有了简单的语言翻译系统。要使系统用英语通过图灵测试,很可能要有更多的内部表示。如果一个人教这个系统第2种语言,那么计算机就应有该种语言信息的类似的内部表示。这会开辟语言之间忠实互译的可能性。也许有更直接的方法,但是到目前为止还不甚明了。
第三个领域就是视觉识别系统:构造一个能识别对象并且是动态对象(奔跑的马,微笑的人,形体姿势,……)的系统。在视觉表示方面,计算机已经具有杰出的表现,但是还不如人。这也是一种人机共生的系统,但lucasfilm和pixar公司推出的系统所具有的特技效果令人惊叹。当然,要使孩子们和成年人都能实时地创作出这样的图像以进行娱乐或交流的想法仍然是一件富有挑战性的任务。
虽然这3个领域的进展还很有限,但对残疾人和某些工业领域已经大有裨益:光学字符识别器(ocr)已被用于文本扫描;语音合成器已能朗读文本;语音识别系统则可被聋人用于接听电话,被手臂有残疾的人用于输入文本和命令;事实上,已经有程序员使用语音输入进行编程;对多数聋人来说,可以直接将仪器连接到听觉神经上将声音变换为神经脉冲,从而代替鼓膜和耳蜗。不幸的是,目前还没人理解人体所用的编码。
这类长期项目将会对更为广泛的人群提供帮助,在计算机和人之间架起一座革命性的桥梁。当计算机能“看”和“听”时,与之交流将更容易和方便,计算机也将帮助我们看得更清,听得更好,并且记得更牢。
6. 个人的memex:记录一个人看见和听见的一切,并且按照请求进行快速检索。
万内瓦·布什是最早的信息专家之一,他曾在麻省理工学院制造过模拟计算机。1945年,布什在《大西洋月刊》上发表了《像我们一样思考》的富有远见的文章,描述了memex:它是可以存储“十亿本书”的“桌面”,可以把报纸、小册子、期刊及其它文学作品都以超级链接方式存储在一起。另外,布什提出了一种内置照相机的棱镜系统,能够在需要时拍照,还有一个录音机能记录所说的话,所有这些信息都送入memex。
memex能对文件进行查找,或通过引用从一个文件进到另一个文件。任何人都可通过链路对文件进行注释,那些注释的文件可被其它用户共享。布什已意识到在memex中发现信息将是一个挑战,并提出了“关联搜索”的设想,通过比较某些准则找到文件。布什认为这种机器应该能识别语音命令,并且把对它说的话打印出来,而且还提出了一个能“直接通到人的神经系统的电子路径”,认为这可以使提问和得到答案更加有效。
50年过去了,memex差不多已经实现了。大多数科学文献都已经联机了,科学文献每8年翻一番,而最近15年来的大部分文献都已联机,但是任何用过互联网的人都知道它的局限:(1)在网上发现所需的东西是很困难的;(2)你想要的许多东西目前还没在网上。
那么,为什么不将所有的东西都存入电脑呢?最简单的答案是由于大多数信息有珍贵的价值,而当前在电脑空间中并没有对这一点给予足够的尊重。事实上,电脑文化的目标是要使任何人在任何地方都可以免费得到所有信息。在保护知识产权方面还有许多技术问题,但是真正棘手的问题在法律和商业方面。
面对这些挑战,建造个人的memex无疑是个好途径。这种装置能记录你看见、听见或读到的一切。当然,它必须有一些保护措施以便只有你能从中得到信息,还可以用命令的形式发现相关的事件并且将它显示给你。memex不作数据分析或概要,它只是返回听到和看到的一切。
今天除了视觉外,memex在其它方面似乎都可行了。个人录音机能记录大约25gb内容,而记录你所听见的则需几个tb容量。memex将以每年250兆字节的速度记录你所读的一切,以每年100gb字节的容量记录你所听见的一切。3年后可能每年只用一个磁盘或磁带就足够了。
视频memex似乎超出了我们今天的技术能力,但是在几十年内,它很可能也是经济可行的。高质量视频所要求的容量是目前的几百倍——每年80tb。这是一个很大的空间,而人一生要求有8pb(1pb=10 15字节),它超出了大多数人的负担能力。如果想要更高品质的图像,这个数字要再提升10倍以上,即超过80pb。另外,物体识别技术可能会要求更高效的图像压缩技术。如果维持每年1tb字节容量,以当前的压缩技术所能提供的最好视频大约是每秒10帧(tv品质),预期每十年质量将至少提高100倍。获娶存储、组织并且演示视频信息将是一个诱人的长期研究目标。
7.世界级的memex:它能够对文本的“全集”(包含音乐、图像、艺术和电影等信息)做摘要并回答有关的问题,其速度和精度与这一领域的人类专家相当。
1999年,全球的存储器行业共生产了容量大约为1eb(1ebΚ1018字节)的磁盘和100eb的磁带,备用磁带与联机磁盘的价格为每tb字节1万美元到10万美元之间。因此,很便宜地把现存的大部分信息存储起来的时代很快就会到来。
这一远景会将我们带向何方呢?如果将所有东西都存于电脑空间的话,我们怎么才能找到它们呢?现在,人们给出标题和前几个词,网站就提供一些摘要,但真正的分析或摘要实际上还做得很少。
因此,在个人memex只能返回你所看见的但未加整理的材料之后,下一个挑战性的目标就是建造能对“全集”进行分析整理并能以一种很方便的方式展现给你的memex。雷伊·雷蒂(rajreddy,1994年图灵奖获得者)描述了一个系统,它能读懂课本,并且能在读完问题后给出正确答案。进一步的要求将是对互联网、《计算机科学》杂志、大不列颠百科全书这类信息源进行摘要并回答提问,就像这方面的人类专家一样。
一旦我们掌握了对文本的处理技术,显然下一个步骤就是构造类似的系统对声音库(讲话、会话、音乐等)进行整理;再下一个挑战性目标就是建造一个能对搜集到的照片、电影及其它图像进行整理和综合的系统。其中的主要挑战是自动地分析和组织信息。当有人提问时,问题能以自然语言、手势、图形或窗口界面等方式提出,系统也以相应的适当方式回答用户。
这就是我们面临的任务,它可能比让计算机像人一样玩模仿游戏简单一些,但确实有用得多。
8.远程介入:让观察员在模拟以前发生的事件时,与当时在场的人员有同样感觉(即远程观察);或者参与者模拟正在发生的事件时,能与其他人交流,就像亲临现场一样(即远程出席)。
把所有事情记录下来之所以令人感兴趣的原因之一,就是能使其他人立刻看到或以后回顾。我们大多数人都发现这种“时间转移”要比“空间转移”更有价值。然而,目前基本上只有加工过的电视或无线电广播可以实现这个愿望,但这需要将互联网信息转换为世界上最昂贵的vcr。
随着计算机和虚拟现实技术的使用,品质更高的现场体验已经可以实现。通过多角度、高保真地记录事件,计算机可以重现从任何角度观察到的高保真图像,让观察者有完全身临其境的感受。
这项技术的挑战性在于记录事件后按要求生成虚拟环境,允许观察者像实际参与者那样体验事件,我们把这叫做“远程介入”。今天的电视与广播已实现了这种方案的低质量版本,但它们完全是被动的。
下一个挑战就是允许远程介入者与现场人员进行交流,即远程出席。对于远程出席,目前已存在的形式有电话、远程电话会议和聊天室。但是,这比亲临现场的体验要差得多。因而,人们仍然愿意经过长途跋涉以得到更真实的体验。对远程出席的可操作性测试之一,就是看远程介入的学生和直接面对教师的学生的成绩是否一样好,教师与两组学生的关系是否同样和谐亲切。
9.无故障的系统:构造出每天有成百万人使用的系统,而它仅需一个兼职的管理人员。
当计算机变得速度越来越快,存储器和带宽越来越大时,会发生什么呢?当然,近期这还是不可能的。但这种加速发展的性能价格比是令人震惊的,并且它也改变了变化规则。当处理器、存储器和传输花费很低时,那么惟一的价值就在于数据和它的组织了。但是,对于计算机科学家来讲还有一个必须解决的问题———即使最好的程序每千行代码中也会有一个故障,所以一年里计算机在系统管理方面的花费至少要上千美元。
今天,拥有计算机的人付出的代价并不大:掌上或台式计算机的价格为数百美元,工作站为数千美元,服务器也只有几万美元。毫无疑问,他们不想为管理系统的职员付更多的工资,因而必须有一个能自我组织的系统。像手持计算机这类的简单系统,顾客需要的就是系统能工作,无故障地运行和存储数据,并且从来不丢失数据。当系统需要修理时,可以“打个电话就到家”维修,或者通过邮递替换系统或模块来处理,但不会造成信息丢失;如果是软件或数据问题,只需从随处可用的服务器上更新重装一下就可以;如果你买了一个新部件,你所要做的就是将它插入机器,并从服务器端恢复一下就行了(就像旧器件失效那样)。
那么,这种随处可见的无故障系统及其服务器该由谁来管理呢?服务器系统通常比较复杂,其中,许多半定制的应用程序都在超负载工作,而且它们经常提供的是手边很重要的应用服务。从某种程度上讲,复杂性并没消失,只是转移了。
其实,拥有服务器的人对如何管理服务器并不在意,他们并不希望成为系统管理专家,因而服务器系统必须能自我管理:系统管理员只负责确定目标、策略和预算,其它一切由系统自己做,包括在服务器之间分配工作。当有新的模块插入机器时,应该自动集成到系统中去;当有服务器失效时,其存储内容应该被自动复制到别的地方去,从而在新的地方完成存储和计算;当硬件出故障时,系统应该能自我诊断并通过速递邮件替换模块;软件与硬件的升级也都应该是自动进行的。
这就引出了新的目标:无故障系统。这个目标的最终目的就是系统每天可以为上百万人服务,而且只需一个人用少量时间就可以管理得很好。目前,这样一个系统往往需要一位经验丰富的管理员24小时全天管理,还需要专家为系统进行升级、维护、系统更新、数据库管理、备份、网络管理等。
10.安全系统:保证系统仅为授权的用户提供服务,而且非法用户不能终止系统服务,信息不能被窃走(并且还要能证明这一切)。
11.运行不息:保证系统每百年的失效时间少于1秒(并且要证明它)。
近来有一系列的安全问题出现,如melissa病毒、切尔诺贝利病毒(cih病毒)及针对rsa算法的数学攻击,这使512位密钥仍然显得太小,因而仍很危险。
如果这一趋势继续下去的话,我们就不可能把财产信托给电脑空间。这方面对系统设计者的主要挑战是使系统服务仅提供给授权的用户,不能拒绝为他们服务,而对攻击者则既不能够让其破坏数据,也不能使其拒绝给授权用户服务的阴谋得逞,而且除非授权,否则不允许用户看见数据。
由于大多数系统都可能会由于口令被偷而使黑客能以系统授权用户的身份进入内部,因此任何基于口令或其它标志的验证似乎都不太安全。我认为我们将不得不使用如视网膜扫描这类方法以防伪造。此外,所有的软件也都应该用无法伪造的方式签字确认。
对这个研究目标的第一个可操作测试是黑客不能渗透到系统里。不幸的是,通过这个测试还不能真正保证安全,安全系统必须要了解来自各方的威胁并能够加以防范。
第二个测试是系统是否总可以使用。目前,系统的可用性已经从50年代的90%上升到了99.99%(对于管理得很好的系统而言)。互联网由于其脆弱性、协议的不统一和过分强调进入市场的时间而使其可用性仅为99%。
尽管如此,我们在45年里还是取得了1000倍的进步,即每15年改善一个数量级。我们应该为再改进10万倍的目标而努力:即100年中只有1秒钟不可用。这是一个极端的目标,但如果硬件很便宜并且带宽很宽的话,它似乎是可以完成的。一旦达到这个目标,人们就能在许多地方重复服务,通过事务管理数据的一致性和设计的多样性避免其模块失效,并在失效时能快速修复节点。而这一切将是无法测试的,因此为了完成这个目标必须有十分认真细致的分析和证明。
12.自动程序设计:开发一种规约语言或用户接口:(a)易于表达设计;(b)计算机能编译它;(c)它能描述所有的应用问题(而且是完全的)。系统通过对例外和不完全的情况规约说明,通过提问,就能自动推理出整个应用的情况,而且使用起来很方便。
编写软件是现在电脑空间里惟一一件越来越贵,越来越不可靠的事。虽然每个软件片段并不是那么不可靠的,但组成程序以后,尽管经过了反复测试,还是平均每千行程序会有一个故障。随着软件产品越来越庞大,其中的错误越来越多。
你可能会问程序怎么会变得如此昂贵呢?这很简单:程序的设计、编制及文档就使得程序每行费用约需20美元,而代码测试的费用又是这一费用的150%。当代码交付后,在其生命周期内用于维护和支持的费用又和上面的花费一样多。这是个很严酷的现实。随着计算机变得越来越便宜,程序将越来越多,因而这个负担将越来越重。
那么,如何解决这个问题呢?我们怎么才能够摆脱这个局面呢?到目前为止,解决的方法是通过使用高级的非过程性语言来使必须书写的程序代码更少些。这方面已经取得了很大的成绩。但这对于编写全新的程序则毫无用处。也许软件工程最终能有所成就,但对此我很悲观。我认为需要一条全新的解决途径,也许它不会发展得太快,因为这又是一个“图灵陷阱”。我认为我们必须:(1)有一个比当前的所有规约语言更加有力、更为容易的规约语言;(2)计算机应能对这种规约语言进行编译;(3)这个规约语言的功能应该足够强,以便所有的应用都能用它来描述。
目前有些系统已实现以上3个要求中的2个,但是还没有能实现所有3个要求的。程序设计过程本质上还是模仿:顾客找到程序设计人员并且描述应用情况;设计人员将设计建议返回给他;然后讨论,构造原型,再讨论;最后,建成应用系统。改变这一方式需要实现自动程序设计。对自动程序设计语言和系统的研究已有45年历史,但这方面的进展还很校
对这一目标的可操作性测试是用一台计算机替代程序设计人员,而且效果更好,时间更短。实现这样的系统还有一段距离,但是如果图灵关于机器智能的论断正确的话,那它只不过是个时间问题。
本文地址:http://www.45fan.com/dnjc/73259.html