Michael Carbin谈近似计算中的完整性性质

||谈话

迈克尔·卡宾的肖像迈克尔·克拉宾是一个博士学位。麻省理工学院电气工程与计算机科学的候选人。他的兴趣包括通过纳入近似计算和自我修复来提供改进的性能和弹性的编程系统的设计。亚博体育苹果app官方下载

他对斯坦福大学方案分析的工作,作为一名本科的大学获得最佳计算机科学本科本科荣誉论文。作为研究生,他收到了MIT Lemelson总统和微软研究毕业生奖学金。亚博体育官网他最近关于验证在不可靠亚博体育官网硬件上执行的程序可靠性的研究,在Oopsla 2013上获得了最佳纸张奖。

卢克·穆罕沃斯:在Carbin等人。(2013),你和你的合作者展示了Rely,这是一种新的编程语言,“使开发人员能够推断出[程序]在不可靠的硬件上执行时产生正确结果的可能性。”在实现可靠的近似计算方面,Rely与以前的方法有何不同?


迈克尔·克拉宾: 这是一个很好的问题。建立与不可靠的组件合作的应用程序一直是分布式系统社区和其他社区的长期目标,这些社区已经调查了如何构建容错的系统。亚博体育苹果app官方下载容错系统的一个关键目标是即使在系统的构成组件中存在错误,也可以亚博体育苹果app官方下载提供正确的结果。

这个目标与我们在工作中针对的不可靠硬件的目标形成了对比。具体地说,硬件设计者正在考虑新的设计,有意地公开那些可能悄无声息地产生一些不可忽视的错误结果的组件。这些硬件设计师工作在一个被广泛称为近似计算的子领域。

近似计算社区的关键思想是,许多大规模计算(例如,机器学习、大数据分析、金融分析和媒体处理)都在其结果的质量和产生结果所需的时间和资源之间进行自然的权衡。利用这一事实,研究人员设计了许多技术,利用现亚博体育官网有的应用程序并对其进行修改,以提高性能或降低功耗来换取结果的质量。

我的团队所做的一个例子是,简单地跳过我们已经演示过的计算部分——通过测试——可以省略,而不会对应用程序结果的总体质量产生实质性影响。另一种方法是执行在这些新的不可靠硬件系统上自然能够容忍错误的应用程序部分。亚博体育苹果app官方下载

一个自然的后续问题是,开发人员以前是如何处理近似的?

这些大规模的应用程序是自然近似的,因为精确的解决方案往往难以解决,甚至可能根本不存在(例如,机器学习)。因此,这些应用程序的开发人员通常从如何计算精确结果的精确模型开始,然后使用该模型作为指导,设计易于处理的算法和相应的实现,以返回更近似的解决方案。因此,一段时间以来,这些开发人员一直在手动地将近似应用到他们的算法(及其实现)中,并推断出他们的算法的准确性。这方面的一个主要例子是数值分析领域及其对科学计算的贡献。

新兴的近似计算社区代表了这样一种认识,即编程语言、运行时系统、操作系统和硬件架构不仅可以帮助开发人员在构建这些应用程序时导航他们需要进行的近似,而且这些系统本身也可以合并近似。亚博体育苹果app官方下载例如,硬件体系结构本身可能导出不可靠的硬件组件,应用程序开发人员可以将其用作执行近似的众多工具之一。


路加福音你为什么选择将Rely开发成命令式编程语言而不是函数式编程语言?我的理解是,函数式编程语言通常是与可靠性、安全性和安全性相关的应用程序的首选语言,因为它们通常可以通过机器检查其正确性。


迈克尔:从历史上看,命令式语言和函数式语言之间一直存在激烈的竞争。已经得到广泛使用的语言(例如,C、c++、Java、php和Python)传统上是命令式的,而函数式语言传统上只吸引较小的、更有学术倾向的程序员群体。

命令式思维和函数式思维的区别也适用于编程语言和编译器研究社区中的研究人员。亚博体育官网我们之所以决定使用命令式语言,很大程度上是因为简单的命令式语言可以被广泛的公众和研究受众所使用。亚博体育官网

但是,我们为命令势在必行语言的结果也可以适应功能语言。这很重要,因为与Erlang(WhatsApp)和Scala(Twitter)这样的语言的普及,有更有的功能语言的公共利益。因此,这些命令和功能阵营之间的划分已经开始模糊,因为已经采用了标准的功能语言的特征,该功能已经采用了主流的命令语言(例如,Lambdas C ++和Java)。因此,我亚博体育官网们的研究能够适应编程范式景观的变化。

重要的是要注意的是 - 原则上 - 原理 - 用两种不同的图灵完整语言编写的程序(命令或功能)同样困难(即,未定定)。但是,以功能语言编写程序通常更好地暴露计算的结构。

例如,在函数式语言中,将一个元素列表映射到另一个元素列表会显式地显示计算的递归性质以及列表的当前头元素与它的尾元素是不相交的这一事实。

然而,用简单的C实现(例如)映射具有直接的C实现的元素列表(例如)将立即使用指针,因此使执行验证所需的推理使其复杂化。随着命令的语言开始暴露更好的结构化编程构造,必须狭窄和功能语言之间的推理差距将缩小。


路加福音:研究方法和工具的研究有什么有希望的“下一步”,如依赖于,可以提高例如可以提高节目可靠亚博体育官网性的方法。近似计算和嵌入式系统应用程序?亚博体育苹果app官方下载


迈克尔近似计算社区刚刚开始崛起,所以有很多机会向前发展。

在计算机硬件方面,如果我们故意通过静默返回不正确或近似结果,有意打破传统数字抽象的硬件,仍然存在有关性能/能源增益的问题。例如,社区的研究人员仍在询亚博体育官网问,我们会看到2x收益,还是希望看到100倍的收益?

关于硬件的另一个主要问题是,每个近似组件的错误模型是什么 - 它们经常失败是否具有任意错误,或者不经常具有小界限错误?或者,这两个极端之间有一些快乐的平衡吗?

在硬件之上,然后是各种软件问题。大多数软件都设计并构建了硬件可靠的假设。我们正在亚博体育官网做的研究依赖于第一个提出编程模型和工作流程,在这些新的近似硬件设计中提供可靠性和准确性保证。

但是,仍有许多挑战。例如,传统上,编译器依赖于假设所有指令和存储区域同样可靠。然而,近似硬件可能导致硬件设计,其中一些操作/存储区域比其他操作更可靠。由于这种区别,通过交换另一个操作序列的一个操作来优化程序的标准编译器变换现在可以改变程序的可靠性。这种新现实将要求社区重新思考我们如何设计,构建以及编译器的原因,以平衡优化和可靠性。

近似计算社区尚未探索的一个额外机会是现有软件的事实是某些可能具有灵活性本身的算法或者可以是许多潜在算法之一。展望未来,近似计算社区需要考虑应用程序的算法灵活性,以实现其希望实现的广泛影响。

具体而言,通过将算法引入图片,近似计算界将能够包含数值分析,科学计算和理论社区的经验和结果,以提供关于算法的准确性,稳定性和收敛性的强烈保证这些近似硬件和软件系统将用于实现。亚博体育苹果app官方下载


路加福音:谢谢,迈克尔!