Hsbench的Hyperscan性能分析

Hyperscan是Intel的一个正则表达式匹配引擎,其重点是高性能,大规模匹配和流模式操作。本文主要介绍Hyperscan的性能测试工具,并包含了可以在您自己的机器上重现的一些测试用例。 简介 Hyperscan 4.4及更高版本包含了标准的性能测试工具hsbench,旨在提供一种简便的方法来测量在特定的规则集和语料库下的Hyperscan性能。 Hsbench工具已在Hyperscan Developer Reference 中有所介绍。本文旨在阐明如何使用Hsbench在一系列不同的应用... 继续阅读

VM高性能网络I/O:DPDK +SR-IOV配置

配置过程(Ubuntu 14.04) 1、给VM所在的Host打开iommu 以及 sriov,以Intel CPU为例(AMD CPU iommu打开方式略有不同) [crayon-5bcdd7d9003b9447855534/] 重启之后可以查看到所有的PF和VF,表示配置成功 [crayon-5bcdd7d9003c5702196726/] 结果如下: 使用ip link show 命令也能够看到每个物理interface下对应的VFs 2、VF能够收发包的前提是相应的PF必须处于UP的状... 继续阅读

CPU到底在忙啥?CPU利用率的正确计算方法

我们平时使用的CPU利用率方法是极具误导性的,并且一年更甚一年。那么什么是CPU利用率?是你的CPU到底有多忙,是像“% CPU”这样到处在用的指标所显示的那样吗? 在top命令里,你看到90%的CPU利用率是这样: 然而它真正想表达的是这个意思: Stall(这里译作“怠速”)是说这个处理器没有在跑指令,比如在等待内存I/O的时候。我上图所画的比例(“忙”与“怠速”之间)是我在真实生产环境中遇到的,并且你的CPU也很可能是处于“怠速”状态。 这些对你有什么意义呢?理解CPU怠速多少,会直接影响... 继续阅读

静态PCPU变量

内核中通常会定义很多的pcpu变量,这样有几个好处: 增加数据访问的并发量 减少数据访问的时延 从定义上就可以看出pcpu变量就是每个cpu都有某个变量的副本,各自访问各自的。那在实现上是怎么做的呢?我们今天就来看一下。 如何定义 我们先来看静态pcpu变量是如何定义的。 通常我们定义一个pcpu变量使用这样的语句。 [crayon-5bcdd7d901093496479052/] 这样就定义了一个int类型,名字为numa_node的变量。接下来就深入研究一下。 DEFINE_PER_CPU ... 继续阅读

网闸的技术要求

安全网闸技术是模拟人工拷盘的工作模式,通过电子开关的快速切换实现两个不同网段的数据交换的物理隔离安全技术。安全网闸技术在安全技术领域源于被称之为GAP,又称为Air Gap的安全技术,它本意是指由空气形成的用于隔离的缝隙。在网络安全技术中,主要指通过专用的硬件设备在物理不连通的情况下,实现两个独立网络之间的数据安全交换和资源共享。 它由三个组件构成:A网处理机、B网处理机和GAP开关设备。我们可以很清楚地看到连接两个网络的GAP设备不能同时连接到相互独立的A网和B网中,即GAP在某一时刻只与其中... 继续阅读

Hyperscan在Suricata中的应用

Suricata简介 Hyperscan作为一款高性能的正则表达式匹配库,极适用于部署在IDS/IPS等网络解决方案中。 Suricata(https://suricata-ids.org)是一款免费、开源、成熟、快速、健壮的网络威胁检测引擎,该引擎能够进行实时入侵检测(IDS),嵌入式入侵防御(IPS),网络安全监控(NSM)和离线pcap处理。Suricata与其竞争对手Snort类似,有着相似的设计和规则样式,同样涉及到大量纯字符串及正则表达式匹配。本文重点介绍Hyperscan在Suri... 继续阅读

英特尔FPGA技术大会强势回归 | 席位开抢

英特尔FPGA IFTD技术大会即将登陆亚太地区,小伙伴们是否开抢席位了呢? 整个世界已经进入了智能化和互联的时代。数据中心和云将各种庞大的设备和系统、网络紧密联系在一起。随着物联网的深入部署,这种根本性的转变不仅会延伸到单个的网络连接节点,还会影响到几乎所有的嵌入式及移动电子产品系统。许多全新的应用由此诞生,要开发这些多样化的产品,需要极大的可编程灵活性,以及高性能和高能效。 2017年9月至10月,英特尔FPGA技术大会(IFTD)将在亚太地区的十座城市举行,包括韩国、中国、印度、新加坡和马... 继续阅读

DPDK报文处理框架简介

简介 DPDK报文处理框架(以下简称”处理框架”)能够帮助开发者在英特尔®的多核处理器上快速部署基于实际数据报文的处理工作负载,其灵活性高,性能优越。 该框架基于三个DPDK库:librte_port,librte_table和librte_pipeline。 处理框架最初是在DPDK v2.1中被引入的,同时被引入的还有示例程序ip_pipeline。在之后的版本中,更多的功能被加入到ip_pipeline这个示例程序中,使其转变成为一个可以用于开发复杂报文处理的工具包,如边缘路由器。 这里的... 继续阅读

25G来了,你准备好了吗?

随着互联网、云计算和大数据快速发展,数据中心的带宽需求日益增长,以满足当前和未来云端的海量数据流需求。相对于旧的10G->40G->100G的以太网升级方案,数据中心更青睐于25G的方案。25G相对40G,有如下优势: 易升级:10G/25G端口兼容,四路汇聚即可达到100G 更高的PCIE带宽利用率 更经济 英特尔也推出了一款25G网卡–XXV710。XXV710是Intel® Ethernet 700系列的成员之一,Intel® Ethernet 700系列包含10G... 继续阅读

DPDK中国技术峰会2017 – DPDK Summit China 2017 资料下载

1 Opening – Heqing Zhu @ Intel 文档讨论了中国及世界范围内DPDK社区及生态系统状态、关键方向及相关议程。 2 DPDK in Container: Status Quo and Future Directions – Jianfeng Tan @ Intel 文档讨论了DPDK如何加速容器网络,数据平台和控制平台的相关问题、进展和计划等。 3 F-Stack, a Full User Space Network Service on DPD... 继续阅读