从程序到系统:建立一个更智能的世界——记Joseph Sifakis“21世纪的计算”大会主题演讲
Sifakis“21世纪的计算”大会主题演讲" title="从程序到系统:建立一个更智能的世界——记Joseph Sifakis“21世纪的计算”大会主题演讲">
编者按:第十五届"二十一世纪的计算"大型国际学术研讨会,于2013年11月1日在合肥大剧院举行。本届大会以"解码未来"为主题,邀请来自国内外计算领域的大师与在座师生共同探讨计算机科学的发展。2007年图灵奖获得者Joseph
Sifakis进行了《从程序到系统:建立一个更智能的世界》主题演讲。他与在场的数千观众分享了他对未来世界系统设计的观点——如何整合现有的装置与设备并提供全球化的服务。在演讲中,他强调了三个重点:系统的可靠性问题,构建性问题及智能方面的需求,并通过具体事例支持其观点。微软亚洲研究院将演讲文稿翻译并整理,同时发布现场演讲视频,与大家共同分享大师对系统设计的独到见解。
演讲者 Joseph Sifakis
谢谢大家,各位早上好,非常荣幸来到中国给大家介绍一下我们的技术研究以及从程序设计到系统设计的演变。在1945年的时候,世界上迎来了第一台电脑,之后技术革新日新月异,我们可以看到计算机与通讯进行了合并,我们看到还有嵌入式系统多个系统的融合,云计算。我们可以看到所有的技术在相互联系相互合作,我们可以看一下十年之后技术领域的未来是怎样的?这都是很难预测的。我们可以看到在世界各地都有不同的系统,在全球范围有上万亿台的设备在全球各地运作,我们怎样能够整合这些装置、设备来提供全球化的服务?而且我们要看一下有一种技术的合并:我们希望能够有一种网络的架构,从无线到互联网的层面进行技术整合。在这方面我们需要进行IP协议的制作,我们可以看到有些设备可以给我们带来很多功能,你可以在上面看电视还可以监控你的健康状况等等。
Sifakis“21世纪的计算”大会主题演讲" title="从程序到系统:建立一个更智能的世界——记Joseph Sifakis“21世纪的计算”大会主题演讲">
当然这种功能也在不同的合并,另外一点我们还有不同的政策的融合来帮我们监管服务质量以及内容方面的质量。我们可以看到在技术领域有很多发展,软件公司必须顺应这个潮流,这是IBM对于一个更加智能星球的愿景。我们可以看到任何事情你都可以以传感的方式来了解,而且都是相互连接的。你可以预测未来事件的发生,同时可以优化你的资源,这就是IBM更加智能星球的愿景。如果今年8月份你读报纸的话,可以看到谷歌收购了摩托罗拉移动业务,很快微软收购了诺基亚,这是很有意思的发展。如果你读过9月14号的时代杂志你也可以看到,有一篇关于谷歌的长文章,谷歌也致力于希望将所有的事情都智能化,包括汽车、房屋、能源的应用等等。这些愿景都雄心勃勃,而且没有任何的限制。大家也可以思考一下未来的智能世界是什么样的。
接下来我想谈一些更加严肃的问题,这些对于未来的愿景,也许在未来可以给我们带来一些指示。在全球各地有各种装置,他们都是先后联系,整个的系统是智能化的,智能化来自于什么地方?就来自云计算。云计算可以存储和利用数据帮助我们进行决策,怎样能够更优化的管理资源?这是非常有意思的。我们再看一下内部的情况,我们有智能架构来帮助我们更加聪明的利用能源,我们必须要优化现有的资源,尤其是要优化利用能源。我们还有智能工厂,这些智能工厂可以远程控制,可以将生产规格说明传给工厂然后工厂就会生产出产品。还有一些概念是关于智能公路,公路上会安装一些传感器,可以监控路况和交通状况,还有像谷歌汽车,在未来我们可能把目的地告诉汽车,汽车就会自动的把你载到你所去的目的地,而不需要有司机。
还有智能汽车的安全,我们会有主动性安全,如果说前面有一个潜在的危险和风险,汽车的控制系统能够处理这样的突发事件,来避免风险。我们还有电子卫生方面的服务,比如说你可以吃一个智能药丸,这个药丸上面会配有芯片或者传感器,能够搜集一些你身体内部的数据,然后传给你的医生,帮助你进行健康方面的检查,这是非常有意思的。接下来我会谈一下技术方面的一些问题,我想澄清一下软件和系统的区别。对于程序来说,只是完成一个功能,整个系统包括硬件和软件环境,这不仅仅只是一个输入输出的关系,而是有一种inputstream这种值。对于系统来说它并不是有终结性的,系统的行为是没有办法预测的,而是取决于具体的平台。
为什么?因为系统与环境的互动是非常重要,但是目前我们在这方面还缺乏理论。接下来我还想介绍一下
系统与复杂的环境这方面的联系。我们必须了解复杂的环境,我们在系统设计的时候,目的是开放的,他们能够可以随着环境的改变进行适应,我们可以看一下并不是在你的实验室面临一些系统,我们对于你的台式电脑可能会在做反应的时候会有一些延时,而且还有一种手动重启的功能,尤其是对于嵌入式系统来说。尤其在智能手机上,我们还必须开发相应的软件,必须确保这些产品有这种弹性,能够灵活的适应环境的改变进行调整,同时我们还要看一下它是否在经济开发方面也是合理的。
Sifakis“21世纪的计算”大会主题演讲" title="从程序到系统:建立一个更智能的世界——记Joseph Sifakis“21世纪的计算”大会主题演讲">
接下来谈一下系统设计,系统设计是根据提供的要求来建立一个产品。设计就是这样一个过程来帮助你完成你的设计,然后进行实施,达到你想要达到的目的和完成任务。第二步我们需要选择所需要的资源,这些最终能够决定你的产品质量,当我们设计系统的时候,我们的起点是一堆的要求,我们利用资源去设计这个系统最后再实施。在这方面我们还需要确定什么叫做正确性?你最后的产品是符合你的设计之初的要求,我们还需要在功能性方面的要求。最终的系统必须满足功能性方面的要求。我们可以看到系统正确性是怎么样从软件正确性延伸而来的。什么叫做可靠性的系统?就是指系统在有危险或者是故障情况下他还能够正常运行。光是可靠还不行,因为有些时候可靠性是以高昂的代价为基础的,因此在这些方面我们必须要看一下这当中所牵扯的成本是怎样的?系统表现跟你的投入比例,而且我们要确保这当中的花费不要太高。
我们再区分一下可靠性和优化,我们可以看到绿色的部分是表示这些系统它是可靠的,红色部分是不可靠的。我们还需要优化这个系统,适应市场的需求。但是这也是相冲突的,因为要取得高的可靠性,可能你需要更多的资源,这就带来高成本。我们还要知道传统对于工程系统和计算支持的工程系统有不同的。如果传统的方式你要建一座桥,你需要进行一些计算,确保这个桥在几百年都不会跨掉。在计算方面,我们可以看到计算是一个非常年轻的技术,这在建设一座桥梁方面比物理学方面的理论,相比它更加年轻。而且我们可以看到在中世纪的力学也是很悠久。我一生重要的部分花在验证工具方面。我们要确保正确性,要将模型跟系统的要求进行比较,我们必须将模型或者模式进行验证,而且必须要保持它的一致性,不能有任何的矛盾,而且要是充分性的,不能遗漏掉任何基础的问题或者是根本的问题。这些都要满足我们最初的设计要求,当你建立一种计算模式的时候,必须确保它有综合性的,能够在很多系统里面都能够很有用,能够运作。
在当今世界上我们的系统变得更加的可靠,但是要取得这种系统可能需要很多投入。我们还需要了解一下硬件和软件他们是如何互动的?我们知道硬件怎样运作的,软件是怎么独立运作的,但是他们相互怎样做的,我并不是很理解。我也不知道怎样解决这个问题,现在的验证都是针对中小型的软件,还是有限的。可以看到今天我们在设计的时候,我们要看一下系统的故障危害性,还要看一下是否是关键性的系统,比如说看一下最努力的系统。我们需要能够优化一些技术来提高系统的可靠性,而且有些系统他们是非常关键的,尤其对于我们的使命来说非常关键,包括这些基础架构系统。对于这种安全性要求很高的系统,我们必须确保他的故障率非常低,低到负9甚至负6的程度。
另外一个重要的方面,我们需要提高我们系统的可靠性,你需要支付大量的投资才能够提升可靠性的指标,目前我们的系统并不是完美无瑕的,都是有缺陷的。我们没有办法确保绝对的正确性,有很多的都没有上报,有些故障被披露出来。这些关键性设施、这些系统包括医疗方面的设备、汽车和飞机上面的关键系统也是非常重要的,而且银行有可能受到攻击,虚拟的攻击可能会损失巨大。如果你的系统要做的更可靠,更稳定你就必须得投入更多的成本。我们还要看一下在空间产业,在航空产业系统更加复杂,而且可以看到它需要的代码也是很复杂的。我们才能够很好的衡量它的系统的表现,包括IC产品集成电路产业也是很关键的,需要提升系统的可靠性。
我还想强调一下对于系统来说,要取得它的可靠性,你必须得花费颇多。要建造一台飞机的话,可能整个美国的国防部的预算都不够打造了一台2060年的高可靠性的飞机。我希望大家能够听的明白,新一代的计算机系统我们需要将计算系统和物理系统进行融合,物理系统可能会处理物质的移动,计算系统处理信息的移动。他们是怎样能够整合起来?信息并不是物质性的,我在读的时候你可以写一些笔记,他并不是物质性的东西。计算是一种学科,电脑只是一个装置,更重要的想法是我们需要将计算领域跟其他的学科进行结合,架起一个桥梁。我们可能要观察能源以及移动的目的,在生物学方面我们会用一些算法来进行应用。
Sifakis“21世纪的计算”大会主题演讲" title="从程序到系统:建立一个更智能的世界——记Joseph Sifakis“21世纪的计算”大会主题演讲">
当我扔一个石头的时候,石头其实是一个电脑,乔伊提出了一个理念,这种算法可以应用到其他学科里面,我觉得这是很强的想法,能够将计算技术运用到其他的领域。我再讲的更技术性一点,我们怎样将物理系统跟计算系统结合起来?他们当中并不是一种平衡式。可以看到这是像用数学的方法来解释他们之间的关系,希望大家能看的明白。我们看一下这种计算系统能否推动理论研究?我们可以看到有这种连续的动态演示,左边有X轴和Y轴之间的关系一种展示,有一些非常有意思的模拟和一些相似之处,同时他们也有差异性。我们可以看到对于物理学来说,有很多的移动。在计算方面我们没有这种移动的概念,如果我是一个系统工程师我想设计一个系统,我需要了解很多编程软件,必须有一个很可靠的平台,而且我们会受到一些资源的限制,关于环境我们必须要考虑到环境的因素,同时要到用户的感受。
要做一个好的工程师,我必须要理解硬件,这取决于我做什么样的设计,同时我要理解控制理论。在系统设计方面我们需要整合这些方方面面,怎样在计算系统当中能够加入一些控件保持它的可靠性,这个愿景有一部分已经实现了。物理系统跟计算系统是有区别的,你需要推出一套系统,我希望大家能理解我说的内容,因为这是很重要的,我们面临很多的挑战。当前我们有一些小元件,微元件,包括处理器和传感器。而且我们也有先进的系统工程技术,我们已经有了这种元素来帮助我们。在工程界我们有一个梦想,希望能够在虚拟的环境打造一个产品,你想要建立一个产品的时候,你可以用CAD的工具帮助你,不管做一个几何图形或者3D的模型,比如说包括一些热能方面的参数,而且在整个元件里面可能嵌入了处理器。我们必须要在虚拟环境里面建立引擎的原型,然后把这个原型发到工厂里面生产产品,这目前还是一个梦想。
我们未来希望有更加智能的飞机的机翼,在飞机的机翼上会配上传感器,能够感觉到飞行的这些参数,比如说风速等等,来使飞机维持更好的稳定性。目前这是一种梦想,人们正在探讨。我们希望将3D的打印应用到更加复杂的系统里面,也希望能够建造一个汽车的虚拟原型,在左边的地方有所演示,有不同的元件他们有不同的规格或者是特点。
第二个挑战就是构建性,如果说你想用元件来建立一个非常复杂的系统,你可能面临的问题是,在系统工程方面我们并没有这么多的元件,对元件还需要有更多的知识。而且我们还需要这种可设计性,一种叫做设计正确性。如果我有这些元件,就像我们建房子用的砖头。我们把这些元件放一起,要确保在元件组合的时候,他们的组成是合理的。我们再用刚才的例子,用砖块我们可以建一堵墙,要确保这个墙不要太高,太高的话有一些砖块它们会受苦,就不会保持笑脸,这只是一个比喻,跟大家说明元件跟整个系统之间的关系。这在当今的系统工程学里面是一个非常重要的领域,如果说我们不能够进行一个合理的组合性,我们就没有办法打造一个非常正确的设计产品。
Sifakis“21世纪的计算”大会主题演讲" title="从程序到系统:建立一个更智能的世界——记Joseph Sifakis“21世纪的计算”大会主题演讲">
第三大挑战就是智能方面的要求,这也是最重要的挑战。在谈智能方面的时候,我们会经常提到人工智能,对我们来说我们需要理解一个活生生器官,生物它有什么样的智能?他们都会用GE,计算系统他们也有GE还有语言,比如人来说,我们也会有一种机制,我认为这种跨学科的研究是非常重要的提法,跨学界的研究对这方面会有很好的启示。当我们谈人工智能的时候,跟我们20年之前的愿景是不一样的。当时我们预测人的智能可以完美的通过电脑进行复制,我们可以用超级计算机模拟人的智能。比如电视游戏方面我们用了超级电脑,我并不认为这些超级电脑有任何智能,他们只是编的程序来运作,他们只是解决了一些比较大的计算方面的问题,但是他们并没有任何智能,其实我看他们有点傻傻的。
这些处理器因为基础的模型也有一些限制,我没有办法通过标准的计算模型真正理解人类的智能。我们的大脑有两种思考方式,一种是快速思考,另外一种是顺序性的思考。比如我是有意识的在思考,我在弹钢琴或者在散步,对于计算机来说它们可以模拟人类的有意识的思考。人类可以进行推理,这是一种顺序性的思维,对于电脑来说很有帮助的。另外一方面我们可以看到生物学方面的技术可以帮助我们,我们也可以用一种神经性的网络,叫做neronetwork。另外关于智能方面的概念就是适应性,当我们设计系统的时候我没有办法预测到未来所有潜在的情景,我们必须要确保它能够处理这些不确定性,当我们设计的时候我们不可能做到完美无缺,但是我们必须组建一个非常强大的控件,它能够检测到一些偏差,有一些参数能够降低风险或者危险,我希望大家能够理解这种概念。
Sifakis“21世纪的计算”大会主题演讲" title="从程序到系统:建立一个更智能的世界——记Joseph Sifakis“21世纪的计算”大会主题演讲">
我们怎样设计这些控件?这些控件应该像我们大脑一样工作。我们的大脑它有种等级式的功能。首先最核心的功能就管理我们的目的,可能我们有不同的目的。我们可能以自己的标准建立一个模型。比如说我有三个目的,我选择了其中一个目的要去体育馆,然后究竟怎样去体育馆?你去了体育馆你怎样?你从这个经历里面学到一些东西,然后你进行评估。你从中学到了一些东西,比如你去体育馆觉得不好玩,你就会休正模型的参数,这个参数跟你的目的管理的功能相关。另外一方面我们需要在网络方面使用数据挖掘,现在我的发言快要结束了,我想再探讨一些非常重要的问题。
我强调了设计在当今是多么的重要,我们可以给设计提供一些科学基础,其他的学科也能够帮助我们理解这个世界。我们可以用一些模型更好的理解这个世界,这些模型可以放到电脑方面进行计算,是很好的应用。我们还有系统设计,是起源于我们的想法,从想象变为现实,我同意设计确实有一些问题,怎么样能够整个不同的程序还有本地化的这些问题,而且我们要意识到我们的理论还滞后于技术的发展。这些都是很重要的问题,我们是否能够以科学的,非常严格的基础之上来进行设计?这是一个非常巨大的,对于我们知识的挑战。如果我们没有办法克服这些挑战,我们没有办法完成这种整合,由于我们的通信的技术架构,现在也有所欠缺。在结束我的发言之前我想强调一下物理世界跟虚拟世界是有不同的,我们建立了虚拟世界我们要为此负责。扪心自问我们是否有尽可能最佳的虚拟世界,远远不是,我们需要继续改进,谢谢!
Sifakis“21世纪的计算”大会主题演讲" title="从程序到系统:建立一个更智能的世界——记Joseph Sifakis“21世纪的计算”大会主题演讲">
____________________________________________________________________________
Joseph
Sifakis:
瑞士洛桑联邦理工学院教授 2007年图灵奖得主
相关阅读
模型检验和维数灾难——记Edmund M.Clarke“21世纪计算”大会主题演讲
欢迎关注
微软亚洲研究院官方微博:http://e.weibo.com/msra/profile
微软亚洲研究院人人主页:http://www.renren.com/600674137
从程序到系统:建立一个更智能的世界——记Joseph Sifakis“21世纪的计算”大会主题演讲的更多相关文章
- 程序员简单打造一个灵活智能的自动化运维系统C#实例程序
你是一个程序员,被派去管理公司500台计算机.这些机器可能需要执行一些自动化任务,一台台手动操作会把你累死.重复性的工作还是交给电脑处理,怎么解决这个问题呢?一个自动化的运维系统是必须的.自己实现的好 ...
- 建立一个更高级别的查询 API:正确使用Django ORM 的方式(转)
add by zhj: 本文作者是DabApps公司的技术主管,作者认为在view中直接使用Django提供的ORM查询方法是不好的,我对此并不赞同,可能作者 写这篇文章是给Django的初学者看,所 ...
- 【转】建立一个更高级别的查询 API:正确使用Django ORM 的方式
这个就比较深入啦... http://www.oschina.net/translate/higher-level-query-api-django-orm 结论: 在视图和其他高级应用中使用源生的O ...
- 建立一个更高级别的查询 API:正确使用Django ORM 的方式
https://www.oschina.net/translate/higher-level-query-api-django-orm
- 你要相信你所做的一切对一个更美好的世界 Do have faith in what you are doing All for a better world
http://www.nowamagic.net/librarys/veda/detail/2502 Do have faith in what you are doing. 先不要往下看,试试品尝上 ...
- 由情感计算带来的惊喜发现——记Rosalind W. PICARD“21世纪的计算”大会主题演讲
W. PICARD"21世纪的计算"大会主题演讲" title="由情感计算带来的惊喜发现--记Rosalind W. PICARD"21世纪的计算& ...
- linux 下程序员专用搜索源码用来替代grep的软件ack(后来发现一个更快的: ag), 且有vim插件的
发现一个比ack更快更好用的: https://github.com/ggreer/the_silver_searcher , 使用时命令为ag,它是基于ack的代码二次开发的,所有使用方法基本 ...
- vue+nodejs+express+mysql 建立一个在线网盘程序
vue+nodejs+express+mysql 建立一个在线网盘程序 目录 vue+nodejs+express+mysql 建立一个在线网盘程序 第一章 开发环境准备 1.1 开发所用工具简介 1 ...
- Java基础---Java---网络编程---TCP的传输、客户端和服务端的互访、建立一个文本转换器、编写一个聊天程序
演示TCP的传输的客户端和服务端的互访 需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息. 客户端: 1.建立Socket服务,指定要连接方朵和端口 2.获取Socket流中的输出流,将数 ...
随机推荐
- selenium请求豆瓣网
#请求豆瓣网 from selenium import webdriverimport timedriver = webdriver.Chrome() driver.get("http:// ...
- 简单vue的监听属性(单位换算)
单位换算 单位换算可以根据实际情况换 <!DOCTYPE html> <html lang="en"> <head> <meta char ...
- javaweb02
第一个web服务器程序:开发部署到Tomcat服务器下运行 1).在eclipse新建一个Javaproject2).在java项目下创建web开发的目录结构 -Webcontent -WEB-INF ...
- Channels(纪念一下卡我心态的一道题)
链接:https://ac.nowcoder.com/acm/contest/3947/C来源:牛客网 题目描述 Nancy喜欢学习,也喜欢看电视. 为了想了解她能看多长时间的节目,不妨假设节目从时刻 ...
- ZJNU 1333 - 第二题 blocks--中高级
因为放一个就需要判断一次,每一次跑一遍全图bfs显然是不现实的 又因为点只有三种,黑白无 所以可以用并查集优化 添加一个棋子就判断周围四个的组别情况 注意出现的情况与答案关系之间的判别 /* Writ ...
- Graph & Trees3 - 二分图
\[二分图略解\] \[By\;TYQ\] 二分图定义: \(f(i,L) = [a \in L\;\text{&}\;\forall b \in a.to \;\text{,}\; b \n ...
- SVN常见错误解决办法和批量add等命令
批量添加所有更改文件 svn add . --no-ignore --force 提交文件 svn commit -m "up" File already exists: file ...
- 第04项目:淘淘商城(SpringMVC+Spring+Mybatis) 的学习实践总结【第四天】
https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040 ...
- 关于Tarjan的一些问题
$Q:$为什么tarjan求强连通分量要记录点是否在栈内,而求双连通分量不用? $A:$在有向图中存在横叉边,而无向图中不存在: $Q:$为什么用子搜索树中的$low[v]$来更新$low[k]$,而 ...
- 使用java获取手机号归属地等信息httpClient实现
java获取手机号归属地 一般想获取手机号归属地等信息个人是无法获取的,但是可以通过调用第三方接口获取,具体百度搜索很多这里例子提供一个淘宝的接口 ,该功能已经发布到网站作为一个在线小工具,拿走不谢: ...