您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
lpm是什么单位(lpm是什么单位立方米每小时)
多核,处理器,网络lpm是什么单位(lpm是什么单位立方米每小时)
发布时间:2020-12-06加入收藏来源:互联网点击:
很多朋友想了解关于lpm是什么单位的一些资料信息,下面是小编整理的与lpm是什么单位相关的内容分享给大家,一起来看看吧。
推荐视频:为什么dpdk越来越受欢迎,看完以后,让人醍醐灌顶
100行代码用dpdk实现一个网络协议栈
c/c++ linux服务器开发学习地址:C/C++Linux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂
什么是DPDK? 对于用户来说, 它可能是一个能出色的包数据处理加速软件库; 对于开发者来说, 它可能是一个实践包处理新想法的创新工场; 对于能调优者来说, 它可能又是一个绝佳的成果分享平台。当下火热的网络功能虚拟化, 则将DPDK放在一个重要的基石位置。 虽然很难用短短几语就勾勒出DPDK的完整轮廓, 但随着认识的深入, 我们相信你一定能够认可它传播的那些最佳实践方法, 从而将这些理念带到更广泛的多核数据包处理的生产实践中去。DPDK最初的动机很简单, 就是证明IA多核处理器能够支撑高能数据包处理。 随着早期目标的达成和更多通用处理器体系的加入,DPDK逐渐成为通用多核处理器高能数据包处理的业界标杆。
主流包处理硬件平台DPDK用软件的方式在通用多核处理器上演绎着数据包处理的新篇章, 而对于数据包处理, 多核处理器显然不是唯一的平台。 支撑包处理的主流硬件平台大致可分为三个方向:硬件加速器、网络处理器、多核处理器。根据处理内容、 复杂度、 成本、 量产规模等因素的不同, 这些平台在各自特定的领域都有一定的优势。 硬件加速器对于本身规模化的固化功能具有高能低成本的特点, 网络处理器提供了包处理逻辑软件可编程的能力, 在获得灵活的同时兼顾了高能的硬件包处理, 多核处理器在更为复杂多变的高层包处理上拥有优势, 随着包处理的开源生态系
统逐渐丰富, 以及近年来能的不断提升, 其为软件定义的包处理提供了快速迭代的平台。
随着现代处理器的创新与发展(如异构化) , 开始集成新的加速处理与高速IO单元, 它们互相之间不断地融合。 在一些多核处理器中, 已能看到硬件加速单元的身影。 从软件包处理的角度, 可以卸载部分功能到那些硬件加速单元进一步提升能瓶颈; 从硬件包处理的流水线来看, 多核上运行的软件完成了难以固化的上层多变逻辑的任务; 二者相得益彰。
硬件加速器硬件加速器被广泛应用于包处理领域, ASIC和FPGA是其中最广为采用的器件。ASIC(Application-Specific Integrated Circuit) 是一种应特定用户要求和特定电子系统的需要而设计、 制造的集成电路。 ASIC的优点是面向特定用户的需求, 在批量生产时与通用集成电路相比体积更小、 功耗更低、 可靠提高、 能提高、 保密增强、成本降低等。 但ASIC的缺点也很明显, 它的灵活和扩展不够、 开发费用高、 开发周期长。为了弥补本身的一些缺点, ASIC越来越多地按照加速引擎的思路来构建, 结合通用处理器的特点, 融合成片上系统(SoC) 提供异构处理能力, 使得ASIC带上了智能(Smart) 的标签。
FPGA(Field-Programmable Gate Array) 即现场可编程门阵列。 它作为ASIC领域中的一种半定制电路而出现, 与ASIC的区别是用户不需要介入芯片的布局布线和工艺问题, 而且可以随时改变其逻辑功能, 使用灵活。 FPGA以并行运算为主, 其开发相对于传统PC、 单片机的开发有很大不同, 以硬件描述语言(Verilog或VHDL) 来实现。 相比于PC或单片机(无论是冯·诺依曼结构还是哈佛结构) 的顺序操作有很大区别。全可编程FPGA概念的提出, 使FPGA朝着进一步软化的方向持续发展, 其并行化整数运算的能力将进一步在通用计算定制化领域得到挖掘, 近年来在数据中心中取得了很大进展, 比如应用于机器学习场合。我们预计FPGA在包处理的应用场景将会从通信领域(CT) 越来越多地走向数据中心和云计算领域。
网络处理器网络处理器(Network Processer Unit, NPU) 是专门为处理数据包而设计的可编程通用处理器, 采用多内核并行处理结构, 其常被应用于通信领域的各种任务, 比如包处理、 协议分析、 路由查找、 声音/数据的汇聚、 防火墙、 QoS等。 其通用表现在执行逻辑由运行时加载的软件决定, 用户使用专用指令集即微码(microcode) 进行开发。 其硬件体系结构大多采用高速的接口技术和总线规范, 具有较高的I/O能力,使得包处理能力得到很大提升。 除了这些特点外, NPU一般还包含多种不同能的存储结构, 对数据进行分类存储以适应不同的应用目的。NPU中也越来越多地集成进了一些专用硬件协处理器, 可进一步提高片内系统能。
图1-1是NP-5处理器架构框图, 以EZCHIP公司的NP-5处理器架构为例, TOP部分为可编程部分, 根据需要通过编写微码快速实现业务相关的包处理逻辑。 NPU拥有高能和高可编程等诸多优点, 但其成本和特定领域的特限制了它的市场规模(一般应用于专用通信设备) 。 而不同厂商不同架构的NPU遵循的微码规范不尽相同, 开发人员的成长以及生态系统的构建都比较困难。 虽然一些NPU的微码也开始支持由高级语言(例如C) 编译生成, 但由于结构化语言本身原语并未面向包处理, 使得转换后的效率并不理想。
随着SDN对于可编程网络, 特别是可编程数据面的要求, 网络处理器也可能会迎来新的发展机遇, 但依然需要解决好不同架构的底层抽象以及上层业务的语义抽象。
多核处理器现代CPU能的扩展主要通过多核的方式进行演进。 这样利用通用处理器同样可以在一定程度上并行地处理网络负载。 由于多核处理器在逻辑负载复杂的协议及应用层面上的处理优势, 以及越来越强劲的数据面的支持能力, 它在多种业务领域得到广泛的采用。 再加上多年来围绕CPU已经建立起的大量成熟软件生态, 多核处理器发展的活力和热度也是其他形态很难比拟的。 图1-2是Intel双路服务器平台框图, 描述了一个典型的双路服务器平台的多个模块, CPU、 芯片组C612、 内存和以太网控制器XL710构成了主要的数据处理通道。 基于PCIe总线的I/O接口提供了大量的系统接口, 为服务器平台引入了差异化的设计。当前的多核处理器也正在走向SoC化, 针对网络的SoC往往集成内存控制器、 网络控制器, 甚至是一些硬件加速处理引擎。这里列出了一些主流厂商的多核处理器的SoC平台:IA multi-core Xeon、Tilear-TILE-Gx、Cavium Network-OCTEON&OCTEON II、Freescale-QorIQ、NetLogic Microsystem-XLP。
图1-3的Cavium OCTEON处理器框图以Cavium OCTEON多核处理器为例, 它集成多个CPU核以及众多加速单元和网络接口, 组成了一个片上系统(SoC) 。 在这些SoC上, 对于可固化的处理(例如, 流分类, QoS) 交由加速单元完成, 而对于灵活的业务逻辑则由众多的通用处理器完成, 这种方式有效地融合了软硬件各自的优势。 随着软件(例如, DPDK) 在I/O能提升上的不断创新, 将多核处理器的竞争力提升到一个前所未有的高度, 网络负载与虚拟化的融合又催生了NFV的潮流。
【文章福利】需要C/C++ Linux服务器架构师学习资料加群812855908(资料包括C/C++,Linux,golang技术,内核,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等)
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |