NSDI 2019:微软亚洲研究院最新论文将实现FPGA互联互通
2019年2月26日至28日,计算机网络系统领域的全球顶级学术会议NSDI于美国波士顿举行。作为业内权威学术大会,NSDI一向十分重视收录文章的质量,因此大会采用严格的双盲评审,每篇文章都要经过两轮总计六到八个审稿人的审阅,以及程序委员会的讨论筛选。相比一些计算机顶会动辄上千的入选论文数,每届NSDI大会上仅有几十篇论文能够入选。
今年的NSDI大会共收录了包括知名高校和企业研究机构在内的49篇论文,其中有5篇来自微软,包括微软亚洲研究院网络研究组的最新研究成果“Direct Universal Access: Making Data Center Resources Available to FPGA”(直接通用访问:使数据中心资源可用于FPGA)。
与此同时,每届NSDI大会都会评选出一篇历经 “时间考验(Test of Time)”的论文。顾名思义,这篇论文必须在本领域发表了至少十年,经过时间考验证明其有着深远的影响力。微软亚洲研究院于2009年发表的软件无线电系统Sora(Microsoft Research Software Radio),在本届大会上荣获了“经历时间考验(Test of Time)”奖项。
来自微软亚洲研究院网络研究组的“Direct Universal Access: Making Data Center Resources Available to FPGA”是被今年NSDI收录的论文之一。该论文研究了在当数据中心大量部署FPGA(现场可编程门阵列)时,如何将所有FPGA互联互通,使之在整个数据中心级别上,无缝地连接与FPGA相关的所有资源,如CPU、GPU、存储等等。
众所周知,FPGA是大型云基础设施的底层技术支撑,如今被广泛地部署在数据中心里。相比于CPU或GPU,FPGA的优势在于更高的计算效率。为了发挥FPGA的计算效率优势,则需要FPGA直接访问数据中心中的各种资源,而不是由CPU进行中转,这些资源包括大量存储,如主机内存和NVMe硬盘等等。而数据中心中的计算业务通常很庞大,单个FPGA无法装载全部的逻辑或是无法满足计算的延时需求,往往需要多个FPGA协同完成计算。同时,异构计算还需要FPGA与CPU或GPU等计算设备交换数据。
事实上,FPGA可以看作是一种硬件编程,它与软件不同,软件可以实时更改、调整,但硬件代码更像是刻印其上,难以更改,所以硬件可编程难度非常高。当用户访问不同的资源时,他们需要不断地重新编写不同的代码。此外,当前数据中心中的FPGA应用通信使用了一些定制化的协议栈,以直接访问特定的资源,如访问主机内存的DMA,通过数据中心网络访问其他FPGA的LTL等。但是这些定制的通信方式访问能力有限,接口复杂。为了使用某一协议栈需要付出很多额外的开发代价。由于FPGA程序开发周期很长,这都极大地限制了FPGA程序在数据中心的使用。
针对这些问题,并基于微软数据中心超大规模的FPGA部署,微软亚洲研究院的研究员们创新研究了一套互联互通系统——“直接通用访问”(Direct Universal Access,简称DUA)。DUA可在不改变数据中心已有网络的情况下,为数据中心中的FPGA提供一个简单而高效的通信体系结构。
当前FPGA通信体系结构
DUA实现的通信体系结构
通过DUA,FPGA可以访问数据中心中所有的资源。具体来说,DUA沿用了已有的数据中心网络以及FPGA访问各种资源的通信协议栈,并把FPGA作为“路由器”连接各个协议栈,将整个数据中心的资源连在一起。在这一数据中心全部连通的网络之上,DUA为每一个资源都提供了全数据中心统一的地址、路由以及连接管理。
DUA还对FPGA开发者提供了统一的编程接口来访问各种资源,开发者不需要考虑资源的类型和所处的位置,简化了代码重写的难度,极大地降低了FPGA应用程序的开发周期。
论文的实验结果表明,DUA在不同连接方式间转发数据的延时不到0.1微秒,相比而言,数据中心中两台主机间的延时大约是3微秒。DUA在任意两端口间转发的吞吐量可以满足PCIe、以太网等FPGA外部接口的最大传输速率。然而,DUA这样高的性能并没有占用FPGA芯片过多的逻辑资源(仅约不到10%)。更重要的是,通过使用DUA,开发者只需要分别修改几十行代码,就可以把两个应用——深度学习算法deep crossing和网络包深度检测算法的核心模块——从一块FPGA扩展到多块FPGA,同时取得接近于线性的性能提升。
此外,当前现有的大型云平台,虽然可以实现多租户的运营,但其实每个租户所租用的存储空间、算力、网络带宽等都无法实现真正的互不干扰,尤其是分配给不同租户的虚拟资源刚好在一台物理机上时,干扰一定会发生。即便分配给不同租户的虚拟资源不在一台物理机上,也会带来利用率低下的问题。尽管管理员绞尽脑汁将物理设施划成大大小小的虚拟资源块,但仍然有不少资源被浪费。而DUA可以让多个用户共用同一部分资源,大大提升了FPGA的利用率。
微软亚洲研究院副研究员舒然表示,如果将整个“云”看作是一台PC的话,那么FPGA互联互通则可算是与PC中的网络协议栈相对应,并在整个“云”操作系统中发挥非常重要的作用。“在FPGA之上搭建的这层通用的网络系统,将所有FPGA相连,形成了一个FPGA资源池,在极大地提升了硬件速度的同时,还提高了资源利用率。”
数据中心大规模部署的FPGA真正实现互联互通,无疑是云基础设施虚拟化的里程碑式进展。FPGA资源池可以真正做到任何租户使用任何物理设备上的任何虚拟资源,以及同一应用跨设备使用虚拟资源都不再是问题。可以认为,作为未来大型云基础设施的一部分,FPGA在互联互通上的突破有望开启整个未来基础设施的变革。
点击“阅读原文”查看论文:Direct Universal Access: Making Data Center Resources Available to FPGA
十年前,Sora便一鸣惊人
Sora是一个完全可编程的、高性能的软件无线电系统,可以用于实现最前沿的无线通信技术(Wi-Fi、LTE以及MIMO等)。其在软硬件平台上的创新使得Sora可以在PC上完成高性能的无线信号处理。这种用软件的方式去实现以往固化在硬件中的无线电功能,无疑让灵活度倍增,而这也是Sora的颠覆性所在。
由于Sora可以在一个通用的硬件平台上,完全用软件来实现各种不同的无线通信协议,因此,如果通信协议更新,那么仅通过软件升级的方式就可以进行相应的部署,而无需替换硬件板卡。这对于学术研究和实际产品应用都有着非常重要的意义。同时,Sora还起到了一个桥梁作用,将以前通讯和计算机软件这两个隔绝领域的研究人员连接在一起,可以在同一个平台上工作、交流。
微软亚洲研究院20周年特展中展示的“Sora”软件无线电系统原型
听Sora项目核心成员谭焜讲背后的故事
2009年,微软亚洲研究院首次发表Sora这一软件无线电系统的研究成果时,相关论文就获得了NSDI 2009的最佳论文奖以及学术界多项最佳论文和演示大奖。
在Sora出现之前,无线电通信系统中关键的底层操作,如物理层(PHY)信号处理、媒体访问层控制(MAC),基本上都是用专用硬件来实现的。但是,这种以硬件芯片实现的无线电系统存在两个明显的不足:一是,硬件芯片一旦设计生产后,就无法修改和升级;二是,硬件芯片设计成本昂贵。这都极大地制约了无线技术的研究与发展。
Sora的系统架构
面对这些挑战,微软亚洲研究院开发了Sora。研究员们首先设计了一款新的射频控制接口板,利用高速PCIe总线传输宽带无线信号采样。其次,Sora充分利用了现代多核CPU的多种特性来平行加速无线信号处理(例如,SIMD指令及利用Cache构建查找表等)。Sora的软件架构可以将处理流水线有效地分配到多个核上,从而实现流水线并行计算。最后,Sora中实现了一个新的内核服务,称为专属线程,可以被现实指定在特定核上,用于保障处理的实时性。
Sora的业界影响绵延至今
十年前,Sora项目的推动者和该论文的作者之一,时任微软亚洲研究院无线与网络组负责人的张永光(现任微软研究院首席研究员,负责微软雷德蒙研究院网络云化研究)就曾表示,“我们不少研究项目是着眼于10年后的应用,这些研究成果未来可能从根本上改变工业界。”在NSDI 2019大会上,这句话得到了验证,时隔十年,Sora荣获了“时间考验(Test of Time)”奖,在系统领域能够获此殊荣的技术可谓凤毛麟角。
Sora荣获NDSI 2019“时间考验(Test of Time)”奖
张永光介绍道,Sora刚一出现就引起了学术界与工业界的兴趣,众多机构开始在科研和教学中使用Sora。随后为了满足研究者们日益迫切的各种研究需求,微软亚洲研究院开源了如支持定制的射频前端、支持定制的RCB、支持新的通信模式等大量Sora系统特性,帮助更多的研究团体实现了更多的无线电领域的科研创新。
“当时软件无线电性能低,跟不上高速的无线通信要求,学术界的各研究机构都只能通过仿真或数学推断进行研究,无法真实地验证工作,这导致了无线网络通信系统的学术研究工作与实际脱节。有了Sora之后,科研人员可以真实地实现测试,从而推动了该领域国际上的研究工作”,张永光表示。
在工业界,Sora对其他无线网络系统也产生了积极的影响。今天,软件无线电系统广泛使用的PCIe、多核CPU、实时射频等技术,都是Sora率先开始使用的。今天大家所熟知的GNU radio,在十年前的性能也非常滞后,正是通过使用了这些技术,才有了今天性能良好的GNU radio。不仅如此,当今5G中vRAN的实现,也多多少少应用了类似技术。
Sora十年来给学术界和产业界带来的深远影响,是它得以获得“时间考验(Test of Time)”殊荣的原因。正如它名字里蕴含的语义:Sora在日文中是“天空”的意思;Sora还是游戏“王国之心”男主角的名字(在故事中,这个十六岁的勇敢男孩,手持“钥匙刀”,成为拯救世界的先驱),Sora的发展可谓开辟了另一片天空,为整个无线电系统研究做出了杰出贡献。
旧文新读
无限的“天空”:软件无线电时代的来临
长按扫码,了解更多Sora内容
实习生招聘
网络研究组现招聘实习生:
工作内容涉及防火墙、FPGA、网络虚拟化、机器学习系统网络优化等领域
长按扫码,查看详细职位介绍
你也许还想看:
感谢你关注“微软研究院AI头条”,我们期待你的留言和投稿,共建交流平台。来稿请寄:msraai@microsoft.com。