可编程网络路由器

像所有的数据网络一样,在大型的组织中连接服务器的网络,或者大型组织中的服务器和工作站,都很容易出现拥塞。当网络流量大时,数据包可以在网络路由器上备份或完全丢弃。也像所有的数据网络,大的私有网络有控制算法来管理网络流量在拥塞期间。但是,因为在服务器场中的直接交通需要超高速路由器,控制算法是硬连接到路由器的电路。这意味着,如果有人开发了一个更好的算法,网络运营商必须等待新一代的硬件之前,他们可以利用它。在麻省理工学院的计算机科学和人工智能实验室的研究人员(CSAIL)和其他五个组织希望改变路由器,是可编程的,但仍然可以跟上高速的现代数据网络。研究人员在一对文件中列出了他们的系统,在协会的年度会议上,计算机械的特殊利益集团的数据通信。“这项工作表明,可以实现交通管理许多灵活的目标,同时保留了传统路由器的高性能,”Hari Balakrishnan说,富士通在电气工程和计算机科学教授在麻省理工学院。“以前,编程是可以实现的,但是没有人会在产品中使用,因为它是一个因素10甚至100慢。”“你需要有能力的研究人员和工程师们尝试了成千上万的想法,”他补充道。“有了这个平台,你会被限制不是硬件或技术的限制,而是由你的创造力。你可以创新更加迅速。”两论文的第一作者是Anirudh Sivaraman,在电气工程和计算机科学的一个麻省理工学院毕业的学生,由Balakrishnan和Mohammad Alizadeh建议,在电气工程和计算机科学的TIBCO在麻省理工学院职业发展助理教授,谁是在两个论文合著者。他们的同事从麻省理工学院,进入华盛顿大学,赤脚的网络,微软研究院,斯坦福大学,和思科系统。不同的行程流量管理可能会变得棘手,因为在网络上的不同类型的数据,以及不同的服务提供的不同类型的性能保证。例如,与互联网电话通话,延迟是一个麻烦,但偶尔掉的数据包-这可能会转化为一个失踪的字在一个句子-可能是可以容忍的。另一方面,有一个大的数据文件,一个轻微的延迟可以是可以容忍的,但丢失的数据是不一样的。同样,一个网络可以保证其用户之间的平等的带宽分配。在一个数据网络中的每一个路由器都有自己的内存库,称为缓冲区,它可以排队的数据包。如果一个用户已经填充了路由器的缓冲区,从一个单一的高清晰度视频的数据包,另一个是试图下载一个相对较小的文本文档,网络可能要碰撞的视频数据包的一些有利于文本,以帮助保证两个用户的最低数据率。路由器也可能要修改数据包传递网络条件的信息,如包是否遇到拥堵,在哪里,以及多久;它甚至想建议发送新的传输速率。计算机科学家们提出了数百个交通管理方案涉及复杂的规则,确定哪些数据包承认一个路由器和下降,以什么顺序队列的数据包,以及什么额外的信息添加到他们-所有在不同的情况下,各种不同的情况下。虽然在模拟中,许多这些计划承诺提高网络性能,其中很少有人曾被部署,因为在路由器的硬件限制。麻省理工学院的研究人员和他们的同事们为自己设定了一个目标,找到一组简单的计算元素,可以安排实施不同的交通管理计划,而不影响今天最好的路由器的运行速度,并没有占用太多的空间片上。为了测试他们的设计,他们建立了一个编译器-一个程序,将高层次的程序指令转换为低级别的硬件指令-他们用来编译七个实验交通管理算法到他们所提出的电路元素。如果一个算法不会编译,或者如果需要电路不切实际的大量,他们会增加新的,更复杂的电路元件的调色板。