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)”奖项。

FPGA互联互通:云基础设施虚拟化的里程碑式进展

来自微软亚洲研究院网络研究组的“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通信体系结构

UA实现的通信体系结构

通过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》论文原文:https://www.microsoft.com/en-us/research/publication/direct-universal-access-making-data-center-resources-available-to-fpga/

Sora系统:软件无线电领域的陈年佳酿,愈久弥香

十年前,Sora便一鸣惊人

Sora是一个完全可编程的、高性能的软件无线电系统,可以用于实现最前沿的无线通信技术(Wi-Fi、LTE以及MIMO等)。其在软硬件平台上的创新使得Sora可以在PC上完成高性能的无线信号处理。这种用软件的方式去实现以往固化在硬件中的无线电功能,无疑让灵活度倍增,而这也是Sora的颠覆性所在。

由于Sora可以在一个通用的硬件平台上,完全用软件来实现各种不同的无线通信协议,因此,如果通信协议更新,那么仅通过软件升级的方式就可以进行相应的部署,而无需替换硬件板卡。这对于学术研究和实际产品应用都有着非常重要的意义。同时,Sora还起到了一个桥梁作用,将以前通讯和计算机软件这两个隔绝领域的研究人员连接在一起,可以在同一个平台上工作、交流。

微软亚洲研究院20周年特展中展示的“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的发展可谓开辟了另一片天空,为整个无线电系统研究做出了杰出贡献。

微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

理论云计算微软亚洲研究院论文FPGA
2
相关数据
微软亚洲研究院机构

微软亚洲研究院于1998年在北京成立,是微软公司在亚太地区设立的基础及应用研究机构,也是微软在美国本土以外规模最大的一个研究院。微软亚洲研究院从事自然用户界面,智能多媒体,大数据与知识挖掘,人工智能,云和边缘计算,计算机科学基础等领域的研究,致力于推动计算机科学前沿发展,着眼下一代革命性技术的研究,助力微软实现长远发展战略。通过与微软产品部门紧密合作,微软亚洲研究院将众多创新技术转移到了微软的核心产品中,如Office、Windows、Azure、Bing、Visual Studio、Xbox Kinect以及小冰、Cortana和Microsoft Translator等人工智能产品。

https://www.msra.cn/
微软机构

微软是美国一家跨国计算机科技公司,以研发、制造、授权和提供广泛的计算机软件服务为主。总部位于美国华盛顿州的雷德蒙德,最为著名和畅销的产品为Microsoft Windows操作系统和Microsoft Office办公室软件,以及Xbox的游戏业务。微软是美国《财富》杂志2015年评选的世界500强企业排行榜中的第95名。

https://www.microsoft.com/en-us/about
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

操作系统技术

操作系统(英语:operating system,缩写作 OS)是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

信号处理技术

信号处理涉及到信号的分析、合成和修改。信号被宽泛地定义为传递“关于某种现象的行为或属性的信息(如声音、图像和生物测量)”的函数。例如,信号处理技术用于提高信号传输的保真度、存储效率和主观质量,并在测量信号中强调或检测感兴趣的组件。我们熟悉的语音、图像都可以看做是一种信号形式。因此,对于语音、图像的增强、降噪、识别等等操作本质上都是信号处理。

5G技术

第五代移动通信系统(5th generation mobile networks),简称5G,是4G系统后的延伸。美国时间2018年6月13日,圣地牙哥3GPP会议订下第一个国际5G标准。由于物理波段的限制,5G 的网络也将会与其他通信技术并用,包含长距离的其他传统电信波段。

暂无评论
暂无评论~