共计 51882 个字符,预计需要花费 130 分钟才能阅读完成。
日益简单的网络和多样化的工作负载要求网络内置更多的自动化决策能力,通过可编程网络设备在用户面反对机器学习工作负载就是一个可能的选项,本文提出了一种反对用户面推理的架构设计,绝对管制面机器学习的性能有数量级的晋升。原文: Taurus: A Data Plane Architecture for Per-Packet ML
概要
新兴利用 (云计算、物联网、加强 / 虚拟现实) 须要反馈迅速、平安、可扩大的数据中心网络,以后这些网络实现了简略的、逐包计算的数据立体 (如 ECMP 和 sketches),并在实现了数据驱动的性能、安全策略的慢速、毫秒级提早管制立体的治理之下。然而,为了满足古代数据中心的应用服务程度指标(SLOs, service-level objectives),网络必须弥合线速(line-rate)、逐包执行(per-packet execution) 和简单决策之间的差距。
因而咱们提出并设计和实现了 Taurus,这是一个用于线速推理的数据立体。Taurus 将灵便的、形象了并行模式(MapReduce) 的定制化硬件增加到可编程网络设备 (如交换机和网卡) 中,这种新硬件基于流水线 SIMD 实现并行,实现逐包 MapReduce 操作 (如推理)。咱们对 Taurus 交换机 ASIC 的评估(基于几个真实世界的模型) 表明,Taurus 的运行速度比基于服务器的管制立体快几个数量级,同时面积减少了 3.8%,线速机器学习模型的提早减少了 221ns。此外,Taurus FPGA 原型实现了残缺的模型精度,比最先进的管制立体异样检测零碎的能力晋升了两个数量级。
1. 简介
为古代分布式工作负载 (如云计算、物联网、加强 / 虚拟现实) 保障严格的平安和服务水平指标 (SLO),须要依据整个数据中心网络的以后状态(如拓扑构造、队列大小以及链路和服务器负载) 做出计算密集型治理和管制决策,并按线速利用在每个数据包上 [170]。在当今双向 Pb 级带宽网络[60] 中,即便是几微秒的提早,也可能产生数以百万计的异样数据包 8[154],从而使交换机队列饱和并导致拥挤 66[169],或者因为丢包而导致适度重传[37],以及造成流量和服务器负载不平衡 4。然而,以后的实现面临两难,必须在每包线速执行或计算复杂性之间做出抉择。
数据面 ASIC(如交换机和 NIC)能够在纳秒级对网络条件做出反馈,但其编程模型被限度为以线速度转发数据包(如流量表 15),从而将网络操作限度在简略的启发式办法上 4[98],或者须要在固定性能硬件中实现特定工作(如中间件 29)。
管制面服务器能够做出简单的、数据驱动的决策,但频率不高 (通常在每条流的第一个数据包上)。即便有疾速数据包 IO38[132] 和专用硬件 (如 TPU[84] 或 GPU[119]),控制器和交换机之间的往返时延 (10us 或更多) 也从根本上限度了管制面的反应速度。将计算转移到交换机 CPU 也没有帮忙,因为不足全局网络常识,而且交换机 ASIC 和 CPU 之间的 PCIe 接口减少了大概 900ns 的往返提早[117],意味着在 12.8Tb/ s 的网络上,ASIC 在做出决定之前曾经转发了大概 12000 个 128 字节的数据包(或 22000 个 64 字节数据包)。
因而提出如下问题:”如何能将管制面的简单决策委托给数据面 ASIC?“ 管制面能够通过对全局网络状态进行采样来学习新的趋势 (如攻打 106、流量模式 162 和工作负载[169]),并能够训练机器学习(ML) 模型来解决此类事件。而后,数据面能够应用封装了全网行为的模型,在不访问控制面的状况下做出转发决策。同时,管制面能够持续捕获交换机的决策及其对指标的影响 (如流量实现工夫),训练和优化模型以学习新的事件类型(或签名) 以及进步决策品质,并以固定的工夫距离更新交换机模型。这种训练将产生在较粗的时间尺度上 (几十毫秒),但不在要害门路上。而且,应用最近训练的机器学习模型,数据面能够从流量的第一个数据包开始做决定,同时对已知(学习) 类型的事件做出自主反馈,管制面只须要对新 (未见) 事件类型进行干涉[1]。
[1] 另一方面,无论事件类型 (或签名) 如何[96],流量规定须要管制面对每个事件进行干涉。
那么挑战就在于如何在数据面上运行机器学习模型。如果网络行为是稳固的,能够将模型输入映射为交换机的匹配动作表 (MAT, match-action table) 中的流量规定 [15]。然而,古代数据中心网络是动静的,这将导致表项的频繁生效并须要频繁访问控制面,从而减少对网络事件做出反馈的工夫[170]。间接在现有交换机上施行模型,特地是深度神经网络(DNN, deep neural network) 也是不可行的 144。大多数机器学习算法是围绕线性代数建设的,应用了大量的重复性计算,在大量权重上进行定期通信 88[150]。匹配动作流水线的 VLIW 架构 [15] 不足必要的循环和乘法运算,以及不必要的灵活性 (如全连通 VLIW 通信[178]、大型存储器和 MAT 中的三元 CAM[15]),耗费了芯片面积,但对机器学习却没有益处[144]。简而言之,现有数据面不足执行古代机器学习算法(如 DNN) 所需的计算资源,而管制面服务器 (和加速器) 没有针对超过每秒几十比特的网络速度下的每包低提早操作进行优化。
咱们在本文中提出了 Taurus,一个用于数据面逐包运算机器学习的特定畛域架构。Taurus 扩大了独立于协定的替换架构 (PISA, ProtocolIndependent Switch Architecture)15,有一个基于并行模式形象的新计算模块(即 MapReduce)[88],反对古代机器学习利用中常见的数据并行性[28]。MapReduce 模块实现了空间 SIMD 架构,由内存单元(MU, memory unit) 和计算单元 (CU, compute
unit) 组成,交织排列在一个网格中,并由一个动态互连 (第 4 节) 连贯。每个 CU 有四个流水线计算阶段,每个计算阶段对 16 个独立的数据元素 (通道) 各进行一次 8 位定点操作。当评估一个 16 位输出感知器时,CU 应用第一级来映射 16 个平行的乘法,而后应用第二级将乘法的值缩小到一个单元。第二个 CU 利用激活函数 (例如 ReLU[112])。多个 CU 能够并行用于分层 MapReduce 计算(宽模型层) 或串联用于流水线计算(多层)。
MapReduce 模块与解析器、MAT、调度器一起工作转发数据包,MAT 将 MapReduce 与流水线连接起来,预处理 MAT 负责提取、格式化并记录数据包级、流级[154]、穿插流以及设施特色(基于带内网络遥测即 INT[87]),MapReduce 模块基于这些特色和机器学习模型生成数学后果,后处理 MAT 将输入转化为数据包转发决策。不须要机器学习决策的数据包能够绕过 MapReduce 模块,防止产生额定提早。
总之,Taurus 是一个集成系统,汇合了网络和机器学习架构畛域的想法 (即用 MapReduce 模块扩大 PISA 流水线),实现了 逐包机器学习(per-packet ML) 这种新的计算范式,以供行业和学界摸索、翻新[2]。咱们做出了如下奉献:
- 用于 MapReduce 的带有可重配 SIMD 数据流引擎的 Taurus 交换机硬件设计 (第 3 节) 和实现(第 4 节)。
- 基于 15ns 预测 PDK[12]对 ASIC[3](第 5.1.1 节)进行剖析,并针对实在的机器学习网络应用 (第 5.1.2 节)、微测试(第 5.1.3 节) 和纯 MAT 实现 (第 5.1.4 节) 进行合成,以确定绝对于市售交换机的速度和面积开销。Taurus 的 MapReduce 模块为线速 (1GPkt/s) 机器学习模型均匀减少了 122ns 提早,而对于最大的模块配置来说,产生的面积和功耗开销别离减少了 3.8% 和 2.8%。
- 基于 Taurus 测试平台进行端到端系统评估,该测试平台基于连贯到 FPGA 的可编程交换机,可对 MapReduce 模块进行模仿 (第 5.2.1 节)。结果表明,Taurus 齐全实现了模型精度,并比管制面事件检测能力晋升了两个数量级(第 5.2.2 节)。此外,数据面模型能够在几毫秒内学会解决来自控制器的新(异样) 行为(第 5.2.3 节)。
[2] Taurus 原型源代码能够在 https://gitlab.com/dataplane-ai/taurus 上公开获取。
[3] 设计评估基于最近的空间 SIMD 加速器 Plasticine[127],并将其批改为针对线速的纯推理利用。代价是须要升高精度,缩短流水线,并且不反对浮点运算,没有 DRAM,以及更少的片上存储器。
2. 逐包机器学习需要(THE NEED FOR PER-PACKET ML)
为了满足古代超大规模数据中心严格的 SLO,网络界曾经基于可编程数据立体 (如 Barefoot Tofino 芯片 114) 以包为单位运行服务 (如负载平衡 4、异样检测 95 和拥塞管制 162)。然而,数据立体的受限编程模型将服务限度在简略的启发式办法上,无奈解决大规模数据中心网络的简单交互[75]。另一方面,机器学习(ML) 能够肯定水平上解决这些简单的交互 43,而且,通过主动决策,机器学习算法能够利用大量网络数据,逐渐学习适宜特定数据中心的更理智的决策 642110152172-174131。此外,最近对于拥塞管制 162、数据包分类 99[131]和异样检测 106 的机器学习工作表明,这些算法比手动编写的启发式算法有更平滑、更精确的决策边界。例如,与现有机制 (如 PCC[37] 和 QUIC[91])相比,机器学习为拥塞管制提供了更好的针对吞吐量和提早的均衡。
然而,机器学习通常用于闭环决策零碎,因而其反应速度对数据中心的性能和安全性至关重要。例如,如表 1 所示,被动队列治理 (例如 RED45 和 DCTCP[5]) 必须针对每个数据包做出标记 / 删除的决定。入侵 / 故障检测和缓解计划 (例如,针对重击[148]、微爆[139]、DoS17 以及灰色故障 77) 必须疾速口头,因为即便几微秒的提早也会造成 PB 级带宽网络中数百万的丢包,从而产生重大的影响。例如,在 SYN-flood 攻打中,每个丢包会在服务器上关上一个新的连贯,造成 CPU、内存资源以及网络带宽的不必要的耗费。另一方面,无效的资源分配 (例如链接带宽) 须要及时对网络流量进行分类[11]。在这些状况下,迟缓的机器学习决策会造成不同结果,但通常会导致次优的行为(例如无奈达成平安和服务级别指标),减少的提早会导致提早决策,并最终升高机器学习模型的准确性(第 5 节)。
2.1. 数据面机器学习的限度(Limitations of Data-Plane ML)
最近有许多基于以后交换机形象 (例如 MAT)136[168] 以及专门硬件 [53] 进行网络内机器学习的尝试,然而,这两种办法都有缺点,因而无奈提供线速的逐包机器学习。
2.1.1. 基于 MAT 的推理
基于 VLIW 架构的匹配动作 (match-action) 形象,因为短少指令 (尤其是循环和乘法) 以及低效的 MAT 流水线,在古代数据立体设施中不足以实现线速机器学习 [15]。曾经实现的二进制神经网络(基于几十个 MAT) 也不够准确 136。同样,用于物联网分类的 SVM[168]被证实在 NetFPGA 参考交换机 (一个试验钻研平台) 上须要耗费额定 8 个表 104。因而,绝对于模型品质而言,其资源应用十分大(第 5.1.4 节)。
VLIW 与 SIMD 并行模式的比拟。 单指令 / 多数据 (SIMD) 的每个指令老本比交换机的 VLIW 模型更便宜。目前在交换机 MAT[15]中应用的 VLIW 模型,每级能够并行执行多个逻辑上独立的指令,能够在包头向量 (PHV, packet-header vector) 中读写任意地位。这种全对多 (all-to-multiple) 的输出通信和多对全 (multiple-to-all) 的输入通信须要大型替换构造,从而限度了每级指令数量。例如,一个 16 并发 VLIW 处理器的管制逻辑是同样弱小的 8 个双并发处理器集群的 20 倍[178]。因而,Barefoot Tofino 芯片每级只执行 12 个操作,8、16、32 位操作各 4 个[65]。一个典型的 DNN 层可能须要 72 次乘法和 144 次加法[153],即便乘法被增加到 MAT 中,也须要 18 个阶段(大部分状况下)。
2.1.2. 基于加速器的推理
传统加速器 (如 TPU[84]、GPU[119] 和 FPGA[44])能够扩大数据立体,作为通过 PCIe 或以太网连贯的直连推理引擎。在大多数加速器中,输出是批量的,以进步并行性,较大的批量能够通过更无效的矩阵乘法运算来进步吞吐量。然而,非批量 (矩阵向量) 解决对于确定性提早是必要的,否则数据立体的数据包须要在期待批量填充时停滞。此外,减少物理上独立的加速器将耗费交换机端口 (节约收发器和带宽) 或须要反复实现交换机性能(如数据包解析或者特征提取的匹配口头规定)。因而,独立的加速器会减少冗余面积,升高吞吐量,并减少更多能耗。
2.2. 管制面机器学习的限度(Limitations of Control-Plane ML)
MAT[108]能够缓存在管制面上计算的推理后果,而不是按数据包执行深度模型。在缓存计划中,具备先前未见特色的数据包将被发送到管制面进行推理,而推理后果将作为流量规定存储在数据面中。然而,不同输出的深度模型(如数据包大小),将被频繁触发低廉的管制面操作。
因为管制面的网络往返工夫以及软件自身的开销,很难防止缓存生效的问题,即便有加速器,也会极大侵害模型的准确性。表 2 在矢量 CPU[1]、GPU[119]和 TPU[84]上对一个用于异样检测的 DNN 模型 [153] 进行非批量推理的提早进行了基准测试。提早来自加速器的设置开销 (例如 Tensorflow[1]),CPU 提早起码,但仍须要 0.67ms。最初,因为缓存随着流表的减少而增大 47,规定配置工夫(TCAM[25] 为 3ms)会限度缓存的大小。
3. Taurus 架构
Taurus 是用于交换机 (和网卡) 的新型数据面架构,以线速基于每个数据包运行机器学习模型,并基于模型输入进行转发决策。
零碎概要设计。 在反对 Taurus 的数据中心中,管制面收集网络全局视图,并训练机器学习模型以优化平安和交换机级指标。同时,数据面基于模型对每个数据包做出数据驱动决策。与传统基于 SDN 的数据中心不同,管制面在交换机中同时配置了权重和流量规定 (图 1)。权重比流量规定更节俭空间,例如,匹配基准 DNN(第 5.1.2 节) 的动作可能须要 12MB 的流量规定 (残缺数据集),但权重规定只占 5.6KB,内存用量缩小了 2135 倍。应用 Deep Insight[78] 等监控框架,管制面能够辨认机器学习决策的影响并相应优化权重。
异样检测案例钻研。 本节以基于机器学习的异样检测 (应用 4 层 DNN[153]) 作为理论运行的例子引入和介绍 Taurus 数据面流水线的各种逻辑组件(图 2)。当数据包进入交换机时,首先被解析为包头矢量(PHV, 一种固定布局的结构化格局)[15],以提取包头级别的特色(例如,连接时间、传输的字节数以及协定和服务类型)。接下来,交换机通过预处理 MAT 查找域级特色(例如,匹配 IP 地址与自治零碎子网,以表明所有权或地理位置),这些特色由管制面发现和配置,并应用 VLIW 动作对头域进行数据整合和加强(第 3.1 节)。而后,一旦 MapReduce 模块在提取的特色上执行完模型(第 3.3 节),Taurus 就通过后处理 MAT 将机器学习模型的输入转化为决策(第 3.2 节)。而后,这一决策被用来调度、转发或抛弃数据包。咱们在基于 PISA 的交换机中共享 MAT,以用于预处理和后处理。
3.1. 解析和预处理(Parsing & Preprocessing)
在推理之前,Taurus 通过 MAT 将原始数据包头解决成标准的模式,依据须要增加或修复包级数据。通过交换机解决流水线的有状态元素 (即寄存器) 汇聚跨包和跨流特色。而后,MAT 将汇聚信息增加到每个数据包元数据中,以加强基于每个数据包的预测。数据预处理也能够应用 MAT 将头域字段转换为机器学习模型的特色。例如,在异样检测例子中,MAT 把特色格式化为定点数,MapReduce 模块决定一个数据包是否失常。
Taurus 通过查找表将分类关系替换为更简略的数字关系。例如,表格将端口数字转换为线性似然值,这样更容易推理[31]。预处理也能够反转取样值所根据的概率分布。对指数分布的变量取对数会产生均匀分布,机器学习模型能够用更少的层来解决[138]。这样的特色工程将负载从机器学习模型转移到设计者身上,精炼特色能够用恒定大小来进步准确性 16。
最初,带内网络遥测 (INT, 将测量嵌入数据包) 为交换机提供了全局网络状态视图[87]。因而,Taurus 设施不限于利用交换机本地状态进行推理。相同,模型能够通过 INT 查看数据包的整个历史,并通过有状态寄存器查看流量的整个历史,以晋升其预测能力(例如,计算整个流量的紧急标记或监测连贯持续时间)。
3.2. 后处理和调度(Postprocessing & Scheduling)
MAT 也能够解释机器学习的决策。例如,如果异样检测模型输入 0.9(表明可能的异样数据包),MAT 须要决定如何解决这个数据包,抛弃、标记还是隔离。在 Taurus 中,这些后处理 MAT 将推理与调度分割起来,应用像 PIFO[147]这样的形象来反对各种调度算法。
机器学习模型将提供概率保障,但咱们能够用硬束缚来束缚其行为,以确保网络持重运行。管制面将高层次的平安 (没有不正确行为) 和有效性 (最终行为正确) 属性编译成交换机的束缚,作为后处理流程规定。通过束缚机器学习模型的决策边界,数据面能够保障正确的网络行为,而无需简单的模型验证。
3.3. 用于逐包机器学习推理的 MapReduce(MapReduce for Per-Packet ML Inference)
对于每个数据包来说,通过推理联合清理过的特色和模型权重来做出决定。机器学习算法,例如反对向量机 (SVM, support-vector machine) 和神经网络,应用矩阵 - 向量线性代数运算和元素级非线性运算 59。非线性运算让模型学习非线性语义,否则输入将是输出的线性组合。与头解决不同,机器学习运算是十分有法则的,应用许多乘加运算。在单个 DNN 神经元的计算量较大的线性局部中,输出特色别离与权重相乘,而后相加,产生标量值。概括来说,向量到向量 (map) 和向量到标量 (reduce) 运算足以满足神经元计算密集型的线性局部。这一点,加上目前交换机架构的局限性,促使咱们须要新的数据面形象,即MapReduce,该形象足够灵便,能够表白各种机器学习模型,但又足够定制化,从而容许无效的硬件实现。
3.3.1. MapReduce 形象
咱们的设计利用 MapReduce 的 SIMD 并行性,以便宜的形式提供高计算量。Map运算是对元素的向量运算,如加法、乘法或非线性运算。Reduce运算是将元素的向量合并为标量,应用关联运算,如加法或乘法。图 3 显示了如何应用 map 和 reduce 来计算单个神经元(点积),该神经元能够分层组合成大型神经网络。MapReduce 是机器学习模型的一种风行模式,既能够在分布式系统中减速机器学习 2255[133],也能够在更精密的颗粒度上减速机器学习 2028。
P4 中的 MapReduce 管制块。 为了给 Taurus 编程,咱们在 P413 中引入了新的专用管制块类型,称为 MapReduce
,此外还有用于入口和进口匹配动作计算的管制块。在这个新的管制块中,MapReduce 单元能够用Map
和Reduce
构造来调用。图 4 显示了咱们提出的 MapReduce 语法 (受到最近提出的 Spatial 语言[88] 的启发),实现了一个用于异样检测的例子。最外层的 map 对所有层的神经元进行迭代,而外部的 MapReduce 对每个神经元进行线性运算。最初一个 map 指令利用激活函数 (即 ReLU 或 sigmoids)。除了Map
和Reduce
之外,惟一须要的额定构造是数组和带外权重更新。
![图 4. P4 中基于 Spatial[88]的 MapReduce 语法,用于异样检测示例的 DNN 层。](https://files.mdnice.com/user/28815/7e675aab-f5cb-4622-a14b-4…)
3.3.2. 更宽泛的利用反对
通过提供通用原语,能够反对一系列比机器学习更宽泛的利用 (图 5),包含用于数据分析的流解决 18,用于大规模分布式训练的梯度聚合 57111,以及交换机和 NIC 上的利用[125]。例如,Elastic RSS(eRSS) 应用 MapReduce 进行一致性哈希调度数据包和处理器,map 评估处理器的适用性,reduce 抉择最近的处理器 [134]。MapReduce 还能够反对 sketching 算法,包含用于流量大小预计的 Count-Min-Sketches(CMS)[30]。此外,最近钻研表明,布隆过滤器也能够从神经网络中受害,或者被神经网络取代[130]。本质上,Taurus 提供了一个可编程的数据面形象(MapReduce),与现有的数据面形象(即 MAT) 相比,能够更无效 (在硬件资源应用和性能方面,第 5 节) 的反对大量利用。
4. Taurus 实现
图 6 显示了 Taurus 设施的残缺物理数据面流水线,包含数据包解析管制块、MapReduce 机器学习、基于 MAT 的数据包转发、调度以及非机器学习数据包的旁路。Taurus 数据包解析器、预 / 后处理 MAT 和调度器基于现有硬件实现 15[147]。咱们将 Taurus 的 MapReduce 模块建设在 Plasticine[127]上,这是一个由计算和存储单元组成的粗粒度可重配阵列(CGRA, coarse-grained reconfigurable array),可重新配置以匹配应用程序数据流图。然而,Plasticine 最后是用于设计独立的加速器,而咱们须要在网络中运行提早优化的流媒体构造。
MapReduce: 计算单元 (Compute Unit, CU)。 每个计算单元(CU,图 8) 由性能单元 (FU, functional unit) 组成,按 通道 (lane) 和 阶段(stage) 组织,别离或者同时执行 map 和 reduce。在一个 CU 阶段内,所有通道执行雷同的指令,并读取雷同的绝对地位。CU 在各阶段之间有流水线寄存器,因而每个 FU 在每个周期都是沉闷的,流水线也在 CU 之间的较高层次上产生。
因为该构造须要作为全替换 ASIC 的一部分运行,因而资源效率是要害。咱们应用定点低精度硬件来执行机器学习算法中线性代数所需的算术运算。与浮点运算相比,定点硬件速度更快,面积更小,而且功耗更低。此外,咱们定制了 CU 中通道与阶段的比例,以适应利用空间的最低要求。对设计空间摸索过程的残缺解释见第 5 节。
MapReduce: 内存单元(Memory Unit, MU)。 接下来,咱们重点关注内存访问速度。如果想对每个数据包做决策,就须要疾速检索机器学习模型中的权重。基于 SRAM 操作能够在单周期内实现,所以咱们只用片上存储器。因为 DRAM 拜访须要 100 个周期,因而咱们勾销了 DRAM 控制器。尽管这限度了 Taurus 能够反对的模型大小,但能够在 1GHz 时钟下确保纳秒级提早。咱们应用重叠的 SRAM 作为内存单元(MU),像棋盘一样与 CU 穿插在一起,用于存储机器学习模型的权重(图 7)。该设计也能反对粗粒度流水线,其中 CU 执行运算,MU 充当流水线寄存器。
每个 CU 内的多级流水线和互连流水线保障了 1GHz 的时钟频率,这是匹配高端交换机硬件线速的关键因素 15[4]。
[4] Taurus 中的 CU 和 MU 架构目前反对密集机器学习模型,但也能够被扩大以反对稠密线性代数[135],这是咱们将来的工作。
预 / 后处理 MAT。 通过 MAT(VLIW)进行数据清理,应用 MapReduce(SIMD)进行推理,Taurus 联合了不同的并行模式,建设了疾速而灵便的数据面流水线。MAT 通过雷同的 PHV 接口与 MapReduce 模块相连,PHV 接口用于连贯流水线中其余阶段。只有蕴含特色的 PHV 的一部分进入 MapReduce 模块,而其余头域则间接进入后处理 MAT,如图 7 所示。
非机器学习流量旁路。 对于不须要机器学习推理的数据包,Taurus 间接将其转发到后处理 MAT,绕过了 MapReduce(图 6)。它将传统交换机的繁多、大型包队列 [15] 分成三个子队列: 预处理 MAT、MapReduce 模块和后处理 MAT。依据这些模块的流水线深度,按比例调配流量。预处理 MAT 将机器学习数据包转发到 MapReduce 模块(PHV 在该模块中解决),包体被排入相应队列,而非机器学习数据包则间接发送到后处理 MAT,不会产生任何额定提早。此外,数据包的非特色头也依照旁路门路进入后处理 MAT,只有必要的特色头作为密集 PHV 才会进入 MapReduce 模块(以最小化稠密数据的呈现)。
指标无关的优化。 MapReduce 的通用性足以反对与指标无关的优化,即思考可用执行资源 (并行化系数、带宽等) 的优化,而不思考特定硬件的设计细节 128。并行化 MapReduce 程序在空间上开展循环,如果有足够的硬件资源,一个模型能够在每个周期执行一次迭代。因为循环的开展是在编译时进行的,Taurus 能够保障确定性的吞吐量: 要么是线速性能,要么遵循已知系数。在交换机中因为回流[15],或者在数据中心网络中因为链路超额订阅 62,原有线速都会以某个动态系数降落。
除了面积之外,因为交换机必须在数百纳秒内转发数据包,因而提早也限度了交换机级的机器学习。提早随着深度的减少而减少,所以数据中心 SLO 无效限度了模型的层数。通过用 MAT 预处理特色,能够用更少的层数和更少的提早提供足够的准确性: 模型只须要学习特色间的关系,而不必思考包头与特色的映射。
依赖指标的编译。 各种编程语言都反对 MapReduce71121。为了反对基于 SIMD 的构造,咱们应用 Spatial[88]的修改版对 Taurus 的 MapReduce 模块进行编程,Spatial 是一种基于并行模式的特定畛域语言 (DSL),将 MapReduce 程序示意为一连串嵌套循环,反对与指标相干的优化,也反对与指标无关的 Taurus 优化。程序被编译成流式数据流图,在这一层次结构中,最外部的循环是一个 CU 内的 SIMD 操作,内部循环被映射到多个 CU。而后,过大的模式(那些须要太多计算阶段、输出或内存的模式) 被宰割成适宜 CU 和 MU 的较小模式,这对于映射具备长基本块 (即没有分支的长代码序列) 的非线性函数很有必要。最初,失去的图通过 MapReduce 模块的互连构造进行路由。
5. 演进
5.1. Taurus ASIC 剖析
咱们首先通过剖析其功率和面积来查看 MapReduce 模块(第 5.1.1 节),而后通过编译几个最近提出的网络机器学习利用来评估其性能(第 5.1.2 节)。接下来,应用常见的机器学习组件来证实其灵活性,这些组件能够被组成表白各种算法(第 5.1.3 节)。最初,咱们将其与现有的纯 MAT 的机器学习实现进行比拟(第 5.1.4 节)。
5.1.1. 设计空间摸索(Design Space Exploration)
Taurus 的 MapReduce 模块是参数化的,包含精度、通道数和阶段数。咱们通过 ASIC 合成和 FreePDK15(一个预测性的 15ns 标准单元库 [12]) 来估算 Taurus 的面积和功率,还应用 CACTI 7.0[9]来估算存储器面积。为了领导评估,咱们最大限度的缩小面积、功率和提早,同时以全模型精度 (即无量化损失) 和每包吞吐量为指标。
* 定点精度。 对于机器学习推理来说,在等同精度下,定点运算比浮点运算要快 67。Taurus 应用 8 位精度,其曾经被证实足以用于推理 (压缩模型应用的位数更少)34[160]。表 3 中咱们能够看到,对于各种 DNN 来说,量化误差(应用 TensorFlow Lite 61) 能够忽略不计。最小精度损失和 4 倍的资源节约 (表 4) 证实咱们升高精度的架构是有用的。
![表 3. 用于 TMC 物联网流量分类器的 DNN 的准确性[145],表明 8 位量化损失最小。](https://files.mdnice.com/user/28815/e0983da2-6c18-489a-a5c9-8…)
通道数。 现实状况下,一个 CU 中的通道数与可用的向量 (SIMD) 并行量相匹配。如果提供的通道太少,一个向量操作将不得不在多个 CU 之间进行映射,减少所需的管制逻辑,升高了效率。同样,提供超过向量并行量的通道会导致一些通道被闲置,因为 CU 只能在一个向量上执行操作。图 9 显示,原始面积效率 (每 FU 的面积) 随着通道数量的减少而减少。
异样检测 DNN[153]是须要线速运算的最大模型,所以咱们用它来设定现实的通道数。DNN 的最大层有 12 个暗藏单元,因而最大的点积计算波及 12 个元素,16 通道配置在一个 CU 内齐全开展点积,同时最大限度缩小利用率的有余。目前,16 通道的配置均衡了面积开销、功率和 map 效率,但随着数据面机器学习模型的倒退,最佳通道数可能会发生变化。因为 MapReduce 程序与硬件无关,编译器将依据须要解决开展系数的差别(即 CU 内与跨 CU 的并行性)。
阶段数。 咱们进行了相似钻研来量化 CU 的阶段数对准确性的影响。内积 (大多数模型背地的线性运算) 应用两个阶段: 一个 map(乘法)和一个 reduce(加法),而非线性运算应用一连串的 map。因而,咱们钻研阶段数对非线性运算的影响。图 10 显示了应用不同深度的 CU 实现各种激活函数所需的总面积 (CU 数与面积的乘积)。此外,对于浅层激活函数(如 ReLU),前面的阶段没有被映射,导致面积随着阶段的减少而减少。实践上,更多的阶段更有效率(图 9),并且通过上下文合并能够让编译器映射更简单的激活函数[177]。然而,内积和 ReLU 微基准(它们形成了许多一般网络的外围) 只受害于两个阶段。因而,咱们在最终的 ASIC 设计中抉择了四个计算阶段来反对这两者。
最终 ASIC 配置。 最终的 CU 有 16 个通道、4 阶段以及一个 8 位定点数据门路。包含路由资源 [176] 在内,须要 0.044 $mm^2$(均匀每个 FU 680 $µm^2$)。每个 MU 有 16 组,每组 1024 个条目,包含路由资源在内耗费 0.029 $mm^2$。总的来说,咱们提供 12×10 的网格,CU 和 MU 的比例为 3:1,占用 4.8 $mm^2$。思考有 4 个可重配流水线的交换机,每个流水线有 32 个 MAT,50% 的芯片面积被 MAT 占用[86]。而且,每条流水线减少一个 MapReduce 模块会使总芯片面积减少 3.8%,一个雷同面积的设计会使每条流水线缩小 3 个 MAT。与咱们能够反对的程序类型相比,这是一个能够忽略不计的开销(第 5.1.2 节)。Taurus 的 ASIC 参数基于目前应用的利用和性能,对于新的模型来说,新的参数可能提供更大的效率。
5.1.2. 利用基准测试(Application Benchmarks)
咱们用 4 个机器学习模型 106168 评估 Taurus。第一个是物联网流量分类,基于 11 个特色和 5 个类别实现了 KMeans 聚类。第二个是基于 SVM[106]的异样检测算法,有 8 个从 KDD 数据集 2 中选出的输出特色和一个径向基函数来模仿非线性关系。第三个是基于 DNN 的异样检测算法,须要 6 个输出特色(也是 KDD 子集),有 12、6 和 3 个暗藏单元的层[153]。最初是基于 LSTM 的在线拥挤控制算法(Indigo [169]),应用 32 个 LSTM 单元和一个 softmax 层,被设计为在终端主机网卡上运行。尽管 Indigo 不是按包计算,但其更新距离显著低于 Taurus,从而可能实现更精确的管制决策和更快的反应时间。
面积与功率。 表 5 显示了绝对于现有带有 PISA 流水线 [15] 的可编程替换 ASIC[5]的面积和功率,只思考执行有用工作的 CU 和 MU 的数量。因而,这些基准测试所用原型的理论面积是最大基准面积,禁用了较小基准的未应用 CU。如基于 SVM 的异样检测这样的简略模型,只有 0.2% 的面积开销和 0.3% 的功率开销。因而,咱们设定 Taurus 的 MapReduce 模块面积为 4.8 $mm^2$,与最近提出的替换构造减少的面积类似 (例如,CONGA[4] 和 Banzai[146]别离耗费 2% 和 12% 的额定面积)。如果只反对较小的模型,KMeans、SVM 和 DNN 将只减少约 0.8% 的面积和 0.9% 的功率。对于 16 位和 32 位的数据门路,面积和功率都将别离减少约 2 倍和 4 倍。
[5] 因为台积电的光罩限度为 858 $mm^2$[142],64×100 Gb/ s 替换芯片的尺寸为 500-600 $mm^2$。
![表 5. 几种利用模型的性能和资源开销。开销是绝对于具备 4 个可重配流水线的 500 $mm^2$ 芯片计算的[65],该零碎在以 1 GPkt/ s 线速运行时预计功耗为 270W3[114]。](https://files.mdnice.com/user/28815/9de9bf01-c075-4f19-bc2e-d…)
提早和吞吐量。 KMeans、SVM 和 DNN 每周期 (线速) 解决一个数据包头,其提早放弃在纳秒范畴内(表 5)。假如数据中心替换提早为 1 μs[35],KMeans、SVM 和 DNN 别离减少了 6.1%、8.3% 和 22.1% 的提早。在软件实现中,Indigo LSTM 每 10 毫秒运行一次(可能是受 LSTM 的计算要求限度),大大改善了应用层的吞吐量和提早[169]。在 Taurus 中,Indigo 能够每 805 ns 产生一个决策,从而使得 LSTM 网络能够对负载的变动做出更疾速的反馈,并更好的管制尾部提早,数据旁路也可能防止减少非机器学习数据包的提早。
5.1.3. 微基准(Microbenchmarks)
较小的数据流利用能够组成一个大利用,例如,图 11 显示了由几个 (线性) 感知器层与非线性激活函数交融而成的 DNN。这些宏观基准是个别的构建模块,旨在展现可编程的、基于 MapReduce 的构造的多功能性。线性函数蕴含 reduce 网络,可能限度免通信并行的水平。相同,非线性函数因为相邻的数据元素之间没有互动,能够完满实现 SIMD 并行化。例如,如果 16 个不同的感知器的输入被输出到 ReLU,咱们只需将 ReLU 映射到 16 个输入上,而后就能够并行计算。表 6 显示了每个微基准在以线速运行时所需的面积和提早。
线性运算。 线性微基准是由一个具备 8 个输入和 2 个内核维度的一维卷积 (常常用于寻找空间或工夫上的相关性[94]) 和一个 16 元素的内积组成的,形成了感知器神经网络、LSTM 和 SVM 的外围。因为卷积不能很好的映射到向量 MapReduce 中(有多个小的内积),须要 8 倍的开展和大量芯片面积。然而,内积只在一个 CU 中以线速运行,能够被无效组成高性能深度神经网络。一个 16 通道的 CU 执行一个 MapReduce 的最小提早是 5 个周期: 1 个周期用于 map,4 个周期用于 reduce,每个 reduce 周期解决不同片段(图 8)。其余提早来自于数据从输出到 CU 再到输入的挪动,Taurus 每次挪动数据大概须要 5 个周期,这是空间分布式数据流的后果。
开展 (Unrolling)。 基于 MapReduce 与指标无关的优化,大型机器学习模型能够在多个周期内运行,并相应的升高线速(表 7)。开展内循环和外循环将实现更高的吞吐量和更低的提早,同时耗费更多的面积。然而,并不是所有基准都能够开展其外循环的,例如,内积就没有外循环。迭代(即基于循环的) 卷积以 1 / 8 的线速运行,开展它以满足线速会导致面积减少 8 倍。
非线性运算。 激活函数对于学习非线性行为是必要的,否则整个神经网络会解体成繁多线性函数。每个激活函数都有不同的用处: LSTM 应用 tanh 进行门控 [73],而 DNN 应用更简略的 ReLU 和 Leaky ReLU[112]。最无效的函数(ReLU 和 Leaky ReLU) 不须要查找表 (LUT, lookup table),只须要 CU。更简单的函数,包含 sigmoid 和 tanh,有几个版本: 泰勒级数(Taylor series)、分片迫近(piecewise approximations) 和 LUT67,泰勒级数和分片迫近须要 2 - 5 倍的面积。基于 LUT 的函数须要更多内存,每个表通过将事后计算的输入值存储为 1024 个 8 位条目来近似模仿激活函数 67,即便在复制时,也须要耗费替换内存的一小部分。
5.1.4. 与只有 MAT 的机器学习设计的比拟
正如第 5.1.1 节所述,最终 Taurus ASIC 有 4 条流水线,每条流水线有一个 MapReduce 模块,耗费了 3.8% 的额定芯片面积 (或者说相当于每个 MapReduce 模块等价于 3 个 MAT 的面积)。相比之下,只有 MAT 的神经网络(NN) 实现 144 须要耗费 10 个 MAT。例如,N2Net(一个二进制神经网络实现),每层至多须要 12 个 MAT[144],总共须要 48 个 MAT 来反对异样检测 DNN[153],而 Taurus 只须要 3 个。同样,如果用 IIsy 框架 [168] 在 MAT 上实现非神经网络算法,SVM 和 KMeans 别离耗费 8 和 2 个 MAT,而相应的 Taurus ASIC 只须要 0.5% 的芯片面积(或 1 个 MAT)。N2Net 和 IIsy 都提供了将机器学习算法映射到 MAT 的独特办法,然而为了使数据面机器学习无处不在,咱们须要为网络提供更无效的机器学习硬件。
5.2. 端到端性能
5.2.1. Taurus 测试环境
为了评估 Taurus 的端到端性能,咱们应用工业规范的 SDN 工具、Tofino 交换机以及实现了 MapReduce 模块的 FPGA 建设了一个测试平台,如图 12 所示。基于该测试平台,能够看到 Taurus 以每包为根底进行决策,比传统管制面机器学习解决方案更快,并且具备更大的准确性(第 5.2.2 节)。
![图 12. 用于推理的 Taurus 测试平台。服务器运行当先的开源软件,即 ONOS[46]、XDP[129]、InfluxDB[33],以及应用 TensorFlow[1]的管制面推理。Tofino 交换机和 FPGA 别离实现了 Taurus 的 MAT 流水线和 MapReduce 模块。](https://files.mdnice.com/user/28815/20567a3e-3fff-4f30-9ed9-c…)
管制面机器学习: 基线 (baseline)。 为了确定比拟基线[6],管制面服务器通过 10Gbps 链接,利用反对 XDP 的英特尔 X710 网卡[79] (运行一个 84 行的自定义 XDP/eBPF 程序) 对遥测数据包进行采样,并将其存储在 InfluxDB 流数据库中 [33]。向量机器学习模型(Keras[64] 编写,272 行)分批对数据包进行推理,凋谢网络操作系统 (ONOS)[46] 将模型后果作为流规定配置在交换机上。
[6] XDP 2.6.32 | Tensorflow/Keras 2.4.0 | InfluxDB 1.7.4 | ONOS 2.2.2 | Stratum/Barefoot SDE 9.2.0 | Xilinx Vivado 2020.2 | Spatial 40d182 | MoonGen 525d991
用户面机器学习: Taurus。 在 Taurus 中 [6],Stratum OS[48] 运行在可编程 Barefoot Wedge 100BF-32X[116]交换机上,实现 Taurus 的 PISA 组件。Tofino 交换机的匹配动作流水线实现了 Taurus 的解析和预处理 MAT(172 行)。100Gbps 以太网链接将交换机连贯到 Xilinx Alveo U250 FPGA[164],模仿 MapReduce 硬件。Spatial[88] (105 行)和 Xilinx OpenNIC Shell[166]将机器学习模型编译到 FPGA。为了传输数据包,咱们将 Xilinx 100G CMAC[167]与 AXI 流接口 [165] (298 行) 集成到 FPGA 的 MapReduce 模块。一旦被 FPGA 解决,数据包在被转发到网络之前要通过交换机的后处理 MAT。最初,用另外两个运行 MoonGen[39]的 80 核英特尔至强服务器来产生和接管流量。
5.2.2. 异样检测案例钻研
咱们在管制面和数据面实现了机器学习异样检测模型 (第 3 节)。咱们从 NSL-KDD[36] 数据集生成标记的数据包级 trace(labeled packet-level trace),办法是将连贯级记录扩大为分档的数据包 trace(即每个 trace 元素代表一组数据包),并对其状态进行标记 (异样或失常)。从原始 trace 中取样获取流量大小的散布、混合和数据包头域的变化率,以发明事实的工作负载。咱们用这些数据来训练 DNN,离线 F1 得分(典型机器学习指标[157]) 为 71.1。
为了测试数据面机器学习,咱们将所有流量发送到交换机和 FPGA。交换机应用 MAT 对特色进行预处理。首先用数据包五元组来索引一组有状态寄存器,这些寄存器积攒了整个数据包的特色(例如紧急标记的数量),而后将这些特色格式化为定点数,并将数据包转发到 FPGA,由机器学习模型将其标记为异样或失常。而后,数据包返回交换机,后处理 MAT 基于机器学习决策对包进行解决。
在基线零碎中,交换机积攒特色并将其作为遥测数据包发送到管制面进行推理。如果该模型确定某个数据包不失常,就会提取相应的 IP,并配置一个交换机规定,将其数据包标记为异样。任何在规定装置前通过的数据包都会被 (谬误的) 原样转发。流量以固定的 5Gbps 发送,而管制面采样从 100 kbps ($10^{-5}$)到 100 Mbps ($10^{-2}$)不等。
Taurus 对每个包作出响应。 表 8 显示管制面的毫秒级提早。即便在低采样率下,基线也有 32 毫秒的提早。随着负载增长,批处理的规模也在增长,因为批处理的第一个元素必须期待整个批处理的实现,这又进一步减少了提早。此外,当实现逐包解决的零碎时,机器学习不是瓶颈。相同,表 8 显示,规定配置和数据包收集使零碎不堪重负[7]。
[7] 咱们还摸索了在交换机 CPU 而不是在服务器上配置规定,以打消控制器和交换机操作系统之间的 RTT。然而,因为交换机 CPU 性能较差(8 个 1.6GHz CPU,而服务器有 80 个 2.5GHz CPU),缩小的 RTT 工夫被额定的流量规定计算工夫所对消,均匀提早高出 112%。
Taurus 维持了全副模型的准确性。 大多数异样数据包都没有被基线零碎检测到,而 Taurus 捕捉了一半以上(表 8)。思考到被辨认的异常情况、脱漏的异常情况和被谬误标记为异样的失常数据包的数量 8,咱们应用 F1 分数来评估准确性。Taurus 实现了与孤立模型雷同的 F1 得分。然而,因为规定配置和其余解决提早,基线零碎错过了很多数据包,因而无效 F1 得分较低。
5.2.3. 在线训练
Taurus 的机器学习模型也能够被更新以优化全局指标,这对于单个交换机无奈察看到的行为 (如上游拥挤) 很有帮忙。咱们将遥测数据包送入管制面的训练应用程序,并应用流量规定配置工夫作为预计,评估更新数据面模型权重所需的工夫。
图 13 显示,更高的采样率 (对应更多的批处理数据) 收敛速度更快 (几十到几百毫秒),表明在线训练是可能的,并切管制面采样数据频率越高越好。此外,图 14 显示,具备最小批量(64) 和最多周期 (10) 的配置会取得最高的 F1 分数,并且减少的训练工夫被更快的收敛所对消。因而,较小批量和较大周期会产生较少的但更有意义的更新,从而防止频繁但没有意义的更新。
6. 以后的限度以及将来的工作
尽管 Taurus 能够比现有平台更无效的反对逐包 ML 算法,但模型大小依然受到可用硬件资源的限度。为了适应更大的模型,必须钻研模型压缩技术。此外,须要更多钻研来提供正确性可证实的模型验证和更快的训练工夫。
模型压缩。 Taurus 的次要利用是网络管制和协调。神经网络能够解决各种管制问题 10[156],而且越来越小。例如,用于非线性管制的结构化管制网 [149] 的性能简直与 512 个神经元的 DNN 一样好,每层只须要 4 个神经元。有了这样的小网络,Taurus 能够同时运行多个模型 (例如,一个模型用于入侵检测,另一个用于流量优化)。此外,像量化(quantization)、修剪(pruning) 和蒸馏 (distillation) 等技术能够进一步缩小模型大小 781。
正确性。 某些利用 (如路由) 有明确的正确和谬误答案,如果没有安全措施,将会很难保障。相同,机器学习最适宜于实质上是启发式的利用,如拥塞管制 162、负载平衡 4 和异样检测 106,其决定只影响网络性能和安全性,而不是其外围的包转发行为。当机器学习决策可能影响网络正确性时,后处理规定能够确保最终决策是有边界的。
训练速度。 最初,对于较大的数据中心网络,训练反应时间可能会更高。这意味着刹时网络问题 (如特定链路上的负载) 不能通过训练来解决,因为在训练实现之前,事件可能就曾经完结了。相同,训练会逐步学习是什么导致这些问题以及如何防止这些问题。为了检测和应答具体事件,较低提早的技术,如 INT,反而能够将网络状态作为特色提供给模型。
7. 相干工作
面向机器学习的架构。 现场可编程门阵列 (FPGA, Field programmable gate array) 是最为宽泛应用的可重配架构,既可用作定制加速器 [140],也可用作原型(例如 NetFPGA104)。然而,FPGA 的片上网络耗费了高达 70% 的芯片总功率[23],而且其可变、迟缓的时钟频率使网络和替换速度(每秒 Tb 级) 操作变得复杂。CGRA 为机器学习运算进行了优化,通常有疾速、固定的时钟频率,能够和 Taurus 中的 MapReduce 模块和 MAT 进行无缝集成 3258107。其余架构,如 Eyeriss[26]、Brainwave[49]和 EIE[68],专一于特定算法实现,从而提高效率。这些实现都可用于交换机内机器学习,但过于死板,如果基于特定加速器实现标准化,就有可能因为不足灵便的形象(如 MapReduce),使得网络无奈从将来的机器学习钻研中获益。
面向机器学习的数据面。 在古代数据中心外部,基于 MAT 的可编程数据面交换机 (如 Barefoot Tofino114),容许网络轻松反对、执行不同工作(如重击者检测[148]、负载平衡[85]、平安[93, 175]、疾速重路由[74] 和调度 [147]),而这些工作之前须要通过终端主机服务器、中间件或固定性能交换机实现。最近业界正在致力(N2Net[144] 和 IIsy[168])钻研在交换机上运行更简单的机器学习算法。然而,仅靠 MAT 是不适宜反对机器学习算法的,为了让数据面机器学习变得无处不在,须要更无效的硬件来缩小不必要的资源应用(即面积和功率)。咱们置信 Taurus 是朝着这个方向迈出的第一步。
在数据中心终端主机上,古代智能网卡 (和网络加速器) 为服务器提供了更高的计算能力,不仅能够卸载数据包解决逻辑,还能够解决特定应用逻辑,以实现更低的提早和更高的吞吐量。像英特尔的基础设施单元 (IPU, Infrastructure Unit)[80]、英伟达的数据处理单元(DPU, Data Processing Unit)[120] 和基于 FPGA 的智能网卡 [44, 164] 等产品都旨在减速各种终端主机工作负载(例如,管理程序、虚构替换、基于批处理的机器学习训练和推理、存储)。然而,这些智能网卡并不适宜须要在数据中心全网范畴内进行的逐包操作。数据包依然须要从交换机拜访服务器(和网卡),从而导致从收到数据包到交换机上的利用做出相应决策之间有一个 RTT 的提早。中间件在其固定性能硬件实现上也有相似的问题,从而限度了灵活性并促使其频繁降级[141]。
面向网络的机器学习。 许多网络应用能够从机器学习中受害。例如,拥塞管制学习算法 162 已被证实优于人类设计的同类算法 37[171]。此外,Boutaba 等人 [17] 确定了网络工作的机器学习用例,如流量分类 40、流量预测 24、被动队列治理 151 和平安[124]。所有这些利用都能够立刻基于 Taurus 进行部署。
面向机器学习的网络。 特定的网络也能够减速机器学习算法自身。通过对古代数据面硬件的轻微改良,交换机能够在网络中聚合梯度,将训练速度进步 300%51[137]。Gaia(一个用于分布式机器学习的零碎 [76]) 也思考了广域网络带宽并在训练过程中调节梯度的挪动。尽管 Taurus 没有明确为分布式训练减速而设计,但 MapReduce 能够比 MAT 更无效的聚合蕴含在数据包中的数字化权重。
8. 论断
目前,数据中心网络被划分为线速网络、逐包数据面和较慢的管制面,其中管制面运行简单的、数据驱动的管理策略来配置数据面。这种办法太慢了,管制面的传输减少了不可避免的提早,因而管制面无奈对网络事件做出足够快的反馈。Taurus 把简单决策放到数据面,升高反应时间,并进步了治理和控制策略的特殊性。咱们证实,Taurus 能够线速运行,并在可编程交换机流水线 (RMT) 上减少了很小的开销(3.8% 的面积和 122 ns 的均匀提早),同时能够减速最近提出的几个机器学习网络基准测试。
展望未来,为了实现主动驾驶网络(self-driving network, 又称自智网络),必须在大规模训练开始之前部署硬件。咱们置信,Taurus 为网内机器学习提供了一个立足点,其硬件能够装置在下一代数据立体上,以进步性能和安全性。
A. 附录
A.1. 概要
该工件蕴含文中提出的 Taurus 的 MapReduce 模块 (第 3.3 节) 和端到端性能评估中应用的异样检测 (AD) 应用程序 (第 5.2 节) 的源代码。MapReduce 模块与 Xilinx OpenNIC Shell[166]集成,并通过称为 Spatial[88]的高级 DSL 进行编程。AD 应用程序在端到端测试平台上运行,由各种组件组成: P4 程序、Python 脚本、ONOS 利用和 Spatial 代码(第 5.2.2 节)。
A.2. 范畴
该工件蕴含两个新组件: MapReduce 模块和异样检测代码,指标是提供实现残缺测试平台 (第 5.2 节) 所需的两个缺失组件,以运行端到端性能评估。其余组件是现有的专用硬件 (Barefoot Tofino Switch [114], Xilinx Alveo Board [164]) 和软件代码库 (P4 [14], ONOS [46], Spatial [88], 等等) 的汇合,能够随时购买和下载(请见下文的依赖关系)[8]。
[8] 咱们心愿用户购买所需硬件,并取得必要的工具和许可证的集体拜访权,因而在工件中不蕴含这些组件的设置。
A.3. 内容
- FPGA 中的 MapReduce 模块。 该资源库蕴含了构建基于 FPGA 的 MapReduce 模块实现的源代码和阐明。在 FPGA 上运行 MapReduce 模块的具体文档在这里提供: https://gitlab.com/dataplane-ai/taurus/mapreduce。
- 异样检测利用。 该资源库含有异样检测利用 (AD) 的源代码(P4、Python、ONOS、Spatial)。此外还提供了复制用于评估 AD 利用的端到端测试平台所需的细节。对 AD 利用的介绍在这里: https://gitlab.com/dataplane-ai/taurus/applications/anomalyde…。
A.4. 托管
源代码托管在 GitLab[9]和 figshare[10]上。
[9] https://gitlab.com/dataplane-ai/taurus\
[10] https://doi.org/10.6084/m9.figshare.17097524
A.5. 依赖
该工件依赖于以下第三方硬件和软件工具:
- EdgeCore Wedge 100BF-32X Switch
- Xilinx Alveo U250 FPGA board
- Intel P4 Studio
- Xilinx Vivado Design Tool
- Xilinx OpenNIC Shell
- Spatial DSL
- ONF Stratum OS
- ONF Open Network Operating System (ONOS)”)
- MoonGen Traffic Generator
参考文献
[1] Martín Abadi, Paul Barham, Jianmin Chen, Zhifeng Chen, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Geoffrey Irving, Michael Isard, et al. 2016. Tensorflow: A System For Large-Scale Machine Learning. In USENIX OSDI’16.\
[2] Preeti Aggarwal and Sudhir Kumar Sharma. 2015. Analysis of KDD Dataset Attributes-Class Wise For Intrusion Detection. Computer Science 57 (2015), 842–851. https://doi.org/10.1016/j.procs.2015.07.490\
[3] Anurag Agrawal and Changhoon Kim. 2020. Intel Tofino2 – A 12.9Tbps P4-Programmable Ethernet Switch. In Hot Chips’20.\
[4] Mohammad Alizadeh, Tom Edsall, Sarang Dharmapurikar, Ramanan Vaidyanathan, Kevin Chu, Andy Fingerhut, Vinh The Lam, Francis Matus, Rong Pan, Navindra Yadav, and George Varghese. 2014. CONGA: Distributed Congestion-aware Load Balancing for Datacenters. In ACM SIGCOMM’14. https://doi.org/10.1145/2619239.2626316\
[5] Mohammad Alizadeh, Albert Greenberg, David A Maltz, Jitendra Padhye, Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, and Murari Sridharan. 2010. Data Center TCP (DCTCP). In ACM SIGCOMM’10. https://doi.org/10.1145/1851182.1851192\
[6] Tom Auld, Andrew W Moore, and Stephen F Gull. 2007. Bayesian Neural Networks For Internet Traffic Classification. IEEE Transactions on Neural Networks’07 18, 1 (2007), 223–239. https://doi.org/10.1109/TNN.2006.883010\
[7] Jimmy Ba and Rich Caruana. 2014. Do Deep Nets Really Need to be Deep?. In NeurIPS’14.\
[8] Jarrod Bakker, Bryan Ng, Winston KG Seah, and Adrian Pekar. 2019. Traffic Classification with Machine Learning in a Live Network. In 2019 IFIP/IEEE Symposium on Integrated Network and Service Management (IM)’19.\
[9] Rajeev Balasubramonian, Andrew B Kahng, Naveen Muralimanohar, Ali Shafiee, and Vaishnav Srinivas. 2017. CACTI 7: New tools for interconnect exploration in innovative off-chip memories. ACM Transactions on Architecture and Code Optimization (TACO’17) 14, 2 (2017), 1–25. https://doi.org/10.1145/3085572\
[10] Marc G Bellemare, Yavar Naddaf, Joel Veness, and Michael Bowling. 2013. The Arcade Learning Environment: An Evaluation Platform for General Agents. Journal of Artificial Intelligence Research (JAIR) 47 (2013), 253–279.\
[11] Laurent Bernaille, Renata Teixeira, Ismael Akodkenou, Augustin Soule, and Kave Salamatian. 2006. Traffic Classification on the Fly. ACM SIGCOMM Computer Communication Review (CCR) 36, 2 (2006), 23–26. https://doi.org/10.1145/1129582.1129589\
[12] Kirti Bhanushali and W Rhett Davis. 2015. FreePDK15: An open-source predictive process design kit for 15nm FinFET technology. In Proceedings of the 2015 Symposium on International Symposium on Physical Design. 165–170. https://doi.org/10.1145/2717764.2717782\
[13] Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Dan Talayco, Amin Vahdat, George Varghese, et al. 2014. P4: Programming protocol-independent packet processors. ACM SIGCOMM Computer Communication Review 44, 3 (2014), 87–95. https://doi.org/10.1145/2656877.2656890\
[14] Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Dan Talayco, Amin Vahdat, George Varghese, et al. 2014. P4: Programming Protocol-Independent Packet Processors. ACM SIGCOMM Computer Communication Review (CCR) 44, 3 (2014), 87–95. https://doi.org/10.1145/2656877.2656890\
[15] Pat Bosshart, Glen Gibb, Hun-Seok Kim, George Varghese, Nick McKeown, Martin Izzard, Fernando Mujica, and Mark Horowitz. 2013. Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN. In ACM SIGCOMM’13. https://doi.org/10.1145/2534169.2486011\
[16] Leon Bottou. 2010. Feature Engineering. https://www.cs.princeton.edu/ courses/archive/spring10/cos424/slides/18-feat.pdf. Accessed on 08/12/2021.\
[17] Raouf Boutaba, Mohammad A Salahuddin, Noura Limam, Sara Ayoubi, Nashid Shahriar, Felipe Estrada-Solano, and Oscar M Caicedo. 2018. A Comprehensive Survey on Machine Learning for Networking: Evolution, Applications and Research Opportunities. Journal of Internet Services and Applications (JISA) 9, 1
(2018), 16. https://doi.org/10.1186/s13174-018-0087-2\
[18] Andrey Brito, Andre Martin, Thomas Knauth, Stephan Creutz, Diogo Becker, Stefan Weigert, and Christof Fetzer. 2011. Scalable and Low-Latency Data Processing with Stream MapReduce. In IEEE CLOUDCOM’11. https://doi.org/10.1109/CloudCom.2011.17\
[19] Broadcom. [n.d.]. Tomahawk/BCM56960 Series. https://www.broadcom.com/products/ethernet-connectivity/switc… Accessed on 08/12/2021.\
[20] Kevin J Brown, HyoukJoong Lee, Tiark Romp, Arvind K Sujeeth, Christopher De Sa, Christopher Aberger, and Kunle Olukotun. 2016. Have Abstraction and Eat Performance, too: Optimized Heterogeneous Computing with Parallel Patterns. In IEEE/ACM CGO’16. https://doi.org/10.1145/2854038.2854042\
[21] Kevin J Brown, Arvind K Sujeeth, Hyouk Joong Lee, Tiark Rompf, Hassan Chafi, Martin Odersky, and Kunle Olukotun. 2011. A Heterogeneous Parallel Framework for Domain-Specific Languages. In IEEE PACT’11. https://doi.org/10.1109/PACT.2011.15\
[22] Douglas Ronald Burdick, Amol Ghoting, Rajasekar Krishnamurthy, Edwin Peter Dawson Pednault, Berthold Reinwald, Vikas Sindhwani, Shirish Tatikonda, Yuanyuan Tian, and Shivakumar Vaithyanathan. 2013. Systems and methods for processing machine learning algorithms in a MapReduce environment. US Patent 8,612,368.\
[23] Benton Highsmith Calhoun, Joseph F Ryan, Sudhanshu Khanna, Mateja Putic, and John Lach. 2010. Flexible Circuits and Architectures for Ultralow Power. Proc. IEEE 98, 2 (2010), 267–282.\
[24] Samira Chabaa, Abdelouhab Zeroual, and Jilali Antari. 2010. Identification and Prediction of Internet Traffic Using Artificial Neural Networks. Journal of Intelligent Learning Systems and Applications (JILSA) 2, 03 (2010), 147. https://doi.org/10.4236/jilsa.2010.23018\
[25] Huan Chen and Theophilus Benson. 2017. The Case for Making Tight Control Plane Latency Guarantees in SDN Switches. In ACM SOSR’17. https://doi.org/10.1145/3050220.3050237\
[26] Yu-Hsin Chen, Tushar Krishna, Joel S Emer, and Vivienne Sze. 2016. Eyeriss: An Energy-Efficient Reconfigurable Accelerator for Deep Convolutional Neural Networks. IEEE Journal of Solid-State Circuits 52, 1 (2016), 127–138. https://doi.org/10.1109/JSSC.2016.2616357\
[27] Zhitang Chen, Jiayao Wen, and Yanhui Geng. 2016. Predicting Future Traffic Using Hidden Markov Models. In IEEE ICNP’16.\
[28] Cheng-Tao Chu, Sang K Kim, Yi-An Lin, YuanYuan Yu, Gary Bradski, Kunle Olukotun, and Andrew Y Ng. 2007. Map-Reduce for Machine Learning on Multicore. In NeurIPS’07. 281–288.\
[29] Cisco Systems, Inc. [n.d.]. Cisco Meraki (MX450): Powerful Security and SD-WAN for the Branch & Campus. https://meraki.cisco.com/products/appliances/mx450. Accessed on 08/12/2021.\
[30] Graham Cormode and Shan Muthukrishnan. 2005. An Improved Data Stream Summary: The Count-Min Sketch and its Applications. Journal of Algorithms 55, 1 (2005), 58–75. https://doi.org/10.1016/j.jalgor.2003.12.001\
[31] Paul Covington, Jay Adams, and Emre Sargin. 2016. Deep Neural Networks for Youtube Recommendations. In ACM RecSys’16. https://doi.org/10.1145/2959100.2959190\
[32] Darren C Cronquist, Chris Fisher, Miguel Figueroa, Paul Franklin, and Carl Ebeling. 1999. Architecture Design of Reconfigurable Pipelined Datapaths. In IEEE ARVLSI’99.\
[33] Influx Data. [n.d.]. InfluxDB. https://www.influxdata.com/products/influxdboverview/. Accessed on 08/12/2021.\
[34] Christopher De Sa, Megan Leszczynski, Jian Zhang, Alana Marzoev, Christopher R Aberger, Kunle Olukotun, and Christopher Ré. 2018. High-Accuracy Low-Precision Training. arXiv preprint arXiv:1803.03383 (2018).\
[35] Dell EMC. [n.d.]. Data Center Switching Quick Reference
Guide. https://i.dell.com/sites/doccontent/shared-content/datasheets… Accessed on 08/12/2021.\
[36] L Dhanabal and SP Shantharajah. 2015. A Study on NSL-KDD Dataset for Intrusion Detection System Based on Classification Algorithms. International Journal of Advanced Research in Computer and Communication Engineering (IJARCCE) 4, 6 (2015), 446–452. https://doi.org/10.17148/IJARCCE.2015.4696\
[37] Mo Dong, Qingxi Li, Doron Zarchy, P Brighten Godfrey, and Michael Schapira. 2015. PCC: Re-architecting Congestion Control for Consistent High Performance. In USENIX NSDI’15.\
[38] DPDK. [n.d.]. DPDK. https://www.dpdk.org/. Accessed on 08/12/2021.\
[39] Paul Emmerich, Sebastian Gallenmüller, Daniel Raumer, Florian Wohlfart, and Georg Carle. 2015. Moongen: A Scriptable High-Speed Packet Generator. In ACM IMC’15.\
[40] Jeffrey Erman, Martin Arlitt, and Anirban Mahanti. 2006. Traffic Classification Using Clustering Algorithms. In ACM MineNet’06. https://doi.org/10.1145/1162678.1162679\
[41] Jeffrey Erman, Anirban Mahanti, Martin Arlitt, and Carey Williamson. 2007. Identifying and Discriminating Between Web and Peer-to-Peer Traffic in the Network Core. In WWW’07. https://doi.org/10.1145/1242572.1242692\
[42] Alice Este, Francesco Gringoli, and Luca Salgarelli. 2009. Support Vector Machines For TCP Traffic Classification. Computer Networks 53, 14 (2009), 2476–2490. https://doi.org/10.1016/j.comnet.2009.05.003\
[43] Nick Feamster and Jennifer Rexford. 2018. Why (and How) Networks Should Run Themselves. In ACM ANRW’18.\
[44] Daniel Firestone, Andrew Putnam, Sambhrama Mundkur, Derek Chiou, Alireza Dabagh, Mike Andrewartha, Hari Angepat, Vivek Bhanu, Adrian Caulfield, Eric Chung, et al. 2018. Azure Accelerated Networking: SmartNICs in the Public Cloud. In USENIX NSDI’18.\
[45] Sally Floyd and Van Jacobson. 1993. Random early detection gateways for congestion avoidance. IEEE/ACM Transactions on networking 1, 4 (1993), 397–413.\
[46] Open Networking Foundation. [n.d.]. ONOS: Open Network Operating System. https://www.opennetworking.org/onos/. Accessed on 08/12/2021.\
[47] Open Networking Foundation. [n.d.]. ONOS: Single Bench Flow Latency Test. https://wiki.onosproject.org/display/ONOS/2.2%3A+Experiment+I… Accessed on 08/12/2021.\
[48] Open Networking Foundation. [n.d.]. Stratum OS. https://www.opennetworking.org/stratum/. Accessed on 08/12/2021.\
[49] Jeremy Fowers, Kalin Ovtcharov, Michael Papamichael, Todd Massengill, Ming Liu, Daniel Lo, Shlomi Alkalay, Michael Haselman, Logan Adams, Mahdi Ghandi, et al. 2018. A Configurable Cloud-Scale DNN Processor for Real-Time AI. In IEEE ISCA’18. https://doi.org/10.1109/ISCA.2018.00012\
[50] Mingyu Gao and Christos Kozyrakis. 2016. HRL: Efficient and Flexible Reconfigurable Logic for Near-Data Processing. In IEEE HPCA’16.\
[51] Nadeen Gebara, Manya Ghobadi, and Paolo Costa. 2021. In-network Aggregation for Shared Machine Learning Clusters. In MLSys’21.\
[52] Yilong Geng, Shiyu Liu, Feiran Wang, Zi Yin, Balaji Prabhakar, and Mendel Rosenblum. 2017. Self-Programming Networks: Architecture and Algorithms. In IEEE Allerton’17.\
[53] Yilong Geng, Shiyu Liu, Zi Yin, Ashish Naik, Balaji Prabhakar, Mendel Rosenblum, and Amin Vahdat. 2019. SIMON: A Simple and Scalable Method for Sensing, Inference and Measurement in Data Center Networks. In USENIX NSDI’19.\
[54] Amol Ghoting, Prabhanjan Kambadur, Edwin Pednault, and Ramakrishnan Kannan. 2011. NIMBLE: A Toolkit for the Implementation of Parallel Data Mining and Machine Learning Algorithms on MapReduce. In ACM SIGKDD KDD’11. https://doi.org/10.1145/2020408.2020464\
[55] Amol Ghoting, Rajasekar Krishnamurthy, Edwin Pednault, Berthold Reinwald, Vikas Sindhwani, Shirish Tatikonda, Yuanyuan Tian, and Shivakumar Vaithyanathan. 2011. SystemML: Declarative Machine Learning on MapReduce. In IEEE ICDE’11.\
[56] Glen Gibb, George Varghese, Mark Horowitz, and Nick McKeown. 2013. Design principles for packet parsers. In ACM/IEE ANCS’13. https://doi.org/10.1109/ANCS.2013.6665172\
[57] Dan Gillick, Arlo Faria, and John DeNero. 2006. MapReduce: Distributed Computing for Machine Learning. Berkley, Dec 18 (2006).\
[58] Seth Copen Goldstein, Herman Schmit, Mihai Budiu, Srihari Cadambi, Matthew Moe, and R Reed Taylor. 2000. PipeRench: A Reconfigurable Architecture and Compiler. Computer 33, 4 (2000), 70–77.\
[59] Ian Goodfellow, Yoshua Bengio, Aaron Courville, and Yoshua Bengio. 2016. Deep Learning. Vol. 1. MIT Press, Cambridge.\
[60] Google. [n.d.]. A look inside Google’s Data Center Networks. https://-cloudplatform.googleblog.com/2015/06/A-Look-Inside-G… Accessed on 08/12/2021.\
[61] Google. 2021. Tensorflow Lite. https://www.tensorflow.org/tflite.\
[62] Albert Greenberg, James R. Hamilton, Navendu Jain, Srikanth Kandula, Changhoon Kim, Parantap Lahiri, David A. Maltz, Parveen Patel, and Sudipta Sengupta. 2009. VL2: A Scalable and Flexible Data Center Network. In ACM SIGCOMM’09. https://doi.org/10.1145/1592568.1592576\
[63] P4.org Archictecture Working Group. 2018. P4-16 Portable Switch Architecture. https://p4.org/p4-spec/docs/PSA-v1.1.0.pdf.\
[64] Antonio Gulli and Sujit Pal. 2017. Deep learning with Keras. Packt Publishing Ltd.\
[65] Vladimir Gurevich. 2018. Programmable Data Plane at Terabit Speeds. https://p4.org/assets/p4_d2_2017_programmable_data_plane_at_t… Accessed on 08/12/2021.\
[66] Sangtae Ha, Injong Rhee, and Lisong Xu. 2008. CUBIC: A New TCP-Friendly High-Speed TCP Variant. ACM SIGOPS Operating Systems Review 42, 5 (2008), 64–74. https://doi.org/10.1145/1400097.1400105\
[67] Song Han, Junlong Kang, Huizi Mao, Yiming Hu, Xin Li, Yubin Li, Dongliang Xie, Hong Luo, Song Yao, Yu Wang, et al. 2017. ESE: Efficient Speech Recognition Engine with Sparse LSTM on FPGA. In ACM/SIGDA FPGA’17. https://doi.org/10.1145/3020078.3021745\
[68] Song Han, Xingyu Liu, Huizi Mao, Jing Pu, Ardavan Pedram, Mark A Horowitz, and William J Dally. 2016. EIE: Efficient Inference Engine on Compressed Deep Neural Network. In ACM/IEEE ISCA’16. https://doi.org/10.1145/3007787.3001163\
[69] Song Han, Jeff Pool, John Tran, and William Dally. 2015. Learning Both Weights and Connections for Efficient Neural Network. In NeurIPS’15.\
[70] B Hariri and N Sadati. 2007. NN-RED: an AQM mechanism based on neural networks. Electronics Letters 43, 19 (2007), 1053–1055. https://doi.org/10.1049/el:20071791\
[71] Robert Harper, David MacQueen, and Robin Milner. 1986. Standard ML. Department of Computer Science, University of Edinburgh.\
[72] Marti A. Hearst, Susan T Dumais, Edgar Osuna, John Platt, and Bernhard Scholkopf. 1998. Support Vector Machines (SVMs). IEEE Intelligent Systems and their Applications 13, 4 (1998), 18–28.\
[73] Sepp Hochreiter and Jürgen Schmidhuber. 1997. Long Short-Term Memory (LSTM). Neural Computation 9, 8 (1997), 1735–1780.\
[74] Thomas Holterbach, Edgar Costa Molero, Maria Apostolaki, Alberto Dainotti, Stefano Vissicchio, and Laurent Vanbever. 2019. Blink: Fast Connectivity Recovery Entirely in the Data Plane. In USENIX NSDI’19.\
[75] Kurt Hornik. 1991. Approximation capabilities of multilayer feedforward networks. Neural networks 4, 2 (1991), 251–257. https://doi.org/10.1016/0893-6080(91)90009-T\
[76] Kevin Hsieh, Aaron Harlap, Nandita Vijaykumar, Dimitris Konomis, Gregory R Ganger, Phillip B Gibbons, and Onur Mutlu. 2017. Gaia: Geo-Distributed Machine Learning Approaching LAN Speeds. In USENIX NSDI’17.\
[77] Peng Huang, Chuanxiong Guo, Lidong Zhou, Jacob R Lorch, Yingnong Dang, Murali Chintalapati, and Randolph Yao. 2017. Gray Failure: The Achilles’Heel of Cloud-Scale Systems. In ACM HotOS’17. https://doi.org/10.1145/3102980.3103005\
[78] Intel. [n.d.]. Intel Deep Insight Network Analytics Software. https://www.intel.com/content/www/us/en/products/network-io/p… Accessed on 08/12/2021.\
[79] Intel. [n.d.]. Intel® Ethernet Network Adapter X710-DA2 for OCP 3.0. https://ark.intel.com/content/www/us/en/ark/products/184822/i… Accessed on 08/12/2021.\
[80] Intel. 2021. Intel Infrastructure Processing Unit (Intel IPU) and SmartNICs. https://www.intel.com/content/www/us/en/products/network-io/s…\
[81] Benoit Jacob, Skirmantas Kligys, Bo Chen, Menglong Zhu, Matthew Tang, Andrew Howard, Hartwig Adam, and Dmitry Kalenichenko. 2018. Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference. In IEEE CVPR’18.\
[82] Nathan Jay, Noga Rotman, Brighten Godfrey, Michael Schapira, and Aviv Tamar. 2019. A deep reinforcement learning perspective on internet congestion control. In ICML’19.\
[83] Eun Young Jeong, Shinae Woo, Muhammad Jamshed, Haewon Jeong, Sunghwan Ihm, Dongsu Han, and KyoungSoo Park. 2014. MTCP: A Highly Scalable UserLevel TCP Stack for Multicore Systems. In USENIX NSDI’14.\
[84] Norman P Jouppi, Cliff Young, Nishant Patil, David Patterson, Gaurav Agrawal, Raminder Bajwa, Sarah Bates, Suresh Bhatia, Nan Boden, Al Borchers, et al. 2017. In-Datacenter Performance Analysis of a Tensor Processing Unit. In IEEE ISCA’17. https://doi.org/10.1145/3079856.3080246\
[85] Naga Katta, Mukesh Hira, Changhoon Kim, Anirudh Sivaraman, and Jennifer Rexford. 2016. HULA: Scalable Load Balancing Using Programmable Data Planes. In ACM SOSR’16. https://doi.org/10.1145/2890955.2890968\
[86] Changhoon Kim. [n.d.]. Programming The Network Data Plane: What, How, and Why? https://conferences.sigcomm.org/ events/apnet2017/slides/chang.pdf. Accessed on 08/12/2021.\
[87] Changhoon Kim, Anirudh Sivaraman, Naga Katta, Antonin Bas, Advait Dixit, and Lawrence J Wobker. 2015. In-Band Network Telemetry via Programmable Dataplanes. In ACM SIGCOMM’15 (Demo).\
[88] David Koeplinger, Matthew Feldman, Raghu Prabhakar, Yaqi Zhang, Stefan Hadjis, Ruben Fiszel, Tian Zhao, Luigi Nardi, Ardavan Pedram, Christos Kozyrakis, and Kunle Olukotun. 2018. Spatial: A Language and Compiler for Application Accelerators. In ACM/SIGPLAN PLDI’18. https://doi.org/10.1145/3192366.3192379\
[89] Vibhore Kumar, Henrique Andrade, Buğra Gedik, and Kun-Lung Wu. 2010. DEDUCE: At the Intersection of MapReduce and Stream Processing. In ACM EDBT’10. https://doi.org/10.1145/1739041.1739120\
[90] Maciej Kuźniar, Peter Perešíni, and Dejan Kostić. 2015. What You Need to Know About SDN Flow Tables. In PAM’15. Springer.\
[91] Adam Langley, Alistair Riddoch, Alyssa Wilk, Antonio Vicente, Charles Krasic, Dan Zhang, Fan Yang, Fedor Kouranov, Ian Swett, Janardhan Iyengar, et al. 2017.\
The QUIC Transport Protocol: Design and Internet-Scale Deployment. In ACM SIGCOMM’17. https://doi.org/10.1145/3098822.3098842\
[92] ChonLam Lao, Yanfang Le, Kshiteej Mahajan, Yixi Chen, Wenfei Wu, Aditya Akella, and Michael M Swift. 2021. ATP: In-network Aggregation for Multitenant Learning. In NSDI’21.\
[93] Ângelo Cardoso Lapolli, Jonatas Adilson Marques, and Luciano Paschoal Gaspary. 2019. Offloading real-time ddos attack detection to programmable data planes. In 2019 IFIP/IEEE Symposium on Integrated Network and Service Management (IM)’19. IEEE, 19–27.\
[94] Yann LeCun, LD Jackel, Leon Bottou, A Brunot, Corinna Cortes, JS Denker, Harris Drucker, I Guyon, UA Muller, Eduard Sackinger, P Simard, and V Vapnik. 1995. Comparison of Learning Algorithms for Handwritten Digit Recognition. In ICANN’95.\
[95] Guanyu Li, Menghao Zhang, Shicheng Wang, Chang Liu, Mingwei Xu, Ang Chen, Hongxin Hu, Guofei Gu, Qi Li, and Jianping Wu. 2021. Enabling Performant, Flexible and Cost-Efficient DDoS Defense With Programmable Switches. IEEE/ACM Transactions on Networking’21 (2021). https://doi.org/10.1109/TNET.2021.3062621\
[96] Ruey-Hsia Li and Geneva G. Belford. 2002. Instability of Decision Tree Classification Algorithms. In ACM SIGKDD’02. https://doi.org/10.1145/775047.775131\
[97] Youjie Li, Iou-Jen Liu, Yifan Yuan, Deming Chen, Alexander Schwing, and Jian Huang. 2019. Accelerating Distributed Reinforcement Learning with In-Switch Computing. In ACM/IEEE ISCA’19. https://doi.org/10.1145/3307650.3322259\
[98] Yuliang Li, Rui Miao, Hongqiang Harry Liu, Yan Zhuang, Fei Feng, Lingbo Tang, Zheng Cao, Ming Zhang, Frank Kelly, Mohammad Alizadeh, and Minlan Yu. 2019. HPCC: High Precision Congestion Control. In ACM SIGCOMM’19. https://doi.org/10.1145/3341302.3342085\
[99] Eric Liang, Hang Zhu, Xin Jin, and Ion Stoica. 2019. Neural Packet Classification. In ACM SIGCOMM’19. https://doi.org/10.1145/3341302.3342221\
[100] Darryl Lin, Sachin Talathi, and Sreekanth Annapureddy. 2016. Fixed Point Quantization of Deep Convolutional Networks. In ICML’16.\
[101] Yingqiu Liu, Wei Li, and Yun-Chun Li. 2007. Network Traffic Classification Using K-Means Clustering. In IEEE IMSCCS’07. https://doi.org/10.1109/IMSCCS.2007.52\
[102] Zaoxing Liu, Hun Namkung, Georgios Nikolaidis, Jeongkeun Lee, Changhoon Kim, Xin Jin, Vladimir Braverman, Minlan Yu, and Vyas Sekar. 2021. Jaqen: A High-Performance Switch-Native Approach for Detecting and Mitigating Volumetric DDoS Attacks with Programmable Switches. In USENIX Security’21.\
[103] Loadbalancer.org. [n.d.]. Hardware ADC. https://www.loadbalancer.org/products/hardware/. Accessed on 08/12/2021.\
[104] John W Lockwood, Nick McKeown, Greg Watson, Glen Gibb, Paul Hartke, Jad Naous, Ramanan Raghuraman, and Jianying Luo. 2007. NetFPGA: An Open Platform for Gigabit-Rate Network Switching and Routing. In IEEE MSE’07.\
[105] Alan Marshall, Tony Stansfield, Igor Kostarnov, Jean Vuillemin, and Brad Hutchings. 1999. A Reconfigurable Arithmetic Array for Multimedia Applications. In IEEE FPGA’99. https://doi.org/10.1145/296399.296444\
[106] Tahir Mehmood and Helmi B Md Rais. 2015. SVM for Network Anomaly Detection using ACO Feature Subset. In IEEE iSMSC’15.\
[107] Bingfeng Mei, Serge Vernalde, Diederik Verkest, Hugo De Man, and Rudy Lauwereins. 2002. DRESC: A Retargetable Compiler for Coarse-Grained Reconfigurable Architectures. In IEEE FPT’02.\
[108] Albert Mestres, Alberto Rodriguez-Natal, Josep Carner, Pere Barlet-Ros, Eduard Alarcón, Marc Solé, Victor Muntés-Mulero, David Meyer, Sharon Barkai, Mike J Hibbett, et al. 2017. Knowledge-Defined Networking. ACM SIGCOMM Computer Communication Review (CCR) 47, 3 (2017), 2–10. https://doi.org/10.1145/3138808.3138810\
[109] Yaron Minsky, Anil Madhavapeddy, and Jason Hickey. 2013. Real World OCaml: Functional Programming for the Masses. O’Reilly Media, Inc.\
[110] Andrew W Moore and Denis Zuev. 2005. Internet Traffic Classification using Bayesian Analysis Techniques. In ACM SIGMETRICS’05. https://doi.org/10.1145/1064212.1064220\
[111] Manya Ghobadi Nadeen Gebara, Paolo Costa. 2021. In-Network Aggregation for Shared Machine Learning Clusters. In MlSys.\
[112] Vinod Nair and Geoffrey E Hinton. 2010. Rectified Linear Units Improve Restricted Boltzmann Machines. In ICML’10.\
[113] NetFPGA. [n.d.]. NetFPGA: A Line-rate, Flexible, and Open Platform for Research and Classroom Experimentation. https://netfpga.org/. Accessed on 08/12/2021.\
[114] Barefoot Networks. [n.d.]. Barefoot Tofino. https://www.intel.com/content/www/us/en/products/network-io/p… Accessed on 08/12/2021.\
[115] Barefoot Networks. [n.d.]. Barefoot Tofino 2. https://www.intel.com/content/www/us/en/products/network-io/p… Accessed on 08/12/2021.\
[116] Edgecore Networks. [n.d.]. WEDGE 100BF-32X: 100GBE Data Center Switch. https://www.edge-core.com/productsInfo.php?cls=1&cls2=5& cls3=181&id=335. Accessed on 08/12/2021.\
[117] Rolf Neugebauer, Gianni Antichi, José Fernando Zazo, Yury Audzevich, Sergio López-Buedo, and Andrew W. Moore. 2018. Understanding PCIe Performance for End Host Networking. In ACM SIGCOMM’18. https://doi.org/10.1145/3230543.3230560\
[118] Radhika Niranjan Mysore, Andreas Pamboris, Nathan Farrington, Nelson Huang, Pardis Miri, Sivasankar Radhakrishnan, Vikram Subramanya, and Amin Vahdat. 2009. PortLand: A Scalable Fault-tolerant Layer 2 Data Center Network Fabric. In ACM SIGCOMM’09. https://doi.org/10.1145/1592568.1592575\
[119] NVIDIA. [n.d.]. Tesla T4. https://www.nvidia.com/en-us/data-center/tesla-t4/. Accessed on 08/12/2021.\
[120] NVidia. 2021. NVIDIA BLUEFIELD DATA PROCESSING UNITS. https://www.nvidia.com/en-us/networking/products/data-process…\
[121] Martin Odersky, Lex Spoon, and Bill Venners. 2008. Programming in Scala. Artima Inc.\
[122] P4.org. 2020. P4-16 Language Specification. https://p4.org/p4-spec/docs/P4-16-v1.2.1.pdf. \
[123] Junghun Park, Hsiao-Rong Tyan, and C-C Jay Kuo. 2006. Internet Traffic Classification for Scalable QoS Provision. In IEEE ICME’06.\
[124] Roberto Perdisci, Davide Ariu, Prahlad Fogla, Giorgio Giacinto, and Wenke Lee. 2009. McPAD: A Multiple Classifier System for Accurate Payload-Based Anomaly Detection. Computer Networks 53, 6 (2009), 864–881. https://doi.org/10.1016/j.comnet.2008.11.011\
[125] Dan RK Ports and Jacob Nelson. 2019. When Should The Network Be The Computer?. In ACM HotOS’19. https://doi.org/10.1145/3317550.3321439\
[126] Pascal Poupart, Zhitang Chen, Priyank Jaini, Fred Fung, Hengky Susanto, Yanhui Geng, Li Chen, Kai Chen, and Hao Jin. 2016. Online Flow Size Prediction for Improved Network Routing. In IEEE ICNP’16.\
[127] Raghu Prabhakar, Yaqi Zhang, David Koeplinger, Matt Feldman, Tian Zhao, Stefan Hadjis, Ardavan Pedram, Christos Kozyrakis, and Kunle Olukotun. 2017. Plasticine: A Reconfigurable Architecture for Parallel Patterns. In ACM/IEEE ISCA’17. https://doi.org/10.1145/3079856.3080256\
[128] Raghu Prabhakar, Yaqi Zhang, and Kunle Olukotun. 2020. Coarse-Grained Reconfigurable Architectures. In NANO-CHIPS 2030. Springer, 227–246. https://doi.org/10.1007/978-3-030-18338-7_14\
[129] IO Visor Project. [n.d.]. XDP: eXpress Data Path. https://www.iovisor.org/technology/xdp. Accessed on 08/12/2021.\
[130] Jack W Rae, Sergey Bartunov, and Timothy P Lillicrap. 2019. Meta-Learning Neural Bloom Filters. arXiv:1906.04304 (2019).\
[131] Alon Rashelbach, Ori Rottenstreich, and Mark Silberstein. 2020. A Computational Approach to Packet Classification. In ACM SIGCOMM’20. https://doi.org/10.1145/3387514.3405886\
[132] Luigi Rizzo. 2012. Netmap: A Novel Framework for Fast Packet I/O. In USENIX ATC’12.\
[133] Joshua Rosen, Neoklis Polyzotis, Vinayak Borkar, Yingyi Bu, Michael J Carey, Markus Weimer, Tyson Condie, and Raghu Ramakrishnan. 2013. Iterative mapreduce for large scale machine learning. arXiv preprint arXiv:1303.3517 (2013).\
[134] Alexander Rucker, Tushar Swamy, Muhammad Shahbaz, and Kunle Olukotun. 2019. Elastic RSS: Co-Scheduling Packets and Cores Using Programmable NICs. In ACM APNet’19. https://doi.org/10.1145/3343180.3343184\
[135] Alexander Rucker, Matthew Vilim, Tian Zhao, Yaqi Zhang, Raghu Prabhakar, and Kunle Olukotun. 2021. Capstan: A Vector RDA for Sparsity. Association for Computing Machinery, New York, NY, USA, 1022–1035.\
[136] Davide Sanvito, Giuseppe Siracusano, and Roberto Bifulco. 2018. Can the Network Be the AI Accelerator?. In NetCompute’18. https://doi.org/10.1145/3229591.3229594\
[137] Amedeo Sapio, Marco Canini, Chen-Yu Ho, Jacob Nelson, Panos Kalnis, Changhoon Kim, Arvind Krishnamurthy, Masoud Moshref, Dan RK Ports, and Peter Richtárik. 2019. Scaling Distributed Machine Learning with In-Network Aggregation. arXiv:1903.06701 (2019).\
[138] Dipanjan Sarkar. 2018. Continuous Numeric Data – Strategies for Working with Continuous, Numerical Data. https://towardsdatascience.com/understandingfeature-engineeri… Accessed on 08/12/2021.\
[139] Danfeng Shan, Fengyuan Ren, Peng Cheng, Ran Shu, and Chuanxiong Guo. 2018. Micro-burst in Data Centers: Observations, Analysis, and Mitigations. In IEEE ICNP’18. https://doi.org/10.1109/ICNP.2018.00019\
[140] Ahmad Shawahna, Sadiq M Sait, and Aiman El-Maleh. 2018. Fpga-Based Accelerators of Deep Learning Networks for Learning and Classification: A Review. IEEE Access 7 (2018), 7823–7859.\
[141] Justine Sherry, Sylvia Ratnasamy, and Justine Sherry At. 2012. A survey of enterprise middlebox deployments. (2012).\
[142] Anton Shilov. [n.d.]. TSMC & Broadcom Develop 1700-mm2 CoWoS Interposer: 2x Larger Than Reticles. https://www.anandtech.com/show/15582/tsmcbroadcom-develop-170… Accessed on 08/12/2021.
[143] Hartej Singh, Ming-Hau Lee, Guangming Lu, Fadi J Kurdahi, Nader Bagherzadeh, and Eliseu M Chaves Filho. 2000. MorphoSys: An Integrated Reconfigurable System for Data-Parallel and Computation-Intensive Applications. IEEE Transactions on Computers’00 49, 5 (2000), 465–481.\
[144] Giuseppe Siracusano and Roberto Bifulco. 2018. In-Network Neural Networks. arXiv:1801.05731 (2018).\
[145] Arunan Sivanathan, Hassan Habibi Gharakheili, Franco Loi, Adam Radford, Chamith Wijenayake, Arun Vishwanath, and Vijay Sivaraman. 2018. Classifying IoT devices in Smart Environments Using Network Traffic characteristics. IEEE Transactions on Mobile Computing’18 18, 8 (2018), 1745–1759. https://doi.org/10.1109/TMC.2018.2866249\
[146] Anirudh Sivaraman, Alvin Cheung, Mihai Budiu, Changhoon Kim, Mohammad Alizadeh, Hari Balakrishnan, George Varghese, Nick McKeown, and Steve Licking. 2016. Packet Transactions: High-Level Programming for Line-Rate Switches. In ACM SIGCOMM’16. https://doi.org/10.1145/2934872.2934900\
[147] Anirudh Sivaraman, Suvinay Subramanian, Mohammad Alizadeh, Sharad Chole, Shang-Tse Chuang, Anurag Agrawal, Hari Balakrishnan, Tom Edsall, Sachin Katti, and Nick McKeown. 2016. Programmable Packet Scheduling at Line Rate. In ACM SIGCOMM’16. https://doi.org/10.1145/2934872.2934899\
[148] Vibhaalakshmi Sivaraman, Srinivas Narayana, Ori Rottenstreich, Shan Muthukrishnan, and Jennifer Rexford. 2017. Heavy-Hitter Detection Entirely in the Data Plane. In ACM SOSR’17. https://doi.org/10.1145/3050220.3063772\
[149] Mario Srouji, Jian Zhang, and Ruslan Salakhutdinov. 2018. Structured control nets for deep reinforcement learning. In ICML’18. PMLR, 4742–4751.\
[150] Arvind K Sujeeth, HyoukJoong Lee, Kevin J Brown, Tiark Rompf, Hassan Chafi, Michael Wu, Anand R Atreya, Martin Odersky, and Kunle Olukotun. 2011. OptiML: an implicitly parallel domain-specific language for machine learning. In ICML’11.\
[151] Jinsheng Sun and Moshe Zukerman. 2007. An Adaptive Neuron AQM for a Stable Internet. In International Conference on Research in Networking’07. Springer.\
[152] Runyuan Sun, Bo Yang, Lizhi Peng, Zhenxiang Chen, Lei Zhang, and Shan Jing. 2010. Traffic Classification Using Probabilistic Neural Networks. In IEEE ICNC’10.\
[153] Tuan A Tang, Lotfi Mhamdi, Des McLernon, Syed Ali Raza Zaidi, and Mounir Ghogho. 2016. Deep Learning Approach for Network Intrusion Detection in Software Defined Networking. In IEEE WINCOM’16.\
[154] Mahbod Tavallaee, Ebrahim Bagheri, Wei Lu, and Ali A Ghorbani. 2009. A Detailed Analysis of the KDD CUP 99 Data Set. In IEEE CISDA’09.\
[155] Simon Thompson. 2011. Haskell: The Craft of Functional Programming. Vol. 2. Addison-Wesley.\
[156] Emanuel Todorov, Tom Erez, and Yuval Tassa. 2012. Mujoco: A Physics Engine for Model-Based Control. In IEEE IROS’12.\
[157] C Van Rijsbergen. 1979. Information Retrieval: Theory and Practice. In Proceedings of the Joint IBM/University of Newcastle upon Tyne Seminar on Data Base Systems’79.\
[158] Erwei Wang, James J Davis, Ruizhe Zhao, Ho-Cheung Ng, Xinyu Niu, Wayne Luk, Peter YK Cheung, and George A Constantinides. 2019. Deep Neural Network Approximation for Custom Hardware: Where We’ve Been, Where We’re Going. ACM Computing Surveys (CSUR)’19 52, 2 (2019), 1–39. https://doi.org/10.1145/3309551\
[159] Haining Wang, Danlu Zhang, and Kang G Shin. 2002. Detecting SYN Flooding Attacks. In Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies’02, Vol. 3. 1530–1539.\
[160] Naigang Wang, Jungwook Choi, Daniel Brand, Chia-Yu Chen, and Kailash Gopalakrishnan. 2018. Training Deep Neural Networks with 8-bit Floating Point Numbers. In NeurIPS’18.\
[161] Shuo Wang, Zhe Li, Caiwen Ding, Bo Yuan, Qinru Qiu, Yanzhi Wang, and Yun Liang. 2018. C-LSTM: Enabling Efficient LSTM using Structured Compression Techniques on FPGAs. In ACM/SIGDA FPGA’18. https://doi.org/10.1145/3174243.3174253\
[162] Keith Winstein and Hari Balakrishnan. 2013. TCP Ex Machina: ComputerGenerated Congestion Control. In ACM SIGCOMM’13. https://doi.org/10.1145/2534169.2486020\
[163] Shihan Xiao, Haiyan Mao, Bo Wu, Wenjie Liu, and Fenglin Li. 2020. Neural Packet Routing. In ACM NetAI’20. https://doi.org/10.1145/3405671.3405813\
[164] Xilinx. [n.d.]. Alveo U250 Data Center Accelerator Card. https://www.xilinx.com/products/boards-and-kits/alveo/u250.html. Accessed on 08/12/2021.\
[165] Xilinx. [n.d.]. Xilinx: AXI Reference Guide. https://www.xilinx.com/support/-documentation/ip_documentatio… Accessed on 08/12/2021.\
[166] Xilinx. [n.d.]. Xilinx OpenNIC Shell. https://github.com/Xilinx/open-nic-shell. Accessed on 09/30/2021.\
[167] Xilinx. [n.d.]. Xilinx: UltraScale+ Integrated 100G Ethernet Subsystem. https://www.xilinx.com/products/intellectual-property/cmac_us… Accessed on 08/12/2021.\
[168] Zhaoqi Xiong and Noa Zilberman. 2019. Do Switches Dream of Machine Learning? Toward In-Network Classification. In ACM HotNets’19. https://doi.org/10.1145/3365609.3365864\
[169] Francis Y Yan, Jestin Ma, Greg D Hill, Deepti Raghavan, Riad S Wahby, Philip Levis, and Keith Winstein. 2018. Pantheon: The Training Ground for Internet Congestion-Control Research. In USENIX ATC’18.\
[170] Liangcheng Yu, John Sonchack, and Vincent Liu. 2020. Mantis: Reactive Programmable Switches. In ACM SIGCOMM’20. https://doi.org/10.1145/3387514.3405870\
[171] Yasir Zaki, Thomas Pötsch, Jay Chen, Lakshminarayanan Subramanian, and Carmelita Görg. 2015. Adaptive Congestion Control for Unpredictable Cellular Networks. In ACM SIGCOMM’15. https://doi.org/10.1145/2785956.2787498\
[172] Sebastian Zander, Thuy Nguyen, and Grenville Armitage. 2005. Automated Traffic Classification and Application Identification Using Machine Learning. In IEEE LCN’05.\
[173] Jun Zhang, Chao Chen, Yang Xiang, Wanlei Zhou, and Yong Xiang. 2012. Internet Traffic Classification by Aggregating Correlated Naïve Bayes Predictions. IEEE Transactions on Information Forensics and Security’12 8, 1 (2012), 5–15. https://doi.org/10.1109/TIFS.2012.2223675\
[174] Jun Zhang, Xiao Chen, Yang Xiang, Wanlei Zhou, and Jie Wu. 2014. Robust Network Traffic Classification. IEEE/ACM Transactions on Networking’14 23, 4 (2014), 1257–1270. https://doi.org/10.1109/TNET.2014.2320577\
[175] Menghao Zhang, Guanyu Li, Shicheng Wang, Chang Liu, Ang Chen, Hongxin Hu, Guofei Gu, Qianqian Li, Mingwei Xu, and Jianping Wu. 2020. Poseidon: Mitigating Volumetric DDoS Attacks with Programmable Switches. In NDSS’20. https://doi.org/10.14722/ndss.2020.24007\
[176] Yaqi Zhang, Alexander Rucker, Matthew Vilim, Raghu Prabhakar, William Hwang, and Kunle Olukotun. 2019. Scalable Interconnects for Reconfigurable Spatial Architectures. In ACM/IEEE ISCA’19. https://doi.org/10.1145/3307650.3322249\
[177] Yaqi Zhang, Nathan Zhang, Tian Zhao, Matt Vilim, Muhammad Shahbaz, and Kunle Olukotun. 2021. SARA: Scaling a Reconfigurable Dataflow Accelerator. In ACM/IEEE ISCA’21. https://doi.org/10.1109/ISCA52012.2021.00085\
[178] Hongtao Zhong, Kevin Fan, Scott Mahlke, and Michael Schlansker. 2005. A Distributed Control Path Architecture for VLIW Processors. In IEEE PACT’05.\
[179] Chuan Zhou, Dongjie Di, Qingwei Chen, and Jian Guo. 2009. An Adaptive AQM Algorithm Based on Neuron Reinforcement Learning. In IEEE ICCA’09.\
* 你好,我是俞凡,在 Motorola 做过研发,当初在 Mavenir 做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI 等技术始终保持着浓重的趣味,平时喜爱浏览、思考,置信继续学习、一生成长,欢送一起交流学习。\
微信公众号:DeepNoMind*
本文由 mdnice 多平台公布