基于NPU的P4语言编译器的设计与实现

来源 :东南大学 | 被引量 : 0次 | 上传用户:luoweitao2007
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着网络技术的快速发展,让数据平面拥有和控制平面一样的可编程能力是发展软件定义网络(Software Defined Network,SDN)的关键。可编程协议无关数据包处理语言(Programming Protocol-Independent Packet Processor,P4)赋予了数据平面可编程的能力,能够通过软件编程控制,让数据包的解析和转发流程不再与硬件绑定。同时,随着网络带宽的指数性增加,网络设备的处理能力已逐步成为网络带宽的瓶颈。传统网络设备难以同时满足具有高性能和高灵活性的要求,可编程的网络处理单元(Network Processor Unit,NPU)可以实现灵活性和高性能的平衡,是较为理想的解决方案。为此,本文设计并实现了一种基于NPU的P4语言编译器,可用于交换机、网卡、防火墙等网络设备,具有重要的应用意义。本文基于编译技术原理,将编译器系统划分为词法分析、语法分析、语义分析、中间代码生成和目标代码生成五个模块,采用高度模块化设计,对各个模块的设计与实现过程进行了详细研究。主要内容包括:第一,使用编译自动生成工具PLY(Python Lex-Yacc)实现了词法分析和语法分析的功能,不但缩短了编译器的开发周期,而且降低了词法分析模块和语法分析模块开发的复杂度,保证了这两个模块的质量;第二,根据P4语言特性设计了用于存储语义信息的语法树、符号表等数据结构,同时设计了用于发现程序中语义错误的语义检查流程,进一步提高了编译器系统的正确性;第三,设计了用于存储中间代码的Python对象结构形式的高层次中间表示数据结构,该中间表示数据结构与目标平台无关,从而提高了编译器系统的可移植能力;第四,设计了与目标平台相关的数据结构,并且根据源语言与目标语言的映射规则生成相应的指令,实现了指令的匹配和翻译功能。基于NPU的P4语言编译器的测试与验证结果表明,各功能和性能均满足设计指标。编译器系统能够实现各模块功能,可以正确无误地生成在目标平台上运行的代码,能够打印编译过程并且给出错误提示。性能测试的结果表明,编译100行代码耗时0.5s,编译1000行代码耗时4s,编译时间能够控制在可接受范围内。编译1000行代码占用系统物理内存1.5MB,生成目标代码的吞吐量为100Gbps,每秒传输数据包数(Packet Per Second,PPS)为52Mpps。本文的工作,一方面扩展了P4的应用领域,另一方面大幅提高了NPU设备的灵活性和可编程性,具有重要的工程应用价值。
其他文献
相较于非隔离型的驱动芯片,采用隔离结构的GaN驱动芯片在高频应用中拥有更强的抗干扰能力。隔离型驱动芯片内部需要增加发射电路和接收电路实现信号在隔离介质上的传输,其中发射电路增加了芯片的功耗。功耗的增加会带来散热及电路性能下降等问题。因此,研究隔离型驱动芯片发射部分低功耗调制技术具有重要意义。本文首先分析了光耦隔离、磁隔离和电容隔离三种隔离方式以及相应的调制技术,阐述了电容隔离在GaN隔离驱动芯片高
鉴于抗生素污染问题的严峻性和电催化氧化技术在处理抗生素废水方面的广泛应用,开发新型电极已成为具有潜力的发展方向。本研究制备了Mo2C/钢丝网复合材料(SS_Mo2C)作为电催化氧化系统的阳极,并以典型抗生素—四环素(Tetracycline,TC)为例,初步探究不同电压下其对抗生素的氧化去除特性。在此基础上,将该材料应用于生物电化学系统中,对比分析不同耦合方式对系统中TC去除的影响,解析其降解机理
能量采集电路通过采集环境中的能量给物联网节点等低功耗应用供电,由于环境中的能量有限,需要能量采集电路具有较高的转换效率,而能量采集电路的转换效率主要由电路中的升压电路决定,现有的主流升压电路包括基于电感型的升压电路和基于电荷泵的升压电路,本文设计了一种应用于能量采集的高转换效率电荷泵电路。本文主要完成了电荷泵主电路和辅助模块的设计,其中辅助模块包括时钟发生器、基准电路和比较器等模块。电荷泵主电路为
可靠的行程时间预测是出行服务的重要内容,准确的行程时间预测可以帮助出行者合理地选择出发时间和行程路径,减少了城市交通网络在高峰期间的交通荷载压力,有助于提高交通网络的服务水平,对城市智能交通的发展具有非常重要的意义。但现有的行程时间预测方法主要是点预测,仅提供一个预测值,无法充分体现行程时间的不确定性和个体差异,不能提供时间可靠性、极端情况下的行程时间等对出行者而言具有重要意义的信息。因此,论文结
桩-土相互作用分析是桩基承载性能研究的重要部分。桩-土系统的响应会随着荷载形式的变化而变化,尤其是在地震荷载作用下,荷载的方向与大小随时间持续转变,土体主应力方向不断发生旋转,大小也会不断变化。由此可见,复杂荷载路径下桩-土系统响应非常难以捕捉。此外,本质上地震荷载先使土体产生变形,进而带动桩发生运动。因此,场地响应分析是地震荷载作用下桩土相互作用研究的前提。有限元法(FEM)目前广泛应用于大型岩
城市路网交通运行状态可靠性是城市路网运行状态的重要性能指标。针对复杂城市路网上进行路网交通运行状态可靠性度量,是进行路网交通管理和出行者出行诱导的重要前提和依据。在全面梳理路网可靠性定义与度量方法的基础上,本文以路网交通运行状态为研究对象,提出基于路段-路网框架的路网交通运行状态可靠性度量方法。本文的主要研究内容包括以下几个方面:首先,综述路网可靠性度量方法国内外研究现状。分析路网可靠性的基本概念
数字水印作为一种在多媒体文件中利用计算机算法嵌入标识信息的技术,由于其本身安全性,隐蔽性和鲁棒性的特征,近年来一直是研究的热点。基于视频压缩编码算法的数字水印研究也随着科技的发展越来越多样化,应用多集中于版权保护,内容认证,拷贝控制,信息保密等方面。基于监控视频所面临的实际问题,例如,监控视频的非法传播,视频盗摄等,本文研究一种数字水印技术,以实现视频可溯源应用。该技术主要应用于敏感监控视频监管。
新兴应用程序(如云计算)的不断涌现和新型网络模式(如物联网)的普遍应用,要求新的网络基础设计建设能够支持动态、高容量和可靠传输质量的端到端服务,在这种背景下波分复用光网络已经越来越难以满足用户的需求。和目前广泛应用的固定网格波分复用光网络相比,弹性光网络(Elastic Optical Network,EON)可以通过梳理一系列更细粒度的子载波灵活建立超级通道,并且可以根据传输质量要求调整调制格式
随着当今通信系统的不断发展,比如以太网收发器、高速无线系统以及光纤通信领域等,都对数字信号处理技术提出了更高的要求。而作为连接模拟信号和数字信号的桥梁,模数转换器(Analog-to-Digital Converter,ADC)的性能将会直接影响数字信号处理系统的性能。在中高速应用系统中,常需要中等分辨率以及数百兆采样率的模数转换器,逐次逼近型(Successive Approximation R
生态引领区(宜兴市)位于太湖流域的西部。自2007年太湖蓝藻暴发后经过了10年的治太攻坚战,宜兴河湖水质也得到了极大改善,但近几年水质改善变缓,引发了人们对于水生态治理方向的新思考。党的十八届三中全会提出了“推进国家治理体系和治理能力现代化”的新时期治理思路,对生态文明建设同样提出了生态环境治理现代化的要求。江苏省“263”专项行动将宜兴市定为生态引领区的试点城市之一,以期通过在宜兴市建立水生态环