Frenetic语言问世十年,获ICFP 2021「最具影响力论文」奖

百家 作者:机器之心 2021-09-20 15:52:14 阅读:174

机器之心报道

编辑:陈萍、小舟

十年来,Frenetic 已经发展成一个完整的高级语言家族。

十年前,计算机网络通常是由专有硬件和软件组成的,它们由供应商控制,因此不利于技术创新。正如 John Markoff 在《Open Networking Foundation Pursues New Standards》中所报写的那样:计算机程序员担心这种情况会对网络的进一步发展产生负面影响,于是开始推动可编程性、开放标准和开源软件平台的发展。

就在那时,Nate Foster 等研究者开始设计一种网络编程语言 Frenetic,以克服软件定义网络(SDN)这一新兴领域的限制。十年后,该研究被评为该领域最具影响力的研究之一。

在今年的函数式编程国际会议 (ICFP 2021)上,Nate Foster 等人关于网络编程语言 Frenetic 的研究被评为「最具影响力论文」,该论文的题目为《 Frenetic: A Network Programming Language 》。


论文地址:https://www.cs.cornell.edu/~jnfoster/papers/frenetic-icfp11.pdf

该论文的一作 Nate Foster 现在是康奈尔大学计算机科学系的副教授,另外一位来自康奈尔大学的研究者 Alec Story,现在在谷歌任高级软件工程师。此外,论文作者中还包括来自普林斯顿大学的一组研究人员。


Nate Foster 个人主页:https://www.cs.cornell.edu/~jnfoster/

Nate Foster 还是 Barefoot Networks 首席研究工程师和 P4 语言技术指导团队(P4 Language Technical Steering Team)主席。他的研究目标是开发语言和工具,使程序员可以轻松构建安全可靠的系统。Nate Foster 目前的工作重点是软件定义网络编程语言的设计和实现。

此前,Nate Foster 还进行过双向语言(lenses)、数据库查询语言、类型系统和形式语义等方向的研究。求学期间,他先后于威廉姆斯学院获得计算机科学学士学位,于在剑桥大学获得历史和科学哲学硕士学位,于宾夕法尼亚大学获得计算机科学博士学位。

Nate Foster 还获得过许多奖项,包括斯隆奖、NSF CAREER 奖、SIGCOMM 新星奖、最具影响力的 POPL 论文奖等。

该奖项委员会指出:「作为一种网络编程语言,Frenetic 架起了编程语言和网络之间的一座桥梁,是该领域的第一篇会议论文,也是一份极具影响力的工作。」

Frenetic 的作者完成了几件事:他们分析了此前网络编程语言中 SOTA 方法存在的缺陷,在新语言的设计中解决了这些问题,并在一组微基准测试中描述了 Frenetic 的实现和性能。

正如 Frenetic 作者所说:「现代网络提供了各种相互关联的服务,包括路由、流量监控、负载平衡和访问控制。但很多网络编程语言都缺乏现代功能,这是因为它们通常是在底层硬件提供的低抽象级别上定义的,甚至无法为模块化编程提供基本的支持。因此,网络程序往往很复杂、容易出错且难以维护。」Frenetic 网络编程语言就解决了这些问题。

Frenetic 是一种用于对分布式网络交换机集合进行编程的高级语言。它提供了一种用于分类和聚合网络流量的声明式查询语言,和一个用于描述高级数据包转发策略的函数式响应式组合子(combinator)库。与该领域之前的工作不同,这些构造在设计上完全是以组合形式的,这有助于实现模块化推理和代码复用。此外,Frenetic 可以使用基于语言的技术来强制实现安全性、可靠性和性能保证。

该奖项委员会强调:Frenetic 的论文激发了领域内研究人员的大量后续工作,对网络编程的改进具有非常大的实用价值,使其成为当之无愧的获奖者。

如今,Frenetic 问世已有十年, Nate Foster 和在康奈尔大学、普林斯顿大学等机构的研究人员已经开发出一个完整的高级语言家族,用于对分布式网络交换机集合进行编程,包括 Pyretic 和 NetKAT。


Frenetic 高级语言家族:http://frenetic-lang.org/

参考链接:
https://news.cornell.edu/stories/2021/09/nate-foster-wins-most-influential-paper-network-programming-language

CUDA编程基础——利用CUDA实现光线追踪


9月23日20:00-21:30,CUDA编程基础系列分享第二期:利用CUDA实现光线追踪。本次分享主要介绍GPU多种存储单元的特点、使用Shared memory的实例、使用Constant memory的实例、编程实例—利用CUDA实现光线追踪等内容。


点击阅读原文,报名预约直播吧。

© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:http://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

图库
关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接