zoukankan      html  css  js  c++  java
  • 论文阅读:FlowBlaze Stateful Packet Processing in Hardware

    1、背景

    随着网络规模的日益增长,网络的基础设施需要不断发展的网络功能(Network Function)才能使得网络安全可靠的运行,这些网络功能例如:NAT(Network Address Translation,网络地址转换),负载均衡,流量整形,防火墙等等。

    但由于网络功能由纯软件实现,这便来带了时延的开销,如下图所示。

    2、要解决的问题

    微软提出了基于FPGA的Smart NIC,可以节省CPU使用率并且减少PCIe总线上的流量,但这必须需要专门的团队来负责,这对于大公司没有问题,但对于其他绝大多数公司并没有这个能力。

    Nick McKeown 等人提出了可编程协议无关报文处理语言 P4 以及相应的转发模型,Match-Action Pipline

    3、FlowBlaze

    FlowBlaze,一种拓展了类似P4或者Microsoft的GFT之类Match-Action语言的抽象,简化L2-L4一系列状态功能集,同时在基于FPGA的Smart NIC上实现。

    4、关键挑战

    • 1.在flow table中插入新流,由于Cuckoo hash,导致插入时间是不确定的。

    • 2.状态更新时延问题

    5、解决思路

    • 挑战一:通过利用Stash,来弥补插入时间不确定的问题。额外来开辟一个空间处理需要插入时间过多的Flow。

    • 挑战二:更新流状态中,给需要更新的流进行加锁,来解决更新流状态的时延问题,确保每条流的状态是正确的。但可能会对性能造成影响。

    附录

    论文地址:https://www.usenix.org/conference/nsdi19/presentation/pontarelli
    github地址:https://github.com/axbryd/FlowBlaze

  • 相关阅读:
    XCOJ1250: 语言战争
    XCOJ 1249: 全自动奖学金计算系统
    杭电 2159 fate(二维背包费用问题)
    杭电 1059 Dividing
    背包问题的模版
    Shell解析器
    Shell简介
    SpringBoot配置文件占位符
    @ImportResource、@Bean
    @ImportResource注解;
  • 原文地址:https://www.cnblogs.com/deepYY/p/12167113.html
Copyright © 2011-2022 走看看