论文研究-基于NetFPGA的Open vSwitch核心态实现 .pdf

所需积分/C币:9 2019-08-15 11:14:37 494KB .PDF
收藏 收藏
举报

基于NetFPGA的Open vSwitch核心态实现,刘旭山,王洪波,随着云计算的发展,越来越多的公司开始部署自己的数据中心,虚拟化技术在数据中心中得到了广泛的应用,而虚拟交换机作为虚拟化中
国武技论文在线 由核心态,核心态截获到本来应发往 的数据包,使用自己的处理函数对数据包 进行操作,首先核心态会解析到达的数据包的包头信息,对包头信息之后,通过 值检索一个叫做 的表,表的结构如图 存储的是包头信息的值 存储一些关于该类流的统计信息, 是 对应的数据包应执行的操作。在 的字段命中的数据包则按照对应的操作对数据包进行处理, 包括丢弃、 转发、修改数据包包头信息和发往用户态处理等,在 中未命中的数据包直接发往 用户态处理。 header tatus action header:数据包包头对应的hash值 status:该类数据流对应的统计信息 action:该类数据包对应的操作信息,包括丢 弃、转发、修改、发往用户态等操作 结构 平台分析 是 大学研究开发的一个可编程的网终平台开发板,具有个 的以太网接口,个可编程 (采用 编程),另外还包括 等 其通过接口与主机相连。 通过一个一个的功能模块的组合来完成复杂的功 能,模块采用 编程改计,各模块之间釆用流水线的工作机制连接,可以有效的加快 数据的处現速度,达到的级别。同时 是一个廾放的平台,所有的开发出来 的系统都中的模块都可以破复用,大部分现有的系统都是基」 大学最初的廾发的 设计的,基本是对 的 层的模块进行了修改,其 它模块直接复用得到新的系统,经过修改或者新添加的模块要符合流水线之间连接的接凵 与上下级模块成功连接。 可重复擦写,根据用户需要实现各种网络相关功能,例 如路由器、交换机、网卡等,功能非常强大 的流水线包括寄存器流水线和数据包处理流水线,如图所示,寄存器流水 线主要进行各种相关配,数据包处理流水线完成各项数据包的处理。 acke Bu Register B Mast DMA from Moduler Module Module DMA to nost pc Packet Packet Packet host pc TXC rocessing 工 工 ELF 图 流水线结构图 国武技论文在线 核心态的 实现设计方案及功能实现 本文的主要工作是研究了 的工作机制,并使用硬件的方案实现了 核心态的功能,完成了硬件代祃的编写,冋时搭建了简单的测试环境对硬件方案进 行了功能测试 对 的工作机制方面的研究主要集中在核心态工作机制的分析,通过研究 的源码,得出核心态的主要功能包括以下几部分 解析数据包包头:从数据包的 结构体中提取源目的、源目的 端凵等 信息,并进行 检索 根据包头信息的值检索 执行操作:若在 中命中,则根据字段规定对数据包执行相应操 作,若在未命中,则将数据包发往用户态处理。 根据对 核心态源码的分析,我们参考了 的 流水 线设计,对 的核心态模块进行了模块设计,设计方案如图,其中 输入仲裁 等模块复用了 的设计,主要设计并实现了 层的其它模块及 的存储、检索等模块,图中 对应了个以太网 端凵 模块完成数据链路层处理, 层完成数据包的解析、转发等 工作, 对应个队列, 通过端凵以的方式与主 机进行通信, 存储在 的 上,流表查询模块需要访问检索 ,以下介绍下各模块设计及功能,模块实现均使用硬件设计语言 nf2 mac grp nf2 mac grp nf2 mac grp nf2 mac grp 输入仲裁 u dma q CPU dma qu PCI nf dma < H cpu dma queue 队列 数择包头处理 CPU_dma _queue Kt 检索 匚流表查找号十 SRAM 扒行操作 对应1 cpu dma queue 核心态的硬件设计方案 :此处是 板子上自带的内存,我们将 存放在这里,通过读写 寄存器可以往 中写入流表信息,同时可被其它模块检索 输入仲裁:完成个 和个 队刎的输入仲裁,轮询处理 国武技论文在线 个队列的输入请求 队列:数据包缓冲队列,从输入仲裁接收到待处理数据包,插入缓冲队列,等待 执行操作模块从队列汇总提取数据包; ●数据包头处理模块:从输入仲裁模块获得待处理薮据包,从数据包中提取所需包头信息, 经数据流水线传送给流表查找模块 ●流表査找模块:根据包头处理模块发送来得包头信息,在 里检索 得 出命中或未命中结果,如果命中,则返回命中信息同时获取对应的 地址 信息,传送给执行操作模块,如果未命中,则直接返冋未命中,岀送给执行操作模块; 执行操作模块:若 结果为命中,则根据从流表查找模块获得的 地址读 取 获得对应的操作,同时从读取数据包执行对应操作,若 查找 结果为木命中,则未获得地址,无需检索,直接从队列获得数据包, 发送到 队列,等待发往用户态。 测试环境搭建及功能测试 为了测试硬件实现的核心态的功能,我们结合了 用户态与 实现 的核心态的功能,使得 用户态功能不变,同时核心态处理部分由 硬 件实现,即数据包主要由 处埋,我们使用这个方案与原来的纯 的方 案尽心对比,看性能是否得到提升。 我们搭建了如下测试环境,首先在两台配置相同的物理机上安装了 系统,分别 在 上部署了 在上又安装了两台 虚拟机和,两台虚拟 机分配相同的资源,之后在第一台物理主机上部署了 虚拟交换机,并 将和连接到 上,在第二台 物理主机上部署了我们改进后的 硬件实现方案,部署方案如图所示。 VM2 VM1 VM2 VM1 KVM KⅥM Open vSwitch用户态 NetFPGA Open vSwitch 图实验方案部署图 我们通过测量两种方案和之间的网络吞吐量和使用率来衡量这两种方 案的性能。使用工具 来测量两种方案的网终吞吐量,同时观察两种方案下物理主机 的使用率,吞吐量的测量结果如表所示。 表吞吐量测量结果 方案 吞吐量 以下图是两种方案对应吞吐量情况下物理主杋使用率情况,图中上边图是采 国武技论文在线 用 方案春吐量是 时的物理主机使用率,下边图是方案 吞吐量是 时的物理主机使用率,根据吞吐量及使 用率的测试,我们可以发现,使用硬件实现 的方案不仅能够达到更高的吞吐 量,同时可以减小的使用率,节省了系统资源,符合我们的预期。 100% 25 0% 0 120 Time(s 100% 75 50% 25% 0% Time(s) 图 使用率 总结与展望 木文以 为例分析了纯软件实现的虚拟交换机的工作原理,并使用 硬件的方式设计了 核心态的功能,哩论上可以加快数据包的处理速度,同时 减少系统资源的消耗,最后搭建了简单的物理测试环境,对硬件实现 的性能 进行了测试。如我们预期,硬件方案的性能确实得到的提高,同时减少了系统资源消耗,但 是性能提高并不是很明显,造成这样结果的原因可能是我们的软硬件之间通信的优化T作做 得不够完善,导致性能还不够高,后期会加强这方面的工作,对其进行改进 参考文献 马骏发,肖徳敏,王汀,蒋海华基于云训算的虚拟网络交换技术硏究训算机科学, 陆佳华零存整取 开发指南北京:北京航空航天人学出版社,

...展开详情
试读 6P 论文研究-基于NetFPGA的Open vSwitch核心态实现 .pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    上传资源赚积分,得勋章
    最新推荐
    论文研究-基于NetFPGA的Open vSwitch核心态实现 .pdf 9积分/C币 立即下载
    1/6
    论文研究-基于NetFPGA的Open vSwitch核心态实现 .pdf第1页
    论文研究-基于NetFPGA的Open vSwitch核心态实现 .pdf第2页

    试读已结束,剩余4页未读...

    9积分/C币 立即下载 >