论文阅读:Azure Accelerated Networking: SmartNICs in the Public Cloud

摘要:

现代云架构依赖于每个运行自己的网络堆栈的服务器来实现策略,例如虚拟网络的隧道,安全性和负载平衡。但是,随着功能的增加和网络速度的提高,这些网络堆栈变得越来越复杂。

在CPU内核上运行这些堆栈会浪费VM的处理能力,从而增加运行云服务的成本,并增加网络性能的延迟和可变性。

我们介绍了Azure加速网络(AccelNet),这是使用基于FPGA的自定义Azure SmartNIC将主机网络卸载到硬件的解决方案。我们定义了AccelNet的目标,包括与软件可比的可编程性,与硬件可比的性能和效率。我们展示了FPGA是当前用于减轻网络堆栈负担的最佳平台,因为ASIC无法提供足够的可编程性,而嵌入式CPU内核也无法提供可扩展的性能,尤其是在单个网络流上。

(这里一开始没看懂网络堆栈的意思,查了一下,OSI模型就是一种七层的网络堆栈)

背景/问题:

公共云是大量且迅速增长的在线软件服务背后的骨干。仅在Microsoft Azure云中,这些服务就消耗数百万个处理器核心,几EB的存储空间和PB的网络带宽。

带宽和延迟的网络性能对于大多数云工作负载至关重要。作为大型公共云提供商,Azure已基于基于主机的软件定义网络(SDN)技术构建了其云网络,使用它们来实现几乎所有的虚拟网络功能,例如具有客户提供的地址空间,可扩展的L4负载的专用虚拟网络。平衡器,安全组和访问控制列表(ACL),虚拟路由表,带宽计量,QoS等。

在短短的几年内,我们将网络速度从1GbE提升到40GbE +,提高了40倍以上,并增加了无数新功能。这些功能由主机平台负责,这通常意味着在管理程序中运行的软件提供这些服务的成本不断增加。而且,尽管我们构建了日益完善且高效的主机SDN数据包处理功能,但在主机上以软件运行此堆栈需要额外的CPU周期,为这些服务刻录CPU会浪费客户VM可用的处理能力,并增加了提供云服务的总体成本

已提出单根I / O虚拟化(SR-IOV),以通过允许从VM直接访问NIC硬件来降低CPU利用率。但是,这种直接访问将绕过主机SDN堆栈,从而使NIC负责实施所有SDN策略。由于这些策略变化迅速(数周至数月),因此我们需要一种能够提供类似于软件的可编程性,同时提供类似于硬件的性能的解决方案

在本文中,我们介绍了Azure加速网络(AccelNet),这是在基于FPGA的Azure SmartNIC上实现的主机SDN堆栈。 AccelNet在虚拟化环境中提供近乎基本的网络性能,将数据包处理从主机CPU转移到Azure SmartNIC。在基于软件的VFP主机SDN平台[6]和Catapult程序的硬件和软件基础架构[7,8]的基础上,AccelNet提供了专用硬件的性能以及在虚拟机管理程序中运行的软件的可编程性。我们的目标是展示我们的设计和我们在大规模生产中运行AccelNet的经验以及我们吸取的教训

(关于公有云:公有云平台提供商通过互联网将存储、计算、应用等资源作为服务提供给大众市场。企业不需要自己构建数据中心,只需要根据使用量支付开支。如果说传统 IT 设施是企业自己给每个部门准备一台发电机、铺电线。公有云就是企业从专业电力公司买电,基础设施的建设和管理完全交给电力公司,企业用多少电付多少钱。能够最高效、最经济地利用资源)

虚拟过滤平台(VFP)是我们的云级可编程vSwitch,为Azure提供可扩展的SDN策略。它旨在满足Azure的许多SDN应用程序的可编程性需求,并为多个SDN控制器提供一个平台,以通过match+action表来研究复杂的有状态策略。

解决办法:

AccelNet的目标之一是找到一种使VFP的复杂策略与SR-IOV兼容的方法。

我们在VFP中使用的用于在SR-IOV环境中强制执行策略和过滤的机制称为通用流表(GFT)。 GFT是一种匹配动作语言,它为一个特定的网络流定义了对数据包的转换和控制操作。

从概念上讲,GFT由一个大表组成,该表具有一个主机上每个活动网络流的条目。 GFT流是基于VFP统一流(UF)定义的,它匹配可能跨越多层封装的唯一源L2 / L3 / L4元组和目标L2 / L3 / L4元组,以及标头转置(HT)操作,该操作指定标头字段的处理方式添加/删除/更改。

只要GFT表不包含网络流条目(例如,当启动新的网络流时),就可以将流引导到主机上运行的VFP软件。然后,VFP使用实时流动作编译器为流的第一个数据包处理所有SDN规则,以为每个UF(例如每个TCP / UDP流)创建有状态的精确匹配规则,并创建一个包含所有该流程的已编程策略。

然后,VFP会在GFT表中填充新条目,并将数据包交付进行处理。在GFT表中填充了流的操作后,所有后续数据包将由GFT硬件处理,从而提供SR-IOV的性能优势,但具有对VFP软件SDN堆栈的完整策略和过滤实施。

(有点类似于flexgate,硬件部分存储流表匹配到的都可以加速,不能处理的先给控制器,处理完添加进硬件里,这样之后都可以处理了。)

AccelNet的控制平面与原始VFP设计没有太大变化,并且几乎完全保留在虚拟机监控程序中。它仍然负责从流表创建和删除流,以及确定每个流的关联策略。

AccelNet的数据平面已卸载到FPGA SmartNIC。NIC的驱动程序增加了称为GFT轻型过滤器(LWF)的过滤器驱动程序,该驱动程序从VFP中提取了分离的NIC / FPGA硬件的详细信息,以使SmartNIC看起来像是具有完整SR-IOV和GFT的单个NIC。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,165评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,503评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,295评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,589评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,439评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,342评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,749评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,397评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,700评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,740评论 2 313
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,523评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,364评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,755评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,024评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,297评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,721评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,918评论 2 336